2004.09.28 circle@home.ns01.info
サービス定義について
■ セクション
サービス定義には、以下のセクションがあります。
-
[Service]
監視の対象となるサービスに関する情報を記述します。
-
[Icon]
タスクトレイに表示するアイコンを指定します。
-
[Ping]
監視対象のサービスがサーバーの場合で、その応答を監視・確認したいときは、
このセクションに応答監視・確認のやり方を記述します。
応答監視・確認を行わない場合は、このセクションを記述する必要はありません。
-
[Menu]
タスクトレイのアイコンのコンテキストメニュー(右クリック)を記述します。
コンテキストメニューが不要の場合には記述する必要はありませんが、
プログラムを終了することが出来なくなってしまいます。
-
サブメニュー
コンテキストメニューにサブメニューを設定する時は、
そのサブメニューを1つのセクションとして記述します。
■ [Service] セクション
[Service] セクションには、以下のキーワードがあります。
-
Host
監視の対象となるサービスが稼動しているPCのホスト名を記述します。
サービスが稼動しているPCと監視するPCが同じ場合は空白にします。
-
Name
監視の対象となるサービスの名前を記述します。
サービスの名前は管理ツールで表示できますので、それをそのまま記述してください。
-
Root
ユーザー定義コマンドを実行する際の作業フォルダをフルパスで記述します。
ユーザー定義コマンドについては後述します。
-
Notice
監視対象のサービスの稼動状態が変化した時に、通知表示をするか否かを記述します。
通知表示をする場合は 1、そうでない場合は 0 を記述します。
-
Log
監視ログを出力するか否かを記述します。
監視ログを出力する場合は 1、そうでない場合は 0 を記述します。
-
OnStart
監視対象のサービスが稼動を開始した時に実行するユーザー定義コマンドを記述します。
ユーザー定義コマンドについては後述します。
なお、ServiceWatcherの起動時点でサービスが稼動していた場合は、このユーザー定義コマンドは実行されません。
-
OnStop
監視対象のサービスが稼動を停止した時に実行するユーザー定義コマンドを記述します。
ユーザー定義コマンドについては後述します。
なお、ServiceWatcherの起動時点でサービスが停止していた場合は、このユーザー定義コマンドは実行されません。
■ [Icon] セクション
[Icon] セクションには、以下のキーワードがあります。
-
Run
監視対象のサービスが稼動状態のときにタスクトレイに表示するアイコンを指定します。
アイコンはファイルタイプが ico のファイルに収められている必要があります。
-
Stop
監視対象のサービスが停止状態のときにタスクトレイに表示するアイコンを指定します。
アイコンはファイルタイプが ico のファイルに収められている必要があります。
■ [Ping] セクション
[Ping] セクションには、以下のキーワードがあります。
-
Port
サーバーと通信するためのポート番号を記述します。
詳細は 用語辞典等
を参照してください。
-
Request
サーバーの応答を得るために発行するリクエストメッセージを記述します。
メッセージ内では \ がエスケープ文字になっていて、
\\、\a、\b、\f、\n、\r、\t、\v
等のエスケープシーケンスが記述できます。
なお、サーバーの種類のよっては、リクエストなしでもいきなり応答を返すものもあります。
そのような場合は空白にしておいた方がいいでしょう。
空白にしておけば、リクエストを送信せずに応答だけを確認します。
-
Timeout
サーバーの応答の最大待ち時間を秒で指定します。
ここで指定した時間内にサーバーから応答が返ってこない場合に、応答なしと判定します。
-
Interval
サーバーの応答監視を行う間隔を秒で指定します。
ここで指定した時間毎に、サーバーに対して応答確認を行います。
ただし、サーバーがサービスとして稼動していない場合には、応答確認を行いません。
また、このキーワードを記述しない、あるいは値を0にすると、定期的な応答監視を行わずに、
ユーザーコマンド @PING が実行されたときだけ応答確認を行います。
ユーザー定義コマンドについては後述します。
-
Notice
サーバーの応答状態が変化した時に、通知表示をするか否かを記述します。
通知表示をする場合は 1、そうでない場合は 0 を記述します。
定期的な応答監視を行わない場合(キーワードIntervalが無効な時)は無視されます。
-
OnStart
サーバーが応答を開始した時に実行するユーザー定義コマンドを記述します。
ユーザー定義コマンドについては後述します。
ただし、ServiceWatcherの起動時点でサーバーが応答している場合は、このユーザー定義コマンドは実行されません。
定期的な応答監視を行わない場合(キーワードIntervalが無効な時)は無視されます。
-
OnStop
サーバーが応答を停止した時に実行するユーザー定義コマンドを記述します。
ユーザー定義コマンドについては後述します。
ただし、ServiceWatcherの起動時点でサーバーが応答していない場合は、このユーザー定義コマンドは実行されません。
定期的な応答監視を行わない場合(キーワードIntervalが無効な時)は無視されます。
■ [Menu] セクション
[Menu] セクションには、以下のキーワードがあります。
-
1からの連番
コンテキストメニューに表示するテキストと、それが選択された時に実行するユーザー定義コマンドを
カンマ(,)で区切って記述します。
または、セパレータを挿入するために --- を記述することもできます。 ユーザー定義コマンドについては後述します。
-
default
コンテキストメニューのデフォルト項目を番号で指定します。
タスクトレイ上のアイコンをダブルクリックしたときに、当該項目のユーザー定義コマンドが実行されます。
■ サブメニュー セクション
サブメニューセクションは、上述の[Menu] セクションと同じです。
ただし、defaultキーワードはありません。
■ ユーザー定義コマンド
ユーザー定義コマンドは、[Service]/[Ping] セクションのOnStart/OnStopキーワードや
[Menu]/サブメニュー セクションにて記述できる、実行可能なコマンドです。
ユーザー定義コマンドには、以下の種類があります。
-
@QUIT
サービスの監視を停止し、ServiceWatcherを終了します。
-
@LOG
監視ログを閲覧するために、Windows付属のメモ帳を起動します。
-
@PING
即座にサーバーの応答を確認します。
[Ping] セクションに、応答確認のための設定が記述されている必要があります。
-
@URL=
特定サイトを閲覧するためにブラウザを起動します。
閲覧するサイトのアドレスは '=' の後に指定します。
-
@SUBMENU=
サブメニューを指定します。
サブメニューを定義したセクションの名前を '=' の後に指定します。
[Menu]/サブメニュー セクション内でのみ記述できます。
-
実行コマンド
上記以外のものは、全て実行コマンドと見なされます。
Windows付属の コマンド プロンプト から実行できるような形式でなければいけません。
コマンド プロンプトと同様に、セミコロン(;)で区切って複数指定することも可能です。
実行するときの作業フォルダは、[Service] セクションの Root キーワードで指定した場所になります。
指定がない場合は不定です。
■ サンプルの説明
パッケージに同梱されているサンプルの、Apache+Ping.ini の内容を説明します。
[Service] ; 監視するサービスに関する記述。
Host= ; 自ホストのサービスである。
Name=Apache ; サービスの名前は Apache。
Root=C:\Program Files\Apache Group\Apache ; Apache をインストールしたフォルダのフルパス。
Notice=1 ; 稼動状態が変わったら通知表示を出す。
Log=1 ; 監視ログに記録を残す。
OnStart= ; 稼動を開始した時には何もしない。
OnStop= ; 稼動を停止した時には何もしない。
[Icon] ; タスクトレイに表示するアイコンの指定。
Run=Apache0.ico ; 稼動中を示すアイコンファイル、ServiceWatcherの起動フォルダ内にある。
Stop=Apache1.ico ; 停止中を示すアイコンファイル、ServiceWatcherの起動フォルダ内にある。
[Ping] ; Apache サーバーの応答確認のやり方。
Port=80 ; サーバーの受信ポート番号、80=HTTP。
Request=HEAD / HTTP/1.0\n\n ; 応答を確認するためのダミーリクエストの内容、改行文字2つは必須。
Timeout=120 ; 応答待ちのタイムアウト、120秒=2分。
Interval=300 ; 応答確認の間隔、300秒=5分。
Notice=1 ; 応答状態が変わったら通知表示を出す。
OnStart= ; 応答を開始した時には何もしない。
OnStop=Apache.exe -w -n Apache -k restart ; 応答が停止した時には、強制的にサーバーを再起動する。
[Menu] ; コンテキストメニューの定義。
default=5 ; ダブルクリック時は設定編集を実行。
1=サービス開始,Apache.exe -w -n Apache -k start ; 一番上のメニュー項目。
2=サービス停止,Apache.exe -w -n Apache -k stop
3=サービス再起動,Apache.exe -w -n Apache -k restart
4=--- ; セパレータ。
5=設定編集,notepad conf\httpd.conf ; メモ帳を起動。
6=設定検証,Apache.exe -w -t -f conf\httpd.conf ;
7=ログ参照,@SUBMENU=LogMenu ; サブメニュー LogMenu を呼び出す。
8=--- ; セパレータ。
9=監視ログ,@LOG ; 監視ログをメモ帳で閲覧。
10=監視終了,@QUIT ; 一番下のメニュー項目、ServiceWatcher を終了。
[LogMenu] ; サブメニュー LogMenu の定義。
1=viewer,ApacheLogViewer
2=---
3=access,notepad logs\access.log
4=error,notepad logs\error.log
■その他
不明点や不具合情報はサポート掲示板まで。