サーバ再起動をイベントログ監視によって検知したい

表題の件、確認させていただければと思います。

[環境]
Zabbixサーババージョン: Zabbix 3.0.31
Zabbixエージェントバージョン:Zabbix 3.0.4
エージェント側OS: Windows server 2012 R2

[問い合わせの監視内容]
環境はAWSになります。
AWSの場合、AWS側の設定による再起動が発動するときあります。
しかしその際非常に短い時間のダウンタイムのためICMPでの監視も検知しませんでした。
またZabbix agent port の監視も検知しませんでした。

しかし再起動は実際に起きていたようです。
再起動するとイベントログに、以下が出ます。

Event ID: 6005
Message: "The Event log service was stopped."

Event ID:6006
Message: "The Event log service was started."

これを検知させるために以下の設定を入れました。
[Item]
Type:Zabbix agent (active)
Key:eventlog[System,,,,6006]
Type of information:Log

[Trigger]
{eventlog[System,,,,6006].count(10)}>1

設定した直後、イベントログの過去分を拾ったのか多数のこのアラートを検知しました。
アラートがすべて流れた後、過去分のログを検知しただけかどうか確認のため、再起動しました。
再起動後はアラートは検知できませんでした。

起動した直後は、イベントログ監視できないのでしょうか?

コメント表示オプション

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

再起動してすぐにはWindows上のサービスが安定して稼働はしてお
らず、次々と処理が開始されるようになっているので、count(10)
では確実に検知することはできないと思います。
もっと長い時間を指定することが必要だと思います。

あとeveltlog[]でも設定を行った以降のイベントログのみを取得し
たい時には、skipオプションを指定したアイテムを作成するように
してみてください。
https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/z...

ユーザー 四羽 の写真

TNK様

ご回答ありがとうございました。
count(300)にして試してみましたが、検知できませんでした。
さらにskipオプションも追加しましたが、それでも検知できませんでした。
数回テストしましたが、どうも検知がうまくいかず困っています。
他の施策はないでしょうか?
もう少しこちらも確認してみます。

ユーザー TNK の写真

アイテムの値としてどのように取得できているのかを確認してください。
特に、タイムスタンプに注意してみてください。

他の方法として、デフォルトのテンプレートにあるsystem.uptimeの
チェックでは不足なのでしょうか?

ユーザー 四羽 の写真

TNK様

アイテムとしては取得できていました。
Latest data に出ていました。
タイムスタンプにずれはありません。
そうなるとトリガーの値をもう少し調整すれば取得できるかもしれないのでやってみます。

ユーザー Yasumi の写真

そもそも1件だけのログ監視をcountの秒数で拾うのはあまり妥当な設定ではないと思います。

iregexpやlogeventidの使用を検討してはどうでしょうか。
また、TNKさんが書いているsystem.uptimeは使えないのでしょうか。

ユーザー 四羽 の写真

Yasumi様、

ご回答ありがとうございます。
トリガーでiregexpやlogeventidを確認してみます。
またsystem.uptimeの監視も取り入れて確認したいと思います。
調査後、結果共有させていただきます。