Splunk-quick-guide

提供:Dev Guides
移動先:案内検索

Splunk-概要

Splunkは、マシンデータやその他の形式のビッグデータを処理して洞察を引き出すソフトウェアです。 このマシンデータは、Webサーバー、IOTデバイス、モバイルアプリのログなどを実行するCPUによって生成されます。 このデータをエンドユーザーに提供する必要はなく、ビジネス上の意味もありません。 ただし、これらはマシンのパフォーマンスを理解、監視、最適化するために非常に重要です。

Splunkは、この非構造化、半構造化、またはまれに構造化されたデータを読み取ることができます。 データを読み取った後、これらのデータのレポート、ダッシュボードを検索、タグ付け、作成できます。 ビッグデータの出現により、Splunkはさまざまなソースからビッグデータを取り込むことができるようになりました。これは、マシンデータである場合もそうでない場合もあり、ビッグデータに対して分析を実行します。

そのため、ログ分析用のシンプルなツールから、Splunkは非構造化マシンデータやさまざまな形式のビッグデータの一般的な分析ツールになるまでに長い道のりを歩んできました。

製品カテゴリ

Splunkは次の3つの異なる製品カテゴリで利用可能です-

  • Splunk Enterprise -大規模なITインフラストラクチャとIT主導のビジネスを持つ企業が使用します。 Webサイト、アプリケーション、デバイス、センサーなどからデータを収集して分析するのに役立ちます。
  • Splunk Cloud -エンタープライズバージョンと同じ機能を備えたクラウドホストプラットフォームです。 Splunk自体またはAWSクラウドプラットフォームから利用できます。
  • Splunk Light -すべてのログデータの検索、レポート、アラートを1か所からリアルタイムで実行できます。 他の2つのバージョンと比較して、機能と機能が制限されています。

Splunkの機能

このセクションでは、エンタープライズ版の重要な機能について説明します-

データ取り込み

Splunkは、JSON、XMLなどのさまざまなデータ形式、およびWebやアプリケーションログなどの非構造化マシンデータを取り込むことができます。 非構造化データは、ユーザーの必要に応じてデータ構造にモデル化できます。

データの索引付け

取り込まれたデータは、さまざまな条件での検索とクエリを高速化するためにSplunkによってインデックス付けされます。

データ検索

Splunkでの検索には、指標の作成、将来の傾向の予測、データのパターンの特定を目的として、インデックス付きデータを使用することが含まれます。

アラートを使用する

Splunkアラートを使用して、分析中のデータに特定の基準が見つかったときに電子メールまたはRSSフィードをトリガーできます。

ダッシュボード

Splunkダッシュボードでは、チャート、レポート、ピボットなどの形式で検索結果を表示できます。

データ・モデル

インデックス化されたデータは、専門化されたドメインの知識に基づいた1つ以上のデータセットにモデル化できます。 これにより、Splunkで使用される検索処理言語の技術を習得することなく、ビジネスケースを分析するエンドユーザーによるナビゲーションが容易になります。

Splunk-環境

このチュートリアルでは、エンタープライズバージョンのインストールを目指します。 このバージョンは、すべての機能を有効にして60日間無料で評価できます。 WindowsおよびLinuxプラットフォームの両方で使用可能な以下のリンクを使用して、セットアップをダウンロードできます。

https://www.splunk.com/en_us/download/splunk-enterprisel。

Linuxバージョン

Linuxバージョンは、上記のダウンロードリンクからダウンロードされます。 Ubuntuプラットフォームでインストールが行われるため、.debパッケージタイプを選択します。

私たちはこれを段階的なアプローチで学びます-

ステップ1

以下のスクリーンショットに示すように、.debパッケージをダウンロードします-

Linux Install1

ステップ2

ダウンロードディレクトリに移動し、上記のダウンロードパッケージを使用してSplunkをインストールします。

Linux Install2

ステップ3

次に、accept license引数を指定して次のコマンドを使用して、Splunkを起動できます。 管理者のユーザー名とパスワードの入力を求められます。

Linux Install3

ステップ4

Splunkサーバーが起動し、SplunkインターフェースにアクセスできるURLに言及します。

Linux Install4

ステップ5

これで、Splunk URLにアクセスし、手順3で作成した管理ユーザーIDとパスワードを入力できます。

Linux Install5

Windowsバージョン

Windowsバージョンは、以下の画像に示すようにmsiインストーラとして利用可能です-

Install1

msiインストーラーをダブルクリックすると、Windowsバージョンが簡単なプロセスでインストールされます。 インストールを成功させるために適切な選択を行う必要がある2つの重要な手順は次のとおりです。

ステップ1

私たちはそれをローカルシステムにインストールしているので、以下に示すようにローカルシステムオプションを選択します-

Install2

ステップ2

将来の構成で使用されるため、管理者のパスワードを入力して覚えておいてください。

Install3

ステップ3

最後のステップでは、Splunkが正常にインストールされ、Webブラウザーから起動できることがわかります。

Install4

ステップ4

次に、ブラウザーを開き、指定されたURL http://localhost:8000 を入力し、管理ユーザーIDとパスワードを使用してSplunkにログインします。

install5

Splunk-インターフェース

Splunk Webインターフェイスは、取り込んだデータの検索、レポート、分析に必要なすべてのツールで構成されています。 同じWebインターフェースは、ユーザーとその役割を管理するための機能を提供します。 また、データ取り込みおよびSplunkで利用可能な組み込みアプリへのリンクも提供します。

以下の図は、管理者資格情報を使用してSplunkにログインした後の初期画面を示しています。

Interface1

管理者リンク

管理者ドロップダウンには、管理者の詳細を設定および編集するオプションがあります。 以下の画面を使用して、管理者のメールIDとパスワードをリセットできます-

Interface2

さらに管理者リンクから、設定オプションに移動して、ログイン後にランディングページを開くタイムゾーンとホームアプリケーションを設定できます。 現在、それは以下に示すようにホームページで開きました-

Interface3

設定リンク

これは、Splunkで利用可能なすべてのコア機能を示すリンクです。 たとえば、参照リンクを選択して、参照ファイルと参照定義を追加できます。

これらのリンクの重要な設定については、後続の章で説明します。

Interface4

検索とレポートのリンク

検索とレポートのリンクをクリックすると、これらの検索用に作成されたレポートとアラートの検索に使用できるデータセットを検索できる機能が表示されます。 以下のスクリーンショットに明確に示されています-

Interface5

Splunk-データ取り込み

Splunkでのデータ取り込みは、検索およびレポートアプリの一部である*データの追加*機能を介して行われます。 ログイン後、Splunkインターフェースのホーム画面には、以下に示すように*データの追加*アイコンが表示されます。

Ingestion1

このボタンをクリックすると、分析のためにSplunkにプッシュする予定のデータのソースと形式を選択する画面が表示されます。

データの収集

Splunkの公式Webサイトから分析用のデータを取得できます。 このファイルを保存し、ローカルドライブに解凍します。 フォルダを開くと、異なる形式の3つのファイルが見つかります。 それらは、一部のWebアプリによって生成されたログデータです。 Splunkが提供する別のデータセットを収集することもできます。このデータは、公式のSplunk Webページから入手できます。

これら両方のセットのデータを使用して、Splunkのさまざまな機能の動作を理解します。

データをアップロードする

次に、前の段落で述べたように、ローカルシステムに保存した mailsv フォルダーから secure.log ファイルを選択します。 ファイルを選択した後、右上隅にある緑色の[次へ]ボタンを使用して次のステップに進みます。

Ingestion2

ソースタイプの選択

Splunkには、取り込むデータのタイプを検出するための組み込み機能があります。 また、Splunkが選択したものとは異なるデータタイプを選択するオプションもユーザーに提供します。 ソースタイプのドロップダウンをクリックすると、Splunkが取り込んで検索を有効にできるさまざまなデータタイプが表示されます。

以下に示す現在の例では、デフォルトのソースタイプを選択します。

Ingestion3

入力設定

データ取り込みのこのステップでは、データの取り込み元のホスト名を構成します。 以下は、ホスト名のために、から選択するオプションです-

定数値

ソースデータが存在する完全なホスト名です。

パス上の正規表現

正規表現を使用してホスト名を抽出する場合。 次に、抽出するホストの正規表現を「正規表現」フィールドに入力します。

パス内のセグメント

データソースのパス内のセグメントからホスト名を抽出する場合は、[セグメント番号]フィールドにセグメント番号を入力します。 たとえば、ソースへのパスが/var/log/であり、3番目のセグメント(ホストサーバー名)をホスト値にする場合は、「3」を入力します。

