ログ監視の復旧通知メールの出力内容について
Ver:Zabbix Server 3.4.13
OS:Alpine Linux v3.4.6
お世話になります。
タイトルの件、ご教授頂きたく宜しくお願い致します。
■検出したエラーメッセージ
エラーメッセージA
エラーメッセージB
ログ監視において、トリガーの障害イベント生成モードを「複数」に設定して
一度に複数のエラーレコードを検出した場合、1レコード毎にアクション
(障害メール通知)を実行するようにしております。
またアクションの実行内容:デフォルトのメッセージでは下記のように設定して
各アクション(障害メール通知)にて別々のエラーメッセージを出力するように
しております。
■実行内容のデフォルトのメッセージ設定
-------------------------------------
発生日時: {EVENT.DATE} {EVENT.TIME}
トリガー名: {TRIGGER.NAME}
ホスト名: {HOST.NAME}({INVENTORY.NAME})
重大度: {TRIGGER.SEVERITY}
メッセージ:エラーレコードを検出しました。
検出したレコード:{HOSTNAME}:{ITEM.VALUE}
-------------------------------------
■メール内容
①
-------------------------------------
発生日時: {EVENT.DATE} {EVENT.TIME}
トリガー名: {TRIGGER.NAME}
ホスト名: {HOST.NAME}({INVENTORY.NAME})
重大度: {TRIGGER.SEVERITY}
メッセージ:エラーレコードを検出しました。
検出したレコード:エラーメッセージA
-------------------------------------
②
-------------------------------------
発生日時: {EVENT.DATE} {EVENT.TIME}
トリガー名: {TRIGGER.NAME}
ホスト名: {HOST.NAME}({INVENTORY.NAME})
重大度: {TRIGGER.SEVERITY}
メッセージ:エラーレコードを検出しました。
検出したレコード:エラーメッセージB
-------------------------------------
しかしアクションの復旧時実行内容:デフォルトのメッセージにて下記の内容にて
設定したところ、各アクション(障害メール通知)ではどれも最終エラーレコードが
出力されています。
■復旧時実行内容のデフォルトのメッセージ設定
-------------------------------------
復旧日時: {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
トリガー名: {TRIGGER.NAME}
ホスト名: {HOST.NAME}({INVENTORY.NAME})
重大度: {TRIGGER.SEVERITY}
メッセージ:検出していたエラーレコードをクローズしました。
クローズしたレコード:{HOSTNAME}:{ITEM.VALUE}
-------------------------------------
■メール内容
①
-------------------------------------
復旧日時: {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
トリガー名: {TRIGGER.NAME}
ホスト名: {HOST.NAME}({INVENTORY.NAME})
重大度: {TRIGGER.SEVERITY}
メッセージ:検出していたエラーレコードをクローズしました。
クローズしたレコード:エラーメッセージB
-------------------------------------
②
-------------------------------------
復旧日時: {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
トリガー名: {TRIGGER.NAME}
ホスト名: {HOST.NAME}({INVENTORY.NAME})
重大度: {TRIGGER.SEVERITY}
メッセージ:検出していたエラーレコードをクローズしました。
クローズしたレコード:エラーメッセージB
-------------------------------------
「クローズしたレコード:{HOSTNAME}:{ITEM.VALUE}」 の部分をどのように改修したら
復旧対象のエラー検出時のアイテム(エラーレコード)を出力することができるでしょうか。
TNK - 投稿数: 4720
アクション実行時のメッセージ内で{ITEM.VALUE}を使用した場合、
基本的にイベントが発生(障害検知、障害回復など)した時点の値に
置き換えられたと思います。
障害回復時に最初の障害検知時のアイテムの値を参照するようなマ
クロは無いので、私なら、トリガー名だけでどのような障害が回復
したのか判断できるようなトリガー名にするか、詳細はWebインター
フェースを開いて確認するような運用にすると思います。
skewer - 投稿数: 10
コメントありがとうございます。
障害回復時に最初の障害検知時のアイテムの値を参照するようなマクロない旨
承知しました。
アドバイスどおり、トリガー名だけでどのような障害が回復したのか判断できる
ようなトリガー名にするか、詳細はWebインターフェースを開いて確認するような
運用を検討したいと思います。
アドバイスありがとうございました。
karna - 投稿数: 60
試していないのでなんですが、3.4だったらタグが使えるので、イベント生成時にタグ付けして、
リカバリ時のメッセージに、マクロの
{EVENT.TAGS}
{EVENT.RECOVERY.TAGS}
いずれか(多分後者)を指定すれば、別のメッセージとして通知されるような気がします。
参考
https://qiita.com/ike_dai/items/bf16559f674447c202bf
https://www.zabbix.com/documentation/3.4/manual/appendix/macros/supporte...
skewer - 投稿数: 10
コメントありがとうございます。
アドバイスのとおり、下記のように設定したところ
最初の障害検知時のアイテムの値を参照することができました。
■トリガー タグ設定
タグ名:任意
値:{ITEM.VALUE}
■復旧時実行内容のデフォルトのメッセージ設定
-------------------------------------
復旧日時: {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
トリガー名: {TRIGGER.NAME}
ホスト名: {HOST.NAME}({INVENTORY.NAME})
重大度: {TRIGGER.SEVERITY}
メッセージ:検出していたエラーレコードをクローズしました。
クローズしたレコード:{EVENT.TAGS}
-------------------------------------
アドバイスありがとうございました。