Splunkのレポート作成と高度な検索

Splunkのレポート作成

前回、Splunkの基本的な検索を行ったので、今回はレポートの作成を行ってみます。

Splunkでの「レポート」とは、実行した検索の検索条件を保存して、後で簡単に呼び出すことができます。この保存した検索条件を「レポート」と呼んでいるようです。

About reports

via:About reports

検索の結果を表示させて状態で、「Save As」から「Report」をクリックします。

Banners_and_Alerts_と_Search___Splunk_6_2_2

Search | Splunk 6.2.2 2015-02-28 11-38-36

保存したグラフは、「Report」メニューから呼び出すことができます。

Reports___Splunk_6_2_2

高度な検索

パイプライン

UNIXでよく使われる「パイプ」を使った検索も可能です。

search

via:search

以下はあくまで一例で、実際はかなりのコマンドが用意されてますので詳細はドキュメントをどうぞ。

  • キーワード「invalid」を最初の10件表示
    「invalid | head 10」
  • キーワード「invalid」を最後の10件表示
    「invalid | tail 10」
  • ソースタイプ「access_combined_wcookie」をクライアントIPで昇順ソート
    「sourcetype=access_combined_wcookie | sort +clientip」
  • ソースタイプ「accessを含む文字列」でHTTPステータスコード「200」でアクセスしたIPアドレスの中で、最もアクセスの多かったIPアドレスのアクセス数を表示
    「sourcetype=access_* status=200 | top limit=1 clientip」

最後の例は、パイプで「top」コマンドを使っています。topコマンドを使うと通常の検索結果ではなく、以下の例のように数と割合を表示してくれます。

Search | Splunk 6.2.2 2015-02-28 14-48-16

サブサーチ

ある検索の結果に含まれる値を、さらに別の検索条件として利用することをサブサーチと呼んでいます。

About subsearches

via:About subsearches

検索条件2 [検索条件1 | fields field1]

サブサーチの記載は以下のように[]を使用します。
上記の場合、「まず検索条件1を実行 -> その結果からFiled1を取り出す -> 検索条件2に先ほどのフィールドを使って検索」という流れになります。

例えば、以下では、ソースタイプ”secure”であり、フレーズ”failed password for”を含むイベントにおいて、もっとも頻度が高く出現した”clientip”フィールドの値2つを用いて、ソースタイプ”access_combined_wcookie”のイベントを検索しています。

サブサーチを使えば、より実用で使える検索が可能です。

例えば、「SSHログでPasswordをFailしている怪しいIPを探して、そのIPアドレスでWebサイトにアクセスしている形跡はないかを探したい」という時は、

sourcetype=”access_*” [search sourcetype=”secure” “failed password for” | top limit=5 clientip | fields clientip]

とやると検索できます。

Search | Splunk 6.2.2 2015-02-28 15-26-48

さらにこの結果を「時間単位にIPアドレスごとの件数」を表示させるには、以下のようにパイプを追加します。

sourcetype=”access_*” [search sourcetype=”secure” “failed password for” | top limit=5 clientip | fields clientip] | timechart count by clientip

Search | Splunk 6.2.2 2015-02-28 15-30-26

さらに「Visualization」タブをクリックすると、簡単にグラフ化できます。すげー!

Search___Splunk_6_2_2

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)