jnox.hatenablog.com Open in urlscan Pro
54.199.90.60  Public Scan

URL: https://jnox.hatenablog.com/entry/splunk/timechart
Submission: On August 29 via manual from JP — Scanned from JP

Form analysis 0 forms found in the DOM

Text Content

読者になる



じゅのぶろ


社内SEが自宅でSOC/CSIRTするために色々頑張っていきたいブログ 画像が見れない場合はJAVASCRIPTを有効にするかデスクトップからご覧下さい。


2019-07-21


SPLUNKでログを調べる(TIMECHART編)

splunk


この記事ではよく使うコマンドの一つtimechartに関連したコマンドを紹介します。


SPL

SplunkはSPLという言語でサーチ文を記述します。 大体以下のようにコマンド、オプション引数、フィールド名という使い方です。
パイプ(|)で複数のコマンドをつなげて所望する結果が得られるようにします。

コマンド [(option_name=)option] フィールド名  

例 )
index=squid #検索対象のインデックスを指定
| stats count by domain # ドメインへのアクセス数を集計
| search count > 10 #10回以上アクセスしたホストを取得



多くのコマンドを知ることはSplunkでの調査力を上げることに繋がります。
日本語のサーチリファレンスがありますので こちらを参考にしてください。


TIMECHART

特定のユーザや宛先への通信状況を調べるときに使います。
とても簡単でbyのあとにsplitする対象フィールド名を入れてよく使います。

index=squid 
| timechart count by domain




オプション

このままだと見づらいのでオプションを指定します。
オプションの説明はサーチリファレンスを引用しています。

 * limitオプション
   
   > split-by フィールドが返す一意の値の数に対する制限を指定します limit=0 に設定すると、すべて の一意の値が使用されます。

今回はアクセス合計上位5ドメインが見たいと仮定してlimit=5とします。

 * useotherオプション
   
   > useother が偽 (False) に設定されない限り、他のすべての値は「OTHER」にグループ 化されます。

今回はアクセス上位5ドメイン以外は確認する必要ないと仮定してuseother=fとします。

 * fixedrangeオプション
   
   > サーチのもっとも早い/もっとも遅い時刻を使用するかどうかを示します。
   > fixedrange=false を設定すると、timechart コマンドが有効なデータの時間範囲のみに制限されます。

今回はチャートが右端にかたよって見づらいため、fixedrange=false を設定します。

 * spanオプション
   様々な単位が指定できますが、ここではタイムスケールで使用します。
   数字 + 時間単位{秒(s)、分(m)、時間(h)、日(d)、週(w)、月(mon)}を指定します。

今回はspan=10m(10分単位) を設定します。

これらのオプションを指定したあとの結果がこちら
先程のグラフより幾分か見やすいかと思います。


CHARTコマンド

chartコマンドはoverで横軸、byで縦軸のsplitを指定できます。
timechartコマンドはchart over _timeと同じ結果になる気がします。

index=squid 
| chart limit=5 useother=f count span=10m over _time by domain




STATSコマンド

binコマンドとstatsコマンドを組み合わせてtimechartの用に使うことができます。
timechartは、列の名前(フィールド名)がsplitしたフィールド値、フィールド値がカウント数だったのに対して、
statsでは、フィールド名がsplitしたフィールド名、フィールド値はsplitしたフィールド値、カウント数は新規の列として追加されます。




stats(左)  timechart(右)



Splunkのグラフで表示する際はtimechartのほうが見やすいです。
statsで生成した統計データはトレリス(trellis)機能を使うことでドメインごとのグラフを可視化できます。


複数フィールドでのSPLIT

先程の例ではdomainでsplitしていましたが、src_ipとdomainの組でsplitしたいという状況も出てくるかと思います。
ですが、timechartのsplitはstatsと異なり複数指定できません。 この場合はevalで文字列連結をすることで解決できます。

index=squid 
| eval src_ip=src_ip." ".domain
| timechart limit=5 useother=f fixedrange=f count span=10m by src_ip



じゅん (id:jnox) 4年前



広告を非表示にする

 * もっと読む

コメントを書く
« Splunk CSV Lookup Tableを使ったログのフ… Splunk Freeインストールしてみた »

最新記事
 * Kali linuxコンソール(ターミナル)の改行を一行に戻したい。
 * Kali LinuxをWindowsライクなデスクトップ環境にしてみた
 * Bang & Olufsen BeoPlay E8 レビュー
 * Bang & Olufsen BeoPlay H9i レビュー
 * Lookup Editorの使い方

Category
 * kali (3)
 * splunk (16)
 * squid (4)
 * レビュー (2)
 * android (1)




はてなブログをはじめよう!

jnoxさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?

はてなブログをはじめる(無料)
はてなブログとは
じゅのぶろ

Powered by Hatena Blog | ブログを報告する



引用をストックしました

ストック一覧を見る 閉じる

引用するにはまずログインしてください

ログイン 閉じる

引用をストックできませんでした。再度お試しください

閉じる

限定公開記事のため引用できません。

読者です 読者をやめる 読者になる 読者になる
4