0
0

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 1 year has passed since last update.

Splunk: 重複削除コマンドdedupが残すイベントの基準について

Posted at

調べる機会があったのでメモ。

実施環境: Splunk Free 8.2.2
事象

Splunk の重複削除コマンドといえば、dedup コマンドをよく使用します。
では、 dedup コマンドは重複したイベントについて、どのイベントを残し、どのイベントを削除するのでしょうか。

以下の例を見ると、 dedup コマンドは「最新のログを残す」ように見えます。

Splunk
index="_internal" sourcetype="splunkd" source="*/splunkd.log" log_level="INFO"
event_message = "*tracker.log*"
| table _time, event_message

スクリーンショット 2021-11-14 21.30.27.png

Splunk
index="_internal" sourcetype="splunkd" source="*/splunkd.log" log_level="INFO"
event_message = "*tracker.log*"
| dedup event_message
| table _time, event_message

スクリーンショット 2021-11-14 21.30.49.png

ただ、ここに sort コマンドを入れると、少々事情が変わってきます。

Splunk
index="_internal" sourcetype="splunkd" source="*/splunkd.log" log_level="INFO"
event_message = "*tracker.log*"
| sort _time
| table _time, event_message

スクリーンショット 2021-11-14 21.32.36.png

Splunk
index="_internal" sourcetype="splunkd" source="*/splunkd.log" log_level="INFO"
event_message = "*tracker.log*"
| sort _time
| dedup event_message
| table _time, event_message

スクリーンショット 2021-11-14 21.33.22.png

なんと、動きが「最古のログを残す」に変わってしまいました。

原因

なぜこのようなことが起こるのか。
dedup コマンドが残すイベントは「最新のログ」ではなく、「一番先頭のログ」だからです。
例えば、以下のような並べ替えをすると、中途半端な時間のログを dedup の結果として抜き出すことも可能です。

Splunk
index="_internal" sourcetype="splunkd" source="*/splunkd.log" log_level="INFO"
event_message = "*tracker.log*"
| streamstats count AS CNT
| eval SORT = ( CNT + 5 ) % 10
| sort SORT
| table SORT, _time, event_message

スクリーンショット 2021-11-14 21.36.42.png

Splunk
index="_internal" sourcetype="splunkd" source="*/splunkd.log" log_level="INFO"
event_message = "*tracker.log*"
| streamstats count AS CNT
| eval SORT = ( CNT + 5 ) % 10
| sort SORT
| dedup event_message
| table SORT, _time, event_message

スクリーンショット 2021-11-14 21.37.07.png

特に、ログのリカバリや転送で同じ日時のイベントが複数存在しうる場合等は、インデックスへの格納時間等何らかの値で並び替えを行わないと思わぬログが残されてしまう可能性があるため、注意が必要です。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?