次に、検索用の入力データに作成するインデックスタイプを選択します。 デフォルトのインデックス戦略を選択します。 サマリーインデックスは、集計によってデータのサマリーを作成し、その上にインデックスを作成しますが、履歴インデックスは検索履歴を保存するためのものです。 以下の画像にはっきりと描かれています-

Ingestion4

設定の確認

次のボタンをクリックすると、選択した設定の概要が表示されます。 データを確認し、[次へ]を選択してデータのアップロードを完了します。

Ingestion5

読み込みが完了すると、以下の画面が表示され、データの取り込みに成功したことと、データに対して実行可能なその他のアクションが示されます。

Ingestion6

Splunk-ソースタイプ

Splunkに着信するすべてのデータは、まず内蔵のデータ処理ユニットによって判断され、特定のデータタイプとカテゴリに分類されます。 たとえば、Apache Webサーバーからのログの場合、Splunkはそれを認識し、読み取ったデータから適切なフィールドを作成できます。

Splunkのこの機能はソースタイプ検出と呼ばれ、「事前トレーニング済み」ソースタイプとして知られる組み込みソースタイプを使用してこれを実現します。

これにより、ユーザーが手動でデータを分類し、受信データのフィールドにデータ型を割り当てる必要がないため、分析が容易になります。

サポートされているソースタイプ

Splunkでサポートされているソースタイプを確認するには、 Add Data 機能を使用してファイルをアップロードし、ソースタイプのドロップダウンを選択します。 以下の画像では、CSVファイルをアップロードし、使用可能なすべてのオプションを確認しています。

ソースタイプ1

ソースタイプのサブカテゴリ

これらのカテゴリでも、さらにクリックして、サポートされているすべてのサブカテゴリを表示できます。 そのため、データベースカテゴリを選択すると、Splunkが認識できるさまざまな種類のデータベースとサポートされているファイルを見つけることができます。

ソースタイプ2

事前学習済みのソースタイプ

以下の表は、Splunkが認識する重要な事前トレーニング済みソースタイプの一部を示しています-

Source Type Name Nature
access_combined NCSA combined format http web server logs (can be generated by apache or other web servers)
access_combined_wcookie NCSA combined format http web server logs (can be generated by apache or other web servers), with cookie field added at end
apache_error Standard Apache web server error log
linux_messages_syslog Standard linux syslog (/var/log/messages on most platforms)
log4j Log4j standard output produced by any J2EE server using log4j
mysqld_error Standard mysql error log

Splunk-基本検索

Splunkには、取り込んだデータセット全体を検索できる堅牢な検索機能があります。 この機能には、 Search&Reporting という名前のアプリからアクセスできます。このアプリは、ウェブインターフェースにログインした後、左側のバーに表示されます。

基本検索1

*search&Reporting* アプリをクリックすると、検索ボックスが表示され、前の章でアップロードしたログデータで検索を開始できます。

以下に示す形式でホスト名を入力し、右端にある検索アイコンをクリックします。 これにより、検索語を強調した結果が得られます。

基本検索2

検索用語の組み合わせ

検索に使用する用語を結合するには、次のように記述しますが、ユーザー検索文字列を二重引用符で囲みます。

基本検索3

ワイルドカードを使用する

検索オプションでワイルドカードを AND/OR 演算子と組み合わせて使用​​できます。 以下の検索では、ログファイルに「fail」、「failed」、「failure」などの用語が含まれ、同じ行にパスワードという用語が含まれる結果が得られます。

基本検索4

検索結果の絞り込み

文字列を選択して検索に追加することにより、検索結果をさらに絞り込むことができます。 以下の例では、文字列 3351 をクリックして、*検索に追加*オプションを選択します。

*3351* が検索語に追加された後、3351を含むログからの行のみを示す以下の結果が得られます。 また、検索の絞り込みに伴い、検索結果のタイムラインがどのように変化したかをマークします。

基本検索

Splunk-フィールド検索

Splunkはアップロードされたマシンデータを読み取るとき、データを解釈し、データレコード全体に関する単一の論理的事実を表す多くのフィールドに分割します。

たとえば、単一の情報レコードには、サーバー名、イベントのタイムスタンプ、ログイン試行またはhttp応答などのログに記録されるイベントのタイプなどが含まれる場合があります。 非構造化データの場合でも、Splunkはフィールドをキーと値のペアに分割するか、フィールドが持つデータ型、数値、文字列などに基づいてフィールドを分離しようとします。

前の章でアップロードしたデータを続けて、次の画面を開く[フィールドの表示]リンクをクリックして、 secure.log ファイルのフィールドを確認できます。 このログファイルからSplunkが生成したフィールドに気付くことができます。

フィールド検索

フィールドの選択

すべてのフィールドのリストからフィールドを選択または選択解除することにより、表示するフィールドを選択できます。 *すべてのフィールド*をクリックすると、すべてのフィールドのリストを表示するウィンドウが開きます。 これらのフィールドの一部には、すでに選択されていることを示すチェックマークが付いています。 チェックボックスを使用して、表示するフィールドを選択できます。

フィールドの名前のほかに、フィールドが持つ個別の値の数、そのデータ型、このフィールドが存在するイベントのパーセンテージを表示します。

フィールド検索

フィールドサマリー

フィールドの名前をクリックすると、選択したすべてのフィールドの非常に詳細な統計情報が利用可能になります。 フィールドのすべての個別の値、カウント、およびパーセンテージが表示されます。

フィールド検索

検索でのフィールドの使用

フィールド名は、検索の特定の値とともに検索ボックスに挿入することもできます。 次の例では、 mailsecure_log という名前のホストについて、10月15日の日付のすべてのレコードを検索することを目指しています。 この特定の日付の結果を取得します。

フィールド検索

Splunk-時間範囲検索

Splunk Webインターフェースには、一定期間のイベントの分布を示すタイムラインが表示されます。 特定の時間範囲を選択できるプリセットの時間間隔があります。または、必要に応じて時間範囲をカスタマイズできます。

以下の画面は、さまざまなプリセットタイムラインオプションを示しています。 これらのオプションのいずれかを選択すると、利用可能なカスタムタイムラインオプションを使用して、さらに分析することができる特定の期間のみのデータがフェッチされます。

時間範囲検索1

たとえば、下のタイムライングラフのスプレッドを見るとわかるように、前月のオプションを選択すると、前月の結果のみが表示されます。

時間範囲検索2

時間サブセットの選択

タイムラインのバーをクリックしてドラッグすると、すでに存在する結果のサブセットを選択できます。 これにより、クエリが再実行されることはありません。 既存の結果セットからレコードを除外するだけです。

以下の画像は、結果セットからのサブセットの選択を示しています-

時間範囲検索3

最古および最新

最も早いコマンドと最新のコマンドの2つを検索バーで使用して、結果を除外する時間範囲を指定できます。 これは時間のサブセットを選択するのと似ていますが、特定のタイムラインバーをクリックするオプションではなく、コマンドを使用します。 そのため、分析用に選択できるデータ範囲をより細かく制御できます。

時間範囲検索4

上の画像では、過去7日間から過去15日間の時間範囲を指定しています。 そのため、これらの2日間のデータが表示されます。

近くのイベント

また、イベントをフィルターで除外する程度を指定することで、特定の時間の近くのイベントを見つけることができます。 秒、分、日、週などの間隔のスケールを選択するオプションがあります。

Splunk-エクスポートの共有

検索クエリを実行すると、結果はジョブとしてSplunkサーバーに保存されます。 このジョブは特定の1人のユーザーによって作成されましたが、他のユーザーと共有できるため、クエリを再度作成することなくこの結果セットの使用を開始できます。 結果は、Splunkを使用しないユーザーと共有できるファイルとしてエクスポートおよび保存することもできます。

検索結果の共有

クエリが正常に実行されると、Webページの右中央に小さな上向きの矢印が表示されます。 このアイコンをクリックすると、クエリと結果にアクセスできるURLが表示されます。 このリンクを使用するユーザーに許可を与える必要があります。 許可は、Splunk管理インターフェイスを介して付与されます。

共有エクスポート1

保存した結果を見つける

適切な権限を持つすべてのユーザーが使用するために保存されているジョブは、Splunkインターフェースの右上のバーにあるアクティビティメニューの下でジョブリンクを探すことで見つけることができます。 下の画像で、jobsという名前の強調表示されたリンクをクリックして、保存されたジョブを見つけます。

