サービスの監視


Ping のみでは Windows が稼動している事しか分からない為、「サービスがエラーになった時に何とか通報する仕組みができないか」調査してみました。


Windows 2000 では、サービスがエラーになった時に「ファイルの実行」をすることができるので、その機能を利用して携帯電話に E-mail を飛ばす様にしようと考えました。

バッチファイルで E-mail を送信できるソフトが無いか探したところ、「BlatJ」というソフトを見つけました。
「BlatJ」は 株式会社ピーデーサイトからダウンロードできますが、注意書きをよく読んでください。
このサイトから配布されている tconv 0.8以上に含まれるtconvlib.dllが必要な場合があります。。
また、SMTP サーバが必要です。


構築方法

  1. 株式会社ピーデー から「tconv」をダウンロードし、適当なフォルダに解凍します。
  2. 解凍したフォルダの中から、tconvlib.dll を System_root (通常 C:\Windows\system32 など)にコピーする。
  3. 「BlatJ」をダウンロードし、適当なフォルダ(ここでは C:\MailMsg)に解凍します。
  4. SMTPサーバーのホスト名と、送り元メールアドレスを登録する必要があります。下記の書式でコマンドプロンプトから実行して下さい。
    BlatJ -install SMTPサーバーのホスト名 電子メール送り元アドレス

  5. バッチファイルを作成します。
    BlatJ の起動オプションとして、"-t" 以下が送信先メールアドレスです。その他のオプションについては、コマンドプロンプトから"BlatJ" と入力します。
    (例) c:\MailMsg\blatj WWW Service 停止 -t xxxxxxxxxxxxxxx@yyyyyyy.zz.jp -s WWW_Server_停止
        -t 以下は 送信先のメールアドレスです。
        -s 以下は Subject です。但し、スペースが入るとその後が無視されてしまう為、アンダーラインを使用しました。

    私が実際に作成したバッチファイル(C:\MailMsg\MailMsg_WWW.bat)
    @echo on
    setlocal
    set tempfile=c:\temp\MailMsg.txt
    echo WWW SERVER > %tempfile%
    time /t >> %tempfile%
    echo WWW Service 停止 >> %tempfile%
    c:\MailMsg\blatj %tempfile% -t xxxxxxxxxxxxxxx@yyyyyyy.zz.jp -s WWW_Server_停止
    endlocal
  6. サービスのプロパティの中の「回復」タブの中を設定します。1回目のエラーが発生したときに「ファイルの実行」に指定されているバッチファイルを実行します。

BlatJ のオプションを調べたいときは、コマンドプロンプトから "BlatJ" と入力してください。


 < お願い >



注意 : これは、私個人の覚え書きであり、何も保証するもではありません。自己責任でお読み下さい。  
Create:2003/02/22   Last modified:2009/10/02
Copyright (c) 2002-2013 Yoshi All Rights Reserved