同時刻でのアラート/リカバリメールの送信について

少しややこしい内容なのですが、ご存知の方は教えて頂けると助かります。
監視設定などは、以下のようになっています。

■アクション
1.アクション
---デフォルトのメッセージ
通知タイプ:PROBLEM

Date/Time: {EVENT.DATE} {EVENT.TIME}

Additional Info:

{ITEM.LASTVALUE}
---

---リカバリメッセージ
通知タイプ:RECOVERY

State: {EVENT.RECOVERY.STATUS}

Date/Time: {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}

Additional Info:

{ITEM.LASTVALUE}
---

2.アクションの実行条件
メンテナンスの状態 期間外 メンテナンス
トリガーの値 = 障害
ホスト = ホスト名

3.アクションの実行内容
デフォルトのアクション実行ステップの間隔 600
ステップ 1-6 メール送信

■アイテム
UserParameterを使用して監視対象ホストに配置しているプログラムを実行
正常時:「OK」という文字列を返却
異常時:「CRITICAL」という文字列を返却

キー:user01
データ型:文字列
更新間隔:600

■トリガー
{ホスト名:user01.regexp("CRITICAL")}=1
障害イベントを継続して生成:チェックなし

設定を要約すれば
監視間隔600秒
CRITICALだったら障害とし、PROBLEMと{ITEM.LASTVALUE}が記載されたメールを送信
それ以外だったら正常とし、OKと{ITEM.LASTVALUE}が記載されたメールを送信
障害継続していたら600秒間隔で6通まで送信

■現象
上に記した設定で、以下のようにメールを受信しました。

04:07:03 「CRITICAL」と記載されたアラートメール受信
04:17:03 「OK」と記載されたアラートメール受信
04:17:03 「OK」と記載されたリカバリメール受信

ヒストリを確認したところ、以下のように記録されていた。
04:17:03 CRITICAL
04:07:03 OK

お聞きしたいのは、なぜ同時刻にOKと記載されたアラートメールとリカバリメールを受信したかです。
おそらくですが、監視プロセスと、エスカレーションプロセスが独立して動作しているため、このような
現象が発生したのではないかと推測していますが、ご存知ないでしょうか

もし分かるようであれば回避策など教えて頂けると助かります。

よろしくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

詳細なZabbixのバージョンをお教えください。

あと確認させて頂きたいのですが、

04:07:03 「CRITICAL」と記載されたアラートメール受信
04:17:03 「OK」と記載されたアラートメール受信
04:17:03 「OK」と記載されたリカバリメール受信

とのことですが、04:17:03の1つめの「OK」と記載されたアラート
メール受信ということは、メールの内容のフォーマットの違いに
よって障害発生時の通知として認識されたということですね?

エスカレーションの設定もされているようですので、エスカレー
ションの処理で送信されたものかもしれません。
丁度同じタイミングでトリガーの状態が正常に戻っていたので、
メールで送信された内容が「OK」になっていた可能性が考えられ
ると思います。

ユーザー stereoType の写真

TNKさん

Zabbixのバージョンは以下になります。
3.0.4-1

> とのことですが、04:17:03の1つめの「OK」と記載されたアラート
> メール受信ということは、メールの内容のフォーマットの違いに
> よって障害発生時の通知として認識されたということですね?
ご認識の通り、メールのフォーマットの違いで認識しました。

よろしくお願いします。

ユーザー TNK の写真

3.0.4であるならば、先の回答でも書かせていただきましたが、
04:17:03の1つめの「OK」は、04:07:03の障害発生とエスカレー
ションの設定による再送のメールだと思われます。

最初の障害メールの再送をメール送信用のキューに追加した直後
に、トリガーの状態が正常に復旧したのでリカバリ用の通知のメ
ールの分もその次のメールのキューに追加されたのでしょう。

そして、蓄えられたメールのキューから送信する情報を取り出し
て送信処理を行う時点では、トリガーの状態は正常になっていた
ので、マクロの展開で「OK」となってメールが送信された可能性
が考えられます。

メールの送信キューに追加するプロセスと実際のメール送信処理
を行うプロセスがわかれているので、メール送信用のキューに追
加されたタイミングと、実際のメール送信処理でのマクロ展開の
タイミングとの時間差で発生した現象だと思います。

ユーザー karna の写真

ふと思ったのですが、アイテムの更新間隔とエスカレーション間隔が同じだと、結構な割合で発生するような気がします。
エスカレーション間隔のほうが若干長めになるように、調整したほうがよいかもしれません。

ユーザー stereoType の写真

TNKさん
karnaさん

返信ありがとうございます。
エスカレーション間隔を調整して、事象回避しようと思います。
ありがとうございました。