2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Splunkでイベントをグループ化する

Posted at

[Master Joining Datasets
Without Using Join])https://conf.splunk.com/files/2019/slides/FNC2751.pdf)

About event grouping and correlation
に書いてあることを改めてまとめてみたいと思います。

:koala: でも書いてなかったか〜

解説

Search_event_grouping_flowchart
英語なので日本語に直してみる。
yesは段落を変えます。

  • データの1つのサブセットは静的なままか、ほとんど変化しないですか?
    • lookupを使ってください
  • 検索条件を単純な分離として書けますか?
  • 条件付き eval 式でグループ化を定義できますか?
    • 一定時間以上の大きなグループを分割しますか?
      • transactionを使ってください
    • IDなどのフィールド値でグループ化を定義できますか?
      • このフィールドは再利用されますか?(そうでなければ、それらは一意です)
      • グループ化されたイベントの全文を見る必要がありますか?
        • transactionを使ってください
    • 開始や終了などのパターンでグループ化を定義できますか?
      • transactionを使ってください
    • statsを使ってください
    • コマンド一つでは無理です。
  • joinappendを使ってください。

transaction人気:sweat:

条件付き eval 式でグループ化を定義できますか? がここの肝だと思う。

Splunkで先月比のグラフをつくるとか、検索期間とかindexとかsourcetypeが別な検索結果をくっつけようとした時、単純に考えるとjoinを使いたくなります。

でも**joinが使える≒statsでまとめられる。**のはず。

あんまりよくない例だけど
index=_audit  earliest=-2w@d 
| eval period=if(_time < relative_time(now(),"-1w@d"),"last_week","current_week")
| timechart cont=f count by period
| eval weekday=strftime(_time,"%A")
| stats max(_time) as _time sum(*) as * by weekday
| fields - weekday
| sort _time

2行目のevalでやっているように、条件に応じてラベルをつけてあげれば、あとは集計(stats,chart,timechart)でなんとかなる。

timechart後にstatsはイベントがない期間を0にすることもできていろいろと応用が聞きますね :smile:

evalで条件はこんな感じでもかけますので、いろいろと頑張りがいがあります。

timechartは引数が一つ
(index=_audit  earliest=-60m) OR (index=_internal user=* earliest=-10m)
| eval header=index.":".user
| timechart cont=f span=1m count by header
| rename VALUE_* as "*"

timechartは引数が一つなので、最初にくっつけてしまえば大丈夫です。

まとめ

個人的な感想では
join << stats < dedup なので、sortして一番上の値になるのであれば、dedupが一番速いです。

coalesceを使えば、どっちか片方にしかないフィールドもまとめられます。

joinは検索時間が倍になるので、検索範囲が多い場合は

  1. 一括検索
  2. eval等で条件分離
  3. stats等で集計

を頑張りましょう。

リクエストがありましたら、twitter、Qiita、Splunk>Answersでどうぞ。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?