nodata関数の動作について
Zabbix1.8から4.0への移行を検討中です。
移行に伴いアイテム/トリガーの設定内容は極力引き継ぐ予定です。
ログ監視において1.8と同様のトリガーでは障害として検出できないケースがありました。
1.8/4.0いずれも下記トリガーを設定して検証したところやはり4.0では障害と判断されませんでした。
nodata関数の変更等ありましたでしょうか
また、実現のための条件式をご教授いただけますと幸いです。
・検証したトリガー
条件式
{hostname:logrt[C:\log\test_.*.log,ERROR].nodata(30)}=0
正常イベントの生成
条件式
障害イベント生成モード
単一
・実現したいこと
ERRORが含まれる行を障害として検知する。その後ERRORが一定時間出力されていなければ復旧する。
Yasumi - 投稿数: 380
下記のようにしてみてください。
■トリガー案
{hostname:logrt[C:\log\test_.*.log,ERROR,,,skip].iregexp()}=1 and {hostname:logrt[C:\log\test_.*.log,ERROR,,,skip].nodata(300)}=0
※ERRORが含まれる行を障害として検知する。その後ERRORが一定時間(上記だと300秒)出力されていなければ復旧する。
sk600 - 投稿数: 2
Yasumiさん
ご返信ありがとうございます。
しかしトリガー案を試しても状況は変わりませんでした。
元々1.8では記載いただいたトリガー案と類似の設定を入れていましたが4.0ではうまく動作せず(障害として検知されず)、
その後切り分けたところ最初に私が記載した条件式のみでも1.8/4.0で動作差分が見られたためnodata関数の動作に変更が
あったものと推察し起票した次第です。
Yasumi - 投稿数: 380
Zabbixのバージョンは何を利用されていますか?
4.0の初期は不具合も多いです。
私は4.0.7環境で提案したトリガーとほぼ同様なものを利用し、指定の動作を実現しています。
しいて言えば、下記のようにしてみてください。
{hostname:logrt["C:\log\^test_.*.log$",ERROR,,,skip].iregexp()}=1 and {hostname:logrt["C:\log\^test_.*.log$",ERROR,,,skip].nodata(300)}=0