特定の条件に合致するアラートを除外したい
回答済みお世話になっております。
一つの受信スロットに数十種類のアラートが届く環境で、特定の条件に合致したアラートが届いた場合は通知しないようにしたいと考えております。
具体的には下記のような条件を想定しており、下記条件に合致した場合アラートを通知しない = スコープの深刻度を変化させない、それ以外のアラートは全て通知するといった制御になります。
【条件1】
・件名に「しきい値 - 上限」が含まれる
・本文にhostnameabcが含まれる
・本文にCPUエラーが含まれる
⇒通知しない
実際に除外したいアラートは5-10程度あります。
例のように条件が複数になると具体的な設定方法が思い浮かばない為、恐縮ですが設定可能かどうかの点も含めてご助力いただけないでしょうか。
-
ご質問ありがとうございます。
回答させていただきます。AlertHubのルールは原則ホワイトリスト形式にて「条件に一致したものだけを後続処理に繋げる」形となりますので、提示いただいたようなブラックリスト形式での条件指定は確かに困難となります。
以下アイデアレベルとなりますが、例えば2つの深刻度を用いて片方を真の深刻度、もう片方を「除外条件対象かどうかをを表すフラグ」として用いることで、比較的受信頻度が少ない(多くて数分に1回程度)ケースであれば、除外条件に一致しないものだけをアクション実行に繋げる、という動きを作ることができるかと思います。
具体的な設定例としては、まずアラートを受信したら必ず「真の深刻度(ここではmain)」を増やすようにルールを書きます。
次に、除外条件ごとに「除外対象かどうかを示すフラグ(filter)」を増やすようなルールを作ります。
その上で、「深刻度mainの増加」を契機にしつつ、一定時間経っても深刻度filterの値が増えていない場合のみアクションが発火するよう、トリガーの実行条件を指定します。
あとはスコープの「深刻度自動復旧」機能を用いて一定時間ごとに両深刻度をリセットするようにしておくことで、下記の流れにより「除外条件に一致しないメッセージ受信」のみをアクション実行の対象とすることができます。
- メッセージを受信する
- 1つめのルールにより深刻度mainが1増える
- 2つめのルールにより、除外条件に一致する場合のみ深刻度filterが1増える
- 深刻度mainの増加を契機にトリガーの条件判定が行われる。これにより一定時間後に深刻度filterが増えていない(除外条件に当てはまらなかった)場合のみ条件を満たし、アクション実行が行われる
少しでもご参考になれば幸いです。
よろしくお願いいたします。
サインインしてコメントを残してください。
コメント
1件のコメント