共有エクスポート3

上記のリンクをクリックすると、以下に示すように、保存されたすべてのジョブのリストが取得されます。 彼は、保存されたジョブがSplunkから自動的に削除される有効期限日の投稿があることに注意する必要があります。 この日付を調整するには、ジョブを選択し、[選択を編集]をクリックしてから[有効期限の延長]を選択します。

Share Export4

検索結果のエクスポート

検索結果をファイルにエクスポートすることもできます。 エクスポートに使用できる3つの異なる形式は、CSV、XML、およびJSONです。 形式を選択した後、[エクスポート]ボタンをクリックすると、ローカルブラウザからローカルシステムにファイルがダウンロードされます。 これは以下の画像で説明されています-

Share Export2

Splunk-検索言語

Splunk Search Processing Language(SPL)は、データセットから目的の結果を取得するために記述された多くのコマンド、関数、引数などを含む言語です。 たとえば、検索語の結果セットを取得する場合、結果セットからさらに特定の用語をさらにフィルタリングすることができます。 そのためには、既存のコマンドに追加するいくつかの追加コマンドが必要です。 これは、SPLの使用法を学習することで達成されます。

SPLのコンポーネント

SPLには次のコンポーネントがあります。

  • 検索用語-これらはあなたが探しているキーワードまたはフレーズです。
  • コマンド-結果のフォーマットやカウントなど、結果セットに対して実行するアクション。
  • 関数-結果に適用する計算は何ですか。 合計、平均など
  • Clauses -結果セットのフィールドをグループ化または名前変更する方法。

以下のセクションの画像を使用してすべてのコンポーネントについて説明しましょう-

検索ワード

これらは、検索条件に一致する特定のレコードをデータセットから取得するために検索バーで言及する用語です。 以下の例では、2つの強調表示された用語を含むレコードを検索しています。

Spl_1

コマンド

SPLが提供する多くの組み込みコマンドを使用して、結果セット内のデータを分析するプロセスを簡素化できます。 次の例では、headコマンドを使用して、検索操作の上位3つの結果のみを除外しています。

Spl_2

関数

Splunkは、コマンドとともに、分析中のフィールドから入力を取得し、そのフィールドに計算を適用した後に出力を提供できる多くの組み込み関数も提供します。 以下の例では、入力として取得される数値フィールドの平均値を計算する* Stats avg()*関数を使用します。

Spl_3

条項

特定のフィールドでグループ化された結果を取得する場合、または出力内のフィールドの名前を変更する場合は、それぞれ group by 句とas句を使用します。 以下の例では、 web_application ログにある各ファイルの平均バイトサイズを取得します。 ご覧のとおり、結果には各ファイルの名前と各ファイルの平均バイト数が表示されます。

Spl_4

Splunk-検索の最適化

Splunkには、最適化機能がすでに含まれており、検索を分析および処理して効率を最大化します。 この効率は、主に次の2つの最適化目標によって達成されます-

  • 早期フィルタリング-これらの最適化は結果を非常に早期にフィルタリングするため、検索プロセス中に処理されるデータの量が可能な限り早く削減されます。 この早期フィルターにより、最終的な検索結果の一部ではないイベントの不要な検索および評価計算が回避されます。
  • 並列処理-組み込みの最適化により、検索処理を並べ替えることができるため、最終処理のために検索結果を検索ヘッドに送信する前に、できるだけ多くのコマンドがインデクサーで並行して実行されます。

検索の最適化の分析

Splunkは、検索の最適化の仕組みを分析するツールを提供してくれました。 これらのツールは、フィルター条件の使用方法と、これらの最適化手順の順序を把握するのに役立ちます。 また、検索操作に関連するさまざまなステップのコストも提供します。

失敗、失敗、またはパスワードという単語を含むイベントを見つけるための検索操作を検討してください。 この検索クエリを検索ボックスに配置すると、組み込みのオプティマイザーが自動的に動作して検索のパスを決定します。 特定の数の検索結果を返すのに検索にかかった時間を確認できます。必要に応じて、最適化の各ステップとそれに関連するコストを確認できます。

以下に示すように、これらの詳細を取得するには、*検索→ジョブ→ジョブの検査*のパスに従います-

Search Optimisastion1

次の画面には、上記のクエリで発生した最適化の詳細が表示されます。 ここで、イベントの数と結果を返すのにかかった時間を記録する必要があります。

Search Optimisastion2

最適化をオフにする

また、組み込みの最適化をオフにして、検索結果にかかる時間の違いを確認することもできます。 結果は、組み込みの検索よりも優れている場合とそうでない場合があります。 より良い場合には、この特定の検索に対してのみ最適化をオフにするこのオプションを常に選択できます。

次の図では、検索クエリで noop として表示される最適化なしコマンドを使用しています。

Optimisastion3を検索

次の画面は、最適化を使用しない結果を示しています。 このクエリでは、組み込みの最適化を使用せずに結果が高速になります。

Optimisastion4を検索

Splunk-コマンドの変換

これらはSplunkのコマンドで、検索の結果を、統計やデータの視覚化を表すのに役立つデータ構造に変換するために使用されます。

変換コマンドの例

以下は、コマンドを変換する例の一部です-

  • ハイライト-結果内の特定の用語を強調表示します。
  • グラフ-検索結果からグラフを作成します。
  • 統計-検索結果から統計要約を作成します。

ハイライト

このコマンドは、検索結果セット内の特定の用語を強調表示するために使用されます*。 ハイライト関数の引数として検索語を提供することにより使用されます。 複数の検索用語は、コンマで区切って指定します。

以下の例では、結果セットで用語 safari および butter を検索します。

Transformin1

チャート

*chart* コマンドは、結果を表形式で返す変換コマンドです。 結果を使用して、列、線、面積などのグラフとしてデータを表示できます。 以下の例では、各ファイルタイプの平均バイトサイズをプロットすることにより、横棒グラフを作成します。

Transforming2

統計

Statsコマンドは、このコマンドに指定する引数のタイプに応じて、検索結果データセットをさまざまな統計表現に変換します。

以下の例では、別のフィールドでグループ化されるcount関数でstatsコマンドを使用します。 ここでは、各曜日に作成されるファイル名の数をカウントしています。 検索文字列の結果は、毎日の行が作成された表形式で表示されます。

Transforming3

Splunk-レポート

Splunkレポートは、イベントの統計と視覚化を表示できる検索アクションから保存された結果です。 レポートはいつでも実行でき、実行するたびに新しい結果を取得します。 レポートは他のユーザーと共有でき、ダッシュボードに追加できます。 より洗練されたレポートにより、ドリルダウン機能で最終的な統計を作成する基礎となるイベントを確認できます。

この章では、サンプルレポートを作成および編集する方法について説明します。

レポート作成

レポートの作成は単純なプロセスであり、[名前を付けて保存]オプションを使用して、[Rep 名前を付けて保存]オプションを選択した検索操作の結果を保存します。 次の図にオプションを示します。

Reports_1

ドロップダウンから[レポート]オプションをクリックすると、レポートの名前、説明、タイムピッカーの選択などの追加入力を求める次のウィンドウが表示されます。 タイムピッカーを選択すると、レポートの実行時に時間範囲を調整できます。 以下の図は、必要な詳細を入力して[保存]をクリックする方法を示しています。

Reports_2

レポート構成

上記の手順で[保存]をクリックしてレポートを作成すると、次の画面が表示され、以下に示すようにレポートの構成を求められます。 ここで、権限を設定したり、レポートをスケジュールしたりできます。 次のステップに進み、レポートをダッシュ​​ボードに追加するオプションもあります。

Reports_3

上記の手順で[表示]をクリックすると、レポートが表示されます。 また、レポートの作成後に構成オプションを取得します。

Reports_4

レポート検索オプションの変更

許可、スケジュールなどを編集できますが、元の検索文字列を変更する必要がある場合があります。 これは、上の画像にある[検索で開く]オプションを選択することで実行できます。 これにより、元の検索オプションが再び開き、新しい検索に編集できます。 以下の画像を参照してください-

Reports_5

Splunk-ダッシュボード

ダッシュボードは、ビジネス上の意味に関連するテーブルまたはチャートを表すために使用されます。 パネルを介して行われます。 ダッシュボードのパネルには、視覚的に魅力的な方法でチャートまたは要約データが保持されます。 複数のパネル、したがって複数のレポートとチャートを同じダッシュボードに追加できます。

ダッシュボードの作成

