本記事の概要
Splunkで取り込んだデータを検索、集計、加工する際にSearch Processing Language(SPL)という独自の言語を使用します。
本記事では、データの検索手順とSPLの基本的な構文を記載する。
データ検索手順
(1) [App] > [Search & Reporting]をクリックする。
(2) テキストボックス欄に検索文字列(SPL)を入力する。その後、検索する期間を設定し、検索ボタンをクリックする。

(3) 検索結果が表示される。
SPL基本構文
| タイトル | URL | 構文 |
|---|---|---|
| search | 指定したインデックスやキーワード/フィールドをもとに目的のイベントを絞り込む。 | search 条件式 【使用例】 search source=”access_30DAY.log” status=404 |
| stats | イベントの集計/分析し統計情報を算出する。 【statsコマンドで使える主な関数】 sum():合計値を計算 avg():平均値を計算 dc():ユニーク値の数をカウント | stats 集計関数 by フィールド名 【使用例】 | stats count by status, host |
| chart | 行と列で表形式に整理する。 | chart 集計関数 by 行フィールド名, 列フィールド名 【使用例】 | chart count by status, host |
| timechart | 時間軸で自動グループ化してタイムチャーを表示する。 | timechart [span=時間] 集計関数 by フィールド名 【使用例】 | timechart span=1h count by host |
| table | 検索結果から指定したフィールドのみを表形式で表示する。 | table フィールド名1, フィールド名2 【使用例】 | table status, host |
| head | 結果の先頭から指定した件数のみを表示する。 | head 数値 【使用例】 | head 5 |
| rename | フィールド名を分かりやすい名前に変更する。 | rename clientip as “SourceIP” 【使用例】 | rename clientip as “SourceIP” |
| sort | 指定したフィールドでデータを昇順・降順に並べ替える。デフォルトでは順番は昇順で、「-」を引数に指定すると降順になる。 | sort [-] フィールド名 【使用例】 | sort – “clientip” |
| top | 出現頻度が最も多い値を表示する。 | top limit=数値 フィールド名 【使用例】 | top limit=20 clientip |
| rare | 出現頻度の最も少ない値を表示する。 | rare limit=数値 フィールド名 【使用例】 | rare limit=20 clientip |
SPL構文の使用例
SPL構文を用いた検索例を3つ示します。
【使用例1】
アクセス数が多い送信音IPアドレスのトップ20を調べる。
source="access_30DAY.log"
| top limit=20 clientip
【使用例2】
HTTPステータスコード404になっているIPアドレスのトップ10とエラー回数を調べる。
source="access_30DAY.log" status=404
| stats count by clientip
| rename clientip as "アクセス元IP", count as "404エラー回数"
| sort - "404エラー回数"
| head 10
【使用例3】
HTTPステータスコード404になっているIPアドレスのエラー回数を1日ごとに集計する。
source="access_30DAY.log" status=404
| timechart span=1d count by clientip
参考サイト
| タイトル | URL |
|---|---|
| Splunkクイックガイド:クエリー、SPL、正規表現、コマンド | https://www.splunk.com/ja_jp/blog/tips-and-tricks/splunk-cheat-sheet-query-spl-regex-commands.html |
| Splunk公式マニュアル | https://help.splunk.com/en/splunk-enterprise/search/spl-search-reference/10.0/search-commands |
Splunk関連記事
| タイトル | URL |
|---|---|
| Splunk Cloudの評価版を使ってみた | https://security-blog-it.com/44290 |
| WindowsログをSplunk Cloudに送信 | https://security-blog-it.com/44597 |
| LinuxのログをSplunk Cloudに送信 | https://security-blog-it.com/44481 |
| Splunk Cloudのデータ検索(SPL基本構文) | https://security-blog-it.com/44602 |
| Splunk Cloudのアラート通知設定 | https://security-blog-it.com/44595 |
| Splunk Cloudのレポート作成 | https://security-blog-it.com/44701 |

