(57)【特許請求の範囲】
【請求項１】
１又は２以上の物理サーバが提供する仮想環境下で動作する複数の仮想サーバを備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための装置であって、
前記複数の仮想サーバの中から、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定する、業務サーバ特定部と、
特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、エージェントサーバ選択部と、
を備え、
前記エージェントサーバ選択部は、
前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第１の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第２の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第３の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第４の条件を、順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
ことを特徴とするクラスタ監視装置。
【請求項２】
前記監視エージェントが、前記複数の仮想サーバのうちのいずれかによって起動している場合において、前記監視エージェントを起動している仮想サーバに障害が発生すると、そのことを契機として、前記業務サーバ特定部が、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定し、前記エージェントサーバ選択部が、前記監視エージェントを起動させる仮想サーバを選択する、
請求項１に記載のクラスタ監視装置。
【請求項３】
前記監視エージェントが、前記複数の仮想サーバのうちのいずれかによって起動している場合において、前記業務アプリケーションプログラムに関連する障害が発生し、前記業務アプリケーションプログラムのフェイルオーバが実行されると、そのことを契機として、前記業務サーバ特定部が、前記フェイルオーバによる引き継ぎ先となる仮想サーバを特定し、前記エージェントサーバ選択部が、前記監視エージェントを起動させる仮想サーバを選択する、
請求項１または２に記載のクラスタ監視装置。
【請求項４】
前記仮想サーバを動作させている物理サーバを特定するための情報を取得する、サーバ照合部を更に備え、
前記エージェントサーバ選択部が、取得された前記情報を更に用いて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
請求項１に記載のクラスタ監視装置。
【請求項５】
前記仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知する、マイグレーション検知部を更に備え、
前記マイグレーション検知部によって前記マイグレーションが検知された場合に、前記業務サーバ特定部が、再度、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定し、前記エージェントサーバ選択部が、再度、前記監視エージェントを起動させるサーバを選択する、
請求項１〜４のいずれかに記載のクラスタ監視装置。
【請求項６】
前記複数の仮想サーバの中から、それぞれに設定されている優先度に応じて、前記業務用のアプリケーションプログラムを動作させる仮想サーバを特定し、特定した仮想サーバに、前記業務用のアプリケーションプログラムを動作させる、業務アプリケーション起動部を、更に備えている、
請求項１〜５のいずれかに記載のクラスタ監視装置。
【請求項７】
１又は２以上の物理サーバが提供する仮想環境下で動作する複数の仮想サーバを備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための方法であって、
（ａ）前記複数の仮想サーバの中から、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定する、ステップと、
（ｂ）特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、ステップと、
を有し、
前記（ｂ）のステップにおいて、
前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第１の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第２の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第３の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第４の条件を、順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
することを特徴とするクラスタ監視方法。
【請求項８】
コンピュータによって、１又は２以上の物理サーバが提供する仮想環境下で動作する複数の仮想サーバを備えるクラスタシステムにおける業務用のアプリケーションプログラム及び監視エージェントの起動を制御するためのプログラムであって、
前記コンピュータに、
（ａ）前記複数の仮想サーバの中から、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定する、ステップと、
（ｂ）特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、ステップと、
を実行させ、
前記（ｂ）のステップにおいて、
前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第１の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第２の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第３の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第４の条件を、順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、高可用性クラスタシステムにおいて監視エージェントを起動するための、クラスタ監視装置、クラスタ監視方法、及びこれらを実現するためのプログラムに関する。
【背景技術】
【０００２】
従来から、データベースなどの業務アプリケーションの監視には、エージェント方式による監視が行なわれている。エージェント方式では、監視エージェントと呼ばれる監視プログラムが、クライアントからのアクセスと同様の方法で、業務アプリケーションを実行するサーバに接続する。そして、監視エージェントは、業務アプリケーションに対して、ダミーの要求を行い、業務アプリケーションから正常な応答があるかどうかを確認する（例えば、特許文献１参照。）。
【０００３】
具体的には、特許文献１は、監視対象となるサーバとは別のコンピュータ上で、監視エージェントが構築されたシステムを開示している。特許文献１に開示されたシステムでは、サーバ、ディスク、ネットワーク等のシステムコンポーネントを個々に監視する場合と異なり、監視エージェントは、システムを利用する側の立場に立って、適切なサービスが提供されているかという視点で監視を行なうことができる。
【０００４】
また、近年においては、ＨＡ（高可用性：High Availability）クラスタシステムが登場している。ＨＡクラスタシステムは、いくつものサーバをあたかも１つのサーバのように稼動させるシステムであり、このシステムでは、１台のサーバが故障等で停止しても、システム全体を止めることなく、処理を続行しつつ、修理及び交換を行なうことが可能となっている。また、特許文献１に開示されたシステムは、このようなＨＡクラスタシステムにも適用できると考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９３１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に開示されたシステムでは、監視エージェントが起動されるサーバは固定されており、動的に監視エージェントを起動すべき最適なサーバを判定して、そのサーバ上で監視エージェントを起動することは不可能である。このため、上記特許文献１に開示されたシステムを、ＨＡクラスタシステムに適用した場合は、監視エージェントを起動しているサーバがダウンすると、それ以降監視が実施できなくなってしまう。
【０００７】
また、上記特許文献１に開示されたシステムでは、業務アプリケーションを実行しているサーバ上で、監視エージェントを起動することはできないが、負荷の分散の点からは、このような態様が求められる場合もある。上記特許文献１に開示されたシステムをＨＡクラスタシステムに適用した場合は、負荷分散を十分に図れないという問題も発生する。
【０００８】
本発明の目的の一例は、上記問題を解消し、クラスタシステムにおいて、監視エージェントの起動場所を動的に切り替えることができ、且つ、クラスタシステムにかかる負荷の分散を図り得る、クラスタ監視装置、クラスタ監視方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一側面におけるクラスタ監視装置は、複数のサーバ装置を備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための装置であって、
前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、業務サーバ特定部と、
特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、エージェントサーバ選択部と、
を備えていることを特徴とする。
【００１０】
また、上記目的を達成するため、本発明の一側面におけるクラスタ監視方法は、複数のサーバ装置を備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための方法であって、
（ａ）前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、ステップと、
（ｂ）特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、ステップと、
を有することを特徴とする。
【００１１】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、複数のサーバ装置を備えるクラスタシステムにおける業務用のアプリケーションプログラム及び監視エージェントの起動を制御するためのプログラムであって、
前記コンピュータに、
（ａ）前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、ステップと、
（ｂ）特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１２】
以上のように、本発明によれば、クラスタシステムにおいて、監視エージェントの起動場所を動的に切り替えることができ、且つ、クラスタシステムにかかる負荷の分散を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態１におけるクラスタ監視装置によって構築されたクラスタシステムの構成を示す図である。
【図２】図２は、本発明の実施の形態１におけるクラスタ監視装置の構成を示すブロック図である。
【図３】図３は、本発明の実施の形態１におけるクラスタ監視装置の動作を示すフロー図である。
【図４】図４は、本発明の実施の形態２におけるクラスタ監視装置の構成を示すブロック図である。
【図５】図５は、本発明の実施の形態２におけるクラスタ監視装置の動作を示すフロー図である。
【図６】図６は、本発明の実施の形態２におけるクラスタ監視装置の動作を模式的に表わした図である。
【図７】図７は、本発明の実施の形態１及び２におけるクラスタ監視装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１４】
（発明の概要）
例えば、ＨＡクラスタシステムが、１又は２以上の物理サーバが提供する仮想環境下で動作する仮想サーバによって構成されているとする。この場合、従来から、業務サービスを提供するためのアプリケーションプログラム（以下「業務アプリケーション」と表記する。）が切替の単位（フェイルオーバグループ）として定義されており、任意の仮想サーバでの起動、及び業務アプリケーションを起動する仮想サーバの切替が可能となっている。
【００１５】
これに対して、本発明では、更に、業務アプリケーションを監視するために設けられたフェイルオーバグループ（以下「監視用フェイルオーバグループ」と表記する。）も定義することができる。そして、本発明では、業務アプリケーションによる業務用サービスの可用性を最大化するため、監視用フェイルオーバグループの起動に最適な仮想サーバを選択し、その仮想サーバ上で監視用フェイルオーバグループが起動される。
【００１６】
また、「最適な仮想サーバ」の選択は、具体的には、例えば、業務アプリケーションが起動している物理サーバと、監視用フェイルオーバグループが起動している物理サーバとが別々となるように行なわれる。なお、以降においては、従来からの「フェイルオーバグループ」を監視用フェイルオーバグループと区別するため、この「フェイルオーバグループ」を「業務用フェイルオーバグループ」と表記する。
【００１７】
また、本発明では、監視用フェイルオーバグループが起動した後も、業務アプリケーション及び監視用フェイルオーバグループがどの物理サーバ上で起動しているかを、常時確認することができる。この場合において、仮想化基盤の構成が変わったなどのシステム構成に変更が生じた際には、再度、同様の基準に照らして最も可用性が高くなるように、監視用フェイルオーバグループの起動に最適な起動サーバが選択される。そして、選択された起動サーバが現状の起動サーバと異なる場合は、切り替えが行なわれる。
【００１８】
（実施の形態１）
以下、本発明の実施の形態１における、クラスタ監視装置、クラスタ監視方法、及びプログラムについて、図１〜図２を参照しながら説明する。
【００１９】
［システム構成］
最初に、図１を用いて、本実施の形態１で対象となるクラスタシステムについて説明する。図１は、本発明の実施の形態１におけるクラスタ監視装置によって構築されたクラスタシステムの構成を示す図である。
【００２０】
図１に示すように、本実施の形態においては、サーバ５０、サーバ６０、サーバ７０、及びサーバ８０を備える高可用性のクラスタシステム３００が構築されている。また、本実施の形態では、サーバ装置５０〜８０それぞれは、物理サーバ１００及び２００が提供する仮想環境下で動作する仮想サーバであり、以下、それぞれ「仮想サーバ」と表記する。
【００２１】
具体的には、仮想サーバ５０及び６０は、物理サーバ１００に備えられた仮想化基盤管理装置３３０によって構築され、仮想サーバ７０及び８０は、物理サーバ２００に備えられた仮想化基盤管理装置３４０よって構築されている。また、仮想化基盤管理装置３３０及び仮想化基盤管理装置３４０は、それぞれ、仮想環境を実現するためのソフトウェア（仮想化ソフト）によって構築されている。各仮想化基盤管理装置は、それが導入されている物理サーバで動作する仮想サーバを管理している。
【００２２】
また、物理サーバ１００と物理サーバ２００とは、ネットワーク３１０を介して相互に接続されている。ネットワーク３１０には、更に、各仮想サーバが提供する業務サービスを利用するクライアント３２０も接続されている。
【００２３】
また、図１に示すように、各仮想サーバには、業務アプリケーションと監視エージェントとが導入されており、各仮想サーバは、これらを動作させることができる。具体的には、仮想サーバ５０には、業務アプリケーション５１と監視エージェント５２とが導入され、仮想サーバ６０には、業務アプリケーション６１と監視エージェント６２とが導入されている。同様に、仮想サーバ７０には、業務アプリケーション７１と監視エージェント７２とが導入され、仮想サーバ８０には、業務アプリケーション８１と監視エージェント８２とが導入されている。
【００２４】
更に、本実施の形態１におけるクラスタ監視装置１０は、仮想サーバ５０〜８０それぞれに構築されており、各クラスタ監視装置１０は、互いに協調して、業務アプリケーション及び監視エージェントの起動を制御する。そして、具体的には、業務アプリケーション５１、６１、７１、８１は、全体でひとつの業務用フェイルオーバグループ９１を構成しており、各クラスタ監視装置１０は、これらを起動するサーバの切り替えを実行する。更に、監視エージェント５２、６２、７２、８２は、全体でひとつ監視用フェイルオーバグループ９２を構成しており、各クラスタ監視装置１０は、これら起動するサーバの切り替えも実行する。
【００２５】
また、各仮想サーバには、業務アプリケーションを動作させるための優先度が設定されている。本実施の形態では、同一順位は存在せず、任意の二つの仮想サーバ間には必ず優先度の高低がある。本実施の形態１では、仮想サーバ５０、仮想サーバ６０、仮想サーバ７０、仮想サーバ８０の順に、高から低となるように優先度が設定されているものとする。
【００２６】
また、通常、業務アプリケーションには、対応する監視エージェントが対応付けられている。本実施の形態１においては、業務アプリケーション５１、６１、７１、８１には、監視エージェント５２、６２、７２、８３が対応付けられており、図１には、これらのみが図示されている。
【００２７】
なお、本実施の形態１は、この例に限定されず、クラスタシステム３００においては、他の複数の業務アプリケーションと、それぞれに対応した監視エージェントとが存在していても良い。例えば、データベースの複数のインスタンス同士をアクティブ−アクティブ構成とした場合、ファイルサーバをアクティブ-アクティブ構成とした場合、等では、クラスタシステムにおいて、複数の業務アプリケーションと、それぞれに対応する監視エージェントとが同時に存在することとなる。その他、データベース−ファイルサーバ等の異なる業務アプリケーション同士のアクティブ−アクティブ構成も挙げられる。
【００２８】
また、本実施の形態１では、説明のため、業務アプリケーション５１、６１、７１、及び８１と、監視エージェント５２、６２、７２、及び８２とのペアのみに着目する。また、このペア以外の業務アプリケーション及び監視エージェントについては、以降において、「他の業務アプリケーション」、「他の監視エージェント」と表記する。
【００２９】
［装置構成］
続いて、図２を用いて、本実施の形態１におけるクラスタ監視装置の構成について説明する。図２は、本発明の実施の形態１におけるクラスタ監視装置の構成を示すブロック図である。また、本実施の形態では、各仮想サーバにおけるクラスタ監視装置は、全て同様の構成を備えているため、図２においては、そのうちの一つのみが図示されている。
【００３０】
図２に示すように、本実施の形態１におけるクラスタ監視装置１０は、監視エージェントの管理及び制御を行う監視エージェント制御装置２０を備えている。また、監視エージェント制御装置２０は、業務サーバ特定部２１と、エージェントサーバ選択部２２とを備えている。
【００３１】
業務サーバ特定部２１は、仮想サーバ５０〜８０の中から、業務アプリケーションが動作している仮想サーバを特定する。また、エージェントサーバ選択部２２は、特定された仮想サーバに基づいて、仮想サーバ５０〜８０の中から、監視エージェントを起動させるサーバを選択する。
【００３２】
このように、本実施の形態１では、クラスタ監視装置１０は、クラスタシステム３００において業務アプリケーションを動作させている仮想サーバを監視し、該当する仮想サーバを特定する。そして、クラスタ監視装置１０は、特定した仮想サーバに基づいて、監視エージェントの起動に適切なサーバ（例えば、後述するように、業務アプリケーションを動作させている仮想サーバとは物理サーバが異なる仮想サーバなど）を選択することができる。つまり、本実施の形態１によれば、クラスタシステム３００において、監視エージェントの起動場所を動的に切り替えることができる。そして、この結果、クラスタシステム３００にかかる負荷の分散が図られる。
【００３３】
ここで、本実施の形態１におけるクラスタ監視装置１０の構成を更に具体的に説明する。まず、図２に示すように、本実施の形態では、監視エージェント制御装置２０は、起動サーバ特定部２１及びエージェントサーバ選択部に加えて、対応する監視エージェントと、エージェント指示部２３と、サーバ照合部２４とを備えている。
【００３４】
このうち、エージェント指示部２３は、エージェントサーバ選択部２２によって仮想サーバが選択されると、選択に応じて、各仮想サーバ上の監視エージェントに対して起動及び停止を指示する。また、サーバ照合部２４は、仮想サーバが動作している物理サーバを特定するため、仮想化基盤管理装置３３０及び３４０に対して照合を要求し、物理サーバを特定するための情報を収集する。収集された情報は、エージェントサーバ選択部２２による仮想サーバの選択に利用される。
【００３５】
また、本実施の形態１においては、クラスタ監視装置１０は、監視エージェント制御装置２０に加えて、業務アプリケーションの管理及び制御を行う業務アプリケーション制御装置３０と、クラスタ及び仮想サーバの情報を記憶する記憶装置４０とを備えている。このうち、業務アプリケーション制御装置３０は、業務アプリケーションを起動するための業務アプリケーション起動部３１を備えている。
【００３６】
また、記憶装置４０は、更に、業務サーバ記憶部４１と、エージェントサーバ記憶部４２とを備えている。そして、業務サーバ記憶部４１は、動作している業務アプリケーションとそれを動作させている仮想サーバとを特定する情報を格納している。また、エージェントサーバ記憶部４２は、監視エージェントとそれを動作させている仮想サーバとを特定する情報を格納している。
【００３７】
［装置動作］
次に、本発明の実施の形態１におけるクラスタ監視装置１０の動作について図３を用いて説明する。図３は、本発明の実施の形態１におけるクラスタ監視装置の動作を示すフロー図である。以下の説明においては、適宜図１及び図２を参酌する。また、本実施の形態１では、クラスタ監視装置１０を動作させることによって、クラスタ監視方法が実施される。よって、本実施の形態におけるクラスタ監視方法の説明は、以下のクラスタ監視装置１０の動作説明に代える。
【００３８】
前提として、仮想サーバ５０〜８０それぞれにおいて、各クラスタ監視装置１０は下記に示す各ステップが実行されるように、互いに連携して動作する。つまり、各ステップでは、その内容に応じて、各クラスタ監視装置１０が互いに協調して論理的に同一の処理を行なったり、対応するクラスタ監視装置１０のみが単独で処理を行なったりすることになる。
【００３９】
具体的には、下記に示すステップのうち、ステップＡ２〜Ａ１４は、各クラスタ監視装置１０が協調して処理するステップであり、ステップＡ１５は対応するクラスタ監視装置１０のみが単独で処理するステップである。
【００４０】
まず、クラスタ監視装置１０において全てのコンポーネントが正常に起動した状態で、外部から業務アプリケーションの実行が指示されると、業務アプリケーション起動部３１は、４つの仮想サーバ５０〜８０のうち、最も優先度の高い仮想サーバ５０上で業務アプリケーション５１を起動する（ステップＡ１）。
【００４１】
同時に、ステップＡ１では、記憶装置４０内の業務サーバ記憶部４１は、業務アプリケーション５１は仮想サーバ５０上で起動していることを特定する情報を記憶する。なお、この時点では、未だ監視エージェントはどの仮想サーバ上でも動作していない状態である。
【００４２】
次に、業務アプリケーション起動部３１は、業務アプリケーション５１の起動が完了すると、起動完了を示す情報を、監視エージェント制御装置２０内の業務サーバ特定部２１に通知する（ステップＡ２）。
【００４３】
ステップＡ２が実行されると、監視エージェント制御装置２０において、業務サーバ特定部２１が、業務アプリケーション起動部３１からの通知を受け取り、これを契機として、業務サーバ記憶部４１にアクセスする。そして、業務サーバ特定部２１は、業務サーバ記憶部４１に格納されている情報に基づいて、業務アプリケーションが起動している仮想サーバを特定する（ステップＡ３）。なお、本実施の形態では、業務サーバ特定部２１は、業務アプリケーション５１が起動している仮想サーバ５０を特定する。
【００４４】
続いて、業務サーバ特定部２１は、サーバ照合部２４に対して、仮想化基盤管理装置３３０及び３４０への照合を行なわせる。サーバ照合部２４は、仮想サーバが動作している物理サーバを特定するため、仮想化基盤管理装置３３０及び３４０に対して照合を要求し、物理サーバを特定するための情報を収集し、収集した情報を業務サーバ特定部２１に返却する。これにより、業務サーバ特定部２１は、特定した仮想サーバが動作している物理サーバを特定する（ステップＡ４）。
【００４５】
本実施の形態では、業務サーバ特定部２１は、例えば、仮想サーバ５０が動作している物理サーバとして、物理サーバ１００を特定する。また、業務サーバ特定部２１は、ステップＡ３で特定した仮想サーバとステップＡ４で特定した物理サーバとの情報を、エージェントサーバ選択部２２に渡す。
【００４６】
次に、エージェントサーバ選択部２２は、次の４つの（条件１）〜（条件４）を順に適用して、監視エージェントを起動させるべき仮想サーバを選択する。
【００４７】
（条件１）ステップＡ４で特定された物理サーバ（業務アプリケーションが起動している物理サーバ）とは別の物理サーバ上で動作している仮想サーバを優先する。
（条件２）ステップＡ３で特定された仮想サーバ（業務アプリケーションが起動している仮想サーバ）とは異なる仮想サーバを優先する。
（条件３）クラスタシステムが管理している他の業務アプリケーションが起動していない物理サーバ上で動作している仮想サーバ（監視エージェント５２〜８２が監視対象としていないアプリケーションを動作させていない物理サーバ上で動作している仮想サーバ）を優先する。
（条件４）業務アプリケーションを動作させる際の優先度が最も低い仮想サーバを優先する。
【００４８】
まず、エージェントサーバ選択部２２は、条件１を満たす仮想サーバが存在しているかどうかを判定する（ステップＡ５）。ステップＡ５の判定の結果、存在していない場合は、エージェントサーバ選択部２２は、ステップＡ１４を実行する。一方、ステップＡ５の判定の結果、存在している場合は、エージェントサーバ選択部２２は、存在している仮想サーバが複数であるかどうかを判定する（ステップＡ６）。
【００４９】
そして、エージェントサーバ選択部２２は、単一である場合はステップＡ１５を実行し、複数である場合は、条件１を満たさない仮想サーバを選択肢から除外する（ステップＡ７）。
【００５０】
次に、エージェントサーバ選択部２２は、ステップＡ７で絞られた選択肢の中から、条件２を満たす仮想サーバが存在しているかどうかを判定する（ステップＡ８）。ステップＡ８の判定の結果、存在していない場合は、エージェントサーバ選択部２２は、ステップＡ１４を実行する。一方、ステップＡ８の判定の結果、存在している場合は、エージェントサーバ選択部２２は、存在している仮想サーバが複数であるかどうかを判定する（ステップＡ９）。
【００５１】
そして、エージェントサーバ選択部２２は、単一である場合はステップＡ１５を実行し、複数である場合は、条件２を満たさない仮想サーバを選択肢から除外する（ステップＡ１０）。
【００５２】
次に、エージェントサーバ選択部２２は、ステップＡ１０で絞られた選択肢の中から、条件３を満たす仮想サーバが存在しているかどうかを判定する（ステップＡ１１）。ステップＡ１１の判定の結果、存在していない場合は、エージェントサーバ選択部２２は、ステップＡ１４を実行する。一方、ステップＡ８の判定の結果、存在している場合は、エージェントサーバ選択部２２は、存在している仮想サーバが複数であるかどうかを判定する（ステップＡ１２）。
【００５３】
そして、エージェントサーバ選択部２２は、単一である場合はステップＡ１５を実行し、複数である場合は、条件３を満たさない仮想サーバを選択肢から除外する（ステップＡ１３）。
【００５４】
ステップＡ１４では、エージェントサーバ選択部２２は、条件４を満たす仮想サーバを特定する。なお、上記の条件１〜３による絞り込みの過程で、候補となる仮想サーバが存在しなくなっていた場合は、エージェントサーバ選択部２２は、その直前まで候補として残っていた仮想サーバから、条件４に照らして対象の仮想サーバを１つ特定する。
【００５５】
また、業務アプリケーションを動作させるための優先度は、サーバ間で必ず高低がつくように設定されているものとする。従って、条件１〜３による絞り込みでは、対象となる仮想サーバを一つに絞り込むことができなかった場合でも、条件４により一意に仮想サーバが特定される。なお、本実施の形態では条件１〜条件４のうちの１部のみが適用されても良い。また、適用の順序は上述の例に限定されない。
【００５６】
その後、エージェントサーバ選択部２２は、ステップＡ５、Ａ８、Ａ１１、Ａ１４の結果に基づいて、監視エージェントを起動させるべき仮想サーバを選択する（ステップＡ１５）。ステップＡ１５が実行されると、選択された仮想サーバ上のクラスタ監視装置１０のみにおいて、エージェント指示部２３が、選択された仮想サーバに対して、監視エージェントの起動を指示する。ステップＡ１〜Ａ１５は、業務アプリケーションの実行が指示される度に繰り返し実行される。
【００５７】
また、本実施の形態１では、既に、監視エージェントが起動している状態にあるときに、それを起動させている仮想サーバに障害が発生した場合は、そのことを契機として、ステップＡ３〜Ａ１５を実行することもできる。つまり、この場合、ステップＡ３では、業務サーバ特定部２１は、監視エージェントを起動させている仮想サーバが停止すると、業務サーバ記憶部４１にアクセスして、業務アプリケーションが起動している仮想サーバを特定する。その後、ステップＡ４以降が実施される。
【００５８】
更に、本実施の形態１では、業務アプリケーションに関連する障害が発生し、これに伴って、業務アプリケーションのフェイルオーバが実施された場合も、ステップＡ１〜Ａ１５が実行される。この場合、ステップＡ１では、フェイルオーバによる引き継ぎ先の仮想サーバが特定され、これが起動される。その後、ステップＡ２〜Ａ１５の各ステップにより、改めて監視エージェントを起動すべき仮想サーバが判定され、監視エージェントが動作する仮想サーバの切り替えが行なわれる。
【００５９】
また、「業務アプリケーションに関連する障害」には、業務アプリケーション自体に発生した障害だけでなく、業務アプリケーションを実行するサーバに発生した障害、業務アプリケーションで利用されるネットワーク経路及びネットワーク機器で発生した障害も含まれる。
【００６０】
ここで、具体例に沿って、上記ステップＡ３〜Ａ１５を説明する。まず、エージェントサーバ選択部２２は、条件１に基づいて、業務アプリケーションが起動している物理サーバ１００とは、異なる物理サーバ、つまり物理サーバ２００で動作している仮想サーバを列挙する。そして、エージェントサーバ選択部２２は、サーバ照合部２４に照会をかけ、その結果から、仮想サーバ７０及び８０がそれに該当し、条件１を満たしていると判定する（ステップＡ５）。
【００６１】
次に、エージェントサーバ選択部２２は、複数の仮想サーバが選択されたので、ステップＡ７に進み、選択されなかった仮想サーバ５０及び６０を選択肢から除外する。
【００６２】
条件１を設ける理由は、業務アプリケーションが起動している物理サーバとは異なる物理サーバ上で監視エージェントを起動することにより、通常外部からアクセスするクライアントにより近い立場からの監視を実現するためである。
【００６３】
次に、エージェントサーバ選択部２２は、条件２に基づいて、条件１を満たす仮想サーバ７０及び８０のうち、業務アプリケーションが起動していない側の仮想サーバを列挙する。そして、エージェントサーバ選択部２２は、業務サーバ記憶部４１に照会をかけ、その結果から、仮想サーバ７０及び８０は、共に業務アプリケーションを起動しておらず、条件２を満たしていると判定する（ステップＡ８）。
【００６４】
次に、エージェントサーバ選択部２２は、複数の仮想サーバが選択されたので、ステップＡ１０に進む。但し、この場合は、条件から外れる仮想サーバは存在しないため、どのサーバも選択肢から除外されない。
【００６５】
条件２を設ける理由は、業務アプリケーションが起動している仮想サーバとは異なる仮想サーバで監視エージェントを起動することにより、通常外部からアクセスするクライアントにより近い立場からの監視を実現するためである。
【００６６】
次に、エージェントサーバ選択部２２は、条件３に基づいて、条件２を満たす仮想サーバ７０及び８０のうち、他の業務アプリケーションが起動していない物理サーバを列挙する。仮想サーバ７０及び８０を動作させる物理サーバ２００では、他の業務アプリケーションは起動していないため、仮想サーバ７０及び８０は、共に条件３を満たしていると判定される（ステップＡ１１）。
【００６７】
次に、エージェントサーバ選択部２２は、複数の仮想サーバが選択されたので、ステップＡ１３に進む。但し、この場合も、条件から外れる仮想サーバは存在しないため、どのサーバも選択肢から除外されない。
【００６８】
条件３を設ける理由は、他の業務アプリケーションが起動している物理サーバとは異なる物理サーバで監視エージェントを起動することにより、業務アプリケーション及び監視エージェントが与える、物理サーバへの負荷の分散を図るためである。
【００６９】
次に、エージェントサーバ選択部２２は、条件４に基づいて、条件３を満たす仮想サーバ７０及び８０のうち、業務アプリケーションを動作させるための優先度が最も低い仮想サーバを選定する。仮想サーバ７０の優先度は、仮想サーバ８０のそれよりも高いため、仮想サーバ８０が条件４を満たしていると判定される（ステップＡ１４）。
【００７０】
条件４を設ける理由は、業務アプリケーションの起動先として優先度の低い仮想サーバを選ぶことにより、将来サーバダウン等でフェイルオーバが発生した際に、監視エージェントと業務アプリケーションとの起動サーバが重なる可能性を低くすることができるからである。
【００７１】
以上の要領で、エージェントサーバ選択部２２は、仮想サーバ８０を、監視エージェントを起動すべき仮想サーバとして選択し（ステップＡ１５）、エージェント指示部２３にその情報を渡す。これにより、エージェント指示部２３は、仮想サーバ８０上の監視エージェント８２を起動する。同時に、エージェント指示部２３は、エージェントサーバ記憶部４２に、監視エージェントの起動サーバとして仮想サーバ８０を登録する。
【００７２】
［プログラム］
本実施の形態１におけるプログラムは、コンピュータに、図３に示すステップＡ１〜Ａ１５を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１におけるクラスタ監視装置１０とクラスタ監視方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、監視エージェント制御装置２０及び業務アプリケーション制御装置３０として機能し、処理を行なう。
【００７３】
［実施の形態１による効果］
以上のように、本実施の形態１によれば、クラスタシステム３００において、監視エージェントの起動場所を動的に切り替えることができる。また、監視エージェントが起動している仮想サーバがダウンした場合でも、自動的に他の仮想サーバ上に監視エージェントを切り替えることで、監視を継続することができる。
【００７４】
更に、本実施の形態１では、監視エージェントのモジュールを、クラスタ監視装置１０を構成するためのソフトウェアの一部として提供することができる。この場合、一般的なクラスタシステムを構築する場合と略同一の手間で、本実施の形態１におけるクラスタ監視装置１０を構築し、運用することができる。よって、本実施の形態では、クラスタ監視装置１０の構築にかかるコストの上昇を低減することができる。
【００７５】
また、この構築及び運用の手間がかからないという効果は、運用管理ソフトのカテゴリにおいて、従来「エージェントレス」技術と呼称されていた技術では実現できなかった特徴である。なお、「エージェントレス」技術とは、業務用とは異なるサーバによって監視マネージャを構築し、そこから業務アプリケーションの監視を行う技術である。
【００７６】
また、本実施の形態１では、業務アプリケーションが起動しているものとは異なるサーバから、クライアント視点での監視が可能になる。通常、クライアントは業務アプリケーションが動作している環境とは離れたところから接続してサービスを利用している。従って、本実施の形態１によれば、実際のクライアントに近い立場での業務アプリケーションを監視することができる。結果、物理的なネットワーク障害が発生した場合、業務アプリケーションが使用しているポートがファイアウォールなどによりフィルタリングされた場合等、業務アプリケーションと同一のサーバ上から監視行なった場合では検出できない異常も検出することができる。
【００７７】
つまり、監視エージェントが業務アプリケーションと同一の物理サーバ又は仮想サーバ上で実行されている場合、監視エージェントは、物理ネットワーク及び仮想ＯＳのファイアウォール機構を介しない通信によって監視を行う。このため、実際には、ネットワーク上の離れた位置にいる端末からはアクセスができない状態が発生していても、監視エージェントは、その状態を検出できない事態が発生する。これに対して、本実施の形態１では、異なる物理サーバ及び仮想サーバを優先して監視エージェントを起動するため、このような場合でも確実に異常を検出することができる。
【００７８】
また、本実施の形態１では、業務アプリケーションの起動していない側の物理サーバを識別し、その上で、この物理サーバによって優先的に監視エージェントを動作させる。このため、業務アプリケーションと監視エージェントとが物理サーバに与える負荷を分散させることができ、各物理サーバの持つ資源を有効に利用することが可能となる。
【００７９】
（実施の形態２）
次に、本発明の実施の形態２における、クラスタ監視装置、クラスタ監視方法、及びプログラムについて、図４〜図６を参照しながら説明する。
【００８０】
［装置構成］
最初に、図４を用いて、本実施の形態２におけるクラスタ監視装置の構成について説明する。図４は、本発明の実施の形態２におけるクラスタ監視装置の構成を示すブロック図である。
【００８１】
図４に示すように、本実施の形態２におけるクラスタ監視装置１１は、図２に示した実施の形態１におけるクラスタ監視装置１０と異なり、監視エージェント制御装置２０において、マイグレーション検知部２５を備えている。
【００８２】
マイグレーション検知部２５は、仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知することができる。そして、マイグレーション検知部２５によってマイグレーションが検知されると、業務サーバ特定部２１は、再度、業務アプリケーションが動作している仮想サーバを特定し、エージェントサーバ選択部２２は、再度、監視エージェントを起動させる仮想サーバを選択する。
【００８３】
例えば、監視エージェント８２が起動している状態で、外部からの仮想化基盤管理装置３３０又は３４０への操作等によって、仮想サーバ５０が物理サーバ１００から物理サーバ２００にマイグレーションされたとする。この場合、そのままの状態では、同一の物理サーバ２００によって、業務アプリケーションと監視エージェントとの両方が起動することになり、実施の形態１で述べた効果が得られない状態となる。
【００８４】
しかし、実施の形態２においては、マイグレーション発生のタイミングで、監視エージェントが適切な仮想サーバで動作しているかの判定が改めて行なわれ、他に適切な仮想サーバが存在する場合は、監視エージェントが動作する仮想サーバの切り替えが行なわれる。結果、実施の形態１で述べた効果を得ることが可能となる。
【００８５】
［装置動作］ 
次に、本発明の実施の形態２におけるクラスタ監視装置１１の動作について図５及び図６を用いて説明する。図５は、本発明の実施の形態２におけるクラスタ監視装置の動作を示すフロー図である。図６は、本発明の実施の形態２におけるクラスタ監視装置の動作を模式的に表わした図である。
【００８６】
以下の説明においては、適宜図４を参酌する。また、本実施の形態２では、クラスタ監視装置１１を動作させることによって、クラスタ監視方法が実施される。よって、本実施の形態におけるクラスタ監視方法の説明は、以下のクラスタ監視装置１１の動作説明に代える。
【００８７】
まず、図５に示すように、マイグレーション検知部２５は、定期的に、仮想化基盤管理装置３３０及び３４０にアクセスして、各仮想基盤が動作している物理サーバを確認し、マイグレーション（図６参照）が発生しているかどうかを判定する（ステップＢ１）。
【００８８】
ステップＢ１の判定の結果、マイグレーションが発生していない場合は、マイグレーション検知部２５は待機状態となり、設定時間の経過後に再度ステップＢ１を実行する。一方、ステップＢ１の判定の結果、マイグレーションが発生している場合は、マイグレーション検知部２５は、そのことを、業務サーバ特定部２１に通知する（ステップＢ２）。
【００８９】
なお、上述の例では、マイグレーション検知部２５が、定期的に、仮想化基盤管理装置３３０及び３４０にアクセスすることによってマイグレーションの発生を検知しているが、これに限定されることはない。本実施の形態２は、仮想化基盤管理装置３３０及び３４０が、マイグレーションの発生をマイグレーション検知部２５に通知する態様であっても良い。
【００９０】
次に、ステップＡ２が実行されると、業務サーバ特定部２１は、マイグレーション検知部２５からの通知を契機として、業務サーバ記憶部４１にアクセスし、そこに格納されている情報に基づいて、業務アプリケーションが起動している仮想サーバを特定する（ステップＢ３）。更に、業務サーバ特定部２１は、サーバ照合部２４に対して、仮想化基盤管理装置３３０及び３４０への照合を行なわせ、照合結果から、特定した仮想サーバが動作している物理サーバを特定する（ステップＢ４）なお、ステップＢ３及びＢ４は、それぞれ、図３に示したステップＡ３及びＡ４と同様のステップである。
【００９１】
次に、エージェントサーバ選択部２２は、ステップＢ５〜Ｂ１５を実行し、実施の形態１と同様に、（条件１）〜（条件４）を順に適用して、監視エージェントを起動させるべき仮想サーバを選択する。なお、ステップＢ５〜Ｂ１５は、それぞれ、図３に示したステップＡ５〜Ａ１５と同様のステップである。
【００９２】
具体的には、本実施の形態２では、まず条件１より、物理サーバ１００上で動作している仮想サーバ６０が条件を満たしていると判定される（ステップＢ５）。条件１を満たしている仮想サーバは、１つだけしか存在しないため、エージェントサーバ選択部２２は、仮想サーバ６０を、監視エージェントを起動すべき仮想サーバとして選択する（ステップＢ１５）。その後、エージェントサーバ選択部２２は、エージェント指示部２３にその情報を渡す。
【００９３】
また、エージェント指示部２３は、直前まで起動していた仮想サーバ８０上の監視エージェント８２を停止するとともに、仮想サーバ６０上の監視エージェント６２を起動して監視を継続する。同時に、エージェントサーバ記憶部４２において、監視エージェントの起動サーバとして仮想サーバ８０を削除すると共に、仮想サーバ６０を登録する。
【００９４】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図５に示すステップＢ１〜Ｂ１５を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２におけるクラスタ監視装置１１とクラスタ監視方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、監視エージェント制御装置２０及び業務アプリケーション制御装置３０として機能し、処理を行なう。
【００９５】
［実施の形態２による効果］
以上のように、本実施の形態２によれば、外部からのマイグレーションなどで運用中に構成が変更された場合でも、異なる物理サーバからの監視を継続することができる（図６参照）。また、本実施の形態２を用いた場合も、実施の形態１で述べた効果を得ることができる。
【００９６】
［その他の例］
本実施の形態１及び２は、クラウドシステムに応用することができる。つまり、近年、利用が拡大しているクラウドシステムは、仮想化を使用して実現されており、本実施の形態１及び２におけるクラスタ監視装置を適用できる。更に、遠隔間にまたがるクラウド間で、高可用性クラスタシステムが実現されている場合が考えられ、この場合にも、本実施の形態１及び２におけるクラスタ監視装置を適用できる。また、この場合では、監視エージェントを起動させるサーバを特定する条件として、物理サーバが業務アプリケーションを起動しているかどうかという条件等に、更に、距離的にクライアントの方により近いかどうかという条件等を追加しても良い。
【００９７】
また、実施の形態１及び２では、監視エージェントを仮想サーバによって起動する例のみが述べられているが、実施の形態１及び２は、これに限定されるべきではない。つまり、本実施の形態は、業務アプリケーションの実行と監視エージェントの起動とが、直接、物理サーバによって行なわれる態様であっても良い。つまり、本実施の形態におけるクラスタ監視装置は、物理サーバのみで構成されているＨＡクラスタシステムにおいても適用することができる。
【００９８】
ここで、本実施の形態１及び２におけるプログラムを実行することによって、クラスタ監視装置を実現するコンピュータについて図７を用いて説明する。図７は、本発明の実施の形態１及び２におけるクラスタ監視装置を実現するコンピュータの一例を示すブロック図である。
【００９９】
図７に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【０１００】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【０１０１】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【０１０２】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【０１０３】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【０１０４】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１５）によって表現することができるが、以下の記載に限定されるものではない。
【０１０５】
（付記１）
複数のサーバ装置を備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための装置であって、
前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、業務サーバ特定部と、
特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、エージェントサーバ選択部と、
を備えていることを特徴とするクラスタ監視装置。
【０１０６】
（付記２）
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記監視エージェントを起動しているサーバに障害が発生すると、そのことを契機として、前記業務サーバ特定部が、前記業務用のアプリケーションプログラムが動作しているサーバを特定し、前記エージェントサーバ選択部が、前記監視エージェントを起動させるサーバを選択する、
付記１に記載のクラスタ監視装置。
【０１０７】
（付記３）
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記業務アプリケーションプログラムに関連する障害が発生し、前記業務アプリケーションプログラムのフェイルオーバが実行されると、そのことを契機として、前記業務サーバ特定部が、前記フェイルオーバによる引き継ぎ先となるサーバを特定し、前記エージェントサーバ選択部が、前記監視エージェントを起動させるサーバを選択する、
付記１または２に記載のクラスタ監視装置。
【０１０８】
（付記４）
前記複数のサーバ装置それぞれが、１又は２以上の物理サーバが提供する仮想環境下で動作する仮想サーバであり、
前記業務サーバ特定部が、複数の仮想サーバの中から、業務用のアプリケーションプログラムが動作している仮想サーバを特定し、
前記エージェントサーバ選択部が、特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記１〜３のいずれかに記載のクラスタ監視装置。
【０１０９】
（付記５）
前記仮想サーバを動作させている物理サーバを特定するための情報を取得する、サーバ照合部を更に備え、
前記エージェントサーバ選択部が、取得された前記情報を更に用いて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記４に記載のクラスタ監視装置。
【０１１０】
（付記６）
前記エージェントサーバ選択部が、
前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第１の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第２の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第３の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第４の条件、のうち少なくとも１つを適用して、前記監視エージェントを起動させる仮想サーバを選択する、
付記４または５に記載のクラスタ監視装置。
【０１１１】
（付記７）
前記仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知する、マイグレーション検知部を更に備え、
前記マイグレーション検知部によって前記マイグレーションが検知された場合に、前記業務サーバ特定部が、再度、前記業務用のアプリケーションプログラムが動作しているサーバを特定し、前記エージェントサーバ選択部が、再度、前記監視エージェントを起動させるサーバを選択する、
付記４〜６のいずれかに記載のクラスタ監視装置。
【０１１２】
（付記８）
前記複数のサーバ装置の中から、それぞれに設定されている優先度に応じて、前記業務用のアプリケーションプログラムを動作させるサーバを特定し、特定したサーバに、前記業務用のアプリケーションプログラムを動作させる、業務アプリケーション起動部を、更に備えている、
付記１〜７のいずれかに記載のクラスタ監視装置。
【０１１３】
（付記９）
複数のサーバ装置を備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための方法であって、
（ａ）前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、ステップと、
（ｂ）特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、ステップと、
を有することを特徴とするクラスタ監視方法。
【０１１４】
（付記１０）
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記監視エージェントを起動しているサーバに障害が発生すると、そのことを契機として、前記（ａ）のステップ及び前記（ｂ）のステップを再度実行する、
付記９に記載のクラスタ監視方法。
【０１１５】
（付記１１）
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記業務アプリケーションプログラムに関連する障害が発生し、前記業務アプリケーションプログラムのフェイルオーバが実行されると、そのことを契機として、
前記（ａ）のステップを、前記複数のサーバの中から、前記フェイルオーバによる引き継ぎ先となるサーバを特定するために再度実行し、更に、前記（ｂ）のステップも再度実行する、
付記９または１０に記載のクラスタ監視方法。
【０１１６】
（付記１２）
前記複数のサーバ装置それぞれが、１又は２以上の物理サーバが提供する仮想環境下で動作する仮想サーバであり、
前記（ａ）のステップにおいて、複数の仮想サーバの中から、業務用のアプリケーションプログラムが動作している仮想サーバを特定し、
前記（ｂ）のステップにおいて、特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記９〜１１のいずれかに記載のクラスタ監視方法。
【０１１７】
（付記１３）
（ｃ）前記仮想サーバを動作させている物理サーバを特定するための情報を取得する、ステップを更に有し、
前記（ｂ）のステップにおいて、前記（ｃ）のステップで取得された前記情報を更に用いて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記１２に記載のクラスタ監視方法。
【０１１８】
（付記１４）
前記（ｂ）のステップにおいて、
前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第１の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第２の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第３の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第４の条件を、順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
付記１２または１３に記載のクラスタ監視方法。
【０１１９】
（付記１５）
（ｄ）前記仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知する、ステップを更に有し、
前記（ｄ）のステップによって前記マイグレーションが検知された場合に、前記（ａ）のステップ及び前記（ｂ）のステップを再度実行する、
付記１２〜１４のいずれかに記載のクラスタ監視方法。
【０１２０】
（付記１６）
（ｅ）前記複数のサーバ装置の中から、それぞれに設定されている優先度に応じて、前記業務用のアプリケーションプログラムを動作させるサーバを特定し、特定したサーバに、前記業務用のアプリケーションプログラムを動作させる、ステップを更に有している、
付記９〜１５のいずれかに記載のクラスタ監視方法。
【０１２１】
（付記１７）
コンピュータによって、複数のサーバ装置を備えるクラスタシステムにおける業務用のアプリケーションプログラム及び監視エージェントの起動を制御するためのプログラムであって、
前記コンピュータに、
（ａ）前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、ステップと、
（ｂ）特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、ステップと、
を実行させるプログラム。
【０１２２】
（付記１８）
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記監視エージェントを起動しているサーバに障害が発生すると、そのことを契機として、前記コンピュータに、前記（ａ）のステップ及び前記（ｂ）のステップを再度実行させる、
付記１７に記載のプログラム。
【０１２３】
（付記１９）
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記業務アプリケーションプログラムに関連する障害が発生し、前記業務アプリケーションプログラムのフェイルオーバが実行されると、そのことを契機として、
前記（ａ）のステップを、前記複数のサーバの中から、前記フェイルオーバによる引き継ぎ先となるサーバを特定するために再度実行し、更に、前記（ｂ）のステップも再度実行する、
付記１７または１８に記載のプログラム。
【０１２４】
（付記２０）
前記複数のサーバ装置それぞれが、１又は２以上の物理サーバが提供する仮想環境下で動作する仮想サーバであり、
前記（ａ）のステップにおいて、複数の仮想サーバの中から、業務用のアプリケーションプログラムが動作している仮想サーバを特定し、
前記（ｂ）のステップにおいて、特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記１７〜１９のいずれかに記載のプログラム。
【０１２５】
（付記２１）
（ｃ）前記仮想サーバを動作させている物理サーバを特定するための情報を取得する、ステップを更に前記コンピュータに実行させる、
前記（ｂ）のステップにおいて、前記（ｃ）のステップで取得された前記情報を更に用いて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記２０に記載のプログラム。
【０１２６】
（付記２２）
前記（ｂ）のステップにおいて、
前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第１の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第２の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第３の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第４の条件を、順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
付記２０または２１に記載のプログラム。
【０１２７】
（付記２３）
前記コンピュータに、
（ｄ）前記仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知する、ステップを、更に実行させ、
前記（ｄ）のステップによって前記マイグレーションが検知された場合に、前記（ａ）のステップ及び前記（ｂ）のステップを再度実行させる、
付記２０〜２２のいずれかに記載のプログラム。
【０１２８】
（付記２４）
前記コンピュータに、
（ｅ）前記複数のサーバ装置の中から、それぞれに設定されている優先度に応じて、前記業務用のアプリケーションプログラムを動作させるサーバを特定し、特定したサーバに、前記業務用のアプリケーションプログラムを動作させる、ステップを更に実行させる、
付記１７〜２３のいずれかに記載のプログラム。
【産業上の利用可能性】
【０１２９】
以上のように、本発明によれば、クラスタシステムにおいて、監視エージェントの起動場所を動的に切り替えることができ、且つ、クラスタシステムにかかる負荷の分散を図ることができる。本発明は、特に、仮想化環境（クラウドシステムを含む）上で構築される、高可用性クラスタシステムに有用である。
【符号の説明】
【０１３０】
１０  クラスタ監視装置（実施の形態１）
１１  クラスタ監視装置（実施の形態２）
２０  監視エージェント制御装置
２１  業務サーバ特定部
２２  エージェントサーバ選択部
２３  エージェント指示部
２４  サーバ照合部
２５  マイグレーション検知部
３０  業務アプリケーション制御装置
３１  業務アプリケーション起動部
４０  記憶装置
４１  業務サーバ記憶部
４２  エージェントサーバ記憶部
５０、６０、７０、８０  仮想サーバ
５１、６２、７１、８１  業務アプリケーション
５２、６２、７２、８２  監視エージェント
９１  フェイルオーバグループ
９２  監視用フェイルオーバグループ
１００、２００  物理サーバ
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
３００  クラスタシステム
３１０  ネットワーク
３２０  クライアント
３３０、３４０  仮想化基盤管理装置
【図１】
0005998577.tif 000002
【図２】
0005998577.tif 000003
【図３】
0005998577.tif 000004
【図４】
0005998577.tif 000005
【図５】
0005998577.tif 000006
【図６】
0005998577.tif 000007
【図７】
0005998577.tif 000008