平日ごとのファイル数を示す前の章の検索クエリを続けます。

[視覚化]タブを選択して、結果を円グラフとして表示します。 グラフをダッシュ​​ボードに配置するには、以下に示すように、[名前を付けて保存]→[ダッシュボードパネル]オプションを選択します。

Dashboard1

次の画面では、ダッシュボードとその中のパネルの詳細を入力するよう求められます。 以下に示すように、画面に詳細を入力します。

Dashboard2

[保存]ボタンをクリックすると、次の画面にダッシュボードを表示するオプションが表示されます。 ダッシュボードの表示を選択すると、次の出力が表示され、ダッシュボードと編集、エクスポート、または削除のオプションを確認できます。

Dashboard3

ダッシュボードへのパネルの追加

グラフを含む新しいパネルを追加することにより、ダッシュボードに2番目のグラフを追加できます。 以下は、上記のダッシュボードに追加する棒グラフとそのクエリです。

Dashboard4

次に、次の画像に示すように、2番目のグラフの詳細を入力し、*保存*をクリックします-

Dashboard5

最後に、2つの異なるパネルに両方のチャートを含むダッシュボードを取得します。 下の画像でわかるように、ダッシュボードを編集してパネルを追加し、テキスト、ラジオ、ドロップダウンボタンなどの入力要素を追加して、より洗練されたダッシュボードを作成できます。

Dashboard6

Splunk-ピボットとデータセット

Splunkは、さまざまなタイプのデータソースを取り込み、リレーショナルテーブルに似たテーブルを構築できます。 これらは*テーブルデータセット*または単に*テーブル*と呼ばれます。 データやルックアップなどを分析およびフィルタリングする簡単な方法を提供します。 これらのテーブルデータセットは、この章で学習するピボット分析の作成にも使用されます。

データセットの作成

Splunk Datasets Add-onという名前のSplunkアドオンを使用して、データセットを作成および管理します。 Splunk Webサイトhttps://splunkbase.splunk.com/app/3245//details[https://splunkbase.splunk.com/app/3245//details。]からダウンロードできます。このリンクの詳細タブにある指示に従ってインストールします。 インストールが成功すると、 Create New Table Dataset という名前のボタンが表示されます。

Datasets Pivot1

データセットの選択

次に、 Create New Table Dataset ボタンをクリックすると、以下の3つのオプションから選択するオプションが表示されます。

  • インデックスとソースタイプ-データ追加アプリを介してSplunkに既に追加されている既存のインデックスまたはソースタイプから選択します。
  • 既存のデータセット-新しいデータセットを作成して変更したいデータセットを既に作成している場合があります。
  • 検索-検索クエリを記述し、結果を使用して新しいデータセットを作成できます。

この例では、下の画像に示すように、データセットのソースとなるインデックスを選択します-

データセットピボット

データセットフィールドの選択

上記の画面で[OK]をクリックすると、テーブルデータセットに最終的に取得するさまざまなフィールドを選択するオプションが表示されます。 _timeフィールドはデフォルトで選択されており、このフィールドはドロップできません。 フィールドを選択します: bytes、categoryID、clientIP および files

データセットピボット

上記の画面で[完了]をクリックすると、以下に示すように、選択したすべてのフィールドを含む最終データセットテーブルが取得されます。 ここで、データセットはリレーショナルテーブルに似ています。 右上にある[名前を付けて保存]オプションを使用して、データセットを保存します。

データセットピボット

ピボットの作成

上記のデータセットを使用して、ピボットレポートを作成します。 ピボットレポートには、別の列の値に対する1つの列の値の集計が反映されます。 つまり、1つの列の値が行になり、別の列の値が行になります。

データセットアクションを選択

これを実現するには、まずデータセットタブを使用してデータセットを選択し、そのデータセットの[アクション]列から*ピボットで視覚化*オプションを選択します。

データセットピボット

ピボットフィールドを選択する

次に、ピボットテーブルを作成するための適切なフィールドを選択します。 split columns オプションでカテゴリIDを選択します。これは、値がレポートで異なる列として表示されるフィールドであるためです。 次に、 Split Rows オプションでFileを選択します。これは、値が行で表示されるフィールドであるためです。 結果には、ファイルフィールドの各値の各categoryid値の数が表示されます。

データセットピボット

次に、ピボットテーブルをレポートまたは既存のダッシュボードのパネルとして保存して、後で参照できるようにします。

Splunk-ルックアップ

検索クエリの結果では、フィールドの意味を明確に伝えていない値を取得することがあります。 たとえば、製品IDの値を数値結果としてリストするフィールドを取得できます。 これらの数値は、それがどのような製品であるかを私たちに何も与えません。 しかし、製品名とともに製品IDをリストすると、検索結果の意味を理解できる良いレポートが得られます。

両方のデータセットの等しい値を使用して、あるフィールドの値を別のデータセットの同じ名前のフィールドにリンクすることをルックアッププロセスと呼びます。 利点は、2つの異なるデータセットから関連する値を取得することです。

ルックアップファイルを作成して使用する手順

データセットにルックアップフィールドを正常に作成するには、以下の手順に従う必要があります-

ルックアップファイルを作成する

ホストがweb_applicationであるデータセットを検討し、productidフィールドを確認します。 このフィールドは単なる数字ですが、製品名をクエリ結果セットに反映する必要があります。 次の詳細を含むルックアップファイルを作成します。 ここでは、最初のフィールドの名前を productid として保持しています。これは、データセットから使用するフィールドと同じです。

productId,productdescription
WC-SH-G04,Tablets
DB-SG-G01,PCs
DC-SG-G02,MobilePhones
SC-MG-G10,Wearables
WSC-MG-G10,Usb Light
GT-SC-G01,Battery
SF-BVS-G01,Hard Drive

ルックアップファイルを追加する

次に、以下に示すように設定画面を使用して、Splunk環境にルックアップファイルを追加します-

ルックアップ

ルックアップを選択すると、ルックアップを作成および構成するための画面が表示されます。 以下に示すように、ルックアップテーブルファイルを選択します。

ルックアップ

アップロードするルックアップファイルとして productidvals.csv ファイルを参照して選択し、検索先アプリとして検索を選択します。 また、同じ宛先ファイル名を保持します。

ルックアップ

[保存]ボタンをクリックすると、ファイルはルックアップファイルとしてSplunkリポジトリに保存されます。

ルックアップ定義を作成する

検索クエリで上記でアップロードしたLookupファイルから値を検索できるようにするには、検索定義を作成する必要があります。 これを行うには、もう一度*設定→ルックアップ→ルックアップ定義→新規追加*に進みます。

ルックアップ

次に、 Settings→Lookups→Lookup Definition に移動して、追加したルックアップ定義の可用性を確認します。

ルックアップ

ルックアップフィールドの選択

次に、検索クエリのルックアップフィールドを選択する必要があります。 これは、新規検索→すべてのフィールド*に進みます。 次に、 *productid のチェックボックスをオンにすると、ルックアップファイルから productdescription フィールドも自動的に追加されます。

ルックアップ

ルックアップフィールドの使用

次に、以下に示すように、検索クエリでLookupフィールドを使用します。 視覚化では、productidではなくproductdescriptionフィールドで結果が表示されます。

ルックアップ

Splunk-スケジュールとアラート

スケジューリングは、ユーザーの介入なしにレポートを自動的に実行するトリガーを設定するプロセスです。 以下は、レポートのスケジューリングの使用法です-

  • 毎月、毎週、または毎日、異なる間隔で同じレポートを実行することにより、特定の期間の結果を取得できます。
  • ユーザーがダッシュボードを開く前にレポートがバックグラウンドで実行を終了するため、ダッシュボードのパフォーマンスが向上しました。
  • レポートの実行が完了した後、レポートを電子メールで自動的に送信します。

スケジュールを作成する

スケジュールは、レポートのスケジュール機能を編集して作成されます。 下の画像に示すように、[編集]ボタンの[スケジュールの編集]オプションに移動します。

スケジュールアラート1

スケジュールの編集ボタンをクリックすると、スケジュールを作成するためのすべてのオプションをレイアウトする次の画面が表示されます。

以下の例では、すべてのデフォルトオプションを使用し、レポートは毎週月曜日の午前6時に実行されるようにスケジュールされています。

スケジュールアラート2

スケジューリングの重要な機能

