アクションの通知メールの件名がデフォルト・復旧で逆転してしまう、不要なアクションが実行されてしまう、メンテナンス中にもかかわらずアクションが起動してしまう
表題のとおり3点の事象を抱えており、
これらが問題になっているため解決方法を探しております。
事例や対処方法のアドバイスを頂けないでしょうか。
zabbixサーバのバージョンは3.0.13です。
=====
【事象①】アクションの通知メールの件名とステータスがデフォルト・復旧で逆転してしまう
アクションの設定を以下の様に統一しているのですが、
メッセージ本文に組み込んでいる{TRIGGER.STATUS}が件名と逆転する現象が起きています。
(逆転しない場合もあります)
■設定
デフォルトの件名:
PROBLEM alert ~(ホスト名などを変数で入れています)
デフォルトのメッセージ:
通知種別 : {TRIGGER.STATUS}
復旧通知の件名:
RECOVERY alert ~(ホスト名などを変数で入れています)
リカバリメッセージ:
通知種別 : {TRIGGER.STATUS}
■事象の例
件名:
RECOVERY alert ~
メッセージ本文:
通知種別 : PROBLEM
=====
【事象②】不要なアクションが実行されてしまう
現在アクションを下記のように5種類に分けて利用しているのですが、
本来実行されるはずのアクションだけでなく
他のアクションが一緒に実行されてしまう事象が発生しています。
(閾値ごとに通知先を増やしたい監視項目と、その他の監視で分けています)
各アクションの条件式は以下の通りで、
閾値ごとにトリガーを分け、
トリガー名でアクションを制御しています。
①一般通知用
条件式:
A and B and C and (D or E or F ) and G and H and I and J and K
A メンテナンスの状態 期間外 メンテナンス
B トリガーの値 = 障害
C トリガーの深刻度 >= 軽度の障害
D ホストグループ = ホストグループ①
E ホストグループ = ホストグループ②
F ホストグループ = ホストグループ③
G トリガー名 含まれない test
H トリガー名 含まれない ファイル
I トリガー名 含まれない Emergency
J トリガー名 含まれない Notice
K トリガー名 含まれない Warning
②閾値(低)通知用
条件式:
A and B and C and D
A メンテナンスの状態 期間外 メンテナンス
B トリガーの値 = 障害
C トリガー名 含まれる Notice
D ホストグループ = ホストグループ②
③閾値(中)通知用
条件式:
A and B and C and D
A メンテナンスの状態 期間外 メンテナンス
B トリガーの値 = 障害
C トリガー名 含まれる Warning
D ホストグループ = ホストグループ②
④閾値(高)通知用
条件式:
A and B and C and D
A メンテナンスの状態 期間外 メンテナンス
B トリガーの値 = 障害
C トリガー名 含まれる Emergency
D ホストグループ = ホストグループ②
⑤ファイル監視用
条件式:
A and B and C and D and E
A メンテナンスの状態 期間外 メンテナンス
B トリガーの値 = 障害
C トリガー名 含まれる ファイル
D トリガー名 含まれない test
E ホストグループ = ホストグループ②
■事象の例
閾値を段階的に分けているLoad Averageの監視で、「④閾値(高)通知用」の閾値を超えた際に、
「①一般通知用」、「②閾値(低)通知用」、「③閾値(中)通知用」、「④閾値(高)通知用」が同時に実行されてしまった。
さらに、一部のアクションで事象①が発生してしまった。
(②~④が段階的にメールを送信されない、本来起動しない①が起動している、事象①の通り件名とステータスが一致しない、の3つの問題が同時発生しています)
「①一般通知用」が送信したメール ※事象①が発生
件名:
RECOVERY alert ~
メッセージ本文:
通知種別 : PROBLEM
「②閾値(低)通知用」が送信したメール
件名:
PROBLEM alert ~
メッセージ本文:
通知種別 : PROBLEM
「②閾値(低)通知用」が送信したメール ※事象①が発生
件名:
RECOVERY alert ~
メッセージ本文:
通知種別 : PROBLEM
「③閾値(中)通知用」が送信したメール
件名:
PROBLEM alert ~
メッセージ本文:
通知種別 : PROBLEM
「④閾値(高)通知用」が送信したメール ※事象①が発生
件名:
RECOVERY alert ~
メッセージ本文:
通知種別 : PROBLEM
=====
【事象③】メンテナンス中にもかかわらずアクションが起動してしまう
監視対象ホストに対し、メンテナンスを設定していたにもかかわらず、
アイテムのデータが取得された瞬間にアクションが起動し、メールが送信されてしまいました。
設定順序としては以下の通りです。
①ホストを登録
②ホストに対し、データ取得有でメンテナンスを設定
③ホストに監視用テンプレートを紐づけ
④数日後に監視対象のサービスが起動しアクションが実行(まだメンテナンス期間中)
⑤メンテナンス期限が完了
=====
【補足情報】
本番環境で下記の動作を実行してしまったことが本問題に起因しているのではないかと考えております。
(下記の動作が怪しいと推測し、後述の簡易的な検証をしました。検証環境でデフォルト・復旧が逆転してしまう事象までは確認できています。)
①ホストグループを削除したためにアクションが一時的に無効化されてしまった
②削除したホストグループが条件式に残ったままアクションを有効化してしまった時期がある
③その後、上記の問題1と問題2が発生し、アクションの条件式を修正した
【検証内容】
1.ホストグループを2つ作成
ホストグループ名:test1、test2
2.アクションを3つ作成
アクション①
アラート件名 :test1(ping)-problem-{TRIGGER.STATUS}: {TRIGGER.NAME}
リカバリ件名 :test1(ping)-recovery-{TRIGGER.STATUS}: {TRIGGER.NAME}
カスタム条件式:A and B and C and (D or E) and F and G
A:メンテナンスの状態 期間外 メンテナンス
B:トリガーの値 = 障害
C:トリガーの深刻度 >= 軽度の障害
D:ホストグループ = test1
E:ホストグループ = test2
F:トリガー名 含まれる Ping
G:トリガー名 含まれない Response
アクション②
アラート件名 :test2(responce)-problem-{TRIGGER.STATUS}: {TRIGGER.NAME}
リカバリ件名 :test2(responce)-recovery-{TRIGGER.STATUS}: {TRIGGER.NAME}
カスタム条件式:A and B and C and (D or E) and F and G
A:メンテナンスの状態 期間外 メンテナンス
B:トリガーの値 = 障害
C:トリガーの深刻度 >= 軽度の障害
D:ホストグループ = test1
E:ホストグループ = test2
F:トリガー名 含まれない Ping
G:トリガー名 含まれる Response
アクション③
アラート件名 :test3(ping/responce)-problem-{TRIGGER.STATUS}: {TRIGGER.NAME}
リカバリ件名 :test3(ping/responce)-recovery-{TRIGGER.STATUS}: {TRIGGER.NAME}
カスタム条件式:A and B and C and (D or E)
A:メンテナンスの状態 期間外 メンテナンス
B:トリガーの値 = 障害
C:トリガーの深刻度 >= 軽度の障害
D:ホストグループ = test1
E:ホストグループ = test2
3.ホストグループを削除
削除対象:test2
※各アクションのカスタム条件式には条件Eが残っていますが、
test2が設定されているラベルEが削除され、アクションが無効化されます
4.無効化されたアクションを有効化
5.検証環境の監視対象ホストに対してデータ取得有でメンテナンスを設定
6.監視対象ホストにテンプレートを紐づけ
7.メンテナンス中にもかかわらずアクションが起動
件名とステータスが逆転する現象も発生
=====
以上、よろしくお願いいたします。
TNK - 投稿数: 4769
閾値ごとにトリガーを作成されているとのことですが、別の閾値の
条件に合致することで、以前の閾値に対応したトリガーが障害回復
と判定されるようになってしまっていないか、トリガーの設定を確
認してください。
問題を特定するために、どのアクションやトリガーで送信されたも
のかもわかるようにしるしをつけることで、どのトリガーによって
アクションが実行されたかを判断しやすくなると思います。
メンテナンス期間内にアクションが実行されてしまうのは、Zabbix
の不具合かもしれません。
使用されているのが、3.0.13とのことですが、最新バージョンは、
3.0.28ですので、バージョンアップすることもご検討ください。