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

3-1 基本的なサーチ

1. サーチはSearch & Reportingから

Splunkに取り込んだデータを実際に検索する(=サーチする)には、 標準で用意されているSearch & Reporting(サーチ&レポート)アプリを使うのが基本です。 Splunkにログインしたあとのホーム画面や、左上のアプリメニューからこのアプリを開くと、 画面上部に一本の入力欄が表示されます。これがサーチバーです。

サーチバーにキーワードや条件を入力して実行すると、Splunkはインデックスに保管された データの中から条件に一致したイベント(1件1件のログ)を探し出して一覧表示します。 Splunkでの操作の多くは、この1本のサーチバーから始まります。

Splunkの検索言語はSPL(Search Processing Language)と呼ばれます。 本節ではまず、SPLの中でも最も基本となる「キーワードサーチ」から始めます。

2. キーワードサーチの基本

最も単純なサーチは、探したいキーワードをそのまま入力する方法です。 たとえば「error」という文字を含むイベントを探したいなら、次のように入力します。

SPL ― キーワードで絞り込む
index=web error

この例では、index=webで「webというインデックス」に対象を限定し、 そこからerrorという文字列を含むイベントだけを取り出しています。 複数の単語をスペースで区切って並べると、すべての単語を含む(AND)という意味になります。

SPL ― AND / OR / 引用符
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で択一、フレーズは"で囲む
  • 時間範囲ピッカーで期間を絞ると、速く正確に検索できる
  • 結果画面はタイムライン・イベント一覧・フィールドパネルで構成される