以下は、スケジューリングの重要な機能です-

  • 時間範囲-レポートがデータを取得する必要がある時間範囲を示します。 最後の15分、最後の4時間、または先週などです。
  • スケジュールの優先度-複数のレポートが同時にスケジュールされている場合、特定のレポートの優先度が決定されます。
  • スケジュールウィンドウ-同じ優先度のレポートスケジュールが複数ある場合は、このウィンドウ内のいつでもレポートを実行するのに役立つ時間ウィンドウを選択できます。 5分であれば、レポートは予定時間の5分以内に実行されます。 これは、実行時間を延ばすことにより、スケジュールされたレポートのパフォーマンスを向上させるのに役立ちます。

アクションのスケジュール

スケジュールアクションは、レポートの実行後にいくつかの手順を実行することを目的としています。 たとえば、レポートの実行ステータスを記載したメールを送信したり、別のスクリプトを実行したりできます。 このようなアクションは、以下に示すように、*アクションの追加*ボタンをクリックしてオプションを設定することで実行できます-

スケジュールアラート3

アラート

Splunkアラートは、ユーザーが定義した特定の基準が満たされたときにトリガーされるアクションです。 アラートの目的は、アクションのログ記録、電子メールの送信、またはルックアップファイルへの結果の出力などです。

アラートを作成する

検索クエリを実行し、その結果をアラートとして保存することにより、アラートを作成します。 以下のスクリーンショットでは、日ごとのファイル数を検索し、 Save As オプションを選択して結果をアラートとして保存します。

スケジュールアラート4

次のスクリーンショットでは、アラートプロパティを設定します。 以下の画像は、構成画面を示しています-

スケジュールアラート5

これらのオプションのそれぞれの目的と選択は以下に説明されています-

  • タイトル-アラートの名前です。
  • 説明-アラートの詳細な説明です。
  • 許可-その値は、誰がアラートにアクセス、実行、または編集できるかを決定しました。 プライベートと宣言された場合、アラートの作成者のみがすべての権限を持ちます。 他のユーザーがアクセスするには、オプションを* Appで共有*に変更する必要があります。 この場合、全員に読み取りアクセス権がありますが、アラートの編集アクセス権があるのはパワーユーザーのみです。
  • アラートタイプ-スケジュールされたアラートは、ドロップダウンから選択された日時によって実行時間が定義される事前定義された間隔で実行されます。 ただし、リアルタイムアラートのその他のオプションでは、バックグラウンドで検索が継続的に実行されます。 条件が満たされるたびに、アラートアクションが実行されます。
  • トリガー条件-トリガー条件はトリガーで言及された基準をチェックし、アラート基準が満たされた場合にのみ変更を開始します。 検索結果に結果の数またはソースの数またはホストの数を定義して、アラートをトリガーできます。 1回に設定されている場合、結果条件が満たされたときに1回だけ実行されますが、各結果に For が設定されている場合、トリガー条件が満たされた結果セット内のすべての行に対して実行されます。
  • トリガーアクション-トリガーアクションは、トリガー条件が満たされたときに、目的の出力を提供したり、電子メールを送信したりできます。 以下の画像は、Splunkで利用可能な重要なトリガーアクションの一部を示しています。

スケジュールアラート6

Splunk-ナレッジマネジメント

Splunkナレッジマネジメントは、Splunk Enterprise実装のナレッジオブジェクトのメンテナンスに関するものです。

以下は、ナレッジマネジメントの主な機能です。

  • 知識オブジェクトが組織内の適切なグループの人々によって共有され、使用されていることを確認してください。
  • ナレッジオブジェクトの命名規則を実装し、重複または廃止されたオブジェクトを廃止することにより、イベントデータを正規化します。
  • 検索とピボットのパフォーマンスを改善するための戦略を監督します(レポートアクセラレーション、データモデルアクセラレーション、サマリーインデックス、バッチモード検索)。
  • Pivotユーザーのデータモデルを作成します。

知識オブジェクト

データに関する特定の情報を取得するためのSplunkオブジェクトです。 ナレッジオブジェクトを作成するとき、それを非公開にしたり、他のユーザーと共有したりできます。 ナレッジオブジェクトの例:保存された検索、タグ、フィールド抽出、ルックアップなど。

ナレッジオブジェクトの使用

Splunkソフトウェアを使用すると、ナレッジオブジェクトが作成および保存されます。 ただし、重複する情報が含まれている場合や、すべての対象ユーザーが効果的に使用できない場合があります。 このような問題に対処するには、これらのオブジェクトを管理する必要があります。 これは、それらを適切に分類し、適切な権限管理を使用してそれらを処理することにより行われます。 以下は、さまざまな知識オブジェクトの用途と分類です-

フィールドとフィールド抽出

フィールドとフィールド抽出は、Splunkソフトウェアの知識の最初のレイヤーです。 ITデータからSplunkソフトウェアから自動的に抽出されたフィールドは、生データに意味をもたらします。 手動で抽出されたフィールドは、この意味の層を拡張および改善します。

イベントの種類とトランザクション

イベントタイプとトランザクションを使用して、類似したイベントの興味深いセットをグループ化します。 イベントタイプは、検索で検出されたイベントのセットをグループ化します。 トランザクションは、時間にまたがる概念的に関連するイベントのコレクションです。

ルックアップとワークフローアクション

ルックアップとワークフローアクションは、さまざまな方法でデータの有用性を拡張するナレッジオブジェクトのカテゴリです。 フィールドルックアップを使用すると、静的テーブル(CSVファイル)やPythonベースのコマンドなどの外部データソースからデータにフィールドを追加できます。 ワークフローアクションは、データ内のフィールドと、IPアドレスを含むフィールドでのWHOISルックアップなどの他のアプリケーションまたはWebリソースとの間の相互作用を可能にします。

タグとエイリアス

タグとエイリアスは、フィールド情報のセットを管理および正規化するために使用されます。 タグとエイリアスを使用して、関連するフィールド値のセットをグループ化し、アイデンティティのさまざまな側面を反映する抽出されたフィールドタグを提供できます。 たとえば、特定の場所(建物や都市など)のホストのセットからのイベントをグループ化するには、各ホストに同じタグを付けます。

異なるフィールド名を使用して同じデータを参照する2つの異なるソースがある場合、エイリアスを使用して(たとえばclientipをipaddressにエイリアスすることにより)データを正規化できます。

データモデル

データモデルは1つ以上のデータセットの表現であり、Pivo​​tツールを駆動します。これにより、Pivo​​tユーザーは、Splunkソフトウェア検索言語と対話する必要なく、便利なテーブル、複雑な視覚化、堅牢なレポートをすばやく生成できます。 データモデルは、インデックス付きデータの形式とセマンティクスを完全に理解しているナレッジマネージャーによって設計されています。 典型的なデータモデルは、他の種類のナレッジオブジェクトを利用します。

これらの知識オブジェクトの例のいくつかについては、後続の章で説明します。

Splunk-サブサーチ

サブサーチは、セカンダリクエリまたは内部クエリの結果がプライマリクエリまたは外部クエリへの入力である場合の通常の検索の特殊なケースです。 SQL言語の場合のサブクエリの概念に似ています。 Splunkでは、プライマリクエリは、外部クエリまたはセカンダリクエリに入力できる1つの結果を返す必要があります。

検索にサブ検索が含まれる場合、サブ検索が最初に実行されます。 プライマリ検索では、サブ検索を角括弧で囲む必要があります。

最大バイトサイズのWebログからファイルを見つける場合を考えます。 しかし、それは毎日異なる場合があります。 次に、ファイルサイズが最大サイズに等しく、日曜日であるイベントのみを検索します。

サブサーチを作成する

最初にサブサーチを作成して、最大ファイルサイズを見つけます。 引数としてbytesという名前のフィールドを持つ関数 Stat max を使用します。 これは、検索クエリが実行される時間枠のファイルの最大サイズを識別します。

下の画像は、このサブサーチの検索と結果を示しています-

Subsearch_1

サブサーチの追加

次に、サブサーチを角括弧内に配置することにより、サブサーチクエリをプライマリクエリまたは外部クエリに追加します。 また、検索句がサブ検索クエリに追加されます。

Subsearch_2

ご覧のとおり、結果には、ファイルサイズがすべてのイベントを考慮した最大ファイルサイズに等しいイベントのみが含まれ、イベントの日は日曜日です。

Splunk-検索マクロ

検索マクロは、他の検索に挿入できる検索処理言語(SPL)の再利用可能なブロックです。 データセットの異なる部分または値で同じ検索ロジックを動的に使用する場合に使用されます。 それらは動的に引数を取ることができ、検索結果は新しい値に従って更新されます。

