【初心者向け】splunkの役に立つ基本的なサーチコマンドを紹介

【初心者向け】splunkの役に立つ基本的なサーチコマンドを紹介

splunkの入門編として、役に立つ基本的なサーチコマンドを紹介します。

使用するデータは下記リンクのチュートリアルデータです。

Link:Get the tutorial data into Splunk Enterprise – Splunk Documentation

ちなみにsplunk画面のURLで、「en-US」の箇所を「ja-jp」に変えると日本語になります。

また、初めてインストールしてログインできないときは、splunkのバージョン7からパスワードのchangemeが廃止されたので、ユーザー名を「admin」、パスワードをインストール時に設定したものを入力するとログインすることが可能です。

今回は、使い勝手の良い検索式を検索結果の例を表示しながら解説していきます。

サーチコマンドの紹介

table

まずは「table」コマンドの紹介です。まずはtableコマンドを使用せず、そのまま検索します。この場合、1行ずつ該当ログが表示されます。
tableコマンドの説明

ここで、該当ログの時間やユーザ、IDなど、知りたいフィールドだけ選んで表形式で表示する便利なコマンドが「table」となります。

指定できるフィールド値は、左側のサイドバーにある「すべてのフィールド」を選ぶと表示されます。

サーチ結果から「すべてのフィールド」を表示するときは、検索ボタンの下にある検索モードを、「詳細モード」にする必要があります。

tableコマンドの説明
tableコマンドを用いて必要な情報だけ指定して表形式で表示しました。

ちなみに「|reverse」を検索式の最後に入れると、検索結果が逆になるため一番過去のログから表示され、時系列順になります。

stats

検索結果の指定するフィールド値や要素の該当件数を数えるコマンドです。

|stats count」と入力すると単純に検索結果のイベント件数が表示されます。

|stats count by フィールド」とすると、指定したフィールドの要素毎にカウントしてくれます。

以下の例は、ユーザーエージェントを指定した場合です。

statsの説明

count」タブをクリックすることで、昇順や降順に並べ替えできます。この結果から、Mozilla5.0が多いことがわかります。

timechart

日付毎にイベント件数を数えたり、折れ線グラフ等で可視化できるコマンドです。

以下は検索式に「|timechart count」を追加し、表示結果に「視覚エフェクト」タブを選択したケース。
timechartの説明

このように、日付毎にログの件数をグラフ化することができます。

さらに、指定したフィールドの値毎にグラフ化することもできます。

検索式に「useragent=*」を入れて、ユーザーエージェントのフィールドが存在するログだけを指定し、「|timechart count by useragent」と入力した結果です。
timechartの説明
ユーザーエージェント毎にどれだけログがヒットするのか結果が表示されました。

ちなみに「Line Chart」の箇所を指定して、円グラフや棒グラフなど、様々な表示方法を選択することができます。

OR、AND検索など

サーチコマンドの基本となりますが、Google検索のようにOR検索やAND検索が可能です。

AかBを含むログを検索するときは「”A” OR “B”」。AとB両方含むログを検索するときは、「”A” AND “B”」とします。

さらに、特定のフィールドで検索から取り除きたい値があるときは「!=」を活用して、「”A” AND “B” 特定のフィールド!=”C”」とします。

また、特定のフィールドで重複する値を排除するときは、「|dedup “重複排除するフィールド”」です。

以上が、使い勝手のよい基本的なsplunkのサーチコマンドの解説となります。ぜひ試してみてください。