Splunkの公式ドキュメントや画面では、 インデックス・イベント・フィールド・ソースタイプといった言葉が使われます。 これらはSplunkを理解するうえでの基本的な用語です。この節でまとめて整理します。
1. インデックス ― データの格納先
インデックス(index)とは、取り込んだデータを保管しておく 格納先(入れ物)のことです。前節で見たとおり、Splunkは取り込んだデータを Indexer上のインデックスに書き込みます。データベースで言えば「テーブル」に近い存在で、 用途ごとに複数のインデックスを用意するのが一般的です。
たとえばWebサーバーのアクセスログはweb、ファイアウォールのログはfirewallといった
ように、データの種類ごとにインデックスを分けておくと、検索範囲を絞ったりアクセス権限を
管理したりしやすくなります。
2. イベント ― 1件のログレコード
イベント(event)とは、Splunkが扱うデータの最小単位であり、 多くの場合「ログの1行(1レコード)」に相当します。Splunkはデータを取り込む際に このイベント単位へ区切って保管します。
すべてのイベントは、いつ発生したかを表すタイムスタンプ
_timeを持っています。1件1件のイベントに時刻が結び付いているため、
Splunkは時系列でのデータ分析を行えます。時間帯を指定した検索や、
時系列グラフの作成は、この_timeを基準に行われます。
「イベント」と聞くと特別な出来事を想像しがちですが、 Splunkでは1件1件のログレコードそのものをイベントと呼びます。 正常な動作を記録した何気ないログも、すべてイベントです。
3. フィールド ― イベントから抽出される値
フィールド(field)とは、イベントの中から抽出される 「キー=値(key=value)」の情報です。1件のイベントというテキストの塊から、 意味のある項目を名前付きで取り出したもの、とイメージするとよいでしょう。
たとえばWebアクセスログのイベントからは、status=200、clientip=10.0.0.1、
method=GETといったフィールドが抽出されます。こうしたフィールドを使うことで、
「ステータスコードが500のイベントだけを数える」といった、値に着目した検索や集計が
可能になります。フィールドの活用は第3章で本格的に扱います。
4. ソースタイプ ― データ形式の種別
ソースタイプ(sourcetype)とは、そのデータが どのような形式・種類のデータなのかを表す種別です。 「Apacheのアクセスログ」「Linuxのsyslog」「あるアプリのJSONログ」といった具合に、 データの出所と形式を示すラベルだと考えてください。
ソースタイプが重要なのは、これがフィールド抽出のルールに影響するためです。 Splunkはソースタイプごとに「どうやってイベントを区切るか」「どのフィールドをどう取り出すか」を 決めています。ソースタイプが正しく設定されていれば、適切なフィールドが自動的に抽出され、 検索や可視化がスムーズになります。
5. まとめ
本節で登場した4つの基本用語を、あらためて表で整理します。
| 用語 | 意味 | 補足 |
|---|---|---|
| インデックス | データを保管する格納先(入れ物) | 用途ごとに分けるのが一般的 |
| イベント | データの最小単位。多くは「ログの1行」 | 時刻を表す_timeを持つ |
| フィールド | イベントから抽出されるkey=valueの値 | 値に着目した検索・集計に使う |
| ソースタイプ | データ形式・種類を表す種別 | フィールド抽出のルールに影響する |