1. サーチはSearch & Reportingから
Splunkに取り込んだデータを実際に検索する(=サーチする)には、 標準で用意されているSearch & Reporting(サーチ&レポート)アプリを使うのが基本です。 Splunkにログインしたあとのホーム画面や、左上のアプリメニューからこのアプリを開くと、 画面上部に一本の入力欄が表示されます。これがサーチバーです。
サーチバーにキーワードや条件を入力して実行すると、Splunkはインデックスに保管された データの中から条件に一致したイベント(1件1件のログ)を探し出して一覧表示します。 Splunkでの操作の多くは、この1本のサーチバーから始まります。
Splunkの検索言語はSPL(Search Processing Language)と呼ばれます。 本節ではまず、SPLの中でも最も基本となる「キーワードサーチ」から始めます。
2. キーワードサーチの基本
最も単純なサーチは、探したいキーワードをそのまま入力する方法です。 たとえば「error」という文字を含むイベントを探したいなら、次のように入力します。
index=web error
この例では、index=webで「webというインデックス」に対象を限定し、
そこからerrorという文字列を含むイベントだけを取り出しています。
複数の単語をスペースで区切って並べると、すべての単語を含む(AND)という意味になります。
index=web error 500
index=web error OR fail
index=web "connection refused"
1行目はスペース区切りなので「errorかつ500」を含むイベント(暗黙のAND)、
2行目はORを明示して「errorまたはfail」を含むイベントを検索します。
3行目のようにスペースを含むフレーズをそのまま探したいときは、
"(ダブルクォート)で囲みます。囲まないと2つの単語のANDとして扱われてしまう点に注意してください。
AND/OR/NOTは大文字で書きます。
小文字のandは演算子ではなく、ただのキーワードとして扱われます。
3. 時間範囲ピッカーで期間を絞る
サーチバーの右端には時間範囲ピッカー(Time Range Picker)があります。 Splunkのデータは基本的に時刻を持っているため、 「いつのデータを見るか」を指定することは検索速度にも結果にも大きく影響します。
「直近15分」「過去24時間」「今日」などのプリセットから選ぶこともできますし、 開始・終了の日時を細かく指定することもできます。 初心者のうちは、まず期間を短めに絞ってからサーチする習慣をつけると、 結果が速く返り、動作を確認しやすくなります。
対象期間を広げすぎると、走査するデータ量が増えてサーチに時間がかかります。 「全時間(All time)」での検索は、必要なとき以外は避けるのが実務のコツです。
4. サーチ結果画面の見方
サーチを実行すると、結果画面にはいくつかの要素が表示されます。 最初に押さえておきたいのは次の3つです。
| 要素 | 場所 | 役割 |
|---|---|---|
| タイムライン | サーチバーのすぐ下 | イベントの発生件数を時間帯ごとの棒グラフで表示。件数の急増などを一目で把握できる |
| イベント一覧 | 画面中央 | 条件に一致したログを新しい順に1件ずつ表示する |
| フィールドパネル | 画面左側 | イベントから抽出されたフィールドの一覧(次節で詳説) |
タイムラインの棒をクリックすると、その時間帯だけに絞り込むこともできます。 「まずキーワードで大まかに絞り、タイムラインで異常な時間帯を見つけ、そこを深掘りする」 という流れが、Splunkでの基本的な調査スタイルです。
5. まとめ
- サーチは標準アプリ「Search & Reporting」のサーチバーから行う
- キーワードを並べると暗黙のAND、
ORで択一、フレーズは"で囲む - 時間範囲ピッカーで期間を絞ると、速く正確に検索できる
- 結果画面はタイムライン・イベント一覧・フィールドパネルで構成される