はじめてのSplunk ― 概要から応用までを体系的に学ぶ

2-2 基本的な用語

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=200clientip=10.0.0.1method=GETといったフィールドが抽出されます。こうしたフィールドを使うことで、 「ステータスコードが500のイベントだけを数える」といった、値に着目した検索や集計が 可能になります。フィールドの活用は第3章で本格的に扱います。

4. ソースタイプ ― データ形式の種別

ソースタイプ(sourcetype)とは、そのデータが どのような形式・種類のデータなのかを表す種別です。 「Apacheのアクセスログ」「Linuxのsyslog」「あるアプリのJSONログ」といった具合に、 データの出所と形式を示すラベルだと考えてください。

ソースタイプが重要なのは、これがフィールド抽出のルールに影響するためです。 Splunkはソースタイプごとに「どうやってイベントを区切るか」「どのフィールドをどう取り出すか」を 決めています。ソースタイプが正しく設定されていれば、適切なフィールドが自動的に抽出され、 検索や可視化がスムーズになります。

5. まとめ

本節で登場した4つの基本用語を、あらためて表で整理します。

用語 意味 補足
インデックス データを保管する格納先(入れ物) 用途ごとに分けるのが一般的
イベント データの最小単位。多くは「ログの1行」 時刻を表す_timeを持つ
フィールド イベントから抽出されるkey=valueの値 値に着目した検索・集計に使う
ソースタイプ データ形式・種類を表す種別 フィールド抽出のルールに影響する