(57)【特許請求の範囲】
【請求項１】
監視装置により監視される複数の被監視装置のうちの１つの被監視装置で当該監視装置による監視の対象である監視対象プロセスを実行する装置であって、
前記監視対象プロセスを起動するプロセス起動部と、
前記プロセス起動部により前記監視対象プロセスが起動された後に、当該監視対象プロセスの監視において参照される当該監視に関する動作の内容を示す情報であって前記１つの被監視装置側で設定された情報である監視設定情報を、前記複数の被監視装置に共通の形式で登録する登録部と、
前記監視対象プロセスを停止するプロセス停止部と、
前記プロセス停止部により前記監視対象プロセスが停止されるのに先立ち、前記登録部により登録された前記監視設定情報を削除する削除部と
を含む、装置。
【請求項２】
前記監視設定情報は、前記監視対象プロセスの稼動状況を取得するために用いる情報を含む、請求項１の装置。
【請求項３】
前記監視設定情報は、前記監視対象プロセスの稼動状況に異常を検知した場合に実行すべき動作を示す情報を含む、請求項１又は請求項２の装置。
【請求項４】
前記監視設定情報は、前記監視対象プロセスの稼動状況に異常を検知した場合に通知すべき内容を示す情報を含む、請求項１乃至請求項３の何れかの装置。
【請求項５】
前記登録部は、前記監視装置により制御され前記１つの被監視装置で動作することにより前記監視対象プロセスを監視する監視エージェントにより参照される前記監視設定情報を、当該１つの被監視装置内の記憶部に登録する、請求項１乃至請求項４の何れかの装置。
【請求項６】
前記登録部は、前記監視設定情報を前記監視装置に送信することにより、当該監視設定情報を当該監視装置内の記憶部に登録する、請求項１乃至請求項４の何れかの装置。
【請求項７】
複数の被監視装置を監視する監視装置と、当該複数の被監視装置のうちの１つであって当該監視装置による監視の対象である監視対象プロセスを実行する被監視装置とを含むシステムであって、
前記被監視装置は、
前記監視対象プロセスを起動するプロセス起動部と、
前記プロセス起動部により前記監視対象プロセスが起動された後に、当該監視対象プロセスの監視に関する動作の内容を示す情報であって自装置側で設定された情報である監視設定情報を、前記複数の被監視装置に共通の形式で自装置内の記憶部に登録する登録部と、
前記監視対象プロセスを停止するプロセス停止部と、
前記プロセス停止部により前記監視対象プロセスが停止されるのに先立ち、前記監視設定情報を前記記憶部から削除する削除部と、
前記記憶部に登録された前記監視設定情報を参照することにより前記監視対象プロセスを監視する監視エージェントを実行する監視エージェント実行部と
を含み、
前記監視装置は、
前記監視対象プロセスの監視の指示を受け付ける受付部と、
前記受付部による前記指示の受け付けに応じて、前記監視エージェント実行部による前記監視エージェントの実行を制御する制御部と、
前記監視エージェントによる監視の結果を前記監視エージェント実行部から取得する取得部と、
前記取得部により取得された前記結果を出力する出力部と
含む、システム。
【請求項８】
複数の被監視装置を監視する監視装置と、当該複数の被監視装置のうちの１つであって当該監視装置による監視の対象である監視対象プロセスを実行する被監視装置とを含むシステムであって、
前記被監視装置は、
前記監視対象プロセスを起動するプロセス起動部と、
前記プロセス起動部により前記監視対象プロセスが起動された後に、当該監視対象プロセスの監視に関する動作の内容を示す情報であって自装置側で設定された情報である監視設定情報の登録の指示を前記監視装置に送信する登録指示送信部と、
前記監視対象プロセスを停止するプロセス停止部と、
前記プロセス停止部により前記監視対象プロセスが停止されるのに先立ち、前記登録指示送信部により登録の指示が送信された前記監視設定情報の削除の指示を前記監視装置に送信する削除指示送信部と
を含み、
前記監視装置は、
前記登録指示送信部により送信された前記指示に応じて、前記監視設定情報を、前記複数の被監視装置に共通の形式で自装置内の記憶部に登録する登録部と、
前記削除指示送信部により送信された前記指示に応じて、前記監視設定情報を前記記憶部から削除する削除部と、
前記監視対象プロセスの監視の指示を受け付ける受付部と、
前記受付部による前記指示の受け付けに応じて、前記記憶部に登録された前記監視設定情報を参照することにより前記監視対象プロセスを監視する監視部と、
前記監視部による監視の結果を出力する出力部と
含む、システム。
【請求項９】
監視装置により監視される複数の被監視装置のうちの１つの被監視装置で当該監視装置による監視の対象である監視対象プロセスを実行する方法であって、
前記監視対象プロセスを起動するステップと、
前記監視対象プロセスが起動された後に、当該監視対象プロセスの監視において参照される当該監視に関する動作の内容を示す情報であって前記１つの被監視装置側で設定された情報である監視設定情報を、前記複数の被監視装置に共通の形式で登録するステップと、
登録された前記監視設定情報を削除するステップと、
前記監視設定情報が削除された後に、前記監視対象プロセスを停止するステップと
を含む、方法。
【請求項１０】
監視装置により監視される複数の被監視装置のうちの１つの被監視装置で当該監視装置による監視の対象である監視対象プロセスを実行する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記監視対象プロセスを起動するプロセス起動部と、
前記プロセス起動部により前記監視対象プロセスが起動された後に、当該監視対象プロセスの監視において参照される当該監視に関する動作の内容を示す情報であって前記１つの被監視装置側で設定された情報である監視設定情報を、前記複数の被監視装置に共通の形式で登録する登録部と、
前記監視対象プロセスを停止するプロセス停止部と、
前記プロセス停止部により前記監視対象プロセスが停止されるのに先立ち、前記登録部により登録された前記監視設定情報を削除する削除部と
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置により監視される複数の被監視装置のうちの１つの被監視装置で監視装置による監視の対象である監視対象プロセスを実行する装置及び方法に関する。
【背景技術】
【０００２】
分散系サーバシステムの可用性を監視するために、各サーバ上で稼動するプロセスの稼動状況の監視が行われる。
ここで、従来の監視方法としては、以下の技術が知られている（例えば、特許文献１〜４参照）。
【０００３】
特許文献１の技術では、監視するプログラム名称、プログラムを構成する全て又は一部のプロセス名称、プロセス名称ごとのプロセス数のしきい値をプログラム監視条件として設定し、プロセスの稼動情報を取得し、プロセス稼動情報とプログラム監視条件からプログラムの稼動状態を判定し、判定結果を出力する。
【０００４】
特許文献２の技術では、監視対象機器の状態を監視する監視システムにおいて、監視対象機器と、この監視対象機器のデータを収集し蓄積する上位機器と、監視対象機器からデータを取得する監視エージェント機能と汎用の通信プロトコルを用いて監視エージェント機能からデータを取得して上位機器の送信する監視サーバ機能とを有する監視装置とを設ける。
【０００５】
特許文献３の技術では、各ノードが自身のノードＩＤを持ち、かつ監視対象とするノードのＩＤを登録しておき、監視対象となる各ノードが監視内容をノード別に任意に設定した異常診断情報を全ノードに周期的に送信し、監視対象ノードのＩＤを登録したノードが異常診断情報からそのノードの異常状態を監視する。
【０００６】
特許文献４の技術では、監視対象にするＡＰ毎の、そのＡＰに対して行う監視処理の種別を示す監視カテゴリ、監視パラメータ及び監視パラメータの正常条件を含む変換辞書と、監視対象にするＡＰそれぞれの重要度及び各重要度のＡＰに対して行う監視処理の種別を示す監視カテゴリが記述されたポリシー記述とを登録しておき、変換辞書の内の、ポリシーエージェントが備えているＡＰに対応する変換辞書から、ポリシー記述を満たす監視カテゴリと監視パラメータと正常条件との組をルールとして取り出す。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−１１７７８９号公報
【特許文献２】特開２００３−７００８１号公報
【特許文献３】特開平１１−３１１３６号公報
【特許文献４】特開２００７−２４９７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の監視方法には、以下のような課題が存在する。
第一に、監視に関する動作の内容を示す設定情報（以下、「監視設定情報」という）を定義する作業が煩雑であるという課題である。
監視装置により監視される被監視装置が多い環境や、被監視装置上で稼動する監視対象となるプロセス（以下、「監視対象プロセス」という）が被監視装置ごとに多種多様である環境では、特に個々の被監視装置の所轄担当が複数部門に亘る場合等に、監視設定情報を漏れなく調査、文書化、定義し、かつ維持、反映し続けることは、複数の被監視装置の統合監視を実施する監視装置側の担当者に多大な作業負荷と困難さを強いることになる。また、被監視装置側の担当者にも、監視装置側の担当者との頻繁な調整や連絡を強いることになる。つまり、監視装置側の担当者、被監視装置側の担当者の双方の工数及び負荷を増大させ、結果として、監視の漏れや監視での誤検知を招く要因ともなる。
【０００９】
第二に、サービスライフサイクルと監視設定情報変更作業とを同期させることが難しいという課題である。
被監視装置で提供するサービスの追加、変更、削除に伴い、そのサービスを直接支える被監視装置上のデータやプロセスも当然変更される。このとき、そのプロセスが監視対象であれば、統合監視を実施する監視装置側でも同期して監視設定情報の変更作業や監視に関する文書の更新作業が必要となる。これらの作業は、サービスの追加、変更、削除の都度必要となり、それが度重なる場合、運用保守作業の負荷が増大する。また、被監視装置側と監視装置側とで変更のタイミングがずれた場合、監視の漏れや監視での誤検知が発生する。
【００１０】
第三に、監視対象プロセスの稼動状況を取得するために用いる情報等が固定されているという課題である。
監視対象プロセスによって、その稼動状況を取得するために用いる最適な情報、例えば、その稼動状況を取得するための最適な方法が異なることがある。特定のミドルウェアプロセスの稼動状況を確認するための専用コマンドが提供されており、その専用コマンドを利用して監視する方が監視精度が高いと考えられる場合等である。しかしながら、従来の監視方法では、監視対象プロセスによって稼動状況の取得方法を変えることはできないため、専用コマンドを利用したい場合は個別の監視機能を追加実装していく必要がある。また、従来の監視方法では、監視対象プロセスによって、その稼動状況に異常を検知した場合に実行すべき動作や通知すべき内容を変えることもできない。
【００１１】
本発明の目的は、被監視装置で実行される監視対象プロセスに関する監視設定情報を監視装置側で登録する作業を不要にすることにある。
本発明の他の目的は、被監視装置で実行される監視対象プロセスに関する監視設定情報に変更が生じた場合において、監視装置側で監視設定情報を変更する作業を不要にすることにある。
本発明の更に他の目的は、監視対象プロセスの稼動状況を取得するために用いる情報又は監視対象プロセスの稼動状況に異常を検知した場合に実行すべき動作や通知すべき内容を、被監視装置側で監視対象プロセスごとに任意に定義又は変更可能とすることにある。
【課題を解決するための手段】
【００１２】
かかる目的のもと、本発明は、監視装置により監視される複数の被監視装置のうちの１つの被監視装置で監視装置による監視の対象である監視対象プロセスを実行する装置であって、監視対象プロセスを起動するプロセス起動部と、プロセス起動部により監視対象プロセスが起動された後に、監視対象プロセスの監視において参照される監視に関する動作の内容を示す情報であってその１つの被監視装置側で設定された情報である監視設定情報を、複数の被監視装置に共通の形式で登録する登録部と、監視対象プロセスを停止するプロセス停止部と、プロセス停止部により監視対象プロセスが停止されるのに先立ち、登録部により登録された監視設定情報を削除する削除部とを含む、装置を提供する。
【００１３】
ここで、この装置において、監視設定情報は、監視対象プロセスの稼動状況を取得するために用いる情報を含むものであってもよいし、監視対象プロセスの稼動状況に異常を検知した場合に実行すべき動作を示す情報を更に含むものであってもよいし、監視対象プロセスの稼動状況に異常を検知した場合に通知すべき内容を示す情報を更に含むものであってもよい。
また、この装置において、登録部は、監視装置により制御され１つの被監視装置で動作することにより監視対象プロセスを監視する監視エージェントにより参照される監視設定情報をその１つの被監視装置内の記憶部に登録するものであってもよいし、監視設定情報を監視装置に送信することにより監視設定情報を監視装置内の記憶部に登録するものであってもよい。
【００１４】
また、本発明は、複数の被監視装置を監視する監視装置と、複数の被監視装置のうちの１つであって監視装置による監視の対象である監視対象プロセスを実行する被監視装置とを含むシステムであって、被監視装置は、監視対象プロセスを起動するプロセス起動部と、プロセス起動部により監視対象プロセスが起動された後に、監視対象プロセスの監視に関する動作の内容を示す情報であって自装置側で設定された情報である監視設定情報を、複数の被監視装置に共通の形式で自装置内の記憶部に登録する登録部と、監視対象プロセスを停止するプロセス停止部と、プロセス停止部により監視対象プロセスが停止されるのに先立ち、監視設定情報を記憶部から削除する削除部と、記憶部に登録された監視設定情報を参照することにより監視対象プロセスを監視する監視エージェントを実行する監視エージェント実行部とを含み、監視装置は、監視対象プロセスの監視の指示を受け付ける受付部と、受付部による指示の受け付けに応じて、監視エージェント実行部による監視エージェントの実行を制御する制御部と、監視エージェントによる監視の結果を監視エージェント実行部から取得する取得部と、取得部により取得された結果を出力する出力部と含む、システムも提供する。
【００１５】
また、本発明は、複数の被監視装置を監視する監視装置と、複数の被監視装置のうちの１つであって監視装置による監視の対象である監視対象プロセスを実行する被監視装置とを含むシステムであって、被監視装置は、監視対象プロセスを起動するプロセス起動部と、プロセス起動部により監視対象プロセスが起動された後に、監視対象プロセスの監視に関する動作の内容を示す情報であって自装置側で設定された情報である監視設定情報の登録の指示を監視装置に送信する登録指示送信部と、監視対象プロセスを停止するプロセス停止部と、プロセス停止部により監視対象プロセスが停止されるのに先立ち、登録指示送信部により登録の指示が送信された監視設定情報の削除の指示を監視装置に送信する削除指示送信部とを含み、監視装置は、登録指示送信部により送信された指示に応じて、監視設定情報を、複数の被監視装置に共通の形式で自装置内の記憶部に登録する登録部と、削除指示送信部により送信された指示に応じて、監視設定情報を記憶部から削除する削除部と、監視対象プロセスの監視の指示を受け付ける受付部と、受付部による指示の受け付けに応じて、記憶部に登録された監視設定情報を参照することにより監視対象プロセスを監視する監視部と、監視部による監視の結果を出力する出力部と含む、システムも提供する。
【００１６】
更に、本発明は、監視装置により監視される複数の被監視装置のうちの１つの被監視装置で監視装置による監視の対象である監視対象プロセスを実行する方法であって、監視対象プロセスを起動するステップと、監視対象プロセスが起動された後に、監視対象プロセスの監視において参照される監視に関する動作の内容を示す情報であってその１つの被監視装置側で設定された情報である監視設定情報を、複数の被監視装置に共通の形式で登録するステップと、登録された監視設定情報を削除するステップと、監視設定情報が削除された後に、監視対象プロセスを停止するステップとを含む、方法も提供する。
【００１７】
更にまた、本発明は、監視装置により監視される複数の被監視装置のうちの１つの被監視装置で監視装置による監視の対象である監視対象プロセスを実行する装置としてコンピュータを機能させるプログラムであって、コンピュータを、監視対象プロセスを起動するプロセス起動部と、プロセス起動部により監視対象プロセスが起動された後に、監視対象プロセスの監視において参照される監視に関する動作の内容を示す情報であってその１つの被監視装置側で設定された情報である監視設定情報を、複数の被監視装置に共通の形式で登録する登録部と、監視対象プロセスを停止するプロセス停止部と、プロセス停止部により監視対象プロセスが停止されるのに先立ち、登録部により登録された監視設定情報を削除する削除部として機能させる、プログラムも提供する。
【発明の効果】
【００１８】
本発明によれば、被監視装置で実行される監視対象プロセスに関する監視設定情報を監視装置側で登録する作業が不要になる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施の形態における監視システムの構成例を示したブロック図である。
【図２】本発明の第１の実施の形態におけるプロセス起動停止プロシージャのプロセス起動時の動作例を示したフローチャートである。
【図３】本発明の第１の実施の形態におけるプロセス起動停止プロシージャのプロセス停止時の動作例を示したフローチャートである。
【図４】本発明の第１の実施の形態における監視エージェントの動作例を示したフローチャートである。
【図５】本発明の第１の実施の形態における監視エージェントの動作例を示したフローチャートである。
【図６】本発明の第１の実施の形態で監視条件レジストリに登録される監視条件レコードの一例を示した図である。
【図７】本発明の第２の実施の形態における監視システムの構成例を示したブロック図である。
【図８】本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
［第１の実施の形態］
図１は、第１の実施の形態における監視システムの構成例を示したブロック図である。
図示するように、監視システムは、被監視サーバ１０ａ，１０ｂ，１０ｃと、監視サーバ３０とが、ネットワーク８０を介して接続されることにより構成される。また、監視サーバ３０には、監視コンソール５０が接続されている。尚、図では、被監視サーバ１０ａ，１０ｂ，１０ｃを示したが、これらを区別する必要がない場合は、被監視サーバ１０と称することもある。また、図には、３つの被監視サーバ１０を示したが、被監視サーバ１０の数はこれに限らず、２つであってもよいし、４つ以上であってもよい。
【００２１】
被監視サーバ１０は、監視サーバ３０による監視の対象となるサーバコンピュータであり、被監視装置の一例である。被監視サーバ１０は、監視対象プロセス１１と、プロセス起動停止プロシージャ１２と、ＯＳブートプロシージャ１３と、監視条件レジストリ１４と、監視エージェント１５と、稼動状況取得メソッド１６と、自動実行アクション１７と、直近稼動状況リスト１８とを含む。
監視対象プロセス１１は、監視サーバ３０によって稼動状況が監視されるプロセスである。
【００２２】
プロセス起動停止プロシージャ１２は、監視対象プロセス１１の起動及び停止を制御するプロシージャである。プロセス起動停止プロシージャ１２は、監視対象プロセス１１の起動時にその監視を行う際の条件（以下、「監視条件」という）を含む監視条件レコードを監視条件レジストリ１４に書き込む。また、監視対象プロセス１１の停止時にその監視条件を含む監視条件レコードを監視条件レジストリ１４から削除する。即ち、このプロセス起動停止プロシージャ１２が実行されることにより、被監視サーバ１０内には、監視対象プロセス１１を起動するプロセス起動部２１、監視対象プロセス１１を停止するプロセス停止部２２、監視条件レジストリ１４に監視条件レコードを登録する登録部の一例としての監視条件登録部２３、監視条件レジストリ１４から監視条件レコードを削除する削除部の一例としての監視条件削除部２４が実現される。
【００２３】
ＯＳブートプロシージャ１３は、被監視サーバ１０のＯＳ（Operating System）を起動するプロシージャである。ＯＳブートプロシージャ１３は、ＯＳの起動時、つまり、監視エージェント１５及びあらゆる監視対象プロセス１１の起動処理が開始される前に、監視条件レジストリ１４を初期化する。但し、監視条件レジストリ１４に書き込まれた監視条件レコードのうちプロセス起動停止プロシージャ１２によって動的に登録された監視条件レコード以外の静的に定義された監視条件レコードは初期化しない。また、ＯＳブートプロシージャ１３は、ＯＳの起動時にプロセス起動停止プロシージャ１２を実行することもある。
【００２４】
監視条件レジストリ１４は、監視条件レコードを保持する記憶部の一例としてのファイル又はデータベースである。監視条件レコードには、プロセスラベル、プロセス名、プロセス実行ユーザ名、プロセスＩＤ、親プロセスＩＤ、プロセスインスタンス数上限、プロセスインスタンス数下限、稼動状況取得メソッド、自動実行アクション、通知イベント仕様、非監視時間帯スケジュール等の監視設定情報の一例としての監視条件が含まれる。
【００２５】
ここで、プロセスラベルは、プロセス起動停止プロシージャ１２ごとに与えられた被監視サーバ１０上でユニークな名前であり、監視条件レコードのレコードキーとなる項目である。
プロセス名は、プロセスの実行時に実際に動作しているプログラムの名前であり、パス名及び引数を含む。
プロセス実行ユーザ名は、プロセスを実行したユーザの名前である。ここでは、ユーザの名前を、ユーザを識別可能なあらゆる情報を含む概念として用いている。
プロセスＩＤは、プロセスの起動時に割り振られたプロセスを識別する識別子であり、親プロセスＩＤは、親プロセスの起動時に割り振られた親プロセスを識別する識別子である。
プロセスインスタンス数上限は、同時に実行可能なプロセスインスタンスの数の上限値であり、プロセスインスタンス数下限は、同時に実行可能なプロセスインスタンスの数の下限値である。
【００２６】
稼動状況取得メソッドは、プロセスの稼動状況を取得するために用いるコマンド等である。プロセスの稼動状況を取得するために用いる情報であればコマンド等以外でもよいが、以下では、コマンド等を例にとって説明する。
自動実行アクションは、プロセスの稼動状況の異常の検知時に監視エージェント１５が自動的に実行すべきアクションであり、プロセスの再起動、異常検知の通知等がある。
通知イベント仕様は、プロセスの稼動状況の異常の検知時に監視エージェント１５が通知すべき内容であり、イベント重要度、メッセージテキスト等がある。
非監視時間帯スケジュールは、プロセスの監視を監視エージェント１５に実行させない時間帯を示すスケジュール情報である。プロセス起動停止プロシージャ１２からその起動時に監視条件レコードを動的に書き込ませることができない監視対象プロセスの場合、その監視条件レコードを静的に監視条件レジストリ１４に登録可能にしているので、この静的に登録された監視条件レコードに基づく監視及び非監視の制御を、この非監視時間帯スケジュールにより行う。
【００２７】
監視エージェント１５は、監視サーバ３０から導入され、その稼動が監視サーバ３０によって管理、制御されるエージェントプログラムである。監視エージェント１５は、一定時間のサイクルで、監視条件レジストリ１４に保持されている監視条件に従い、監視対象プロセス１１を決定し、その稼動状況を監視する。その際、稼動状況取得メソッドが定義されているプロセスの稼動状況は、そのメソッドを用いて監視するが、稼動状況取得メソッドが定義されていないプロセスの稼動状況は、デフォルトのコマンド又はＡＰＩ（Application Program Interface）を用いて監視する。そして、監視エージェント１５は、監視で判明した稼動状況と直近稼動状況リスト１８にある稼動状況とを比較し、直近の監視サイクルからの状態遷移の有無を判別する。状態遷移を検知した場合、それを直近稼動状況リスト１８に反映すると共に監視サーバ３０に通知する。また、このとき、監視条件レジストリ１４に異常検知時の自動実行アクションが定義されていれば、監視エージェント１５は、それを実行する。更に、監視条件レジストリ１４に通知イベント仕様として通知するイベントの内容やフォーマットが定義されていれば、監視エージェント１５は、それに従って通知を行う。尚、監視エージェント１５は、監視エージェント実行部の一例としてのプログラム実行部（図示せず）により実行される。
【００２８】
稼動状況取得メソッド１６は、プロセスの稼動状況を取得するために用いるコマンド等のデータであり、例えば磁気ディスク装置９０ｇ（図８参照）に記憶されている。
自動実行アクション１７は、プロセスの再起動や電子メールでの障害通知を行うコマンド等のデータであり、例えば磁気ディスク装置９０ｇ（図８参照）に記憶されている。
直近稼動状況リスト１８は、監視エージェント１５が直近の監視サイクルで得た監視対象プロセスの状態（正常又は異常）を保持するリストである。直近稼動状況リスト１８は、磁気ディスク装置９０ｇ（図８参照）に記憶されたファイル内又はメインメモリ９０ｃ（図８参照）の監視エージェント１５が参照可能な領域内に保持され、監視エージェント１５の起動時に初期化される。
【００２９】
監視サーバ３０は、被監視サーバ１０ａ，１０ｂ，１０ｃの統合監視を実施するサーバコンピュータであり、監視装置の一例である。監視サーバ３０は、監視制御部３１を含む。
監視制御部３１は、被監視サーバ１０で稼動する監視エージェント１５とネットワーク８０を介して接続し、監視エージェント１５の動作を制御する。より詳細には、監視制御部３１は、監視対象プロセス１１を監視する指示（以下、「監視指示」という）が監視コンソール５０から入力されるとこれを受け付ける受付部の一例としての監視指示受付部４１、監視指示を監視エージェント１５に送信する制御部の一例としての監視指示送信部４２を備える。また、監視対象プロセス１１に状態遷移イベントが発生したことを示す情報（以下、「状態遷移情報」）を監視エージェント１５から受信する取得部の一例としての状態遷移受信部４３、状態遷移情報を監視コンソール５０に出力する出力部の一例としての状態遷移出力部４４を備える。
【００３０】
次に、第１の実施の形態における監視システムの動作について詳細に説明する。
まず、プロセス起動停止プロシージャ１２の動作について説明する。
図２は、プロセス起動停止プロシージャ１２が監視対象プロセス１１を起動するときの動作例を示したフローチャートである。ＯＳブートプロシージャ１３がＯＳブート時に監視対象プロセス１１の起動指示を行った場合や、ユーザが任意の時点で監視対象プロセス１１の起動指示を行った場合等に、この動作は開始する。
動作を開始すると、プロセス起動部２１が、監視対象プロセス１１が既に起動済みであるかどうかを判定する（ステップ１０１）。尚、この判定は、プロセス起動停止プロシージャ１２が保持するプロセスラベルに対応するプロセスが稼動中のプロセスの中にあるかどうかを調べることにより行うとよい。
監視対象プロセス１１が既に起動済みであると判定されれば、プロセス起動部２１が、その旨を監視サーバ３０へ通知すると共に被監視サーバ１０内にロギングして（ステップ１０９）、処理を終了する。
【００３１】
一方、監視対象プロセス１１がまだ起動されていないと判定されれば、監視条件削除部２４が、監視条件レジストリ１４をプロセスラベルをキーに検索し（ステップ１０２）、監視対象プロセス１１の監視条件レコードが登録されているかどうかを判定する（ステップ１０３）。監視対象プロセス１１の監視条件レコードが登録されていないと判定されれば、そのままステップ１０５へ進む。監視対象プロセス１１の監視条件レコードが登録されていると判定されれば、監視条件削除部２４が、そのレコードを削除して（ステップ１０４）、ステップ１０５へ進む。例えば、前回の監視対象プロセス１１の起動時に異常終了したような場合にこのような事態が生ずるが、今回の監視を正常に行うためにこの前回の起動時の情報は削除しておく。
【００３２】
その後、プロセス起動部２１が、監視対象プロセス１１を起動するコマンドを実行し（ステップ１０５）、監視対象プロセス１１の起動が成功したかどうかを判定する（ステップ１０６）。
監視対象プロセス１１の起動が成功しなかったと判定されれば、プロセス起動部２１が、その旨を監視サーバ３０へ通知すると共に被監視サーバ１０内にロギングして（ステップ１０９）、処理を終了する。
【００３３】
一方、監視対象プロセス１１の起動が成功したと判定されれば、監視条件登録部２３が、監視条件を取得する（ステップ１０７）。ここで、監視条件のうち、プロセスラベルは、プロセス起動停止プロシージャ１２が保持する情報から取得し、プロセスＩＤ、親プロセスＩＤはＯＳから取得する。また、プロセス実行ユーザ名、プロセスインスタンス数上限、プロセスインスタンス数下限、稼動状況取得メソッド、自動実行アクション、通知イベント仕様は、被監視サーバ１０のユーザがプロセス起動停止プロシージャ１２を起動する際に引数として指定した情報や、被監視サーバ１０のユーザが監視対象プロセス１１に関連付けて予め設定した情報等から取得するとよい。或いは、被監視サーバ１０のユーザがプロセス起動停止プロシージャ１２内にコードとして記述しておいてもよい。これにより、監視条件登録部２３が、監視条件を含む監視条件レコードを監視条件レジストリ１４に登録する（ステップ１０８）。即ち、この動作例では、監視対象プロセス１１の起動が完了するまで監視条件レジストリ１４への監視条件レコードの登録を行わないようにすることで、監視対象プロセス１１の起動前に監視対象プロセス１１が稼動していないことを異常であると誤検知してしまうリスクを抑えている。そして、監視条件登録部２３が、監視条件レコードを登録した旨を監視サーバ３０へ通知すると共に被監視サーバ１０内にロギングして（ステップ１０９）、処理を終了する。
【００３４】
尚、この動作例では、監視対象プロセス１１が既に起動している場合、監視対象プロセス１１の起動に失敗した場合、監視条件レジストリ１４への監視条件レコードの登録が成功した場合に、ステップ１０９でその旨の通知及びロギングの処理を行っているが、監視条件レジストリ１４への監視条件レコードの登録又は監視条件レジストリ１４からの監視条件レコードの削除が失敗した場合に、ステップ１０９でその旨の通知及びロギングの処理を行ってもよい。
また、テスト時等に監視対象とせずにプロセスを起動できるように、起動指示のオプションにて、監視条件レジストリ１４に監視条件レコードを登録しないことを指定可能としてもよい。この場合、プロセス起動停止プロシージャ１２は、ステップ１０７、１０８の処理をスキップすることになる。
【００３５】
図３は、プロセス起動停止プロシージャ１２が監視対象プロセス１１を停止するときのプロセス起動停止プロシージャ１２の動作例を示したフローチャートである。ユーザが任意の時点で監視対象プロセス１１の停止指示を行った場合等に、この動作は開始する。
動作を開始すると、監視条件削除部２４が、監視条件レジストリ１４をプロセスラベルをキーに検索し（ステップ１２１）、監視対象プロセス１１の監視条件レコードが登録されているかどうかを判定する（ステップ１２２）。監視対象プロセス１１の監視条件レコードが登録されていないと判定されれば、そのままステップ１２４へ進む。監視対象プロセス１１の監視条件レコードが登録されていると判定されれば、監視条件削除部２４が、そのレコードを削除して（ステップ１２３）、ステップ１２４へ進む。
【００３６】
その後、プロセス停止部２２が、監視対象プロセス１１が稼動中であるかどうかを判定する（ステップ１２４）。尚、この判定は、プロセス起動停止プロシージャ１２が保持するプロセスラベルに対応するプロセスが稼動中のプロセスの中にあるかどうかを調べることにより行うとよい。
監視対象プロセス１１が稼動中でないと判定されれば、プロセス停止部２２が、その旨を監視サーバ３０へ通知すると共に被監視サーバ１０内にロギングして（ステップ１２６）、処理を終了する。
【００３７】
一方、監視対象プロセス１１が稼動中であると判定されれば、プロセス停止部２２が、監視対象プロセス１１を停止するコマンドを実行する（ステップ１２５）。即ち、この動作例では、監視条件レジストリ１４から監視条件レコードを削除した後に監視対象プロセス１１を停止することで、監視対象プロセス１１の停止後に監視対象プロセス１１が稼動していないことを異常であると誤検知してしまうリスクを抑えている。そして、プロセス停止部２２が、監視対象プロセス１１が停止した旨を監視サーバ３０へ通知すると共に被監視サーバ１０内にロギングして（ステップ１２６）、処理を終了する。
【００３８】
次に、監視エージェント１５の動作について説明する。
図４及び図５は、監視エージェント１５が監視対象プロセス１１を監視するときの動作例を示したフローチャートである。監視サーバ３０の監視指示受付部４１が監視コンソール５０からの監視指示を受け付けることにより、監視サーバ３０の監視指示送信部４２が監視エージェント１５に監視指示を送信した場合に、この動作は開始する。
図４に示すように、監視エージェント１５は、動作を開始すると、まず、直近稼動状況リスト１８を初期化する（ステップ１４１）。尚、この直近稼動状況リスト１８の初期化は、直近稼動状況リスト１８がファイルとして磁気ディスク装置９０ｇ（図８参照）に記憶されている場合に行えばよく、直近稼動状況リスト１８がメインメモリ９０ｃ（図８参照）に記憶されている場合には行わなくてもよい。
そして、監視エージェント１５は、監視条件レジストリ１４を検索し（ステップ１４２）、監視条件レジストリ１４内に未処理の監視条件レコードがあるかどうかを判定する（ステップ１４３）。
【００３９】
後述するように監視条件レジストリ１４内の監視条件レコードが全て処理され、未処理の監視条件レコードがないと判定されれば、監視エージェント１５は、直近稼動状況リスト１８から不要なエントリを削除する（ステップ１４４）。ここで、不要なエントリとは、例えば、後述する処理で監視条件レジストリ１４内に対応する監視条件レコードがなかったエントリである。図５のステップ１６１で直近稼動状況リスト１８のエントリを参照したときに参照済みフラグをそのエントリに対して記録しておき、最終的に参照済みフラグが記録されていないエントリを、監視条件レジストリ１４内に対応する監視条件レコードがなかったエントリとすればよい。その後、監視エージェント１５は、予め設定された時間だけ待機し（ステップ１４５）、ステップ１４２に戻る。
【００４０】
また、ステップ１４３で未処理の監視条件レコードがあると判定されれば、監視エージェント１５は、監視条件レジストリ１４内に非監視時間帯スケジュールが定義されており、かつ現在時刻が非監視時間帯スケジュールで示される時間帯内であるかどうかを判定する（ステップ１４６）。
非監視時間帯スケジュールが定義されており、かつ現在時刻が非監視時間帯スケジュールで示される時間帯内であると判定されれば、この監視条件レコードに基づく監視は行わないので、監視エージェント１５は、以降の処理をスキップしてステップ１４３に戻り、次の監視条件レコードを処理する。
【００４１】
一方、非監視時間帯スケジュールが定義されていないと判定された場合、又は、非監視時間帯スケジュールが定義されていても現在時刻が非監視時間帯スケジュールで示される時間帯内でないと判定された場合は、監視エージェント１５は、監視条件レコードに稼動状況取得メソッドが定義されているかどうかを判定する（ステップ１４７）。
監視条件レコードに稼動状況取得メソッドが定義されていると判定されれば、監視エージェント１５は、そのメソッドを実行し（ステップ１４８）、そのメソッドの戻り値から監視対象プロセス１１の稼動状況を把握する（ステップ１４９）。
一方、監視条件レコードに稼動状況取得メソッドが定義されていないと判定されれば、監視エージェント１５は、ＯＳが提供する機能（ｐｓコマンド等のコマンド又はＡＰＩ）を用いて稼動中のプロセスの一覧を表示し、その中からプロセスラベルに基づいて監視対象プロセス１１を選択する（ステップ１５０）。そして、監視対象プロセス１１の状態が、監視条件レコードに定義された判別条件を満たすかどうかを検査することにより、監視対象プロセス１１の稼動状況を把握する（ステップ１５１）。
【００４２】
その後、図５に示すように、監視エージェント１５は、直近稼動状況リスト１８の監視条件レコードに対応するエントリを参照する（ステップ１６１）。
そして、監視エージェント１５は、ステップ１４９又はステップ１５１で把握した監視対象プロセス１１の稼動状況と、直近稼動状況リスト１８のそのエントリに登録された監視対象プロセス１１の稼動状況とを比較し、これらの稼動状況が異なっているか、つまり、稼動状況に状態遷移が起きたかどうかを判定する（ステップ１６２）。
稼動状況に状態遷移が起きていないと判定されれば、以降の処理をスキップして図４のステップ１４３に戻り、次の監視条件レコードを処理する。
【００４３】
一方、稼動状況に状態遷移が起きたと判定されれば、監視エージェント１５は、それが正常から異常への状態遷移であるかどうかを判定する（ステップ１６３）。
正常から異常への状態遷移でないと判定された場合、つまり、異常であった稼動状況が正常に復帰した場合は、そのままステップ１６６へ進む。
一方、正常から異常への状態遷移であると判定された場合、つまり、異常を検知した場合、監視エージェント１５は、監視条件レコードに自動実行アクションが定義されているかどうかを判定する（ステップ１６４）。自動実行アクションが定義されていないと判定されれば、そのままステップ１６６へ進むが、自動実行アクションが定義されていると判定されれば、それを実行して（ステップ１６５）、ステップ１６６へ進む。
【００４４】
その後、監視エージェント１５は、監視対象プロセス１１について状態遷移イベントが発生したことを示す状態遷移情報を監視サーバ３０の状態遷移受信部４３へ通知すると共に被監視サーバ１０内にロギングする（ステップ１６６）。ここで、通知イベント仕様としてイベント重要度やメッセージテキスト等が監視条件レコードに定義されている場合には、このイベント重要度やメッセージテキスト等を含む状態遷移情報を通知するとよい。また、状態遷移情報には、自動実行アクションを実行したことを示す情報を含めてもよい。これにより、監視サーバ３０では、状態遷移受信部４３が状態遷移情報を受信し、状態遷移出力部４４が状態遷移情報を監視コンソール５０に出力し、監視コンソール５０には、状態遷移情報に含まれるイベント重要度やメッセージテキスト等が表示される。そして、監視エージェント１５は、図４のステップ１４９又はステップ１５１で把握された監視対象プロセス１１の稼動状況で、直近稼動状況リスト１８に登録された監視対象プロセス１１の稼動状況を置き換え（ステップ１６７）、ステップ１４３に戻る。
【００４５】
ここで、監視条件レジストリ１４に登録される監視条件レコードについて具体的に説明する。
図６は、このような監視条件レコードの一例を示した図である。
図示するように、監視条件レコードは、プロセスラベル、プロセス名、プロセス実行ユーザ名、プロセスインスタンス数上限、プロセスインスタンス数下限、稼動状況取得メソッド、自動実行アクション、通知イベント仕様、非監視時間帯スケジュールを監視条件として含むが、各監視条件については既に説明したので、ここでの説明は省略する。尚、監視条件にはプロセスＩＤ及び親プロセスＩＤも含まれるが、ここでは省略している。
【００４６】
まず、１行目の監視条件レコードについて説明する。
１行目の監視条件レコードは、プロセスラベルを「ＲＤＢＭＳ」とする監視条件レコードである。尚、この監視条件レコードは、プロセス起動停止プロシージャ１２により動的に登録され、削除されることを想定している。
この監視条件レコードでは、稼動状況取得メソッドとして専用コマンドが定義されているので、稼動状況は図４のステップ１４８、１４９で把握される。従って、図４のステップ１５１で用いるプロセス名、プロセスインスタンス数等の判別条件は設定されていない。
【００４７】
また、この監視条件レコードでは、異常検知時の自動実行アクションとして、リスタートコマンドが定義されているので、図５のステップ１６５では監視対象プロセス１１のリスタートが行われる。
更に、この監視条件レコードでは、異常検知時の通知イベント仕様として、イベント重要度「ＦＡＴＡＬ」と、緊急連絡先を含むメッセージテキストとが定義されているので、図５のステップ１６６ではこれらの情報を含む状態遷移情報が通知される。
【００４８】
次に、２行目の監視条件レコードについて説明する。
２行目の監視条件レコードは、プロセスラベルを「ＷｅｂＳｅｒｖｅｒ」とする監視条件レコードである。尚、この監視条件レコードも、プロセス起動停止プロシージャ１２により動的に登録され、削除されることを想定している。
この監視条件レコードでは、稼動状況取得メソッドが定義されていないので、稼動状況は図４のステップ１５０、１５１で把握される。従って、プロセス名「ｈｔｔｐｄ」、プロセスインスタンス数上限「１００」、プロセスインスタンス数下限「２０」が判別条件として設定されている。即ち、図４のステップ１５１では、「ｈｔｔｐｄ」という名前のプロセスが、上限１００、下限２０の範疇のインスタンス数で稼働中であれば、正常と判定し、そうでなければ、異常と判定する。
【００４９】
また、この監視条件レコードでは、異常検知時の自動実行アクションとして、電子メールの送信が定義されているので、図５のステップ１６５では電子メールが送信される。
更に、この監視条件レコードでは、異常検知時の通知イベント仕様として、イベント重要度「ＣＲＩＴＩＣＡＬ」とメッセージテキストとが定義されているので、図５のステップ１６６ではこれらの情報を含む状態遷移情報が通知される。
【００５０】
次に、３行目の監視条件レコードについて説明する。
３行目の監視条件レコードは、プロセスラベルを「ＡＰＰＬ」とする監視条件レコードである。尚、この監視条件レコードは、静的に定義されたものであることを想定している。
この監視条件レコードでは、稼動状況取得メソッドが定義されていないので、稼動状況は図４のステップ１５０、１５１で把握される。従って、プロセス名「ｐｒｏｇｒａｍ＿Ａ」、プロセス実行ユーザ名「ｕｓｅｒＡ」、プロセスインスタンス数上限「１」、プロセスインスタンス数下限「１」が判別条件として設定されている。即ち、図４のステップ１５１では、ユーザ「ｕｓｅｒＡ」が実行した「ｐｒｏｇｒａｍ＿Ａ」という名前のプロセスが１個だけ稼働中であれば、正常と判定し、そうでなければ、異常と判定する。
【００５１】
また、この監視条件レコードでは、異常検知時の自動実行アクションが定義されていないので、図５のステップ１６４の判定はＮｏとなり、ステップ１６５はスキップされる。
更に、この監視条件レコードでは、異常検知時の通知イベント仕様が定義されていないので、図５のステップ１６６ではデフォルトの設定で状態遷移情報が通知される。
更にまた、この監視条件レコードは、静的に定義されたものであることから、非監視時間帯スケジュールとして、「Ｓｕｎｄａｙ  ２２：００−２３：００」が定義されている。従って、現在時刻が日曜日の２２時から２３時までの時刻であれば、図４のステップ１４６の判定はＹｅｓとなり、ステップ１４７〜１５１及び図５の処理はスキップされる。
【００５２】
［第２の実施の形態］
図７は、第２の実施の形態における監視システムの構成例を示したブロック図である。
図示するように、第２の実施の形態においても、第１の実施の形態と同様、監視システムは、被監視サーバ１０ａ，１０ｂ，１０ｃと、監視サーバ３０とが、ネットワーク８０を介して接続されることにより構成されており、監視サーバ３０には、監視コンソール５０が接続されている。尚、第２の実施の形態でも、被監視サーバ１０ａ，１０ｂ，１０ｃを区別する必要がない場合は、被監視サーバ１０と称することがあるものとし、被監視サーバ１０の数は３つに限らないものとする。
【００５３】
被監視サーバ１０は、監視サーバ３０による監視の対象となるサーバコンピュータであり、被監視装置の一例である。被監視サーバ１０は、監視対象プロセス１１と、プロセス起動停止プロシージャ１２と、ＯＳブートプロシージャ１３と、稼動状況取得メソッド１６とを含む。
監視対象プロセス１１は、監視サーバ３０によって稼動状況が監視されるプロセスである。
【００５４】
プロセス起動停止プロシージャ１２は、監視対象プロセス１１の起動及び停止を制御するプロシージャである。プロセス起動停止プロシージャ１２は、監視対象プロセス１１の起動時にその監視条件を含む監視条件レコードの登録を監視サーバ３０に指示する。また、監視対象プロセス１１の停止時にその監視条件を含む監視条件レコードの削除を監視サーバ３０に指示する。即ち、このプロセス起動停止プロシージャ１２が実行されることにより、被監視サーバ１０内には、監視対象プロセス１１を起動するプロセス起動部２１、監視対象プロセス１１を停止するプロセス停止部２２、監視サーバ３０に監視条件レコードの登録を指示する登録部、登録指示送信部の一例としての監視条件登録指示部２５、監視サーバ３０に監視条件レコードの削除を指示する削除部、削除指示送信部の一例としての監視条件削除指示部２６が実現される。
【００５５】
ＯＳブートプロシージャ１３は、被監視サーバ１０のＯＳを起動するプロシージャである。ＯＳブートプロシージャ１３は、ＯＳの起動時、つまり、あらゆる監視対象プロセス１１の起動処理が開始される前に、被監視サーバ１０に関する監視条件レコードの初期化を監視サーバ３０に指示する。但し、監視条件レコードのうちプロセス起動停止プロシージャ１２からの指示によって動的に登録された監視条件レコード以外の静的に定義された監視条件レコードは初期化しない。また、ＯＳブートプロシージャ１３は、ＯＳの起動時にプロセス起動停止プロシージャ１２を実行することもある。
【００５６】
稼動状況取得メソッド１６は、プロセスの稼動状況を取得するために用いるコマンド等のデータであり、例えば磁気ディスク装置９０ｇ（図８参照）に記憶されている。尚、後述するように自動実行アクション３７は第１の実施の形態と異なり監視サーバ３０で保持されるのに対し、この稼動状況取得メソッド１６は第１の実施の形態と同じく被監視サーバ１０で保持されることとしたのは、稼動状況取得メソッド１６が監視対象プロセス１１に依存するものだからであるが、稼動状況取得メソッド１６が監視サーバ３０で保持されることとしてもよい。
【００５７】
監視サーバ３０は、被監視サーバ１０ａ，１０ｂ，１０ｃの統合監視を実施するサーバコンピュータであり、監視装置の一例である。監視サーバ３０は、監視制御部３１と、監視条件レジストリ３４と、自動実行アクション３７と、直近稼動状況リスト３８とを含む。
監視制御部３１は、被監視サーバ１０で稼動する監視対象プロセス１１の監視を制御する。また、監視制御部３１は、ＯＳブートプロシージャ１３及びプロセス起動停止プロシージャ１２からの指示に応じて、監視条件レジストリ３４を更新する。より詳細には、監視制御部３１は、監視対象プロセス１１を監視する指示（以下、「監視指示」という）が監視コンソール５０から入力されるとこれを受け付ける受付部の一例としての監視指示受付部４１、監視対象プロセス１１に状態遷移イベントが発生したことを示す情報（状態遷移情報）を監視コンソール５０に出力する出力部の一例としての状態遷移出力部４４を備える。また、ＯＳブートプロシージャ１３から監視条件レコードの初期化が指示されると監視条件レジストリ３４内の被監視サーバ１０に関する監視条件レコードを初期化する監視条件初期化部４５、プロセス起動停止プロシージャ１２から監視条件の登録が指示されると監視条件レジストリ３４に監視条件レコードを登録する登録部の一例としての監視条件登録部４６、プロセス起動停止プロシージャ１２から監視条件の削除が指示されると監視条件レコードを監視条件レジストリ３４から削除する削除部の一例としての監視条件削除部４７を備える。更に、第１の実施の形態の監視エージェント１５と同様の監視対象プロセス１１の監視をリモートから行う監視部の一例としてのリモート監視部４８を備える。
【００５８】
監視条件レジストリ３４は、監視条件レコードを保持する記憶部の一例としてのファイル又はデータベースである。監視条件レコードには、サーバ名、プロセスラベル、プロセス名、プロセス実行ユーザ名、プロセスＩＤ、親プロセスＩＤ、プロセスインスタンス数上限、プロセスインスタンス数下限、稼動状況取得メソッド、自動実行アクション、通知イベント仕様、非監視時間帯スケジュール等の監視設定情報の一例としての監視条件が含まれる。即ち、監視条件レジストリ３４は被監視サーバ１０ａ，１０ｂ，１０ｃに関する監視条件レコードを含むので、監視条件には、第１の実施の形態で示した情報に加え、サーバ名を含めている。サーバ名以外の監視条件については第１の実施の形態で説明したので、ここでの説明は省略する。
【００５９】
自動実行アクション３７は、プロセスの再起動や電子メールでの障害通知を行うコマンド等のデータであり、例えば磁気ディスク装置９０ｇ（図８参照）に記憶されている。
直近稼動状況リスト３８は、監視制御部３１のリモート監視部４８が直近の監視サイクルで得た監視対象プロセスの状態（正常又は異常）を保持するリストである。直近稼動状況リスト３８は、磁気ディスク装置９０ｇ（図８参照）に記憶されたファイル内又はメインメモリ９０ｃ（図８参照）のリモート監視部４８が参照可能な領域内に保持され、リモート監視部４８の起動時に初期化される。
【００６０】
以上をまとめると、第１の実施の形態の監視システムと第２の実施の形態の監視システムとの主な違いは以下の点である。
第一に、第１の実施の形態では、監視エージェント１５が被監視サーバ１０上で稼動していたが、第２の実施の形態では、監視エージェントが被監視サーバ１０上で稼動する必要はなく、監視対象プロセス１１を監視サーバ３０からリモートで監視する方式（エージェントレス監視方式）にも対応している点である。
【００６１】
第二に、第１の実施の形態では、監視条件レジストリ１４及び直近稼動状況リスト１８が被監視サーバ１０上で分散管理され、その内容はその被監視サーバ１０に関するもののみとなっていたが、第２の実施の形態では、監視条件レジストリ３４及び直近稼動状況リスト３８が監視サーバ３０上で集中管理され、その内容は複数の被監視サーバ１０に関するものとなっている点である。
【００６２】
第三に、第１の実施の形態では、監視条件レジストリ１４及び直近稼動状況リスト１８が被監視サーバ１０上で更新されるが、第２の実施の形態では、監視条件レジストリ３４及び直近稼動状況リスト３８が、被監視サーバ１０からのイベント通知をトリガーとして、監視サーバ３０上で一元的に更新される点である。ここで、トリガーとなるイベント通知は、ＯＳブートプロシージャ１３、プロセス起動停止プロシージャ１２から行われる。尚、被監視サーバ１０は、イベント通知をネットワーク８０経由で行うので、到達確認機能及び再送機能を有することが望ましい。
【００６３】
次に、第２の実施の形態における監視システムの動作について詳細に説明する。
まず、プロセス起動停止プロシージャ１２の動作について説明する。
プロセス起動停止プロシージャ１２が監視対象プロセス１１を起動するときの動作は、図２のフローチャートに示した動作とほぼ同様であるが、第２の実施の形態では、監視条件レジストリ３４が監視サーバ３０上に存在するので、プロセス起動停止プロシージャ１２がネットワーク８０経由で監視条件レジストリ３４にアクセスする。
【００６４】
具体的には、図２のステップ１０２、１０３において、被監視サーバ１０の監視条件削除指示部２６が、監視条件レジストリ３４をプロセスラベルをキーに検索して監視対象プロセス１１の監視条件レコードが登録されているかどうかを判定するよう指示し、監視サーバ３０の監視条件削除部４７が、監視条件レジストリ３４をプロセスラベルをキーに検索して監視条件レジストリ３４に監視対象プロセス１１の監視条件レコードが登録されているかどうかを判定する。
また、図２のステップ１０４において、被監視サーバ１０の監視条件削除指示部２６が、監視条件レジストリ３４から監視対象プロセス１１の監視条件レコードを削除するよう指示し、監視サーバ３０の監視条件削除部４７が、監視条件レジストリ３４から監視対象プロセス１１の監視条件レコードを削除する。
更に、図２のステップ１０８において、被監視サーバ１０の監視条件登録指示部２５が、監視条件を含む監視条件レコードを監視条件レジストリ３４に登録するよう指示し、監視サーバ３０の監視条件登録部４６が、監視条件を含む監視条件レコードを監視条件レジストリ３４に登録する。
【００６５】
プロセス起動停止プロシージャ１２が監視対象プロセス１１を停止するときの動作は、図３のフローチャートに示した動作とほぼ同様であるが、第２の実施の形態では、監視条件レジストリ３４が監視サーバ３０上に存在するので、プロセス起動停止プロシージャ１２がネットワーク８０経由で監視条件レジストリ３４にアクセスする。
【００６６】
具体的には、図３のステップ１２１、１２２において、被監視サーバ１０の監視条件削除指示部２６が、監視条件レジストリ３４をプロセスラベルをキーに検索して監視対象プロセス１１の監視条件レコードが登録されているかどうかを判定するよう指示し、監視サーバ３０の監視条件削除部４７が、監視条件レジストリ３４をプロセスラベルをキーに検索して監視対象プロセス１１の監視条件レコードが登録されているかどうかを判定する。
また、図３のステップ１２３において、被監視サーバ１０の監視条件削除指示部２６が、監視条件レジストリ３４から監視対象プロセス１１の監視条件レコードを削除するよう指示し、監視サーバ３０の監視条件削除部４７が、監視条件レジストリ３４から監視対象プロセス１１の監視条件レコードを削除する。
【００６７】
次に、監視サーバ３０のリモート監視部４８の動作について説明する。
監視サーバ３０のリモート監視部４８の動作は、図４及び図５のフローチャートに示した監視エージェント１５の動作とほぼ同様であるが、第２の実施の形態では、監視条件レコードの登録や削除を監視サーバ３０側で行い、監視対象プロセス１１の監視やその際に用いる稼動状況取得メソッド１６の呼び出しをネットワーク８０経由で行う。
【００６８】
具体的には、図４のステップ１４１〜１４４、１４６、１４７において、リモート監視部４８が、監視サーバ３０にある監視条件レジストリ３４又は直近稼動状況リスト３８の参照、更新を行う。
また、図４のステップ１４８において、リモート監視部４８が、被監視サーバ１０から稼動状況取得メソッド１６を呼び出して実行する。
更に、図４のステップ１５０において、リモート監視部４８が、ＯＳが提供する機能を用いて被監視サーバ１０で稼動中のプロセスの情報をネットワーク８０経由で取得してその一覧を表示し、その中からプロセスラベルに基づいて監視対象プロセス１１を選択する。
また、図５のステップ１６１〜１６５、１６７において、リモート監視部４８が、監視サーバ３０にある監視条件レジストリ３４、自動実行アクション３７又は直近稼動状況リスト３８の参照、更新を行う。
更に、図５のステップ１６６において、リモート監視部４８が、監視対象プロセス１１について状態遷移イベントが発生したことを示す状態遷移情報を監視サーバ３０の状態遷移出力部４４へ通知すると共に監視サーバ３０内にロギングする。これにより、状態遷移出力部４４が状態遷移情報を監視コンソール５０に出力し、監視コンソール５０には、状態遷移情報に含まれるイベント重要度やメッセージテキスト等が表示される。
【００６９】
以上述べたように、本実施の形態では、監視対象プロセス１１の側で、自らに対する監視条件（プロセス名、プロセス実行ユーザ名、プロセスインスタンス数上限、プロセスインスタンス数下限、稼動状況取得メソッド、自動実行アクション、通知イベント仕様等）を定められたインターフェースで登録するようにし、監視エージェント１５等が、登録された監視条件に基づく監視を随時自動実行する構成を採用した。
このような構成により、以下のようなメリットを享受できる。
第一に、従来のように監視サーバ３０の側で事前に、被監視サーバ１０ごとの監視対象プロセス１１とその監視条件を個別に調査、集計、文書化し、設定、管理する必要がなくなる。
第二に、新たなサービス実装までのフェーズ途中でそのサービスを構成するプロセスの監視条件に変更が生じたとしても、監視サーバ３０の担当者側のチームと被監視サーバ１０の担当者側のチームとの間での連絡、調整が不要となる。
第三に、プロセスごとに最適な稼動状況取得メソッド、自動実行アクション、通知イベント仕様を、監視対象プロセス１１の側で任意に指定し、定義することが可能となり、かつ監視サーバ３０の側の設定に影響を与えずにそれらが任意のタイミングで変更可能となる。
【００７０】
また、本実施の形態によってもたらされる効果には、以下の点もある。
・従来の一般的な分散系監視システム構成（マネージャ・エージェント構成）内に容易に組み込み可能である点。
・監視対象プロセスそのものに対する実装上の制約や要請がなく、汎用性が高い点。
・プロセス起動停止プロシージャ１２さえ修正可能であれば、監視対象プロセス１１そのものの改変は不要であるため、既存提供サービスへの影響がなく、移行が容易である点。
・クラウド環境のような動的プロビジョニングが頻繁に行われる変更の多い環境や仮想化されたサーバ環境における監視ソリューションとして特に有効と考えられる点。
【００７１】
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図８は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるＣＰＵ（Central Processing Unit）９０ａと、Ｍ／Ｂ（マザーボード）チップセット９０ｂを介してＣＰＵ９０ａに接続されたメインメモリ９０ｃと、同じくＭ／Ｂチップセット９０ｂを介してＣＰＵ９０ａに接続された表示機構９０ｄとを備える。また、Ｍ／Ｂチップセット９０ｂには、ブリッジ回路９０ｅを介して、ネットワークインターフェイス９０ｆと、磁気ディスク装置（ＨＤＤ）９０ｇと、音声機構９０ｈと、キーボード／マウス９０ｉと、フレキシブルディスクドライブ９０ｊとが接続されている。
【００７２】
尚、図８において、各構成要素は、バスを介して接続される。例えば、ＣＰＵ９０ａとＭ／Ｂチップセット９０ｂの間や、Ｍ／Ｂチップセット９０ｂとメインメモリ９０ｃの間は、ＣＰＵバスを介して接続される。また、Ｍ／Ｂチップセット９０ｂと表示機構９０ｄとの間は、ＡＧＰ（Accelerated Graphics Port）を介して接続されてもよいが、表示機構９０ｄがＰＣＩ Ｅｘｐｒｅｓｓ対応のビデオカードを含む場合、Ｍ／Ｂチップセット９０ｂとこのビデオカードの間は、ＰＣＩ Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バスを介して接続される。また、ブリッジ回路９０ｅと接続する場合、ネットワークインターフェイス９０ｆについては、例えば、ＰＣＩ Ｅｘｐｒｅｓｓを用いることができる。また、磁気ディスク装置９０ｇについては、例えば、シリアルＡＴＡ（AT Attachment）、パラレル転送のＡＴＡ、ＰＣＩ（Peripheral Components Interconnect）を用いることができる。更に、キーボード／マウス９０ｉ、及び、フレキシブルディスクドライブ９０ｊについては、ＵＳＢ（Universal Serial Bus）を用いることができる。
【００７３】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００７４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００７５】
１０…被監視サーバ、１１…監視対象プロセス、１２…プロセス起動停止プロシージャ、１３…ＯＳブートプロシージャ、１４，３４…監視条件レジストリ、１５…監視エージェント、１６…稼動状況取得メソッド、１７，３７…自動実行アクション、１８，３８…直近稼動状況リスト、３０…監視サーバ、３１…監視制御部、５０…監視コンソール、８０…ネットワーク
【図１】
0005579650.tif 000002
【図２】
0005579650.tif 000003
【図３】
0005579650.tif 000004
【図４】
0005579650.tif 000005
【図５】
0005579650.tif 000006
【図６】
0005579650.tif 000007
【図７】
0005579650.tif 000008
【図８】
0005579650.tif 000009