• Showing Page History #108408

Windowsで発生するいろいろにいろいろできるようにするEventWatch略してewatch Wiki

Windowsで発生するいろいろにいろいろできるようにするEventWatch略してewatch とは

Windowsの中でいつのまにか発生しているエラーを通知できる環境を作ろうと考えています。

今の段階で監視対象として考えているのは、イベントログ(ApplicationおよびSystem)とテキスト形式のログファイルです。 ついでに UNIX/Linux で使われる syslog の転送にも対応して、複数のOSの通知を一括して管理できるようにしようとしています。 とはいいながらも、本格的な統合監視をするならやはり zabbix 等を使った方が良いです。 ewatch は1台からでも使える手軽な監視ツールという位置付けで考えています。

プログラム構成

* EWatch

Windowsサービスとして動作する本体のプログラム。 設定ファイルに従ってイベントログやログファイルを監視し、指定されたアクションを実行します。

* EWatchCLI

EWatchサービスに対するコマンドラインツールです。次の操作が行えます。
version EWatchサービスのバージョン情報を表示します。
info EWatchサービスが読み込んだ設定ファイル内容の簡易的な情報と、それが適用された日時を表示します。
reload EWatchサービスを再起動せずに設定ファイルを再読み込みします。
put EWatchサービスにJSON形式でイベントデータを渡します。

* EWatchUI

今のところ、単なる設定ファイル編集ツールです。

アクション

ここでは概要だけを記します。詳細については Actions を参照してください。

* forward: 他のサーバーへの転送

EWatch サービスが別のサーバーで稼働している場合、イベントを転送する事ができます。

* execute: コマンド実行

指定したコマンドを実行できます。コマンドの引数にログの内容を渡す事ができます。

* smtp: Eメール送信

指定したEメールアドレスにログの内容を送ります。

* syslog: syslog転送

指定した syslog サーバーにログを送ります。

* mantis: MantisBT登録

指定したURLのMantisBTに障害として登録します。

* redmine: Redmineチケット登録

指定したURLのRedmineにチケットを登録します。

* Slack通知

Slack の webhook で通知します。

設定ファイルの例

notepad等でサッと編集しようとすると XML は面倒くさいので、json形式で記述するようにしています。

  1. {
  2. EventLog: {
  3. Application: [
  4. /* エラーを growl で通知 */
  5. { logLevel:'E', match:null, ignore:null, actions:[ { type:'execute', CommandLine:'"C:\\Program Files (x86)\\Growl for Windows\\growlnotify.exe" /t:EWatch "$message"'} ]},
  6. ],
  7. System: [
  8. /* エラーをメールで通知 */
  9. { logLevel:'E', match:null, ignore:null, actions:[ { type:'smtp', FromAddress:'???@gmail.com', ToAddress:'???@gmail.com,???@gmail.com', ServerHost:'localhost:25'} ]},
  10. /* エラー以外を syslog で通知 */
  11. { logLevel:'', match:null, ignore:null, actions:[ { type:'syslog', RemoteHost:'192.168.0.2'} ]},
  12. ]
  13. },
  14. File: {
  15. /* test.log に [ERROR] が含まれていればコマンド(test.bat)を実行 */
  16. "C:\\test.log" :[
  17. { match:'\\[ERROR\\]', ignore:null, actions:[ {type:'execute', CommandLine:'C:\\test.bat "$timestamp" "$hostname" "$source" "$level" "$code" "$message"'} ]},
  18. ]
  19. },
  20. Syslog: {
  21. /* 514ポートで待ち受け、ERR が含まれていれば growl で通知 */
  22. "514" : [
  23. { match:'ERR', ignore:null, actions:[ {type:'execute', CommandLine:'"C:\\Program Files (x86)\\Growl for Windows\\growlnotify.exe" /t:EWatch "$message"'} ]},
  24. ]
  25. }
  26. }

その他

Latest File Release

ewatch (2.0.37)2023-03-24 18:55

Recent Tickets

(empty)