マクロ作成

検索マクロを作成するには、*設定→詳細検索→検索マクロ→新規追加*に進みます。 これにより、マクロの作成を開始する次の画面が表示されます。

検索マクロ1

マクロシナリオ

*web_applications* ログからファイルサイズに関するさまざまな統計情報を表示したいと思います。 統計は、ログのバイトフィールドを使用したファイルサイズの最大、最小、および平均値です。 結果には、ログにリストされている各ファイルのこれらの統計が表示されます。

そのため、統計のタイプは本質的に動的です。 stats関数の名前は、引数としてマクロに渡されます。

マクロの定義

次に、次の画面に示すように、さまざまなプロパティを設定してマクロを定義します。 マクロの名前には(1)が含まれます。これは、検索文字列で使用されるときにマクロに渡される引数が1つあることを示します。 fun は、検索クエリでの実行中にマクロに渡される引数です。

Search Macro2

マクロを使用する

マクロを使用するには、マクロを検索文字列の一部にします。 引数に異なる値を渡すと、予想どおり異なる結果が表示されます。

ファイルの平均サイズ(バイト単位)を見つけることを検討してください。 引数としてavgを渡し、以下に示す結果を取得します。 このマクロは、検索クエリの一部として `記号の下に保持されています。

Search Macro3

同様に、ログに存在する各ファイルの最大ファイルサイズが必要な場合は、引数として max を使用します。 結果は以下のとおりです。

Search Macro4

Splunk-イベントタイプ

Splunk検索では、特定の基準に基づいてデータセットから独自のイベントを設計できます。 たとえば、httpステータスコードが200のイベントのみを検索します。 このイベントは、ユーザー定義名 status200 のイベントタイプとして保存でき、今後の検索の一部としてこのイベント名を使用できます。

つまり、イベントタイプは、特定のタイプのイベントまたは有用なイベントのコレクションを返す検索を表します。 検索によって返されるすべてのイベントは、そのイベントタイプとの関連付けを取得します。

イベントタイプの作成

検索条件を決定した後、イベントタイプを作成するには2つの方法があります。 1つは、検索を*実行*してから、イベントタイプとして保存することです。 もう1つは、* [設定]タブから新しいイベントタイプを追加する*です。 このセクションでは、両方の作成方法を説明します。

検索を使用する

成功したhttpステータス値200の基準とイベントタイプが水曜日に実行されるイベントの検索を検討してください。 検索クエリを実行した後、[名前を付けて保存]オプションを選択して、クエリをイベントタイプとして保存できます。

イベントタイプ1

次の画面では、イベントタイプの名前を入力するよう求められ、オプションのタグを選択してから、イベントを強調表示する色を選択します。 優先度オプションは、2つ以上のイベントタイプが同じイベントに一致する場合に、どのイベントタイプを最初に表示するかを決定します。

イベントタイプ2

最後に、[設定]→[イベントタイプ]オプションに移動して、イベントタイプが作成されたことを確認できます。

新しいイベントタイプの使用

新しいイベントタイプを作成する他のオプションは、以下に示すように、新しいイベントタイプを追加できる[設定]→[イベントタイプ]オプションを使用することです-

イベントタイプ3

ボタン New Event Type をクリックすると、次の画面が表示され、前のセクションと同じクエリが追加されます。

イベントタイプ4

イベントタイプの表示

上記で作成したイベントを表示するには、検索ボックスに以下の検索クエリを記述し、結果のイベントとイベントタイプに選択した色を確認します。

イベントタイプ5

イベントタイプの使用

他のクエリと一緒にイベントタイプを使用できます。 ここでは、イベントタイプからいくつかの部分的な基準を指定します。結果は、結果の色付きイベントと非色付きイベントを示すイベントの混合です。

イベントタイプ6

Splunk-基本チャート

Splunkには、さまざまなチャートを表示する優れた視覚化機能があります。 これらのチャートは、適切な関数を使用して数値を出力する検索クエリの結果から作成されます。

たとえば、web_applicationsという名前のデータセットからバイト単位の平均ファイルサイズを探すと、以下に示すように統計タブで結果を見ることができます-

基本チャート1

チャートを作成する

基本的なグラフを作成するには、まず、上記のようにデータが統計タブに表示されるようにします。 次に、視覚化タブをクリックして、対応するチャートを取得します。 上記のデータは、以下に示すようにデフォルトで円グラフを生成します。

基本チャート2

チャートタイプの変更

チャート名から別のチャートオプションを選択して、チャートタイプを変更できます。 これらのオプションのいずれかをクリックすると、そのタイプのグラフのチャートが作成されます。

基本チャート3

チャートのフォーマット

グラフは、[フォーマット]オプションを使用してフォーマットすることもできます。 このオプションを使用すると、軸の値を設定したり、凡例を設定したり、チャートにデータ値を表示したりできます。 以下の例では、水平チャートを選択し、データ値をフォーマットオプションとして表示するオプションを選択しています。

基本チャート4

Splunk-オーバーレイチャート

多くの場合、2つのチャートの傾向を比較または確認するには、あるチャートを別のチャートに重ねる必要があります。 Splunkは、視覚化タブで利用可能なチャートオーバーレイ機能を通じてこの機能をサポートしています。 このようなチャートを作成するには、最初に2つの変数を持つチャートを作成し、次にオーバーレイチャートを作成できる3番目の変数を追加する必要があります。

チャートシナリオ

前の章の例を続けて、異なる曜日のファイルのバイトサイズを調べ、その日の平均バイトサイズを追加します。 以下の画像は、異なる曜日のファイルのバイトサイズと平均バイトサイズを示すグラフを示しています。

Chart Overlay1_1

次に、標準偏差と呼ばれる統計関数を上記の検索クエリに追加します。 これにより、グラフオーバーレイの作成に必要な追加変数が追加されます。 以下の画像は、視覚化で使用されるクエリ結果の統計を示しています。

チャートオーバーレイ1

チャートオーバーレイの作成

グラフオーバーレイを作成するには、*視覚化→形式→グラフオーバーレイ*に従います。

これにより、オーバーレイチャートとなるフィールドを選択する必要があるポップアップウィンドウが表示されます。 この場合、下の図に示すように、フィールドとしてstdev(bytes)を選択します。 他の値を入力することもできます:タイトル、スケールとその間隔、最小値、最大値など。 この例では、オーバーレイオプションのフィールドを選択した後、デフォルト値を選択します。

Chart Overlay2

上記のオプションを選択した後、グラフオーバーレイポップアップウィンドウを閉じて、以下に示すように最終的なグラフを表示できます-

Chart Overlay3

Splunk-スパークライン

スパークラインは、軸を表示しない統計情報の小さな表現です。 通常、一定の量が一定期間にわたってどのように変化したかを示すために、バンプのある線として表示されます。 Splunkには、検索するイベントからスパークラインを作成する機能が組み込まれています。 これは、チャート作成機能の一部です。

フィールドの選択

スパークラインの作成に使用するフィールドと検索式を選択する必要があります。 以下の画像は、web_applicationホスト内のいくつかのファイルの平均バイトサイズ値を示しています。

Sparkine1

スパークラインの作成

上記の統計からスパークラインを作成するには、下の画像に示すように、検索クエリにスパークライン関数を追加します。 上記の統計のテーブルビューに、これらのファイルの平均バイトサイズのスパークラインの表示が開始されます。 ここでは、ファイルの平均バイトサイズの変動を計算する期間として All Time を使用しました。 この期間を変更すると、グラフの性質が変わります。

Sparkine2

期間の変更

上記のグラフの期間を[全期間]から[過去30日間]に変更すると、以下に示すようにスパークラインが少し異なることがわかります。 ここで、それらのファイルがその期間に利用できなかったためにリストから消えたファイル名がどれだけ少ないかに注意する必要があります。

Sparkine3

Splunk-インデックスの管理

インデックスは、検索対象のデータに数値アドレスを与えることにより、検索プロセスを高速化するメカニズムです。 Splunkのインデックス作成は、データベースのインデックス作成の概念に似ています。 Splunkをインストールすると、次の3つのデフォルトインデックスが作成されます。

  • main -これは、処理されたすべてのデータが保存されるSplunkのデフォルトインデックスです。
  • Internal -このインデックスは、Splunkの内部ログと処理メトリックが保存される場所です。
  • audit -このインデックスには、ファイルシステム変更モニター、監査、およびすべてのユーザー履歴に関連するイベントが含まれます。

Splunkインデクサーはインデックスを作成および管理します。 Splunkにデータを追加すると、インデクサーはそれを処理し、指定されたインデックス(デフォルトでは、メインインデックスまたは指定したインデックス)に保存します。

インデックスの確認

Splunkにログインした後、[設定]→[インデックス]に移動すると、既存のインデックスを確認できます。 以下の画像はオプションを示しています。

Indexes1

インデックスをさらにクリックすると、Splunkですでにキャプチャされているデータに対してSplunkが保持しているインデックスのリストが表示されます。 以下の画像はそのようなリストを示しています。

Indexes2

新しいインデックスを作成する

Splunkに保存されているデータにより、希望するサイズの新しいインデックスを作成できます。 入ってくる追加データは、この新しく作成されたインデックスを使用できますが、検索機能は向上しています。 インデックスを作成する手順は、*設定→インデックス→新しいインデックス*です。 以下の画面が表示され、インデックスの名前やメモリの割り当てなどに言及します。

Indexes3

イベントのインデックス作成

上記のインデックスを作成した後、この特定のインデックスによってインデックス付けされるイベントを構成できます。 イベントタイプを選択します。 パス*設定→データ入力→ファイルとディレクトリ*を使用します。 次に、新しく作成したイベントに添付するイベントの特定のファイルを選択します。 次の画像でわかるように、index_web_appという名前のインデックスをこの特定のファイルに割り当てています。

Indexes4

Splunk-計算フィールド

多くの場合、Splunkイベントで既に利用可能なフィールドで計算を行う必要があります。 また、これらの計算の結果を新しいフィールドとして保存し、後でさまざまな検索で参照できるようにします。 これは、Splunk検索で計算フィールドの概念を使用することで可能になります。

最も単純な例は、完全な曜日名ではなく、曜日の最初の3文字を表示することです。 特定のSplunk関数を適用して、フィールドのこの操作を実現し、新しい結果を新しいフィールド名で保存する必要があります。

Web_applicationログファイルには、bytesおよびdate_wdayという2つのフィールドがあります。 バイトフィールドの値はバイト数です。 この値をGBとして表示する必要があります。 GB値を取得するには、フィールドを1024で割る必要があります。 この計算をバイトフィールドに適用する必要があります。

同様に、date_wdayは曜日の完全な名前を表示します。 ただし、最初の3文字のみを表示する必要があります。

これらの2つのフィールドの既存の値は、以下の画像に示されています-

計算フィールド1

eval関数を使用する

計算フィールドを作成するには、eval関数を使用します。 この関数は、計算の結果を新しいフィールドに保存します。 以下の2つの計算を適用します-

# divide the bytes with 1024 and store it as a field named byte_in_GB
Eval byte_in_GB = (bytes/1024)

# Extract the first 3 characters of the name of the day.
Eval short_day = substr(date_wday,1,3)

新しいフィールドを追加する

上記で作成した新しいフィールドを、検索結果の一部として表示するフィールドのリストに追加します。 これを行うには、以下の画像に示すように、*すべてのフィールド*オプションを選択し、これらの新しいフィールドの名前にチェックマークを付けます-

Calculated Fields2

計算フィールドの表示

上記のフィールドを選択すると、以下に示すように、検索結果に計算フィールドが表示されます。 検索クエリは、以下に示すように計算フィールドを表示します-

Calculated Fields3

Splunk-タグ

タグは、特定のフィールドと値の組み合わせに名前を割り当てるために使用されます。 これらのフィールドは、イベントタイプ、ホスト、ソース、またはソースタイプなどです。 タグを使用して、一連のフィールド値をグループ化して、1つのコマンドで検索できるようにすることもできます。 たとえば、月曜日に生成されたすべての異なるファイルにmon_filesという名前のタグを付けることができます。

タグ付けするフィールドと値のペアを見つけるには、イベントを展開し、検討するフィールドを見つける必要があります。 以下の画像は、イベントを展開してフィールドを表示する方法を示しています-

Tags1

タグを作成する

以下に示すように、*タグの編集*オプションを使用してフィールド値ペアにタグ値を追加することにより、タグを作成できます。 [アクション]列の下のフィールドを選択します。

Tags2

次の画面では、タグを定義するように求められます。 ステータスフィールドでは、503または505のステータス値を選択し、以下に示すようにserver_errorという名前のタグを割り当てます。 ステータス値が503と505のイベントを持つ2つのイベントを選択して、1つずつ実行する必要があります。 以下の画像は、ステータス値が503のメソッドを示しています。 ステータス値が505のイベントに対して同じ手順を繰り返す必要があります。

Tags3

タグを使用した検索

タグを作成したら、検索バーにタグ名を書き込むだけで、タグを含むイベントを検索できます。 次の画像では、ステータスが503または505のすべてのイベントが表示されています。

タグ

Splunk-アプリ

Splunkアプリは、特定のニーズに対応するための独自の組み込みUIコンテキストを備えたSplunk機能の拡張です。 Splunkアプリは、さまざまなSplunkナレッジオブジェクト(ルックアップ、タグ、イベントタイプ、savedsearchなど)で構成されています。 アプリ自体は、他のアプリやアドオンを利用または活用できます。 Splunkは、任意の数のアプリを同時に実行できます。

Splunkにログインすると、通常は* Splunk Searchアプリ*であるアプリが表示されます。 そのため、Splunkインターフェースの内部ではほとんど常に、アプリを使用しています。

Splunkアプリのリスト

*Apps→Manage Apps* オプションを使用して、Splunkで利用可能なアプリを一覧表示できます。 このオプションをナビゲートすると、Splunkインターフェースで利用可能な既存のアプリをリストする次の画面が表示されます。

Apps1

以下は、Splunkアプリに関連する重要な値です-

  • 名前-これはアプリの名前であり、アプリごとに一意です。
  • *フォルダ名*これは、$ SPLUNK_HOME/etc/apps/のディレクトリに使用する名前です。 フォルダの名前に「ドット」(。)文字を含めることはできません。
  • バージョン-アプリのバージョン文字列です。 VisibleアプリをSplunk Webで表示するかどうかを示します。 ユーザーインターフェイスを含むアプリが表示されるはずです。
  • Sharing -特定のアプリの異なるSplunkユーザーに与えられるアクセス許可(読み取りまたは書き込み)のレベルです。
  • ステータス-ステータス:アプリの可用性の現在のステータスです。 使用可能または使用不可にすることができます。

アプリの許可

アプリを使用するための権限を適切に設定することが重要です。 1人のユーザーまたはすべてのユーザーを含む複数のユーザーが使用するアプリを制限できます。 上記の権限リンクをクリックした後に表示される以下の画面は、異なるロールへのアクセスを変更するために使用されます。

Apps2

デフォルトでは、読み取りおよび書き込みオプションのチェックマークは、すべてのユーザーが使用できます。 ただし、各ロールに移動して、その特定のロールに適切な許可を選択することにより、それを変更できます。

アプリマーケットプレイス

Splunkの検索機能が使用されるさまざまなニーズがあります。 そのため、個人や組織が作成したさまざまなアプリを紹介するSplunkアプリ市場が存在します。 無料版と有料版の両方で利用できます。 Apps→Manage Apps→Browse More Apps オプションを選択して、これらのアプリを閲覧できます。 以下の画面が表示されます。

Apps3

ご覧のとおり、アプリの名前とアプリの機能の簡単な説明が表示されます。 これは、使用するアプリを決定するのに役立ちます。 また、アプリの種類をより速く選択できるように、アプリが左のバーでどのように分類されているかに注意してください。

Splunk-データの削除

*delete* コマンドを使用すると、Splunkからデータを削除できます。 最初に、検索条件を作成して、削除のマークを付けるイベントをフェッチします。 検索条件が受け入れ可能になると、コマンドの最後にdelete句を追加して、Splunkからそれらのイベントを削除します。 削除後、管理者権限を持つユーザーでさえ、Splunkでこのデータを表示できません。

データの削除は元に戻せません。 削除されたデータをSplunkに戻したい場合は、Splunkのデータのインデックスを再作成するために使用できる元のソースデータのコピーが必要です。 これは、新しいインデックスの作成に似たプロセスになります。

削除特権の割り当て

adminユーザーを含むユーザーには、デフォルトでデータを削除するアクセス権がありません。 デフォルトでは、 "can_delete" ロールのみがイベントを削除できます。 そのため、新しいユーザーを作成し、このロールを割り当ててから、この新しいユーザーの資格情報でログインして削除操作を実行します。 以下の画像は、「can_delete」ロールを持つ新しいユーザーを作成する方法を示しています。 この画面に到達するには、*設定→アクセス制御→ユーザー→新規ユーザー*のパスに従います。

データ0を削除

次に、Splunkインターフェースからログアウトし、この新しく作成したユーザーで再度ログインします。

削除するデータの特定

まず、削除するイベントのリストを識別する必要があります。 これは、フィルター条件を指定する通常の検索クエリを使用して行われます。 以下の例では、フィールドhttp statusの値が505であるホストweb_applicationからイベントを探すことを選択します。 私たちの目標は、これらの値を含むデータのセットのみを削除して、検索結果から削除することです。 以下の画像は、選択されたこのデータセットを示しています。

データ1を削除

選択したデータを削除する

次に、deleteコマンドを使用して、上記で選択したデータを結果セットから削除します。 以下に示すように、検索クエリの最後に「|」の後に単語deleteを追加するだけです。

データ2を削除

上記の検索クエリを実行すると、これらのイベントが削除された次の画面が表示されます。

データ3を削除

検索クエリをさらに実行して、これらのイベントが結果セットに返されないことを確認することもできます。

Splunk-カスタムチャート

Splunkで作成されたチャートには、ユーザーのニーズに応じてカスタマイズできる多くの機能があります。 これらのカスタマイズは、データを完全に表示したり、データが計算される間隔を変更したりするのに役立ちます。 最初にグラフを作成した後、カスタマイズ機能に飛び込みます。

曜日ごとのファイルのバイトサイズのさまざまな測定値の統計を取得するための以下の検索クエリを考えてみましょう。 縦棒グラフを選択してグラフを表示し、X軸とY軸の値のデフォルト値を確認します。

カスタムチャート1

軸のカスタマイズ

*Format→X-axis* ボタンを選択して、チャートに表示される軸をカスタマイズできます。 ここで、チャートのタイトルを編集します。 また、Label Rotationオプションを編集して、グラフに合わせて傾斜したラベルを選択します。 これらを編集すると、下の緑色のボックスを使用して強調表示された結果がチャートに表示されます。

カスタムチャート2

凡例のカスタマイズ

グラフの凡例は、 Format→Legend オプションを使用してカスタマイズすることもできます。 オプションLegend Positionを編集して、Topにマークします。 また、必要に応じて、凡例の切り捨てオプションを編集して、凡例の終わりを切り捨てます。 下のカートには、上部に色と値が表示された凡例が表示されます。

カスタムチャート3

Splunk-ファイルの監視

Splunk Enterpriseは、新しいデータが表示されると、ファイルまたはディレクトリを監視およびインデックス付けします。 Splunk Enterpriseがディレクトリから読み取れる限り、ネットワークファイルシステムを含むマウントされたディレクトリまたは共有ディレクトリを指定することもできます。 指定されたディレクトリにサブディレクトリが含まれる場合、監視プロセスは、ディレクトリが読み取れる限り、新しいファイルがないか再帰的にそれらを調べます。

ホワイトリストとブラックリストを使用して、ファイルまたはディレクトリを読み取り対象に含めたり除外したりできます。

モニター入力を無効にしたり削除したりしても、Splunk Enterpriseは入力インデックスのファイルのインデックス作成を停止しません。 これらのファイルのチェックのみを停止します。

ファイルまたはディレクトリへのパスを指定すると、モニタープロセッサはそのファイルまたはディレクトリに書き込まれた新しいデータを消費します。 これにより、Webアクセスログ、Java 2プラットフォーム、または.NETアプリケーションなどからのログなど、ライブアプリケーションログを監視できます。

ファイルをモニターに追加する

Splunk Webインターフェイスを使用して、監視するファイルまたはディレクトリを追加できます。 以下の画像に示すように、* Splunkホーム→データの追加→モニター*に移動します-

Monitor Files1

[監視]をクリックすると、ファイルの種類のリストと、ファイルの監視に使用できるディレクトリが表示されます。 次に、監視するファイルを選択します。

Monitor Files2

次に、Splunkがファイルを解析し、自動的に監視するためのオプションを設定できるため、デフォルト値を選択します。

最後のステップの後、監視対象のファイルからイベントをキャプチャする以下の結果が表示されます。

Monitor Files3

イベントの値のいずれかが変更されると、上記の結果が更新されて最新の結果が表示されます。

Splunk-並べ替えコマンド

*sort* コマンドは、指定されたフィールドですべての結果をソートします。 順序がそれぞれ降順または昇順である場合、欠落しているフィールドは、そのフィールドの可能な最小値または最大値を持つものとして扱われます。 sortコマンドの最初の引数が数値の場合、最大でその数の結果が順番に返されます。 番号を指定しない場合、デフォルトの制限である10000が使用されます。 0を指定すると、すべての結果が返されます。

フィールドタイプによる並べ替え

検索するフィールドに特定のデータ型を割り当てることができます。 Splunkデータセットの既存のデータ型は、検索クエリで適用するデータ型と異なる場合があります。 次の例では、ステータスフィールドを数値として昇順で並べ替えます。 また、urlという名前のフィールドは文字列として検索され、マイナス記号はソートの降順を示します。

Sort1

制限まで並べ替える

検索結果全体ではなく、並べ替える結果の数を指定することもできます。 以下の検索結果では、 status が昇順で、 url が降順である50個のイベントのみがソートされています。

Sort2

リバースの使用

reverse句を使用して、検索クエリ全体の結果を切り替えることができます。 ソート結果を必要に応じて変更したり、逆にしたりせずに、既存のクエリを使用すると便利です。

Sort3

Splunk-トップコマンド

多くの場合、フィールドで利用可能な最も一般的な値を見つけることに興味があります。 Splunkの top コマンドは、これを達成するのに役立ちます。 さらに、イベントで値が発生する頻度の数と割合を見つけるのに役立ちます。

フィールドの最高値

最も単純な形式では、イベントの総数と比較したカウントとそのカウントのパーセンテージを取得するだけです。 以下の例では、上位8つのproductid値が見つかります。

Top1

フィールドごとのフィールドの上位値

次に、このtopコマンドのby句の一部として別のフィールドを含めて、field2の各セットのfield1の結果を表示することもできます。 以下の検索では、各ファイル名の上位3つのプロダクトIDを見つけます。 ファイル名が3回繰り返され、そのファイルの異なるproductidが表示されることに注意してください。

Top2

オプションを表示

SplunkでTop Commandを使用して追加のオプションを使用することにより、特定の列を表示することもできます。 以下のコマンドでは、パーセンテージオプションを表示することを無効にし、ファイル名で上位の製品IDのみを表示します。

Top3

Splunk-統計コマンド

statsコマンドは、検索の結果またはインデックスから取得されたイベントの要約統計を計算するために使用されます。 statsコマンドは、検索結果全体に対して機能し、指定したフィールドのみを返します。

statsコマンドを呼び出すたびに、1つ以上の関数を使用できます。 ただし、使用できるBY句は1つだけです。 BY句なしでstatsコマンドを使用すると、1行のみが返されます。これは、着信結果セット全体の集計です。 BY句が使用される場合、BY句で指定された個別の値ごとに1行が返されます。

以下に、頻繁に使用されるstatsコマンドの例を示します。

平均値を見つける

  • avg()*関数を使用して、数値フィールドの平均値を見つけることができます。 この関数は、入力としてフィールド名を取ります。 BY句がない場合、すべてのイベントのフィールドの平均値を示す単一のレコードが提供されます。 ただし、by句を使用すると、フィールドが追加の新しいフィールドによってグループ化される方法に応じて、複数の行が提供されます。

以下の例では、ファイルの平均バイトサイズを、それらのファイルに関連付けられたイベントにリンクされたさまざまなhttpステータスコードでグループ化しています。

Stats1

検出範囲

statsコマンドを使用して、 range 関数を使用して、数値フィールドの値の範囲を表示できます。 前の例を続けますが、平均の代わりに、statsコマンドで* max()、min()および *range 関数を一緒に使用して、最大および最小列の値。

Stats2

平均と分散を見つける

フィールドの平均や分散などの統計的に焦点を合わせた値も、statsコマンドで適切な関数を使用して、上記と同様の方法で計算されます。 以下の例では、関数* mean()およびvar()*を使用してこれを実現しています。 前の例で示したのと同じフィールドを引き続き使用します。 結果は、イベントのhttpステータス値によって整理された行のbytesという名前のフィールドの値の平均と分散を示します。

Stats3