nodata関数を使用した2つ以上の条件式がある場合の通知について
いつもお世話になっております。v3.0.14を使用しています。
トリガー:{node01:http.get.count(#2,200,ne)}=2 or {node01:http.get.nodata(60)}=1
「http.get」はcurlコマンドをユーザーパラメータで使用し、とあるURLにリクエストを投げてそのステータスコードを取得するアイテムです。
当初は最初の条件式のみで30秒間隔でポーリングしていましたがある日、原因不明ですが数分間値が取得できていないタイミングがあり、
異常が発生していたのを見逃してしまったという出来事がありました。
そのため、2つ目の条件式も追加し60秒間値が取得できていない場合も障害と判定するトリガーを作成しました。
悩んでいるのはnodataで検知した場合のアクション(メール通知)ですが、メッセージ中で以下のように指定しているのですが
-----
発生時刻 :{EVENT.DATE} {EVENT.TIME}
対象ノード:{HOSTNAME}
アラーム :{TRIGGER.NAME}
ステータス:{TRIGGER.VALUE}
内容 :{ITEM.VALUE}
-----
・{TRIGGER.VALUE} → どっちの条件式で障害と判定されたのか不明
・{ITEM.VALUE} → nodataで検知しても取得できている値(例:200)が入るのでわかりずらい
など想定され「nodataで障害と判定された」と判断するが難しいと考えています。
上記、解消できるようなマクロやトリガー設定などありますでしょうか?
yk_taiko - 投稿数: 184
一つの条件式で or で繋げるのではなく、
トリガーを2つに分けるのは駄目でしょうか。。。
かかし - 投稿数: 52
コメントありがとうございます。
確かにトリガー2つにわけると「nodataで障害と判定された」はわかるんですが、
・{ITEM.VALUE} → nodataで検知しても取得できている値(例:200)が入るのでわかりずらい
これが残るんですよね・・アクションで専用パターンを作って{ITEM.VALUE} は書かない、とするのがよいのでしょうか。
yk_taiko - 投稿数: 184
共通のアクションですと ITEM.VALUE はどうしようもないので、
トリガー名を強調するしかないのかな... と思います。
かかし - 投稿数: 52
有難うございます。トリガー分けることにします。