2.5.2 プロセスおよびサービスの監視
プロセスおよびサービスを監視するのは,監視対象プロセスおよびサービスが動作するサーバ上のAPMです。SSOは,APMから通知されたプロセスおよびサービスの状態変更イベントを基に,プロセス・サービスおよびアプリケーションの状態を決定します。プロセスおよびサービスの監視では,次のことができます。
-
監視状態の管理
-
しきい値による監視(プロセス監視の場合だけ)
-
サービス動作状態の監視
-
自動アクションおよびリモートコマンド
次に,それぞれの項目について説明します。
(1) 監視状態の管理
プロセスおよびサービスの監視を開始してから,監視を終了するまでの状態を管理します。SSOで管理する監視状態,および監視状態の変化の契機を次の図に示します。
監視状態が変化すると,監視状態変更イベントを発行できます。イベントについては,「付録J イベント」を参照してください。
(2) しきい値による監視
しきい値を設定しておくと,監視しているプロセスがしきい値を超えているかどうかを監視し,その結果をプロセスおよびアプリケーションの状態として管理できます。プロセスおよび子プロセスの監視状態は,正常,危険,および認識不能の3種類です。また,アプリケーションの状態は,正常,警戒,危険,および認識不能の4種類です。
プロセスの監視状態が変化した場合には,プロセス状態変更イベントを発行します。アプリケーションの状態が変化した場合には,アプリケーション状態変更イベントを発行します。これらのイベントについては,「付録J イベント」を参照してください。
しきい値には,プロセスの動作個数を設定します。同一名称のプロセスが複数起動する場合や,プロセス名にワイルドカードを使用した場合は,動作するプロセスの個数の最小値(下限しきい値)および最大値(上限しきい値)を設定します。プロセスの動作個数が,設定したしきい値の範囲外になった場合に,プロセスの監視状態を変化させます。プロセスおよび子プロセスの監視状態の決定方法を,次の表に示します。
監視状態 |
決定方法 |
---|---|
正常 |
監視しているプロセスの動作個数※が,しきい値の範囲内 |
危険 |
監視しているプロセスの動作個数※が,しきい値の範囲外 |
認識不能 |
プロセスの状態変更イベントが一つもない |
SSOは,表2-11に示したプロセスの状態を基に,アプリケーションの状態を決定します。アプリケーションの状態の決定方法を,次の表に示します。
監視状態 |
決定方法 |
---|---|
正常 |
プロセスがすべて正常 |
警戒 |
正常,危険のプロセスがどちらも一つ以上あり,かつ認識不能のプロセスがない |
危険 |
プロセスがすべて危険 |
認識不能 |
プロセスの状態が少なくとも一つ認識不能 |
(a) しきい値監視に関する注意事項
一般的に,UNIXではあるプロセスが子プロセスを生成した際,その子プロセスは一時的に親プロセスのプロセス名,コマンドライン名,およびそのほかの実行環境を引き継ぎます。このため,SSOでUNIX上のプロセスを監視した場合,その監視対象プロセスの動作個数が,その子プロセスの動作個数を含んだ値となることがあります。
したがって,UNIX上の監視対象プロセスについて,子プロセスの動作個数を考慮に入れないで上限しきい値を設定した場合,該当するプロセスの動作個数が正常であっても上限しきい値を超過し危険域となることがあります。このため,監視対象サーバのOSがUNIXの場合は,上限しきい値の設定をチューニングする必要があります。監視対象プロセスおよび監視対象子プロセスの上限しきい値に,以下の値を設定してください。
- 該当する監視対象プロセス(または監視対象子プロセス)の子プロセスとして同時に存在するプロセスの最大数が明確な場合
-
該当する監視対象プロセス(または子プロセス)の最大起動数がm,そのプロセス1個当たり同時に存在する子プロセスの最大数がnの場合,該当する監視対象プロセス(または子プロセス)の上限しきい値には下記の計算結果を設定してください。
m × (1 + n)
ただし,上記の計算結果が,「9999」を超える場合は,「9999」を設定してください。
- 該当する監視対象プロセス(または監視対象子プロセス)の子プロセスとして同時に存在するプロセスの最大数が不明な場合
-
「9999」を設定してください。
(3) サービス動作状態の監視
サービス状態とサービス動作状態をマッピングしておくと,監視しているサービスの動作状態が変更された場合に,監視サービスおよびアプリケーションの状態として管理できます。サービスの監視状態は,正常,危険,および認識不能の3種類です。また,アプリケーションの状態は,正常,警戒,危険,および認識不能の4種類です。
サービスの状態が変化した場合には,サービス状態変更イベントを発行します。アプリケーションの状態が変化した場合には,アプリケーション状態変更イベントを発行します。これらのイベントについては,「付録J イベント」を参照してください。
サービスの監視状態の決定方法を,次の表に示します。
監視状態 |
決定方法 |
---|---|
正常 |
監視しているサービスが,サービス動作状態のマッピングで正常と設定した動作状態 |
危険 |
監視しているサービスが,サービス動作状態のマッピングで危険と設定した動作状態 |
認識不能 |
サービスの状態変更イベントがない,または監視サーバに指定したサービスがない |
表2-13のサービスの監視状態を基に,アプリケーションの状態が決定されます。アプリケーションの状態の決定方法を次の表に示します。
監視状態 |
決定方法 |
---|---|
正常 |
監視しているサービスがすべて正常 |
警戒 |
正常,危険のサービスがどちらも一つ以上存在し,かつ認識不能のサービスが存在しない |
危険 |
サービスがすべて危険 |
認識不能 |
サービスの状態が一つ以上認識不能 |
(4) 自動アクションおよびリモートコマンド
監視アプリケーションの状態が変化したときに,任意のコマンドを自動的に実行できます。正常域,警戒域,および危険域に変わった場合に,それぞれ別々のコマンドを実行できます。コマンドは,監視マネージャ側および監視サーバ側で実行できます。これを自動アクションと呼びます。また,特に監視サーバ側で自動的にまたはオンデマンドで実行するコマンドのことをリモートコマンドと呼びます。自動アクションでは変数を指定することもできます。定義できる変数については,「付録K 自動アクションで定義できる変数」を参照してください。
監視アプリケーションごとに登録したコマンドを,プロセスモニタウィンドウから監視サーバに対して,オンデマンドで実行することもできます。オンデマンドで実行するコマンドには,変数を指定できません。
自動アクションのコマンド実行権限は,Linuxの場合はスーパーユーザ権限,Windowsの場合はAdministrators権限です。リモートコマンドのコマンド実行権限は,Linuxの場合はスーパーユーザ権限,Windowsの場合はAPMのサービス「SNMP System Observer - Agent for Process」のログオンの権限です。
また,Windows上でバッチファイルを実行する場合,コマンドラインの先頭に「cmd /q /c」を付加してください。例えば,「C:\temp\aaa.bat」を実行する場合は「cmd /q /c C:\temp\aaa.bat」と指定してください。
自動アクションおよびリモートコマンドの実行契機は以下のとおりとなります。
-
正常→警戒
-
正常←警戒
-
警戒→危険
-
警戒←危険
-
正常→危険
-
正常←危険
-
認識不能→正常
-
認識不能←正常
-
認識不能→警戒
-
認識不能←警戒
-
認識不能→危険
-
認識不能←危険
なお,ssoapmonデーモンプロセスが起動したときのアプリケーションの状態決定に応じて,次の表に示すように,自動アクションが実行されますので,ご注意ください。
ssoapmon起動時のアプリケーションの状態 |
自動アクションの実行契機 |
---|---|
正常 |
認識不能→正常 |
警戒 |
認識不能→警戒 |
危険 |
認識不能→危険 |