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?

Splunk アラートの抑制方法について

Last updated at Posted at 2025-03-02

最初に :information_desk_person:

データ分析基盤である Splunk のアラート抑制方法を説明します。

  • Splunk Enterprise での検証結果です
  • Splunk のアラートについての説明は割愛します

TL;DR :pencil:

  • 同じアラートを一定時間抑制できる
  • 特定フィールドの値が同じイベント、についてのアラートも抑制できる

このページで話すこと

Splunk には便利なアラート機能があります。
ただ、対応が遅れたり夜間休日だと、同じようなアラートが何度も鳴り続けます。

Splunk にはこの対策として、
同じアラートを抑制する方法が二種類あります。

検証環境

  • Splunk Enterprise バージョン9
  • クライアントPC: Windows11
  • ブラウザ: Google Chrome でサーチヘッドを使用

※テキスト上のサンプル画像は、docker の splunk/splunk image より作成

アラート抑制について :bell:

同じアラートの抑制

  • アラート設定の生成条件を以下のようにする

    • 生成条件: 1回
    • 抑制: チェックを入れる
    • 次に対する生成を抑制: 抑制したい時間
  • 抑制の仕様

    • 同じアラートについては、次回以降の通知で抑制される
    • 「次に対する生成を抑制」の時間が経過すると、再通知されるようになる
      • 例: 抑制期間が1時間なら、1時間後の通知までが抑制され、それ以降の通知は通知されるようになる
      • ただ、この判定は少し微妙で、1時間後でも通知されたり、されなかったりする

◆設定サンプル
image.png

特定フィールドでの抑制

  • アラート設定の生成条件を以下のようにする

    • 生成条件: 各結果に対して
    • 抑制: チェックを入れる
    • フィールド値を含む結果を抑制: 抑制したい値を含むフィールド
      • 例: user_id フィールドが同じIDの通知を抑制したいのなら、user_id を指定
    • 次に対する生成を抑制: 抑制したい時間
  • 抑制の仕様

    • 同じフィールド値を持つイベントについては、次回以降の通知で抑制される
    • 前回と異なるフィールド値を持つイベントについては、次回以降の通知で通知される
    • 「次に対する生成を抑制」の時間が経過すると、再通知されるようになる
  • 備考

    • 生成条件が 結果数、カスタム の場合のみ検証
    • おそらく ホスト数、ソース数 でも機能するはず

◆設定サンプル
image.png

抑制がリセットされるタイミング

  • 「抑制」のチェックをオフにすると、抑制期間がリセットされる
    • 再度オンにすると、次の通知を1回目として抑制が再開される
  • 「次に対する生成を抑制」の数字か単位を変えると、抑制期間がリセットされる
    • 時間を延ばしてもリセットされる(例: 24時間 を 2時間 に変更)
    • ただ、ここの判定は微妙で、リセットされないこともある

抑制期間の変更

  • 「次に対する生成を抑制」の数字か単位を変えると、前述の通り、抑制期間がリセットされたうえで、新しい抑制期間が有効になる
  • ただ、判定が微妙なので、確実に変更を反映したいのなら以下のようにすると安全
    1. 一度「抑制」をオフにして保存
    2. 「次に対する生成を抑制」の内容を変更し、「抑制」をオンにして保存

検証例 :mag:

「特定フィールドでの抑制」の場合の検証。
通知タイミングを1時間ごと、生成条件を結果数(0より大きい)、抑制フィールドを user_id、抑制期間を12時間で定義。

  1. 9:00 に user_id=A が通知閾値を超え、通知を送信
  2. 10:00 に user_id=A が通知閾値を超えたが、抑制のため通知されない
  3. 11:00 に user_id=A が通知閾値を超えたが、抑制のため通知されない
  4. 11:00 に user_id=B が通知閾値を超え、通知を送信
    • 異なるIDなので通知される
  5. 12:00 に user_id=C が通知閾値を超え、通知を送信
  6. 21:00 に user_id=A が通知閾値を超えたが、抑制のため通知されない
    • 抑制期間の終了時刻ちょうどだと、通知されないことがある
  7. 22:00 に user_id=A が通知閾値を超え、通知を送信
    • 抑制期間が過ぎたため、通知が再開された
    • 次に user_id=A の通知が実施されるのは、最速で翌日11:00

所感 :thumbsup:

「特定フィールドでの抑制」が結構優秀です。

実際の業務でも、
同じユーザに関する通知は大体継続して続きます。

ユーザIDなどのフィールドで抑制することで、
アラート対応中(もしくは休暇中)のノイズ軽減に役立っています。

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?