ログ監視にて過去のエラーを再検知

お世話になります。

OS:CentOS7
Zabbix:Server 2.4、Agent 2.4
で構成している監視環境で、下記設定にてログ監視を行っています。

<アイテム>
log[/var/log/messages,error]

<トリガー>
({template_Linux_OS:log[/var/log/messages,error].nodata(300)}=0) and ({template_Linux_OS:log[/var/log/messages,error].iregexp(@MessageWithoutCheck_messages)}=1)

■現象
数日前に検知したエラーメッセージが再度検知されています。
更新間隔:90s毎に出力されるので、アラート件数が膨大になっています。

※ログスイッチなどで、ファイルサイズが前回監視よりも小さい場合に
 このような動きになる旨が書かれていましたが、OLDの内容となったエラーを
 再度検知する動きが理解できずにいます。

先ずは、この再度検知している状態を回避したく、
対処方法をお教え願います。

何卒、宜しくお願い致します。

コメント表示オプション

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

詳細なZabbixのバージョンをお教えください。
2.4系なら、2.4.8を利用されていますか?
利用されていないのであれば、何度か再読み込み防止の改善が
行われているので、2.4.8で確認してみてください。

あと、アクションで設定されているメッセージの内容もお教えください。
利用されているマクロによっては、適切なメッセージを通知できない
ことも考えられます。

ユーザー Didier0802 の写真

TNK様

いつもありがとうございます。

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

⇒ZabbixServer:2.4.6を使用しています。

>アクションで設定されているメッセージの内容もお教えください。
>利用されているマクロによっては、適切なメッセージを通知できない
> ことも考えられます。

⇒以下の通りとなります。
=============================
■デフォルトの件名
【障害発生】 {TRIGGER.NAME} {ITEM.LASTVALUE}

■デフォルトのメッセージ
 障害発生時刻 :{DATE} {TIME}
 障害発生箇所 :{TRIGGER.NAME}
 最新取得値 :{ITEM.LASTVALUE}

 該当ノードにログインし、状況を確認下さい。
=============================

(通知例)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
障害発生時刻 :2016.06.23 09:29:21
障害発生箇所 :Server00 ログ(messages)
最新取得値 :Jun 20 14:04:28 localhost ironic-api: error: [Errno 32] Broken pipe

該当ノードにログインし、状況を確認下さい。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

※ちなみに6/20の朝方に(messagesが)ログローテーションされているようです。

>何度か再読み込み防止の改善が
>行われているので、2.4.8で確認してみてください。

⇒マイナーバージョンのアップグレード方式は確認しましたが、
 (http://www.zabbix.jp/node/1440)
 アップグレードは最終手段であり、実施前に回避可能できればと思っていますので、
 何卒、ご助勢をお願いします。

ユーザー TNK の写真

{ITEM.LASTVALUE}を利用している箇所を{ITEM.VALUE}に変更してみ
てください。

LASTVALUEを利用してしまうと、ログを再読み込みしていないにも
関わらず、昔取得した値の最後の値を持ってきてしまいますので、
そのログを検知してトリガーが発生したのではないにも変わらず、
過去の値をメッセージ内に取り込んでしまう場合があります。

トリガーの条件に合致した時の値が必要であるならば{ITEM.VALUE}
の方を利用してみてください。

あと、デフォルトのメッセージにあった{TRIGGER.STATUS}の値がど
うなっているかも確認してみてください。
もしかして、「OK」のものも送られていませんか?

最後に、2.4系はサポートが終了してしまっていますので、今後も
継続して利用されるのであれば、3.0などの長期間サポートされる
バージョンへのアップグレードも視野にご検討ください。