Splunkには、いくつかの独自用語が存在します。 慣れてしまえば問題はないのですが、最初は戸惑ってしまうこともあるかもしれません。 この章でまとめて整理します。
1. インデックス
インデックス(Index)とは、Splunkが取り込んだデータを保管しておく格納先です。 データベースでいうテーブルに近い概念です。 実体はIndexer内部にインデックスごとにディレクトリ(フォルダ)が作成され、その中にデータが保管されています。
Splunkにおけるインデックスの役割は、大きく以下の三つです。
- サーチを実行する際の最も基本的なフィルタリング条件として利用できる
- インデックス毎にアクセス範囲を制御することができる
- インデックス毎に保管期間を設定することができる
例えばOSログはos、ネットワークログはnetworkなど、データの種類ごとにインデックスを作成することができます。
一方で、細かくインデックスを分割しすぎると、アクセス権の管理などが複雑になってしまう問題もあります。
2. イベント
イベント(Event)とは、Splunkが扱うデータの単位です。 多くの場合「ログの1行(1レコード)」に相当します。 しかし、アプリケーションの例外メッセージなど、複数行を一つのイベントとして扱いたい場合もありますし、JSONデータなどは一つのJSONファイルが一つのイベントになることが多いでしょう。 このようなケースでは、条件を指定して複数行を一つのイベントとしてマージすることも可能です。
3. フィールド
フィールド(Field)とは、Splunkでサーチを行う際に指定できるkey=valueペアの情報のことです。 このフィールドがあることで、Splunkはフィルタリングやサーチの加工を容易に行うことができるようになります。
たとえば、Webサーバー(Apache)に、以下のようなログが出力されていたとします。
192.168.1.10 - sato [25/Aug/2026:17:15:30 +0900] "GET /index.html HTTP/1.1" 200 4825 "https://google.com" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
上記のログには、様々な情報が含まれています。
例えば、アクセス元IPアドレス(クライアントIPアドレス)は、192.168.1.10ですし、ユーザー名はsatoであることがわかります。
Splunkでは、このようなApacheログに対して、clientip=192.168.1.10、user=satoというようにログから値を抽出し、フィールドにマッピングすることを行います。
ユーザーは、サーチ実行時にフィールドを指定することで、「アクセス元IPアドレスが192.168.1.10であるログのみを調査する」といった、柔軟な調査や分析を行うことができます。
これらフィールドは、SPLを使って合計値や平均値を計算したり、文字列を加工することも可能です。 フィールドは、Splunkを学ぶ上で最も重要な用語であり、今後も繰り返し出現しますのでぜひ覚えておいてください。
4. ソースタイプ
ソースタイプ(sourcetype)とは、平たく言えばデータの種類やフォーマットを識別するための種別です。
具体的には、Apacheのアクセスログにはaccess_combined、Linuxのセキュリティログはlinux_secureなどが事前に定義されています。
ソースタイプは、データをSplunkに取り込む際に最初に考慮する必要があり、フィールドと同様に非常に重要な用語です。 ソースタイプ定義の中には、タイムスタンプの抽出、イベント単位の決定、フィールド抽出定義といった、Splunkの中でインデックス化した後では取り返しがつかない設定が含まれているためです。
5. レポート
Splunkにおけるレポートとは、一般的なイメージのレポートとは異なります。 「SPLや時間範囲などのサーチ定義を、再利用するために保存したもの」のことをレポートと呼びます。 サーチを実行した後、何らかの特定のアクションを実行させることも可能です。
レポートは、必要な時に呼び出して実行させることもできますし、定期的に実行させるようにスケジュール化することも可能です。
6. アラート
Splunkにおけるアラートは、レポートとセットで説明されることが多い用語です。 こちらは一般的なイメージのアラートに近い用語です。 サーチを実行し、特定の条件を満たした場合に何らかのアクションを実行する機能がアラートです。
アラートは、定期的に実行させることもできますし、リアルタイムで常に実行させておくことも可能です。 (ただし、リアルタイムアラートはリソースを多く消費するため基本的には推奨されません)
7. パネル/ダッシュボード
Splunkを語る上で代表的な機能です。 サーチを実行した結果を可視化した一つの図表がパネルです。 パネルを並べて一つの画面上に表示したものがダッシュボードです。 ダッシュボードには二つのタイプがあり、XML形式で定義されているClassic Dashboardと、JSON形式で定義されているDashboard Studioが存在しています。
8. ナレッジオブジェクト
Splunkにおける保存された設定や定義をまとめてナレッジオブジェクトと呼びます。 具体的には、レポート、アラート、フィールド抽出、ダッシュボードなどはナレッジオブジェクトです。 保存されたインデックスデータはナレッジオブジェクトではありません。 あくまで、インデックスデータをサーチし表示するための用意された様々な補助機能を、Splunkは抽象化してナレッジオブジェクトと呼んでいるととらえておけばよいです。
9. まとめ
本章で説明した基本用語を、あらためて表で整理します。
| 用語 | 説明 | 補足 |
|---|---|---|
| インデックス | データを保管する格納先 | 用途ごとに分けるべきだが、利便性とのバランスが大事 |
| イベント | Splunkにおけるデータの単位 | 複数行にわたるイベントが存在している場合はマージ条件を考慮 |
| フィールド | イベントから抽出されるkey=valueの値 | Splunkの特徴の一つ。フィールド毎に値を加工・集計することが可能 |
| ソースタイプ | データの種類やフォーマットを表す種別 | データをインデックス化する際に最初に考慮する必要がある |
| レポート | 再利用できるようにサーチ定義を保存する機能 | 手動/自動実行の2つの実行パターンがある |
| アラート | サーチを実行し、条件を満たした際に何らかのアクションを実行する機能 | 定期実行/リアルタイムの2つの実行パターンがある |
| パネル | サーチを実行した結果を表示した図表 | ダッシュボードの構成要素 |
| ダッシュボード | パネルを並べて一つの画面上に表示したもの | Classic DashboardとDashboard Studioの2タイプが存在する |
| ナレッジオブジェクト | Splunkにおける保存された設定や定義 | インデックスデータ以外に定義・保存されている設定や定義を抽象化してまとめて表現したもの |