Windowsログ監視の設定について

Windowsのイベントログ(system/application/Security)をZabbixで監視しています。
*zabbix-2.2.2利用

<設定例>
■アイテム
キー:eventlog[Application,,,,100,,]
更新間隔:30

■トリガー
条件式:{Template zabbix:eventlog[Application,,,,100,,].logseverity(0)}=4=0
障害イベントを継続して生成:有効

この設定で以下のことが起こっており、解決策を探しております。

   同じエラーが複数回イベント通知される(イベントIDは別)

切りわけを行ったところ、障害発生から最初に迎える0秒、もしくは30秒のタイミングで
2度目の通知が行われているようです。

「アイテムの更新間隔を30秒にしていること」及び「障害イベントを継続して生成を有効にしていること」
が関係していると思われますが、この事象の解決は無いでしょうか。

なお、トリガーの「nodata(30)」としている部分を「nodata(5)」とすることで、大幅に改善されることは
わかっていますが、100%事象が解決する方法ではないと思います。

こちらが実現したい内容は以下の項目となります。
 1) 発生した全てのイベントを通知
 2) 通知は1回のみ

以上、ご確認をお願いいたします。

コメント表示オプション

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

フォーラムの表示上は消えてしまっていますが、nodata(30)を利用
されているということでよろしいでしょうか。
そして、イベントログから取得するときに、イベントIDを指定して
取得されているようです。

この場合、イベントIDが100のもののみを取得している状態となり、
それに対して、nodata()がイベントログが出力されたかとは連携せ
ずに必ず30秒間隔で評価されます。
# nodata()は、引数に関係なく30秒間間隔で評価されます。

そうすると、実際にイベントIDが100のイベントログが出力された
タイミングと、nodata(30)が評価されるタイミングの両方で条件式
が評価され、さらに、障害イベントを継続して生成にチェックされ
ているようですので、タイミングによっては両方のタイミングでト
リガーが発生します。

つまり、以下のような状態になっていると思われます。

 1.イベントID:100のイベントログが出力されたタイミング
   logseverity()が4であり、ログが出力されたばかりなので
   トリガー発生。

 2.nodata()の評価タイミング
   1.の条件に合致したイベントログが出力されてから同じ
   アイテムに対して他のログが出力されない状態で、最後に
   アイテムとして値を取得してからnodata()の引数で指定し
   た30秒が経過していない場合は、条件式に合致するために
   トリガー発生。

   nodata()の引数で指定していた30秒以上経過していた場合
   は、条件式に合致しないため、トリガーが発生せず、障害
   復旧の状態となる。
   (監視項目数が多い場合は、きっかり30秒間間隔での評価に
    ならない場合があります。)

nodata()の評価タイミングは、イベントログが出力されたタイミン
グから計測するのではなく、Zabbixサーバ全体で定期的に行われる
処理だったと思いますので、イベントログの発生タイミングから計
測して30秒後に評価されるとは限りません。
ですので、souさんも試された通り、nodata(5)と指定したとしても、
nodata()が評価されるタイミングが、条件に合致するイベントログ
の出力後の5秒以内であったりすれば、トリガーが発生するでしょ
う。

ログを絞り込んでいる場合は特に、nodata()の利用にはご注意くだ
さい。

こちらが実現したい内容は以下の項目となります。
 1) 発生した全てのイベントを通知
 2) 通知は1回のみ

とのことですので、「障害イベントを継続して生成」の設定は必須
になると思います。

あと、必ず通知は1回のみとなるとnodata()を利用すると確実に1回
に制限できるとは言い切れません。
nodata()を利用しないとなると、トリガーの障害状態を自動的に解
除できないかもしれませんが、「監視データ」->「トリガー」の画
面で、障害対応コメントが入っていないトリガーのみ表示させるよ
うなフィルタリングができるので、そういった機能と組み合わせて
利用されることもご検討ください。

手動でトリガーを復旧させる方法は、要望として挙がっているので、
今後の新しいバージョンでは実装されるかもしれません。
http://www.zabbix.org/wiki/Docs/roadmap
https://support.zabbix.com/browse/ZBXNEXT-104 など

ユーザー sou の写真

TNKさん、詳細な解説ありがとうございます。
nodata()を利用しないことで問題が解決することが確認できました。

Zabbix上では、常に障害状態となってしまいますので、
そこだけが心残りではありますが・・・。

新しいバージョンで実装されることを期待したいと思います。