以下に添付図面を参照して、この発明にかかる監視プログラム、監視方法および監視装置の実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる監視方法の一実施例を示す説明図である。図1において、監視装置100は、監視対象となる仮想マシン(Virtual Machine、VM)の移行先候補となる物理サーバ群(例えば、物理サーバM1〜M3)にアクセス可能なコンピュータである。また、監視装置100は、物理サーバ上で動作している仮想マシンの種別を特定する機能を有する。
物理サーバは、自サーバのハードウェア資源を仮想化して、複数の異なるOS(Operating System)を実行可能なコンピュータである。物理サーバのハードウェア資源とは、例えば、物理サーバのCPU(Central Processing Unit)、メモリ、I/F(Interface)などである。
具体的には、例えば、物理サーバは、自サーバのハードウェア資源を分割して構築される実行環境で動作する仮想マシンによってOSを稼働させる。また、物理サーバは、自サーバ上で動作している仮想マシンを他の物理サーバに移行する機能、いわゆる、マイグレーションの機能を有する。
ここで、仮想マシンとは、物理サーバのハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。仮想マシンの実体は、例えば、プログラムやOSなどのソフトウェア、ソフトウェアに与えられる変数、およびソフトウェアを実行させるためのハードウェア資源を指定する情報を含むものである。
また、仮想マシンの種別とは、仮想マシンがどのようなコンピュータとして動作しているかを表すものであり、例えば、仮想マシンにより実現される機能を区別するものである。仮想マシンの種別としては、例えば、仮想ネットワーク機器、仮想サーバなどがある。仮想ネットワーク機器は、例えば、仮想ファイアウォール、仮想ルータ、仮想ロードバランサなどである。
仮想ネットワーク機器を含むネットワークにおいて、仮想ネットワーク機器は、マイグレーションによりネットワーク内の物理サーバ間を移動する場合がある。また、仮想ネットワーク機器に障害が発生した場合、例えば、ネットワークの末端に存在する物理サーバに影響が生じる場合がある。このため、ネットワーク管理者は、仮想ネットワーク機器に障害が発生した場合に、仮想ネットワーク機器がどの物理サーバ上で動作しているのかを把握して、ネットワーク全体のどの部分に障害の影響がでるのかを判断することが重要となる。
実施の形態1では、監視装置100は、物理サーバから得られる物理サーバ上で動作している仮想マシンの識別情報を手掛かりに、監視対象となる仮想マシンの識別情報と種別とを対応付けて記憶する記憶部110を参照して、仮想マシンの種別を特定する。これにより、ネットワーク内のどの物理サーバでどの種別の仮想マシンが動作しているのかを把握可能にする。
以下、監視装置100の監視処理手順の一例について説明する。
(1)監視装置100は、監視対象となる仮想マシンの移行先候補となる物理サーバ群に含まれる物理サーバから、物理サーバ上で動作している仮想マシンの識別情報を取得する。ここで、仮想マシンの識別情報は、例えば、IP(Internet Protocol)ネットワーク内の仮想マシンを識別するIPアドレスである。
図1の例では、監視装置100により、物理サーバM3上で動作している仮想マシンの識別情報120が物理サーバM3から取得されている。ここでは、仮想マシンの識別情報120には、仮想マシンのIPアドレス「VM1」が含まれている。
(2)監視装置100は、記憶部110を参照して、取得した仮想マシンの識別情報に対応する仮想マシンの種別を特定する。ここで、記憶部110は、監視対象となる仮想マシンの識別情報と監視対象となる仮想マシンの種別とを対応付けて記憶する記憶装置である。
仮想マシンの種別は、例えば、仮想マシンの識別情報に対応付けて予め定義されていてもよく、また、例えば、仮想マシンのIPアドレスを用いて、監視装置100が仮想マシンに問い合わせることにより特定されることにしてもよい。図1の例では、仮想マシンの識別情報120に含まれる仮想マシンのIPアドレス「VM1」に対応する仮想マシンの種別「ネットワーク機器」が特定される。
(3)監視装置100は、特定した仮想マシンの種別と仮想マシンの識別情報と物理サーバの識別情報とを関連付けて出力する。物理サーバの識別情報は、例えば、物理サーバの名前、機種名、IPアドレスなどである。図1の例では、物理サーバM3上で動作している仮想マシンの識別情報「VM1」と仮想マシンの種別「ネットワーク機器」と物理サーバM3の識別情報「M3」とを関連付けて表す装置情報130が出力される。
なお、監視装置100は、例えば、装置情報130を記憶部110に記憶することにしてもよい。この場合、監視装置100は、仮想マシンに関する装置情報130の出力要求を受け付けた場合に、記憶部110に記憶されている装置情報130を出力することにしてもよい。
このように、実施の形態1にかかる監視装置100によれば、物理サーバ上で動作している仮想マシンの種別を特定することができる。これにより、ネットワーク内のどの物理サーバで何の種別の仮想マシンが動作しているのかを把握可能にすることができる。
例えば、装置情報130によれば、ネットワーク管理者は、ネットワーク内の物理サーバM3上で種別「ネットワーク機器」の仮想マシンVM1が動作していることを把握することができる。この結果、ネットワーク管理者は、例えば、仮想マシンVM1に障害が発生した場合に、ネットワーク内の物理サーバ間の接続関係などを参照して、仮想マシンM1の障害が影響を及ぼす範囲を特定することができる。
(実施の形態2)
つぎに、実施の形態2にかかるシステム200について説明する。なお、実施の形態1で説明した箇所と同様の箇所については説明を省略する。
図2は、システム200のシステム構成例を示す説明図である。図2において、システム200は、監視装置100と、複数のサーバS(例えば、サーバS1〜S7)と、複数のスイッチSW(例えば、スイッチSW1〜SW4)と、複数のブレードサーバBS(例えば、ブレードサーバBS1)と、を含む。
システム200において、監視装置100、サーバS、スイッチSWおよびブレードサーバBSは、有線または無線のネットワーク210を介して通信可能に接続されている。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
ここで、サーバSは、クライアント端末(不図示)からの要求に応じてサービスを提供する物理サーバであり、例えば、WEB(World Wide Web)サーバ、AP(Application)サーバ、DB(Database)サーバなどである。スイッチSWは、パケットのスイッチング機能を有する物理ネットワーク機器であり、例えば、L(layer)2スイッチである。
ブレードサーバBSは、複数のサーバブレードSB(例えば、サーバブレードSB1〜SB3)と、複数のスイッチブレードSWB(例えば、スイッチブレードSWB1,SWB2)と、を含む。サーバブレードSBは、サーバの機能を1枚の基板に集約した物理サーバである。
(仮想マシンの動作例)
ここで、物理サーバ上で動作する仮想マシンについて説明する。図3は、サーバブレード上で動作する仮想マシンの動作例を示す説明図である。図3において、サーバS1〜S3と、スイッチSW1と、ブレードサーバBS1と、が示されている。
ここで、ブレードサーバBS1内のサーバブレードSB1,SB2は、ハイパバイザH1,H2を備えている。ハイパバイザH1,H2は、サーバブレードSB1,SB2のハードウェア資源を仮想化して、複数の異なるOSを実行できるように制御するソフトウェアである。具体的には、例えば、ハイパバイザH1,H2は、サーバブレードSB1,SB2のハードウェア資源を分割して構築される実行環境で動作する仮想マシンによってOSを稼働させる。
図3の例では、サーバブレードSB1のハードウェア資源を分割して構築された実行環境で、仮想ネットワーク機器fw11,fw12が動作している。仮想ネットワーク機器fw11,fw12は仮想ファイアウォールである。また、サーバブレードSB2のハードウェア資源を分割して構築された実行環境で、仮想ネットワーク機器vsw1,vsw2が動作している。仮想ネットワーク機器vsw1,vsw2は仮想スイッチである。
(監視装置100のハードウェア構成例)
図4は、監視装置100のハードウェア構成例を示すブロック図である。図4において、監視装置100は、CPU401と、メモリ402と、磁気ディスクドライブ403と、磁気ディスク404と、光ディスクドライブ405と、光ディスク406と、ディスプレイ407と、I/F408と、キーボード409と、マウス410と、スキャナ411と、プリンタ412と、を有している。また、各構成部はバス400によってそれぞれ接続されている。
ここで、CPU401は、監視装置100の全体の制御を司る。メモリ402は、ROM(Read‐Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを含む。ROMおよびフラッシュROMは、例えば、ブートプログラムなどの各種プログラムを記憶する。RAMは、CPU401のワークエリアとして使用される。
磁気ディスクドライブ403は、CPU401の制御にしたがって磁気ディスク404に対するデータのリード/ライトを制御する。磁気ディスク404は、磁気ディスクドライブ403の制御で書き込まれたデータを記憶する。光ディスクドライブ405は、CPU401の制御にしたがって光ディスク406に対するデータのリード/ライトを制御する。光ディスク406は、光ディスクドライブ405の制御で書き込まれたデータを記憶したり、光ディスク406に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ407は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ407は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F408は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他の装置に接続される。そして、I/F408は、ネットワーク210と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F408には、例えば、モデムやLANアダプタなどを採用することができる。
キーボード409は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス410は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ411は、画像を光学的に読み取り、監視装置100内に画像データを取り込む。なお、スキャナ411は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ412は、画像データや文書データを印刷する。プリンタ412には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、監視装置100は、上述した構成部のうち、例えば、光ディスクドライブ405、光ディスク406、マウス410、スキャナ411およびプリンタ412などを有さないことにしてもよい。
また、図2に示したサーバS、スイッチSW、スイッチブレードSWBおよびサーバブレードSBは、上述した監視装置100と同様のハードウェア構成により実現することができる。ただし、サーバS、スイッチSW、スイッチブレードSWBおよびサーバブレードSBは、上述した構成部のうち、例えば、光ディスクドライブ405、光ディスク406、ディスプレイ407、キーボード409、マウス410、スキャナ411およびプリンタ412を有さないことにしてもよい。
(機器定義表500の具体例)
つぎに、図2に示したシステム200内の監視対象装置が定義された機器定義表500について説明する。システム200において、監視対象装置は、例えば、サーバS、スイッチSW、スイッチブレードSWB、サーバブレードSBおよび各物理サーバ上で動作する仮想マシンである。
図5は、機器定義表500の具体例を示す説明図である。図5において、機器定義表500は、システム200内の監視対象装置ごとの機器定義情報(例えば、機器定義情報500−1〜500−14)を含んでいる。
各機器定義情報のトップタグは、監視対象装置の種別を表している。具体的には、「VirtualNeworkDevice」は、仮想ネットワーク機器を表している。また、「VirtualServer」は、仮想サーバを表している。また、「PhysicalNeworkDevice」は、物理ネットワーク機器を表している。また、「PhysicalServer」は、物理サーバを表している。
すなわち、機器定義情報500−1〜500−4は、システム200内の仮想ネットワーク機器を表す情報である。例えば、機器定義情報500−1には、仮想ネットワーク機器のIPアドレス「192.168.1.101」および名前「fw11」が定義されている。また、機器定義情報500−1には、仮想ネットワーク機器fw11が動作する物理サーバの名前「SB1」および仮想ネットワーク機器fw11の移行先候補となる物理サーバの名前「SB2,SB3」が定義されている。
また、機器定義情報500−5,500−6は、システム200内の仮想サーバを表す情報である。例えば、機器定義情報500−5には、仮想サーバのIPアドレス「192.168.1.221」および名前「vserv1」が定義されている。
また、機器定義情報500−7〜500−12は、システム200内の物理サーバを表す情報である。例えば、機器定義情報500−7には、物理サーバのIPアドレス「192.168.1.11」、名前「SB1」およびポート名「p1」が定義されている。
また、機器定義情報500−13,500−14は、監視対象装置が有するポートを表す情報である。例えば、機器定義情報500−13には、監視対象装置のIPアドレス「192.168.1.21」、名前「SWB1」およびポート名「p1,p2,p3」が定義されている。
なお、図示は省略するが、各機器定義情報には、例えば、各監視対象装置の機種名が定義されていてもよい。また、機器定義表500には、スイッチSWやスイッチブレードSWBなどの物理ネットワーク機器が定義されている。
(接続関係定義表600の具体例)
つぎに、システム200内のサーバS、スイッチSW、スイッチブレードSWBおよびサーバブレードSBといった監視対象装置間の接続関係が定義された接続関係定義表600について説明する。
図6は、接続関係定義表600の具体例を示す説明図である。図6において、接続関係定義表600は、接続関係定義情報(例えば、接続関係定義情報600−1〜600−6)を含んでいる。接続関係定義情報は、監視対象装置間の接続関係を表す情報である。ここでは、監視対象装置のIPアドレスおよびポート名によって、監視対象装置間の接続関係が表現されている。
例えば、接続関係定義情報600−1には、IPアドレス「192.168.1.11」およびポート名「p1」と、IPアドレス「192.168.1.21」およびポート名「p1」との接続関係が定義されている。すなわち、接続関係定義情報600−1は、IPアドレス「192.168.1.11」の監視対象装置のポートp1と、IPアドレス「192.168.1.21」の監視対象装置のポートp1とが接続されることを示している。
(機器情報DB700の記憶内容)
つぎに、監視装置100が用いる機器情報DB(データベース)700の記憶内容について説明する。機器情報DB700は、例えば、図4に示したメモリ402、磁気ディスク404、光ディスク406などの記憶装置により実現される。
図7は、機器情報DB700の記憶内容の一例を示す説明図である。図7において、機器情報DB700は、IPアドレス、名前、機種名、種別、状態、識別ID、ホスト名および移動先サーバのフィールドを有する。各フィールドに情報を設定することにより、監視対象装置ごとの機器情報(例えば、機器情報700−1〜700−9)がレコードとして記憶されている。
ここで、IPアドレスは、監視対象装置のIPアドレスである。名前は、監視対象装置の名前である。機種名は、監視対象装置の機種名である。種別は、監視対象装置の種別である。監視対象装置の種別としては、例えば、仮想ネットワーク機器(vnet)、物理ネットワーク機器(pnet)、物理サーバ(pserv)がある。状態は、監視対象装置の状態である。監視対象装置の状態としては、例えば、正常(normal)または異常(failure)がある。
識別IDは、監視対象となる仮想マシンを一意に識別する識別子である。仮想マシンの識別IDとしては、例えば、仮想マシンに割り振られるUUID(Universally Unique Identifier)がある。ホスト名は、仮想マシンが動作している物理サーバの名前である。移動先サーバは、マイグレーションにより仮想マシンが移動する可能性がある物理サーバの名前である。
一例として、機器情報700−1を例に挙げると、監視対象となる仮想マシンのIPアドレス「192.168.1.101」、名前「fw11」、機種名「IPCOM」、種別「vnet」、状態「normal」、識別ID「aaaaaa」、ホスト名「SB1」および移動先サーバ「SB2,SB3」が示されている。また、機器情報700−5を例に挙げると、監視対象となる物理サーバのIPアドレス「192.168.1.11」、名前「SB1」、機種名「BX600」、種別「pserv」、状態「normal」が示されている。
(接続情報DB800の記憶内容)
つぎに、監視装置100が用いる接続情報DB800の記憶内容について説明する。接続情報DB800は、例えば、図4に示したメモリ402、磁気ディスク404、光ディスク406などの記憶装置により実現される。
図8は、接続情報DB800の記憶内容の一例を示す説明図である。図8において、接続情報DB800は、接続元IP、接続元ポート名、接続先IPおよび接続先ポート名のフィールドを有する。各フィールドに情報を設定することにより、監視対象装置間の接続情報(例えば、接続情報800−1〜800−6)がレコードとして記憶されている。
ここで、接続元IPは、接続関係を有する2つの監視対象装置のうちの一方の監視対象装置のIPアドレスである。接続元ポート名は、接続関係を有する2つの監視対象装置のうちの一方の監視対象装置のポート名である。接続先IPは、接続関係を有する2つの監視対象装置のうちの他方の監視対象装置のIPアドレスである。接続先ポート名は、接続関係を有する2つの監視対象装置のうちの他方の監視対象装置のポート名である。
一例として、接続情報800−1を例に挙げると、IPアドレス「192.168.1.11」の監視対象装置のポートp1と、IPアドレス「192.168.1.21」の監視対象装置のポートp1とが接続されていることを示している。
(監視装置100の機能的構成例)
図9は、監視装置100の機能的構成例を示すブロック図である。図9において、監視装置100は、受付部901と、取得部902と、特定部903と、検出部904と、判定部905と、出力部906と、を含む構成である。受付部901〜出力部906は制御部となる機能であり、具体的には、例えば、図4に示したメモリ402、磁気ディスク404、光ディスク406などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F408により、その機能を実現する。また、各機能部の処理結果は、例えば、メモリ402、磁気ディスク404、光ディスク406などの記憶装置に記憶される。
受付部901は、監視対象装置に関する定義情報の入力を受け付ける。ここで、監視対象装置とは、例えば、監視対象となる物理サーバ、物理ネットワーク機器、仮想マシンである。仮想マシンとしては、例えば、仮想サーバおよび仮想ネットワーク機器がある。定義情報とは、例えば、監視対象装置のIPアドレス、名前、機種名および種別などが定義された情報である。
また、監視対象装置が物理サーバおよび物理ネットワーク機器の場合、定義情報には、例えば、監視対象装置が有するポートのポート名が定義されていてもよい。また、監視対象装置が仮想マシンの場合、仮想マシンが最初に動作する物理サーバの名前や仮想マシンが移動する可能性のある物理サーバの名前などが定義されていてもよい。
具体的には、例えば、受付部901は、図4に示したキーボード409やマウス410を用いたユーザの操作入力により、図5に示した機器定義表500を受け付けることにしてもよい。また、受付部901は、例えば、ライブラリからの抽出により、または、外部のコンピュータから監視対象装置に関する定義情報を取得することにしてもよい。
受け付けられた定義情報は、例えば、図7に示した機器情報DB700に記憶される。一例として、機器定義表500に含まれる機器定義情報500−1を例に挙げると、機器情報DB700のIPアドレスフィールドに「192.168.1.101」が設定され、名前フィールドに「fw11」が設定される。また、種別フィールドに「vnet」が設定され、状態フィールドに「normal」が設定され、ホスト名フィールドに「SB1」が設定され、移動先サーバフィールドに「SB2,SB3」が設定される。また、機器定義情報500−1に機種名「IPCOM」が定義されている場合は、機種名フィールドに「IPCOM」が設定される。
この結果、機器情報DB700に機器情報700−1がレコードとして記憶される。この時点では、機器情報700−1の識別IDフィールドは空白となる。なお、機器情報DB700に機器情報を登録する登録処理についての詳細な説明は、後述する図13のフローチャートを用いて説明する。
また、受付部901は、監視対象装置間の接続関係を表す接続情報の入力を受け付ける。ここで、接続情報とは、例えば、直接接続された2つの監視対象装置の接続関係を表す情報である。接続情報は、具体的には、例えば、物理サーバと物理サーバとの接続関係、物理サーバと物理ネットワーク機器との接続関係および物理ネットワーク機器と物理ネットワーク機器との接続関係のいずれかを表す情報である。
具体的には、例えば、受付部901は、ユーザの操作入力により、図6に示した接続関係定義表600を受け付けることにしてもよい。また、受付部901は、例えば、ライブラリからの抽出により、または、外部のコンピュータから監視対象装置間の接続関係を表す接続情報を取得することにしてもよい。さらに、監視装置100は、ネットワーク210を介して、ネットワーク機器のトポロジ探索を行うことにより、機器情報と接続情報を取得することにしてもよい。
受け付けられた接続情報は、例えば、図8に示す接続情報DB800に記憶される。一例として、接続関係定義表600に含まれる接続関係定義情報600−1を例に挙げると、接続情報DB800の接続元IPフィールドに「192.168.1.11」が設定され、接続元ポート名フィールドに「p1」が設定される。また、接続先IPフィールドに「192.168.1.21」が設定され、接続先ポート名フィールドに「p1」が設定される。この結果、接続情報DB800に接続情報800−1がレコードとして記憶される。
取得部902は、監視対象となる仮想マシンの移行先候補となる物理サーバから、物理サーバ上で動作している仮想マシンの識別情報を取得する。ここで、仮想マシンの識別情報とは、例えば、仮想マシンのIPアドレスやUUIDなどである。
具体的には、例えば、まず、取得部902は、機器情報DB700の中から、物理サーバの機器情報、すなわち、種別が「pserv」の機器情報を選択する。つぎに、取得部902は、選択した機器情報に設定されているIPアドレスを宛先として、物理サーバ上で動作している仮想マシンの識別情報をハイパバイザに問い合わせる。
ここで、物理サーバ上で仮想マシンが動作している場合、取得部902は、物理サーバ上で動作している仮想マシンの識別情報をハイパバイザから取得する。一方、物理サーバ上で仮想マシンが動作していない場合は、取得部902は、物理サーバ上で動作している仮想マシンが存在しないことを示す情報をハイパバイザから取得することにしてもよい。
また、取得部902は、定期的または不定期に、物理サーバ上で動作している仮想マシンの識別情報を物理サーバから取得することにしてもよい。これにより、監視対象となる物理サーバから該物理サーバ上で動作している仮想マシンの識別情報を繰り返し取得することができる。
特定部903は、監視対象となる仮想マシンの識別情報と該仮想マシンの種別とを対応付けて表す情報を参照して、取得された仮想マシンの識別情報に対応する仮想マシンの種別を特定する。具体的には、例えば、特定部903は、機器情報DB700を参照して、取得された仮想マシンのIPアドレスに対応する仮想マシンの種別を特定する。
ここで、取得された仮想マシンのIPアドレスを「192.168.1.101」とする。この場合、特定部903は、機器情報DB700を参照して、仮想マシンのIPアドレス「192.168.1.101」に対応する仮想マシンの種別「vnet(仮想ネットワーク機器)」を特定する。
また、特定部903は、SNMP(Simple Network Management Protocol)を用いて、取得された仮想マシンのIPアドレスを宛先として、仮想マシンの種別を仮想マシンに問い合わせることにしてもよい。この場合、特定部903は、仮想マシンから得られるSNMPのMIB(Management Information Base)の値を参照して、仮想マシンの種別を特定する。
さらに、特定部903は、機器情報DB700を参照して、取得された仮想マシンのIPアドレスに対応する仮想マシンの名前、機種名、状態および移行先候補となる物理サーバを特定することにしてもよい。例えば、仮想マシンのIPアドレスが「192.168.1.101」の場合、特定部903は、仮想マシンの名前「fw11」、機種名「IPCOM」、状態「normal」および移行先候補となる物理サーバの名前「SB2,SB3」を特定する。
検出部904は、仮想マシンの種別が特定された場合、監視対象装置間の接続関係を表す接続情報を参照して、仮想マシンが動作している物理サーバと接続関係を有する監視対象装置を検出する。具体的には、例えば、検出部904は、接続情報DB800を参照して、仮想マシンが動作している物理サーバと接続関係を有する他の物理サーバを検出する。
ここで、仮想マシンが動作している物理サーバのIPアドレスを「192.168.1.11」とする。この場合、検出部904は、接続情報DB800を参照して、IPアドレス「192.168.1.11」を接続元IPとする接続先IP「192.168.1.21」を検出する。
これにより、仮想マシンが動作している物理サーバと接続関係を有する他の監視対象装置のIPアドレス「192.168.1.21」を特定することができる。また、検出部904は、機器情報DB700を参照して、他の監視対象装置のIPアドレス「192.168.1.21」に対応する名前「SWB1」と特定することができる。
さらに、検出部904は、接続情報DB800を参照して、他の監視対象装置のIPアドレス「192.168.1.21」を接続元IPとする接続先IP「192.168.1.31」を検出することにしてもよい。これにより、仮想マシンが動作している物理サーバと間接的に接続関係を有する他の監視対象装置のIPアドレス「192.168.1.31」を特定することができる。
このように、検出部904は、接続情報DB800を参照して接続関係を有する監視対象装置間のIPアドレスを追跡することにより、仮想マシンが動作している物理サーバと直接または間接的に接続関係を有する他の監視対象装置を検出することができる。なお、検出された検出結果は、例えば、仮想マシンが動作している物理サーバの識別情報(例えば、IPアドレス、名前、機種名など)と関連付けてメモリ402に記憶される。
判定部905は、物理サーバ上で動作していた仮想マシンの状態を判定する。ここで、物理サーバ群のうちのある物理サーバS上で動作している仮想マシンの状態を判定する場合について説明する。ここでは、取得部902により、定期的または不定期に、各々の物理サーバ上で動作している仮想マシンの識別情報を各々の物理サーバに問い合わせることにより、各々の物理サーバ上で動作している仮想マシンの識別情報が取得される場合を想定する。
具体的には、例えば、判定部905は、各々の物理サーバに問い合わせた結果取得された仮想マシンの識別情報の集合の中から、物理サーバSから前回取得された仮想マシンの識別情報を検索する。そして、物理サーバSから前回取得された仮想マシンの識別情報が検索された場合、判定部905は、物理サーバS上で動作していた仮想マシンの状態が正常であると判定する。
一方、物理サーバSから前回取得された仮想マシンの識別情報が検索されなかった場合、判定部905は、物理サーバS上で動作していた仮想マシンの状態が異常であると判定する。これにより、何らかの障害が発生して状態が異常となった仮想マシンを検出することができる。
出力部906は、特定された仮想マシンの種別と、該仮想マシンの識別情報と、該仮想マシンが動作している物理サーバの識別情報とを関連付けて出力する。この際、出力部906は、さらに、検出された該物理サーバと接続関係を有する他の監視対象装置の識別情報を関連付けて出力することにしてもよい。
出力部906の出力形式としては、例えば、ディスプレイ407への表示、プリンタ412への印刷出力、I/F408による外部のコンピュータへの送信がある。また、メモリ402、磁気ディスク404、光ディスク406などの記憶装置に記憶することとしてもよい。
具体的には、例えば、出力部906は、特定された仮想マシンの種別と、該仮想マシンの識別情報と、該仮想マシンが動作している物理サーバの識別情報とを関連付けて表す機器情報を機器情報DB700に登録することにしてもよい。この場合、出力部906は、例えば、仮想マシンに関する機器情報の出力要求を受け付けた場合に、機器情報DB700に記憶されている該仮想マシンの機器情報を出力することにしてもよい。
より具体的には、例えば、まず、受付部901は、ユーザの操作入力により、仮想マシンに関する機器情報の表示要求を受け付ける。そして、出力部906は、機器情報DB700を参照して、表示要求を受け付けた仮想マシンの機器情報をディスプレイ407に表示することにしてもよい。出力対象となる機器情報は、例えば、表示要求を受け付けた仮想マシンの種別、該仮想マシンが動作している物理サーバの識別情報および該物理サーバと接続関係を有する他の監視対象装置の識別情報のうちの少なくともいずれかの情報である。
一例として、受付部901が、名前「fw11」の仮想マシンに関する機器情報の表示要求を受け付けた場合を例に挙げて説明する。この場合、出力部906は、機器情報DB700の中から、機器情報の表示要求を受け付けた仮想マシンの名前「fw11」に対応する機器情報700−1を抽出する。そして、出力部906は、抽出した仮想マシンの名前「fw11」に対応する機器情報700−1をディスプレイ407に表示する。この際、出力部906は、名前「fw11」の機器情報700−1とともに、名前「fw11」の仮想マシンが動作している物理サーバと直接または間接的に接続関係を有する他の監視対象装置の識別情報(例えば、名前、機種名)をディスプレイ407に表示することにしてもよい。
また、出力部906は、判定された判定結果を出力することにしてもよい。具体的には、例えば、出力部906は、物理サーバS上で動作していた仮想マシンの状態が異常であると判定された場合、機器情報DB700内の該仮想マシンの機器情報の状態を「failure(異常)」に変更することにしてもよい。
(ディスプレイ407の画面例)
つぎに、図10〜図13を用いて、ディスプレイ407に表示される出力結果の画面例について説明する。以下に説明する各種画面例は、例えば、監視装置100により、機器情報DB700の記憶内容および接続情報DB800の記憶内容に基づいて作成される。
図10は、ディスプレイ407の画面例を示す説明図(その1)である。図10において、システム200(図2参照)に構築されているWeb3階層モデル1000のシステム一覧画面1010がディスプレイ407に表示されている。システム一覧画面1010は、Web3階層モデル1000のエンドポイントとなる仮想ネットワーク機器fw11,fw12およびサーバS1〜S3を表示する画面例である。
ここで、仮想ネットワーク機器fw11,fw12は、システム200内のいずれかの物理サーバ上で動作している仮想ファイアウォールである。また、サーバS1は、WEBサーバである。また、サーバS2は、APサーバである。また、サーバS3は、DBサーバである。
システム一覧画面1010において、例えば、キーボード409やマウス410を用いたユーザの操作入力により、カーソルCを移動させて、仮想ネットワーク機器fw11をクリックすると、仮想ネットワーク機器fw11に関する機器情報の表示要求が入力される。この結果、システム詳細画面1020がディスプレイ407に表示される。
システム詳細画面1020は、仮想ネットワーク機器fw11が動作しているサーバブレードSB1を表示する画面例である。また、システム詳細画面1020には、サーバブレードSB1上で仮想ネットワーク機器fw11とともに動作している仮想ネットワーク機器fw12が表示されている。
システム詳細画面1020によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11がサーバブレードSB1上で動作している仮想マシンであることを把握することができる。また、サーバブレードSB1上には、別の仮想マシンである仮想ネットワーク機器fw12が動作していることを把握することができる。
システム詳細画面1020において、ユーザの操作入力により、カーソルCを移動させて、仮想ネットワーク機器fw11をクリックすると、仮想ネットワーク機器fw11に関する機器情報の表示要求が入力される。この結果、システム詳細画面1030がディスプレイ407に表示される。
システム詳細画面1030は、仮想ネットワーク機器fw11に関する機器情報を表示する画面例である。システム詳細画面1030には、ネットワークデバイス名、システム名、IPアドレス、装置状態、サーバ名、移動先サーバおよび接続先サーバが表示されている。
ネットワークデバイス名によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11の名前を把握することができる。システム名によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11の機種名を把握することができる。IPアドレスによれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11のIPアドレスを把握することができる。
装置状態によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11の状態を把握することができる。サーバ名によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11が動作している物理サーバの名前を把握することができる。移動先サーバによれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11が移動する可能性がある物理サーバの名前を把握することができる。
接続先サーバによれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11が動作している物理サーバと接続関係を有する監視対象装置の名前を把握することができる。ここでは、仮想ネットワーク機器fw11が動作している物理サーバと接続関係を有する監視対象装置のうち物理サーバのみが表示されている。
なお、上述したシステム詳細画面1020,1030は、例えば、機器情報DB700や接続情報DB800を参照して作成される。具体的には、例えば、監視装置100は、機器情報DB700内の機器情報700−1,700−2に基づいて、システム詳細画面1020を作成することができる。また、監視装置100は、機器情報DB700内の機器情報700−1および接続情報DB800内の接続情報800−1,800−3〜800−6に基づいて、システム詳細画面1030を作成することができる。
図11は、ディスプレイ407の画面例を示す説明図(その2)である。図11において、ネットワーク機器一覧画面1110がディスプレイ407に表示されている。ネットワーク機器一覧画面1110は、システム200内のネットワーク機器の一覧を表す画面例である。
ネットワーク機器一覧画面1110において、例えば、ユーザの操作入力により、カーソルCを移動させて、仮想ネットワーク機器fw11をクリックすると、仮想ネットワーク機器fw11に関する機器情報の表示要求が入力される。この結果、詳細画面1120がディスプレイ407に表示される。
詳細画面1120は、仮想ネットワーク機器fw11に関する機器情報を表示する画面例である。詳細画面1120には、基本情報1121およびサーバ情報1122が表示されている。具体的には、基本情報1121には、ネットワークデバイス名、システム名、IPアドレス、装置状態が表示されている。サーバ情報1122には、サーバ名、移動先サーバおよび接続先サーバが表示されている。
なお、上述したネットワーク機器一覧画面1110は、例えば、機器情報DB700の記憶内容に基づいて作成される。また、詳細画面1120は、例えば、機器情報DB700の記憶内容および接続情報DB800の記憶内容に基づいて作成される。
図12は、ディスプレイ407の画面例を示す説明図(その3)である。図12において、Web3階層モデル1000のシステム一覧画面1210がディスプレイ407に表示されている。また、システム一覧画面1210には、仮想ネットワーク機器fw11の状態が異常であることを示すマークMが表示されている。マークMによれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11の状態が異常であることを把握することができる。
システム一覧画面1210において、ユーザの操作入力により、カーソルCを移動させて、仮想ネットワーク機器fw11をクリックすると、仮想ネットワーク機器fw11に関する機器情報の表示要求が入力される。この結果、システム詳細画面1220がディスプレイ407に表示される。
システム詳細画面1220によれば、例えば、ネットワーク管理者は、仮想ネットワーク機器fw11のみにマークMが表示されているため、何らかの理由により仮想ネットワーク機器fw11のみに障害が発生していることを把握することができる。
システム詳細画面1220において、ユーザの操作入力により、カーソルCを移動させて、仮想ネットワーク機器fw11をクリックすると、仮想ネットワーク機器fw11に関する機器情報の表示要求が入力される。この結果、システム詳細画面1230がディスプレイ407に表示される。
システム詳細画面1230の接続先サーバによれば、何らかの理由により仮想ネットワーク機器fw11で発生している障害が、サーバS1(WEBサーバ)、サーバS2(APサーバ)およびサーバS3(DBサーバ)に影響を及ぼす可能性があることを把握することができる。
(監視装置100の各種処理手順)
つぎに、監視装置100の各種処理手順について説明する。ここでは、まず、監視対象機器の機器情報を機器情報DB700に登録する登録処理手順について説明する。登録処理は、例えば、監視対象機器の初期登録時に実行される。また、登録処理は、監視対象装置の追加あるいは削除時に実行されることにしてもよい。
図13は、監視装置100の登録処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、監視装置100は、機器定義表500および接続関係定義表600の入力を受け付けたか否かを判断する(ステップS1301)。ここで、監視装置100は、機器定義表500および接続関係定義表600の入力を待つ(ステップS1301:No)。
そして、監視装置100は、機器定義表500および接続関係定義表600の入力を受け付けた場合(ステップS1301:Yes)、機器定義表500の中から監視対象装置の機器定義情報を選択する(ステップS1302)。つぎに、監視装置100は、選択した機器定義情報を参照して、監視対象装置の種別が物理サーバか否かを判断する(ステップS1303)。
ここで、物理サーバの場合(ステップS1303:Yes)、監視装置100は、選択した機器定義情報を参照して、監視対象装置の機器情報を機器情報DB700に登録する(ステップS1304)。つぎに、監視装置100は、監視対象装置のハイパバイザに監視対象装置上で動作している仮想マシンの識別情報を問い合わせる(ステップS1305)。
そして、監視装置100は、監視対象装置のハイパバイザから仮想マシンの識別情報を取得したか否かを判断する(ステップS1306)。ここで、仮想マシンの識別情報が取得されなかった場合(ステップS1306:No)、監視装置100はステップS1312に移行する。
一方、仮想マシンの識別情報が取得された場合(ステップS1306:Yes)、監視装置100は、機器定義表500を参照して、仮想マシンの識別情報に対応する仮想マシンの種別を特定する(ステップS1307)。そして、監視装置100は、特定した仮想マシンの種別が仮想ネットワーク機器か否かを判断する(ステップS1308)。
ここで、仮想ネットワーク機器ではない場合(ステップS1308:No)、監視装置100は、ステップS1305に戻る。一方、仮想ネットワーク機器の場合(ステップS1308:Yes)、監視装置100は、機器定義表500を参照して、仮想マシンの識別情報に対応する仮想マシンの機器情報を特定する(ステップS1309)。そして、監視装置100は、特定した仮想マシンの機器情報を機器情報DB700に登録して(ステップS1310)、ステップS1305に戻る。
また、ステップS1303において、物理サーバではない場合(ステップS1303:No)、監視装置100は、選択した機器定義情報を参照して、監視対象装置の機器情報を機器情報DB700に登録する(ステップS1311)。そして、監視装置100は、機器定義表500の中から選択していない未選択の監視対象装置の機器定義情報があるか否かを判断する(ステップS1312)。
ここで、未選択の監視対象装置の機器定義情報がある場合(ステップS1312:Yes)、監視装置100は、ステップS1302に戻る。一方、未選択の監視対象装置の機器定義情報がない場合(ステップS1312:No)、監視装置100は、接続関係定義表600を参照して、接続情報DB800に監視対象装置間の接続情報を登録して(ステップS1313)、本フローチャートによる一連の処理を終了する。
これにより、監視対象となる物理サーバ、物理ネットワーク機器、仮想サーバ、仮想ネットワーク機器の機器情報を機器情報DB700に登録することができる。
なお、上述した説明では、ステップS1305において、監視装置100が監視対象装置のハイパバイザに問い合わせることにより、仮想マシンの識別情報を取得する場合について説明したが、これに限らない。具体的には、例えば、監視装置100は、機器定義表500を参照して、監視対象装置上で動作する仮想マシンの識別情報、種別および移動先サーバ等を特定することにしてもよい。
また、上述した説明では、ステップS1307において、監視装置100が機器定義表500を参照して、仮想マシンの識別情報に対応する仮想マシンの種別を特定する場合について説明したが、これに限らない。具体的には、例えば、監視装置100は、SNMPを用いて、仮想マシンのIPアドレスを宛先として、仮想マシンの種別を仮想マシンに問い合わせることにしてもよい。
つぎに、監視対象装置を監視する監視処理手順について説明する。監視処理は、例えば、5分、30分、1時間などの一定期間ごとに定期的に実行される。また、監視処理は、例えば、ユーザの操作入力により、任意のタイミングで不定期に実行されることにしてもよい。
図14は、監視装置100の監視処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、監視装置100は、機器情報DB700の中から監視対象装置の機器情報を選択する(ステップS1401)。つぎに、監視装置100は、選択した機器情報を参照して、監視対象装置の種別が物理サーバか否かを判断する(ステップS1402)。
ここで、物理サーバではない場合(ステップS1402:No)、監視装置100は、ステップS1411に移行する。一方、物理サーバの場合(ステップS1402:Yes)、監視装置100は、監視対象装置のハイパバイザに監視対象装置上で動作している仮想マシンの識別情報を問い合わせる(ステップS1403)。
そして、監視装置100は、監視対象装置と通信不能となったか否かを判断する(ステップS1404)。ここで、監視対象装置と通信可能な場合(ステップS1404:No)、監視装置100は、監視対象装置のハイパバイザから仮想マシンの識別情報を取得したか否かを判断する(ステップS1405)。
ここで、仮想マシンの識別情報が取得されなかった場合(ステップS1405:No)、監視装置100はステップS1411に移行する。一方、仮想マシンの識別情報が取得された場合(ステップS1405:Yes)、監視装置100は、機器情報DB700を参照して、取得した仮想マシンの識別情報に対応する仮想マシンの種別を特定する(ステップS1406)。
そして、監視装置100は、特定した仮想マシンの種別が仮想ネットワーク機器か否かを判断する(ステップS1407)。ここで、仮想ネットワーク機器ではない場合(ステップS1407:No)、監視装置100はステップS1403に戻る。一方、仮想ネットワーク機器の場合(ステップS1407:Yes)、監視装置100は、接続情報DB800を参照して、仮想マシンが動作している物理サーバと接続関係を有する他の物理サーバを検出する(ステップS1408)。そして、監視装置100は、取得した仮想マシンの識別情報をメモリ402に記憶して(ステップS1409)、ステップS1403に戻る。
また、ステップS1404において、監視対象装置と通信不能となった場合(ステップS1404:Yes)、監視装置100は、通信不能となった監視対象装置の機器情報をメモリ402に記憶する(ステップS1410)。つぎに、監視装置100は、機器情報DB700の中から選択されていない未選択の機器情報があるか否かを判断する(ステップS1411)。
ここで、未選択の機器情報がある場合(ステップS1411:Yes)、監視装置100はステップS1401に戻る。一方、未選択の機器情報がない場合(ステップS1411:No)、監視装置100は、機器情報DB700の更新処理を実行して(ステップS1412)、本フローチャートによる一連の処理を終了する。
これにより、定期的または不定期に、監視対象となる物理サーバおよび仮想ネットワーク機器の状態を監視することができる。なお、ステップS1408において検出された検出結果は、例えば、仮想マシンに関する機器情報の出力要求を受け付けた場合に、仮想マシンの機器情報とともに出力される。
つぎに、図14に示したステップS1412の更新処理の具体的な処理手順について説明する。
図15は、更新処理の具体的処理手順の一例を示すフローチャートである。図15において、監視装置100は、通信不能となった監視対象装置の機器情報がメモリ402に記憶されているか否かを判断する(ステップS1501)。ここで、通信不能となった監視対象装置の機器情報がメモリ402に記憶されていない場合(ステップS1501:No)、監視装置100はステップS1506に移行する。
一方、通信不能となった監視対象装置の機器情報がメモリ402に記憶されている場合(ステップS1501:Yes)、監視装置100は、機器情報DB700の中から、通信不能となった監視対象装置の機器情報を特定する(ステップS1502)。
そして、監視装置100は、特定した機器情報の監視対象装置の状態を「異常」に変更する(ステップS1503)。具体的には、例えば、監視装置100が、機器情報DB700内の特定した機器情報の状態フィールドに「failure」を設定する。これにより、通信不能となった監視対象装置の状態を「異常」に変更することができる。
つぎに、監視装置100は、機器情報DB700の中から、通信不能となった監視対象装置の名前がホスト名フィールドに設定されている機器情報を特定する(ステップS1504)。これにより、通信不能となった監視対象装置上で動作している仮想マシンの機器情報を特定することができる。
そして、監視装置100は、特定した機器情報の仮想マシンの状態を「異常」に変更する(ステップS1505)。これにより、通信不能となった監視対象装置上で動作している仮想マシンの状態を「異常」に変更することができる。
つぎに、監視装置100は、機器情報DB700の中から監視対象装置の機器情報を選択する(ステップS1506)。つぎに、監視装置100は、選択した機器情報を参照して、監視対象装置の種別が仮想ネットワーク機器か否かを判断する(ステップS1507)。ここで、仮想ネットワーク機器ではない場合(ステップS1507:No)、監視装置100はステップS1512に移行する。
一方、仮想ネットワーク機器の場合(ステップS1507:Yes)、監視装置100は、メモリ402の中から、選択した機器情報に対応する仮想マシンの機器情報を検索する(ステップS1508)。なお、選択した機器情報に対応する仮想マシンの機器情報とは、選択した機器情報と同一のIPアドレスあるいは識別IDが設定されている機器情報である。
つぎに、監視装置100は、仮想マシンの機器情報が検索されたか否かを判断する(ステップS1509)。ここで、仮想マシンの機器情報が検索された場合(ステップS1509:Yes)、監視装置100は、選択した機器情報のホスト名フィールドに設定されている情報が検索した機器情報と異なるか否かを判断する(ステップS1510)。
ここで、ホスト名フィールドに設定されている情報が同じ場合(ステップS1510:No)、監視装置100はステップS1512に移行する。すなわち、仮想マシンの障害が発生しておらず、また、マイグレーションによる物理サーバ間の移動が行われていないため、機器情報DB700内の仮想マシンの機器情報の変更は行われない。
一方、ホスト名フィールドに設定されている情報が異なる場合(ステップS1510:Yes)、監視装置100は、仮想マシンのホスト名を変更する(ステップS1511)。具体的には、例えば、監視装置100が、選択した機器情報のホスト名フィールドに設定されている情報を、検索した機器情報のホスト名フィールドに設定されている情報に変更する。これにより、仮想マシンのホスト名をマイグレーション先の物理サーバの名前に変更することができる。
そして、監視装置100は、機器情報DB700の中から選択されていない未選択の機器情報があるか否かを判断する(ステップS1512)。ここで、未選択の機器情報がある場合(ステップS1512:Yes)、監視装置100はステップS1506に戻る。一方、未選択の機器情報がない場合(ステップS1512:No)、監視装置100は、本フローチャートによる一連の処理を終了する。
また、ステップS1509において、仮想マシンの機器情報が検索されなかった場合(ステップS1509:No)、監視装置100は、選択した機器情報の仮想マシンの状態を「異常」に変更して(ステップS1513)、ステップS1512に移行する。これにより、障害が発生した仮想マシンの状態を「異常」に変更することができる。
これにより、定期的または不定期に、機器情報DB700内の監視対象となる物理サーバおよび仮想ネットワーク機器の機器情報を更新することができる。
なお、物理サーバが備えるハイパバイザが、物理サーバ上で動作している仮想マシンの状態を監視していない場合、図14に示したステップS1405において、監視装置100は、何らかの障害が発生して既に動作していない仮想マシンの識別情報をハイパバイザから取得してしまう場合がある。そこで、ステップS1406において、監視装置100は、例えば、SNMPを用いて、仮想マシンのIPアドレスを宛先として、仮想マシンの種別を仮想マシンに問い合わせることにしてもよい。これにより、ハイパバイザが仮想マシンの状態を監視していない場合であっても、監視装置100は、障害が発生した仮想マシンを検出することができる。
また、上述した説明では、監視対象装置の状態を「異常」に変更する場合についてのみ説明したが、これに限らない。例えば、監視装置100は、状態が異常となった監視対象装置の修復が行われたことを検出した場合に、監視対象装置の状態を「異常」から「正常」に変更することにしてもよい。
より具体的には、例えば、監視装置100は、ユーザの操作入力により、状態が異常となった監視対象装置の修復が行われたことを示す修復完了通知を受け付けた場合に、該監視対象装置の機器情報の状態を「異常」から「正常」に変更することにしてもよい。また、例えば、図14に示したステップS1401において選択された機器情報の監視対象装置の状態が「異常」となっているとする。この場合、監視装置100は、例えば、ステップS1404において監視対象装置と通信可能な場合に(ステップS1404:No)、選択された機器情報の監視対象装置の状態を「異常」から「正常」に変更することにしてもよい。また、例えば、図15に示したステップS1506において選択された機器情報の監視対象装置の状態が「異常」となっているとする。この場合、監視装置100は、例えば、ステップS1509において機器情報が検索された場合(ステップS1509:Yes)に、選択された機器情報の仮想マシンの状態を「異常」から「正常」に変更することにしてもよい。
また、機器定義表500に定義されている複数の仮想マシンのうちの特定の仮想マシンを監視対象とする場合、ステップS1403において、監視装置100は、特定の仮想マシンの機器定義情報に定義されている移行先候補の物理サーバに仮想マシンの識別情報を問い合わせることにしてもよい。これにより、特定の仮想マシンの監視処理にかかる監視装置100の処理負荷および通信量を低減させることができる。
以上説明したように、実施の形態2にかかる監視装置100によれば、物理サーバ上で動作している仮想マシンの識別情報を該物理サーバから取得し、取得した仮想マシンの識別情報に対応する仮想マシンの種別を特定することができる。そして、監視装置100によれば、仮想マシンの種別と、仮想マシンの識別情報と、該仮想マシンが動作している物理サーバの識別情報とを関連付けて出力することができる。
これにより、ネットワーク管理者等のユーザは、監視対象となる仮想マシンの種別および仮想マシンが動作している物理サーバのホスト名(名前)を把握することができる。
また、監視装置100によれば、機器情報DB700を参照して、取得した仮想マシンの識別情報に対応する仮想マシンの種別を特定することができる。これにより、仮想マシンに直接問い合わせることなく、仮想マシンの種別を特定することができ、仮想マシンの種別の特定にかかる通信量を削減することができる。
また、監視装置100によれば、接続情報DB800を参照して、仮想マシンが動作している物理サーバと接続関係を有する他の物理サーバを検出することができる。そして、監視装置100によれば、仮想マシンの種別が仮想ネットワーク機器の場合、さらに、該仮想マシンが動作している物理サーバと接続関係を有する他の物理サーバの識別情報を関連付けて出力することができる。
これにより、ネットワーク管理者等のユーザは、監視対象となる仮想マシンの種別および仮想マシンが動作している物理サーバのホスト名を把握することができるとともに、仮想ネットワーク機器に障害が発生した場合の影響範囲を特定しやすくなる。
また、監視装置100によれば、仮想マシンに関する機器情報の出力要求を受け付けた場合に、機器情報DB700に記憶されている仮想マシンの機器情報を出力することができる。これにより、ネットワーク管理者等のユーザは、監視対象となる仮想マシンの種別、該仮想マシンが動作している物理サーバ、および該物理サーバと接続関係を有する他の物理サーバを任意のタイミングで確認することができる。
また、監視装置100によれば、定期的または不定期に、監視対象となる各々の物理サーバに問い合わせることにより、各々の物理サーバ上で動作している仮想マシンの状態を判定することができる。また、監視装置100によれば、物理サーバ上で動作していた仮想マシンの状態が異常となった場合、該仮想マシンの状態が異常であることを示す状態情報を、該仮想マシンの種別、識別情報および該仮想マシンが動作していた物理サーバの識別情報と関連付けて出力することができる。
これにより、ネットワーク管理者等のユーザは、監視対象となる仮想マシンの種別、状態および仮想マシンが動作している物理サーバのホスト名を把握することができる。
また、監視装置100によれば、SNMPを用いて、取得した仮想マシンのIPアドレス宛に仮想マシンの種別を問い合わせることにより、仮想マシンの識別情報に対応する仮想マシンの種別を特定することができる。すなわち、取得した仮想マシンの識別情報に該仮想マシンのIPアドレスが含まれる場合は、監視装置100は、取得した仮想マシンのIPアドレスを宛先として、その都度、該仮想マシンに問い合わせることにより、仮想マシンの種別を特定することにしてもよい。これにより、ハイパバイザが仮想マシンの状態を監視していない場合であっても、障害が発生した仮想マシンを検出することができる。
なお、本実施の形態で説明した監視方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本監視プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本監視プログラムは、インターネット等のネットワークを介して配布してもよい。