Windows Server 2012R2のイベントログ(Windowsログ以外)の監視について
(内容に記述ミスがあったため、再掲載いたします)
現在以下の環境でWindows Server 2012R2のタスクスケジューラーのイベントログのエラー(レベルはInformation)を
取得したいと思っています。
すべての環境はクラウド環境(AWS)で構築
・Zabbixサーバ(amazon Linux 2015.09)
Zabbixバージョン:2.2.11
・Zabbixエージェント(Windows Server 2012 R2)
Zabbixエージェントバージョン 2.2.5
現在、システムリソースおよび、アプリケーションログ(テキストログ)監視は、正常に行えている状態です。
今回のシステムでは、早朝にWindows Serverのタスクスケジュールにおいて、VBSにてWebAPIを使ったHTTPサーバへの
ファイルのアップロードを行っております。
(VBSはバッチファイルから呼び出してシリアル実行しています)
普段は正常に動作しているのですが、稀(タイミングは不定期)に、実行中のままで停止してしまっていることがあるため、
タスクスケジュールで実行が1時間を越えた場合に、強制終了するように設定しています。(バッチは5分以内に終了する処理)
その際、タスクスケジュール内の履歴には「イベントID 329」で「タイムアウト」した旨のメッセージが表示されておりますが、
情報レベルのためか、Windows標準のイベントログ(Application、security、setup、system)にはログが出力されません。
そこで、「アプリケーションとサービスログ」の中に、イベントログの出力を見つけたため、そのログを監視対象にできないかと
考えております。
アイテム
eventlog[Microsoft-Windows-TaskScheduler/Operational,,Information,,329]
トリガー
{Template OS Windows:eventlog[Microsoft-Windows-TaskScheduler/Operational,,Information,,329].iregexp(取得文字列)}=1
として、取得文字列がタスクスケジューラのイベントログ中に文字列出力された際に、トリガーされるようにならないかと考えております。
この方法について、色々調査してみたのですが、同じような事例が見つからなかったのですが、実装可能な方法なのでしょうか?
ちなみに、イベントID329は、他にシステムでスケジュールされたJOBがタイムアウトした場合も出力されるので、かなり大量に出力
されるため、取得文字列を指定して判定したいと思っています。
タスクスケジュールの実行監視を行っておられる方、いらっしゃいましたらご支援いただければ幸いです。
TNK - 投稿数: 4720
残念ながら回答がつかないようですね。
Windows Server 2012 R2であっても、イベントログの監視を行うこ
とはできます。
旧来のWindows標準のイベントログと書かれている範囲以外にも、
イベントビューアで参照することができるWindows Eventing 6.0
と呼ばれる新しい形式のイベントログに関しては、Zabbix 2.2.0
から対応できるようになっています。
ご参考: 2.2のマニュアル:
https://www.zabbix.com/documentation/2.2/jp/manual/config/items/itemtype...
あとは、取得時にフィルタリングするよう、文字列パターンを指定
してアイテムの値を取得するようにすれば良いと思います。
文字列パターンの指定方法は、旧来のイベントログと同様です。