(57)【特許請求の範囲】
【請求項１】
仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手する入手部と、
複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定し、かつ、特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するエラー有無判定部と、
を備えていることを特徴とする、障害分析装置。
【請求項２】
前記エラー有無判定部は、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、請求項１に記載の障害分析装置。
【請求項３】
前記エラー有無判定部は、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、請求項１または請求項２に記載の障害分析装置。
【請求項４】
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込む被疑対象絞込み部をさらに備え、
前記被疑対象絞込み部は、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、請求項１〜請求項３のいずれかに記載の障害分析装置。
【請求項５】
（ａ）仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
（ｂ）複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
（ｃ）特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を含むことを特徴とする、障害分析方法。
【請求項６】
仮想ホストを含む複数のホストで発生する障害をコンピュータによって分析するためのプログラムであって、
前記コンピュータに、
（ａ）前記仮想ホストを含む複数の前記ホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
（ｂ）複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
（ｃ）特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化技術により大量の仮想サーバを一元管理するデータセンタなどの運用管理に用いられる、障害分析装置、障害分析方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、仮想化技術を利用したコンピュータシステムが運用されている。このようなシステムでは、たとえば、１台のサーバコンピュータ上で複数の仮想マシンを稼働させる（たとえば、特許文献１参照）。特許文献１に記載の仮想コンピュータシステムは、複数の物理デバイス上で論理デバイスを用いて仮想デバイスを設定し、当該仮想デバイスにより仮想マシンを動作させる。
【０００３】
また、当該仮想コンピュータシステムは、仮想化環境運用支援システムを有している。仮想化環境運用支援システムは、障害が発生した物理デバイスと該物理デバイスが影響を及ぼす論理デバイスを特定した第１関連情報と、障害が発生した論理デバイスと当該論理デバイスが影響を及ぼす仮想デバイスを特定した第２関連情報と、障害が発生した仮想デバイスと当該仮想デバイスが影響を及ぼす仮想マシンを特定した第３関連情報と、を格納する、影響範囲特定テーブル部を備えている。
【０００４】
また、前記仮想化環境運用支援システムは、制御部を備えている。制御部は、仮想コンピュータシステムから障害が発生した物理デバイス、論理デバイス又は仮想デバイスを特定する障害発生部位情報を受信し、当該障害発生部位情報を基に前記影響範囲特定テーブル部を参照して前記障害が及ぼす仮想マシンを特定する。また、制御部は、障害発生部位情報が仮想デバイスのとき、当該仮想デバイスが影響を及ぼす仮想マシンを、前記第３関連情報を参照して特定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−００９４１１号公報（要約、請求項１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＶＭＷａｒｅ（登録商標）に代表される仮想化技術を多用するサーバコンピュータ（クラウドシステム）の障害監視を行う場合、障害発生時に、本来、原因が一つであるにも拘らず、複数の障害が同時期に発生したように見えてしまう場合が多々ある。そのような場合、どの障害から対処したらよいかが判らず、障害原因および影響範囲の特定に時間がかかってしまう。また、仮想環境下では、頻繁に利用リソース変更があり、影響範囲の特定が困難である。
【０００７】
特許文献１に記載の構成では、仮想マシンに生じた障害の影響範囲を特定する処理を行う前提条件として、障害イベントから、原因となるデバイスを特定できるようにしておく必要がある。すなわち、予め、障害イベントと、原因となるデバイスとの関係とを登録してあることが必要である。よって、事前に登録されていない障害の原因分析を行うことができない。
【０００８】
本発明の目的の一例は、エラー内容と、エラー原因との関係を予め特定できていなくても、障害原因を分析することができ得る、障害分析装置、障害分析方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一側面における、障害分析装置は、仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手する入手部と、
複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定し、かつ、特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するエラー有無判定部と、
を備えていることを特徴とする。
【００１０】
また、上記目的を達成するため、本発明の一側面における、障害分析方法は、
（ａ）仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
（ｂ）複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
（ｃ）特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を含むことを特徴とする。
【００１１】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、仮想ホストを含む複数のホストで発生する障害をコンピュータによって分析するためのプログラムであって、前記コンピュータに、
（ａ）前記仮想ホストを含む複数の前記ホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
（ｂ）複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
（ｃ）特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を実行させることを特徴とする。
【発明の効果】
【００１２】
以上のように、本発明によれば、エラー内容と、エラー原因との関係を予め特定できていなくても、障害原因を分析することができ得る。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態の障害分析装置を含む、障害分析システムの概略構成を示すブロック図である。
【図２】図２は、構成情報蓄積部に含まれる、本実施の形態における動作に必要なデータテーブルを示す図である。
【図３】図３は、ホスト管理テーブルを示す図である。
【図４】図４は、物理ディスク管理テーブル、論理ディスク管理テーブル、およびＮＩＣ管理テーブルを示す図である。
【図５】図５は、リソース割り当てテーブルを示す図である。
【図６】図６は、メッセージの構造例を示す図である。
【図７】図７は、エラー原因絞込みの処理の流れを説明するためのフローチャートである。
【図８】図８（ａ）は、発生ノード判定部が行う処理について説明するためのフローチャートであり、図７のステップＳ２の処理の詳細を示している。図８（ｂ）は、メッセージ検索範囲算出部が行う処理について説明するためのフローチャートであり、図７のステップＳ３の処理の詳細を示している。
【図９】図９は、エラー有無判定部が行う処理について説明するためのフローチャートであり、図７のステップＳ４の処理の詳細を示している。
【図１０】図１０は、図９のステップＳ３０１〜Ｓ３０３についての詳細な処理の流れを説明するためのフローチャートである。
【図１１】図１１（ａ）は、被疑対象絞込み部が行う処理の流れを示すフローチャートであり、図１１（ｂ）は、ソート処理部が行う処理の流れを示すフローチャートである。
【図１２】図１２は、ステップＳ９〜Ｓ１２について説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態における、障害分析装置について、図面を参照しながら説明する。
【００１５】
[装置構成]
図１は本発明の実施の形態に係る障害分析装置１００を含む、障害分析システム１の概略構成を示すブロック図である。本実施の形態では、障害分析システム１は、障害分析装置１００と、監視対象サーバ２００と、オペレータが操作する監視端末３００と、を備えている。
【００１６】
障害分析装置１００は、後述するように、たとえば、サーバコンピュータによって構築することができる。監視対象サーバ２００は、たとえば、サーバコンピュータによって構築することができる。監視対象サーバ２００は、ハードディスクなどの物理デバイスと、論理デバイスと、をそれぞれ複数有している。また、監視対象サーバ２００は、これら物理デバイスおよび論理デバイスを利用する、複数のホストを有している。当該複数のホストは、物理ＯＳ（Operating System）、ハイパバイザ、および仮想ＯＳを含む。
【００１７】
監視端末３００には、コンピュータが含まれる。障害分析装置１００と、監視対象サーバ２００とは、ネットワーク４００を介して接続されている。また、障害分析装置１００と、監視端末３００とは、ネットワーク４００を介して接続されている。
【００１８】
障害分析装置１００は、入手部１３１と、エラー有無判定部１５３と、を含んでいる。入手部１３１は、監視対象サーバ２００の各ホストのそれぞれが利用する物理デバイスの情報および論理デバイスを特定する情報（デバイス情報）を、監視対象サーバ２００から入手する。
【００１９】
エラー有無判定部１５３は、監視対象サーバ２００の複数のホストのうち、エラーが発生したエラー発生ホストのホスト名と、入手部１３１で入手したデバイス情報とから、エラー発生ホストが利用している物理デバイスおよび論理デバイスを特定する。エラー有無判定部１５３は、さらに、特定された物理デバイスおよび論理デバイスを共用する他のホストで、エラーが発生しているか否かを判定する。
【００２０】
以上説明したように、本実施の形態では、エラー内容と、エラー原因との関係を予め障害分析装置１００で特定できていなくても、障害原因を分析することが可能である。より具体的には、エラー発生ホストと、物理デバイスおよび論理デバイスの少なくとも一方を共用する他のホストにもエラーが生じている場合には、当該共用するデバイスがエラー原因であると分析することができる。一方、エラー発生ホストにはエラーが発生しているにも拘らず、上記他のホストにはエラーが生じていない場合には、エラー発生ホスト自身がエラー原因であると分析することができる。その結果、オペレータは、エラー発生原因を正確に知ることができ、エラー解消作業に迅速にとりかかることができる。
【００２１】
以上が、障害分析装置１００の概略説明である。次に、障害原因箇所絞込みシステム１の、より具体的な構成を、図１に加え、図２〜図６を用いて説明する。
【００２２】
図１に示すように、本実施の形態では、監視対象サーバ２００は、構成情報取得部２０１と、イベント蓄積部２１０とを含んでいる。構成情報取得部２０１は、監視対象サーバ２００を構成するハードウェアの構成情報、およびソフトウェアの構成情報を、常時監視しており、これらの構成情報を、構成変更情報を含め取得する。なお、一般的に物理ＯＳ（Operating System）およびハイパバイザは、自身が利用している物理デバイス情報、および論理デバイス情報を管理している。構成情報の具体的な取得方法の一例としては、監視対象サーバ２００側で提供しているAPI（Application Program Interface）を利用すること、または、エージェントプログラムを稼動させて、構成情報を取得すること、を挙げることができる。本実施の形態では、構成情報取得部２０１が取得した構成情報は、データ分析部１３２およびテーブル更新部１３３を介して、構成情報蓄積部１４０に格納される。また、本実施の形態では、監視対象サーバ２００のイベント蓄積部２１０は、監視対象サーバ２００で発生したイベント情報を格納する。
【００２３】
本実施の形態では、監視端末３００は、オペレータによって操作される。監視端末３００は、メッセージ検索部３０１と、要求部３１０と、表示制御部３１３と、表示部３１４と、を含んでいる。
【００２４】
本実施の形態では、メッセージ検索部３０１は、オペレータの操作に応じて、後述するメッセージ蓄積部１１０に蓄積されているメッセージから、たとえば、１つのメッセージを検索する。
【００２５】
本実施の形態では、要求部３１０は、原因絞込み要求部３１１と、メッセージ一覧要求部３１２と、を含んでいる。本実施の形態では、原因絞込み要求部３１１は、メッセージ検索部３０１によって検索されたメッセージを見たオペレータによって操作される。原因絞込み要求部３１１は、エラーメッセージが生じた原因を絞り込む指令を、障害分析装置１００へ与える。また、本実施の形態では、メッセージ一覧要求部３１２は、原因絞込み要求部３１１の操作に対して障害分析装置１００から返された原因絞込みの結果を見たオペレータによって、操作される。メッセージ一覧要求部３１２は、エラーメッセージを検索した結果の一覧を作成する要求を、障害分析装置１００へ与える。
【００２６】
本実施の形態では、表示制御部３１３は、与えられたデータに基づく画像を、液晶ディスプレイ等の表示部３１４の表示画面に表示させる。
【００２７】
本実施の形態では、障害分析装置１００は、メッセージ監視部１０１と、メッセージ蓄積部１１０と、デバイス情報整理部１２０と、処理部１３０と、結果出力部１１１と、を含んでいる。
【００２８】
本実施の形態では、メッセージ監視部１０１は、監視対象サーバ２００のイベント蓄積部２０１に格納されるイベントを監視し、当該イベントをメッセージとして取得し、取得したメッセージを、メッセージ蓄積部１１０に格納する。
【００２９】
本実施の形態では、デバイス情報整理部１２０は、入手部１３１と、データ分析部１３２と、テーブル更新部１３３と、構成情報蓄積部１４０と、を含んでいる。
【００３０】
本実施の形態では、構成情報監視部１３１は、監視対象サーバ２００を構成するハードウェア情報、およびソフトウェア情報などの構成情報を、構成情報取得部２０１から取得する。
【００３１】
本実施の形態では、構成情報監視部１３１で得られた情報は、データ分析部１３２で情報毎にまとめられ、分析および分類される。当該分析されたデータは、テーブル更新部１３３によって、構成情報蓄積部１４０に登録される。
【００３２】
図２は、構成情報蓄積部１４０に含まれる、本実施形態における動作に必要なデータテーブル１４１〜１４５を示す図である。図２に示すように、本実施の形態では、構成情報蓄積部１４０は、物理デバイスおよび論理デバイスとホストとの関係などを示すテーブルを格納している。より具体的には、構成情報蓄積部１４０は、ホスト管理テーブル１４１と、物理ディスク管理テーブル１４２と、論理ディスク管理テーブル１４３と、ＮＩＣ（Network Interface Card ）管理テーブル１４４と、リソース割り当てテーブル１４５と、を格納している。
【００３３】
図３は、ホスト管理テーブル１４１を示す図である。図３に示すように、本実施の形態では、ホスト管理テーブル１４１は、全ホスト名を管理するテ−ブル１４１１と、ハイパバイザであるホスト名を管理するテーブル１４１２と、ハイパバイザ上に構成された仮想ホスト名を管理するテーブル１４１３と、を含んでいる。これらのテーブル１４１１、１４１２、１４１３の情報は、互いに関係付けられている。
【００３４】
本実施の形態では、テーブル１４１１は、ホストＩＤと、当該ホストＩＤに対応するホスト名とを格納している。テーブル１４１１は、たとえば、ホストＩＤ１のホスト名をＶＭ１として格納し、ホストＤ２のホスト名をＧｕｅｓｔ２として格納している。さらに、テーブル１４１１は、ホストＩＤ３，４，５，６，…のホスト名を、それぞれ、Ｇｕｅｓｔ２，ＶＭ２，Ｇｕｅｓｔ３，ｈｏｓｔ１，…として格納している。また、テーブル１４１２は、ハイパバイザＩＤと、当該ハイパバイザＩＤに対応するホスト名とを格納している。テーブル１４１２は、たとえば、ハイパバイザＩＤ１のホスト名をＶＭ１として格納している。また、テーブル１４１３は、仮想ホストＩＤと、当該ホストＩＤに対応するホスト名とを格納している。テーブル１４１３は、たとえば、仮想ホストＩＤ１のホスト名をＧｕｅｓｔ１として格納し、仮想ホストＩＤ２のホスト名をＧｕｅｓｔ２として格納している。
【００３５】
図４は、物理ディスク管理テーブル１４２、論理ディスク管理テーブル１４３、およびＮＩＣ管理テーブル１４４を示す図である。図４に示すように、ディスク管理テーブル１４２は、全監視対象の物理ディスクを管理するテーブル１４２１と、物理ディスク毎に利用ホストを管理するテーブル１４２２と、を含んでおり、ホスト名から、利用している物理ディスクを特定する。
【００３６】
本実施の形態では、テーブル１４２１は、物理ディスクＩＤと、当該物理ディスクＩＤに対応するディスク名とを格納している。テーブル１４２１は、たとえば、物理ディスクＩＤ１のディスク名をＤｉｓｋＡとして格納し、物理ディスクＩＤ２のディスク名をＤｉｓｋＢとして格納し、物理ディスクＩＤ３のディスク名をＤｉｓｋＣとして格納している。また、本実施の形態では、テーブル１４２２は、物理ＤｉｓｋＡを利用するホストＩＤと、当該ホストＩＤに対応するホスト名とを格納している。テーブル１４２２は、たとえば、物理ＤｉｓｋＡにおけるホストＩＤ１のホスト名をＶＭ１として格納し、物理ＤｉｓｋＡにおけるホストＩＤ４のホスト名をＶＭ２として格納している。なお、図４では、物理ディスクＡに対応するホストＩＤおよびホスト名を図示しているが、テーブル１４２２は、物理ディスクＢ、Ｃ、…、の各物理ディスクに対応するホストＩＤおよびホスト名も格納している。
【００３７】
本実施の形態では、論理ディスク管理テーブル１４３は、物理ディスク管理テーブル１４２１の各物理ディスクと対応する論理ディスク名を格納したテーブル１４３１を含んでいる。このテーブル１４３１には、論理ディスクを利用しているホスト名を格納したテーブル１４３２が紐づいている。これにより、ホスト名から、利用している論理ディスクを特定することが可能となっている。なお、本実施の形態では、テーブル１４３１は、論理ディスクＩＤと、当該論理ディスクＩＤに対応する論理ディスク名とを格納している。テーブル１４３１は、たとえば、論理ディスクＩＤ１の論理ディスク名を論理Ａとして格納し、論理ディスクＩＤ２の論理ディスク名を論理Ｂとして格納し、論理ディスクＩＤ３の論理ディスク名を論理Ｃとして格納している。なお、図４では、物理ディスクＡに対応する論理ディスクについて、テーブル１４３１で図示しているが、テーブル１４３１は、物理ディスクＢ、Ｃ、…、の各物理ディスクに対応する論理ディスクの情報も格納している。
【００３８】
本実施の形態では、ＮＩＣ管理テーブル１４４は、全監視対象の物理ＮＩＣを管理するテーブルであり、テーブル１４４１と、ＮＩＣ毎に利用ホストを管理するテーブル１４４２と、を含んでいる、これにより、ホスト名から、利用しているＮＩＣを特定することが可能となっている。本実施の形態では、テーブル１４４１は、ＮＩＣＩＤと、当該ＮＩＣＩＤに対応するＭＡＣ（Media Access Control）アドレス名とを格納している。テーブル１４４１は、たとえば、ＮＩＣＩＤ１のＭＡＣアドレスをＭＡＣ１として格納し、ＮＩＣＩＤ２のＭＡＣアドレスをＭＡＣ２として格納し、ＮＩＣＩＤ３のＭＡＣアドレスをＭＡＣ３として格納している。図４では、ＭＡＣ１に対するホストＩＤおよびホスト名について図示しているが、テーブル１４４２は、ＭＡＣ２、ＭＡＣ３の各ＭＡＣアドレスに対応するホストの情報も格納している。
【００３９】
図５は、リソース割り当てテーブル１４５を示す図である。本実施の形態では、図５に示すように、リソース割り当てテーブル１４５は、ハイパバイザテーブル１４５１と、ＮＩＣテーブル１４５２と、論理ディスクテーブル１４５３と、仮想ホストテーブル１４５４と、を含んでいる。
【００４０】
本実施の形態では、ハイパバイザテーブル１４５１は、ハイパバイザＩＤと、当該ハイパバイザＩＤに対応するホスト名とを格納している。ハイパバイザテーブル１４５１は、たとえば、ハイパバイザＩＤ１のホスト名をＶＭ１として格納している。また、本実施の形態では、ＮＩＣテーブル１４５２は、ＮＩＣＩＤと、当該ＮＩＣＩＤに対応するＭＡＣアドレスとを格納している。ＮＩＣテーブル１４５２は、たとえば、ＮＩＣＩＤ１、ＮＩＣＩＤ２、ＮＩＣＩＤ３のＭＡＣアドレス名、それぞれ、をＭＡＣ１、ＭＡＣ２、ＭＡＣ３として格納している。また、本実施の形態では、論理ディスクテーブル１４５３は、論理ディスクＩＤと、当該論理ディスクＩＤに対応する論理ディスク名とを格納している。論理ディスクテーブル１４５３は、たとえば、論理ディスクＩＤ１、ＩＤ２、ＩＤ３の論理ディスク名を、それぞれ、論理Ａ、論理Ｂ、論理Ｃとして格納している。また、本実施の形態では、仮想ホストテーブル１４５４は、仮想ホストＩＤと、当該仮想ホストＩＤに対応するホスト名とを格納している。仮想ホストテーブル１４５４は、たとえば、仮想ホストＩＤのホスト名をＧｕｅｓｔ１として格納している。
【００４１】
本実施の形態では、リソース割り当てテーブル１４５において、ハイパバイザが各仮想ホストに割り当てるリソース情報を含む仮想ホストテーブル１４５４と、ＮＩＣテーブル１４５２と、論理ディスクテーブル１４５３と、が関係づけられている。これにより、仮想ホスト名から、割り当てられたデバイス情報を特定することが可能となる。なお、ＮＩＣテーブル１４５２および論理ディスクテーブル１４５３は、それぞれ、ハイパバイザテーブル１４５１と関係づけられている。これにより、ホスト名から、当該ホストが利用するハイパバイザを特定することができる。
【００４２】
次に、図１に示すように、本実施形態における原因絞込みを実施する処理部１３０について説明する。本実施の形態では、処理部１３０は、発生ノード判定部１５１と、メッセージ抽出範囲算出部１５２と、エラー有無判定部１５３と、被疑対象絞込み部１５４と、ソート処理部１５５と、を含んでいる。本実施の形態では、処理部１３０は、構成情報蓄積部１４０およびメッセージ蓄積部１１０のそれぞれと接続されている。
【００４３】
本実施の形態では、発生ノード判定部１５１は、メッセージ発生源が仮想ホストであるか否かを判定する。メッセージ検索範囲算出部１５２は、オペレータによって選択されたエラーの発生時を基準に、当該事象発生前後のどれくらいの期間のメッセージを検索対象とするが決定する。エラー有無判定部１５３は、抽出した期間内に発生ノードなどでエラーメッセージが発生していたか否かを判定する。本実施の形態では、被疑対象絞込み部１５４は、エラーメッセージが出ているホスト数の割合から被疑対象デバイスを絞り込む。ソート処理部１５５は、被疑対象絞込み部１５４からの出力データを並び替える。
【００４４】
本実施の形態では、処理部１５０は、ソート処理部１５５でソートされたデータは、結果出力部１１１によって、ネットワーク４００を通じて、監視端末３００の表示制御部３１３へ出力される。表示制御部３１３は、受けたデータを、監視端末３００の表示部３１４に表示する。これにより、障害分析装置１００は、監視端末３００を利用するオペレータに、要求部３１０の操作に対する結果を返す。本実施の形態では、原因絞込み要求部３１１からの要求により、発生ノード判定部１５１、メッセージ抽出範囲算出部１５２、エラー有無判定部１５３、被疑対象絞込み部１５４、およびソート処理部１５５の処理が実行される。原因絞込み要求部３１１の要求は、発生ノード判定部１５１へ与えられる。
【００４５】
また、本実施の形態では、処理部１３０は、要求対象判定部１６１と、メッセージ検索部１６２と、を更に含んでいる。要求対象判定部１６１は、メッセージ要求対象ホストを特定する。メッセージ検索部１６２は、特定のホストについてのメッセージをメッセージ蓄積部１１０内から検索する。ソート処理部１５５は、検索されたメッセージを所定のルールに従って並び替える。本実施の形態では、当該メッセージに関する処理は、メッセージ一覧要求部３１２からの要求により実行される。メッセージ一覧要求部３１２の要求は、要求対象判定部１６１へ与えられる。
【００４６】
前述したように、監視端末３００は、メッセージ検索部３０１を含んでいる。メッセージ検索部３０１は、ネットワーク４００を介してメッセージ蓄積部１１０に接続されている。メッセージ検索部３０１は、メッセージ蓄積部１１０に保存されているメッセージに対して検索を行うことで、任意のメッセージを参照することができる。なお、メッセージ蓄積部１１０に蓄積されているメッセージの構造例は、図６に示すとおりである。
【００４７】
図６は、メッセージの構造例を示す図である。本実施の形態では、メッセージ蓄積部１１０に蓄積されるメッセージは、発生ノード１１０１、メッセージＩＤ１１０２、メッセージ内容１１０３、アラートレベル１１０４、発生日１１０５、および発生時間１１０６を含んでいる。
【００４８】
発生ノード１１０１には、イベントが発生したホスト名が示されている。メッセージ内容１１０３には、具体的なイベント内容（エラー内容）が示されている。アラートレベル１１０４には、エラーが生じたイベントについて、”Ｅｒｒｏｒ”が示されている。発生日１１０５には、イベントの発生日が示されている。発生時間１１０６には、イベントが発生した時刻が示されている。
【００４９】
［本実施の形態における動作の説明］
[動作の概要]
図１に示すように、本実施の形態では、監視対象サーバ２００にエラーが発生した場合、オペレータは、監視端末３００の原因絞込み要求部３１１を操作することで、エラーに関連すると判断したメッセージを１つ選択する。これに基づき、障害分析装置１００は、そのメッセージを発生したエラー発生ホストと、デバイス情報とを関連づける。そして、障害分析装置１００は、エラーメッセージを発生したホストと、デバイスを共用している１または複数のホストを抽出する。
【００５０】
さらに、障害分析装置１００は、上記エラー発生時近辺に、上記共用のホストにエラーが発生しているか判定する。そして、障害分析装置１００は、エラーの発生の有無を判定した判定結果に基づき、エラーの発生原因として疑われる被疑対象デバイス、および被疑対象デバイスを利用するホストの一覧を作成する。そして、障害分析装置１００は、作成したホストの一覧を監視端末３００に返す。被疑対象デバイス、および被疑対象デバイスを利用するホストに関して、メッセージ一覧要求部３１２の操作に基づいて、メッセージ一覧の要求がある場合、障害分析装置１００は、メッセージ蓄積部１１０内を検索する。そして、障害分析装置１００は、被疑対象デバイスまたは当該デバイスを利用するホストのメッセージを検索し、監視端末３００へ検索結果を出力する。
【００５１】
[本実施の形態における動作の詳細な説明]
次に、本実施の形態における障害分析装置１００の動作の詳細について、図７〜図１２を用いて説明する。図７は、エラー原因絞込みの処理の流れを説明するためのフローチャートである。また、以下の説明においては、適宜、図１〜図６を参照する。また、本実施の形態では、障害分析装置１００を動作させることによって、障害分析方法が実施される。よって、本実施の形態における、障害分析方法の説明は、以下の障害分析装置１００の動作説明に代える。
【００５２】
図７に示すように、本実施の形態では、障害分析装置１００は、任意のエラーメッセージ１件に対して、原因絞込み要求があるか否かを判定する（ステップＳ１）。たとえば、オペレータが原因絞込み要求部３１１を操作することにより、任意のエラーメッセージ１件に関する原因絞込み要求が発せられると（ステップＳ１でＹＥＳ）、発生ノード判定部１５１が処理を行う（ステップＳ２）。次に、メッセージ検索範囲算出部１５２が処理を行い（ステップＳ３）、以後、順に、エラー有無判定部１５３、被疑対象絞込み部１５４、ソート処理部１５５が処理を行う（ステップＳ４、Ｓ５、Ｓ６）。ソート処理部１５５でソートされた、障害原因の被疑対象の推定結果は、結果出力部１１１が、ネットワーク４００を介して監視端末３００の表示制御部３１３へ出力する（ステップＳ７）。これにより、上記被疑対象の推定結果は、表示部３１４に表示される。
【００５３】
次に、被疑対象デバイスの推定結果を見たオペレータによって、メッセージ一覧要求部３１２が操作されることにより、上記被疑対象に対する検索要求が障害分析装置１００へ発せられると（ステップＳ８でＹＥＳ）、要求対象判定部１６１、メッセージ検索部１６２、およびソート処理部１５５が、順に処理を行う（ステップＳ９、Ｓ１０、Ｓ１１）。ソート処理部１５５でソートされた、被疑対象に関するメッセージの一覧は、結果出力部１１１がネットワーク４００を介して、監視端末３００の表示制御部３１３へ出力する（ステップＳ１２）。これにより、当該メッセージ一覧は、表示部３１４に表示される。
【００５４】
上記したように、本実施の形態において、障害原因絞込みの処理は大きく分けて２段階ある。１段階目の処理は、１件のエラーメッセージから、原因と考えられるデバイス、および関連するホスト名を列挙する処理（ステップＳ２〜Ｓ６）である。２段階目の処理は、列挙された対象についてメッセージ検索を行う処理（ステップＳ９〜Ｓ１１）である。まず、前者の処理（ステップＳ２〜Ｓ６）について、図８〜図１１を用いて説明する。
【００５５】
図８（ａ）は、発生ノード判定部１５１が行う処理について説明するためのフローチャートであり、図７のステップＳ２の処理の詳細を示している。図８（ｂ）は、メッセージ検索範囲算出部１５２が行う処理について説明するためのフローチャートであり、図７のステップＳ３の処理の詳細を示している。図９は、エラー有無判定部１５３が行う処理について説明するためのフローチャートであり、図７のステップＳ４の処理の詳細を示している。
【００５６】
図７に示すように、たとえば、オペレータが、監視端末３００の原因絞込み要求部３１１を操作することにより、原因絞込み要求部３１１から、あるエラーメッセージ１件について、障害分析装置１００に処理を行う要求が発せられると、図８（ａ）に示すように、発生ノード判定部１５１は、メッセージ蓄積部１１０に蓄積されている指定されたメッセージの発生ノード１１０１のホスト名と、構成情報蓄積部１４０中のホスト管理テーブル１４１とを照合し、発生ノード１１０１のホスト名と一致するホスト名を取得する（ステップＳ１０１）。次に、発生ノード判定部１５１は、取得したホスト名に仮想ホストテーブル１４１３のホスト名が含まれるか否か判定する（ステップＳ１０２）。取得したホスト名に仮想ホストＩＤが含まれている場合（ステップＳ１０２でＹＥＳ）、発生ノード判定部１５１は、メッセージ発生ノードが仮想ホストであると判定する（ステップＳ１０３）。一方、取得したホスト名に仮想ホストＩＤが含まれていない場合（ステップＳ１０２でＮＯ）、メッセージ発生ノードは、物理ホスト、またはハイパバイザであると判定する（ステップＳ１０４）。
【００５７】
図８（ｂ）に示すように、メッセージ検索範囲算出部１５２は、原因絞込み要求のあったエラーメッセージ中の発生日１１０５、および発生時間１１０６を中心に、すなわち、エラー発生状況に基づいて、エラー有無判定部１５３でエラーの判定対象とするメッセージ取得範囲を算出する（ステップＳ２０１）。メッセージ取得範囲の指定方法については特に限定されないが、本実施の形態では、原因絞込みを行っているエラーメッセージの発生時刻を基準として前後数秒または数十秒の期間に発生したメッセージを検索範囲対象とする。なお、メッセージ取得範囲の指定方法として、上記エラーメッセージの発生時刻の前後に発生した数十件のメッセージを検索対象範囲としてもよい。
【００５８】
次に、図９に示すように、エラー有無判定部１５３は、構成情報蓄積部１４０を検索することにより、指定された発生ノード１１０１のホストが利用しているデバイス情報を抽出する（ステップＳ３０１）。
【００５９】
次に、エラー有無判定部１５３は、指定された発生ノード１１０１のホストと論理デバイスを共用している全てのホストを抽出する（ステップＳ３０２）。次に、エラー有無判定部１５３は、指定された発生ノード１１０１のホストが利用する論理デバイスに紐づく全てのホストについて、ステップＳ２０１で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部１１０から検索する。そして、エラー有無判定部１５３は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル１１０４がＥｒｒｏｒであるメッセージが発生しているか否かを判定する（ステップＳ３０３）。
【００６０】
次に、エラー有無判定部１５３は、ステップＳ３０４、およびステップＳ３０５の処理を行う。ステップＳ３０４およびステップＳ３０５の処理は、論理デバイスについての検索処理（ステップＳ３０２、Ｓ３０３）と同様の処理であり、物理デバイスについての検索処理を行う。
【００６１】
具体的には、エラー有無判定部１５３は、指定された発生ノード１１０１のホストと物理バイスを共用している全てのホストを抽出する（ステップＳ３０４）。次に、エラー有無判定部１５３は、指定された発生ノード１１０１のホストが利用する物理デバイスに紐づく全てのホストについて、ステップＳ２０１で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部１１０から検索する。そして、エラー有無判定部１５３は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル１１０４がＥｒｒｏｒであるメッセージが発生しているか否かを判定する（ステップＳ３０５）。
【００６２】
次に、エラー有無判定部１５３は、指定された発生ノード１１０１のホストが、仮想ホストであるか否かを確認する（ステップＳ３０６）。なお、発生ノード１１０１が仮想ホストであるか否かの判定は、予め発生ノード判定部１５１においてされているものである。エラー有無判定部１５３は、発生ノード１１０１が仮想ホストであると確認した場合（ステップＳ３０６でＹＥＳ）、ステップＳ３０７に進む。ステップＳ３０７では、エラー有無判定部１５３は、仮想ホストの基盤となるハイパバイザを構成情報蓄積部１４０より特定し、ハイパバイザをエラー発生ノードと見立てる。次に、エラー有無判定部１５３は、ステップＳ３０１での処理と同様に、構成情報蓄積部１４０を検索することで、ハイパバイザが利用しているデバイス情報を抽出する（ステップＳ３０８）。次に、エラー有無判定部１５３は、ステップＳ３０９〜Ｓ３１２の処理を行うことで、エラー発生状況を判定する。
【００６３】
なお、ステップＳ３０９およびステップＳ３１０の処理は、それぞれ、ステップＳ３０２およびステップＳ３０３の処理と同様である。また、ステップＳ３１１およびステップＳ３１２の処理は、それぞれ、ステップＳ３０２およびステップＳ３０３の処理と同様である。
【００６４】
具体的には、エラー有無判定部１５３は、仮想ホストの基盤となるハイパバイザと論理デバイスを共用している全てのホストを抽出する（ステップＳ３０９）。次に、エラー有無判定部１５３は、上記ハイパバイザが利用する論理デバイスに紐づく全てのホストについて、ステップＳ２０１で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部１１０から検索する。そして、エラー有無判定部１５３は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル１１０４がＥｒｒｏｒであるメッセージが発生しているか否かを判定する（ステップＳ３１０）。
【００６５】
次に、エラー有無判定部１５３は、上記ハイパバイザと物理デバイスを共用している全てのホストを抽出する（ステップＳ３１１）。次に、エラー有無判定部１５３は、上記ハイパバイザが利用する物理デバイスに紐づく全てのホストについて、ステップＳ２０１で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部１１０から検索する。そして、エラー有無判定部１５３は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル１１０４がＥｒｒｏｒであるメッセージが発生しているか否かを判定する（ステップＳ３１２）。
【００６６】
次に、図１０に示すステップＳ３０１〜Ｓ３０３についての詳細な処理の流れを説明する。図１０は、図９のステップＳ３０１〜Ｓ３０３についての詳細な処理の流れを説明するためのフローチャートである。
【００６７】
ステップＳ３００１は、ステップＳ３０１と同一の処理であり、エラー有無判定部１５３は、構成情報蓄積部１４０を検索することにより、指定された発生ノード１１０１のホストが利用している論理デバイスおよび物理デバイスの構成情報を抽出する。次に、ステップＳ３００２では、エラー有無判定部１５３は、ステップＳ３００１で取得した、指定された発生ノード１１０１のホストが利用している論理デバイス一覧と紐づくホストがあるか否かを、構成情報蓄積部１４０を参照して判定する（ステップＳ３００２）。
【００６８】
指定された発生ノード１１０１のホスト以外に論理デバイスを利用しているホストが存在しない場合（ステップＳ３００２でＮＯ）、エラー有無判定部１５３は、ステップＳ３００８に進む。一方、発生ノード１１０１のホスト以外に論理デバイスを利用しているホストが存在する場合（ステップＳ３００２でＹＥＳ）、エラー有無判定部１５３は、指定された発生ノード１１０のホストと論理デバイスを共用する全てのホストを抽出する（ステップＳ３００３）。次に、エラー有無判定部１５３は、抽出した中の一のホストについて、ステップＳ２０１で算出したメッセージ検索対象期間に該当するメッセージを、メッセージ蓄積部１１０内から検索する（ステップＳ３００４）。次に、エラー有無判定部１５３は、検索したメッセージのうち、アラートレベル１１０４が”Ｅｒｒｏｒ”となっているものが１件以上存在するか否かを判定する（ステップＳ３００５）。アラートレベル１１０４が”Ｅｒｒｏｒ”となっているものが１件以上存在する場合（ステップＳ３００５でＹＥＳ）、エラー有無判定部１５３は、カウント値を１つ加算する（ステップＳ３００６）。一方、アラートレベル１１０４が”Ｅｒｒｏｒ”となっているものが無い場合（ステップＳ３０５でＮＯ）、エラー有無判定部１５３は、カウント値を加算しない。
【００６９】
次に、エラー有無判定部１５３は、指定された発生ノード１１０１のホストと論理デバイスを共用するホストのうち、ステップＳ３００４〜Ｓ３００６の処理が行われていないホストが存在しているか否かを判定する（ステップＳ３００７）。指定された発生ノード１１０１のホストと論理デバイスを共用しているホストのうち、ステップＳ３００４〜Ｓ３００６の処理が行われていないホストが存在している場合（ステップＳ３００７でＹＥＳ）、エラー有無判定部１５３は、メッセージ検索対象のホストを当該ホストへシフトする（ステップＳ３００８）。そして、エラー有無判定部１５３は、当該ホストについて、ステップＳ３００４〜Ｓ３００６の処理を繰り返す。
【００７０】
一方、指定された発生ノード１１０１のホストと論理デバイスを共用しているホストの全てについて、ステップＳ３００４〜Ｓ３００６の処理が行われた場合（ステップＳ３００７でＮＯ）、エラー有無判定部１５３は、ステップＳ３００９に進む。
【００７１】
ステップＳ３００９では、エラー有無判定部１５３は、指定された発生ノード１１０１のホストと、当該ホストと論理デバイスを共用する他のホストとを合わせた、当該論理デバイス上の全ホスト数に対する、ステップＳ３００６カウント値（エラー発生ホスト数）の割合をエラー発生割合として算出する。例えば、ステップＳ３００３で抽出されたホスト数が３、ステップＳ３００６で加算されたカウント値が３であった場合、ステップＳ３００９での算出値は、３／４≒０．８となる。上記の割合算出後、エラー有無判定部１５３は、ステップＳ３０１０に進む。ステップＳ３０１０では、エラー有無判定部１５３は、ステップＳ３００１で抽出された論理デバイスのうち、ステップＳ３００２〜Ｓ３００９の処理定が行われていない論理デバイスがあるか否かを判定する。
【００７２】
ステップＳ３００２〜Ｓ３００９の処理が行われていない論理デバイスがある場合には、エラー有無判定部１５３は、上記の処理が行われていない他の論理デバイスを処理対象にシフトし（ステップＳ３０１１）、ステップＳ３００２〜Ｓ３００９の処理を繰り返し行う。一方、ステップＳ３００２〜Ｓ３００９の処理が行われていない論理デバイスが無い場合（ステップＳ３０１０でＮＯ）、エラー有無判定部１５３は、処理を終了する。
【００７３】
なお、図９に示すステップＳ３０４〜３０５の処理は、図１０に示すステップＳ３００２〜Ｓ３０１１の処理における「論理デバイス」を、「物理デバイス」に置き換えた場合と同一の処理となるので、詳細な説明は省略する。
【００７４】
また、図９に示すステップＳ３０８〜Ｓ３１０の処理は、図１０に示すステップＳ３０００１〜Ｓ３０１１の処理における「発生ノード１１０１のホスト」を「ハイパバイザ」に置き換えた場合と同一の処理となるので、詳細な説明は省略する。さらに、図９に示すステップＳ３１１〜Ｓ３１２の処理は、図１０に示すステップＳ３００２〜Ｓ３０１１の処理における「発生ノード１１０１のホスト」を「ハイパバイザ」に置き換え、かつ、「論理デバイス」を「物理デバイス」に置き換えた場合と同一の処理となるので、詳細な説明は省略する。
【００７５】
次に、図１１（ａ）および図１１（ｂ）に示す、被疑対象絞込み部１５４、およびソート処理部１５５での処理の流れを説明する。図１１（ａ）は、被疑対象絞込み部１５４が行う処理の流れを示すフローチャートであり、図１１（ｂ）は、ソート処理部１５５が行う処理の流れを示すフローチャートである。
【００７６】
図１１（ａ）に示すように、被疑対象絞込み部１５４は、ステップＳ３００９（図１０参照）で算出された、各論理デバイスおよび各物理デバイスのそれぞれにおける、エラー発生割合を基に、エラー原因として疑われる被疑デバイスを絞り込む基準を決定する（ステップＳ４０１）。本実施の形態では、絞込み基準は、たとえば、各論理デバイスおよび各物理デバイスのそれぞれにおいて、エラー発生割合の値が高いもの上位５件を被疑デバイスとすること、または、エラー発生割合が５０%を超えるものは全て被疑対象デバイスとすることなどが考えられる。
【００７７】
被疑対象絞込み部１５４は、絞り込む基準を決定した後、各論理デバイスおよび各物理デバイスのそれぞれについて、エラー発生割合と絞込み基準とを照合する。そして、被疑対象絞込み部１５４は、基準を満たすデバイスを被疑対象デバイスとして抽出する（ステップＳ４０２）。その後、被疑対象絞込み部１５４は、被疑対象デバイスを利用する全ホスト名の一覧、構成情報蓄積部１４０を検索することで取得し（ステップＳ４０３）、処理を終える。
【００７８】
次に、図１１（ｂ）に示すように、ソート処理部１５５では、被疑対象絞込み部１５４で得られた、被疑対象デバイスの全ホスト名の情報を、監視端末３００を利用するオペレータに返すために、情報の整理を行う（ステップＳ５０１）。監視端末３００に返す情報は、被疑対象デバイス、被疑デバイスの全ホスト名、および、各被疑対象デバイスのエラー発生割合である。ソート処理部１５５は、これらの情報をソートする。その後ソートされた結果は、図７に示すように、結果出力部１１１へ出力される。結果出力部１１１は、これらの情報を、ネットワークを介して監視端末３００の表示制御部３１３へ出力する（ステップＳ７）。これにより、上記の情報は、表示部３１４に表示され、表示内容をオペレータが確認可能となる。
【００７９】
次に、ステップＳ８〜Ｓ１２のフロー、すなわち、エラー原因として推定される被疑対象デバイスが抽出された後の処理について、図１２を用いて説明する。図１２は、ステップＳ９〜Ｓ１２について説明するためのフローチャートである。
【００８０】
図７に示すように、監視端末３００の表示部３１４に表示された情報に基づいて、オペレータが、メッセージ一覧要求部３１２を操作することで、メッセージ検索要求が出された場合（ステップＳ８でＹＥＳ）、図１２に示すように、要求対象判定部１６１におけるステップＳ６０１が開始される。具体的には、要求対象判定部１６１は、メッセージ検索要求の対象がデバイス名であるか、またはホスト名であるかを判定する。メッセージ検索要求の対象の指定は、たとえば、オペレータがメッセージ一覧要求部３１２を操作することにより行われる。
【００８１】
被疑デバイスに対してメッセージ検索の要求があった場合（ステップＳ６０１で被疑デバイス）、メッセージ検索部１６２は、被疑対象デバイスを共用する全ホストについてメッセージ蓄積部１１０を検索し、該当するメッセージを抽出し、ステップＳ８０１に進む。
【００８２】
一方、オペレータによるメッセージ一覧要求部３１２の操作による、メッセージ検索要求の対象がホストであった場合（ステップＳ６０１でホスト）、メッセージ検索部１６２は、メッセージ蓄積部１１０を検索し、該当するメッセージを抽出し、ステップＳ８０１に進む。
【００８３】
ステップＳ８０１では、ソート処理部１５５は、ステップＳ７０１、またはＳ７０２で得られたメッセージを、それぞれ、発生ノード毎に並べる。なお、ステップＳ６０１は、図７のステップＳ９に相当し、ステップＳ７０１、Ｓ７０２は、図７のステップＳ１０に相当し、ステップＳ８０１は、図７のステップＳ１１に相当する。
【００８４】
ソート処理部１５５の処理に次いで、図７に示すステップＳ１２が実行される。すなわち、ステップＳ８０１でソートされたメッセージ一覧が、結果表示部１１１へ出力され、結果出力部１１１は、メッセージ一覧を、ネットワーク４００を介して、表示制御部３１３へ出力する（ステップＳ１２）。これにより、監視端末３００を利用するオペレータは、表示制御部３１３が表示部３１４に表示するメッセージ一覧を確認することができる。
【００８５】
本発明の実施の形態におけるプログラムは、コンピュータに、図７〜図１２に示すステップＳ１〜Ｓ１２、Ｓ１０１〜Ｓ１０４、Ｓ２０１、Ｓ３０１〜Ｓ３１２、Ｓ３００１〜Ｓ３０１１、Ｓ４０１〜Ｓ４０３、Ｓ５０１、Ｓ６０１、Ｓ７０１、Ｓ７０２、およびＳ８０１を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における障害分析装置１００を実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、メッセージ監視部１０１、結果出力部１１１、入手部１３１、データ分析部１３２、テーブル更新部１３３、発生ノード判定部１５１、メッセージ抽出範囲算出部１５２、エラー有無判定部１５３、被疑対象絞込み部１５４、ソート処理部１５５、要求対象判定部１６１、およびメッセージ検索部１６２として機能し、処理を行なう。
【００８６】
また、本実施の形態では、メッセージ蓄積部１１０および構成情報蓄積部１４０は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。また、メッセージ蓄積部１１０および構成情報蓄積部１４０は、別のコンピュータによって構築されてもよい。
【００８７】
以上のように本実施の形態によれば、エラー内容と、エラー原因との関係を予め障害分析装置１００で特定できていなくても、障害原因を分析することができ得る。具体的には、障害分析装置１００は、監視対象サーバ２００からエラーメッセージなどのメッセージを収集しており、障害分析装置１００のデバイス情報整理部１２０は、ホスト（物理ＯＳ、ハイパバイザ、仮想ＯＳ）が利用するデバイス情報を管理している。そして、障害分析装置１００は、任意に選択した１つのエラーメッセージについて、エラーメッセージを発生するホストと、デバイス情報とを関連づけることで、エラー発生ホストとデバイスを共用している複数のホストを抽出する。さらに、障害分析装置１００は、着目したエラー発生時近辺に上記デバイスを共用する複数のホストでエラーが発生しているか判定する。そして、当該複数のホストでのエラーの発生割合などに基づいて、エラー原因を分析し、被疑対象デバイスを特定する。これにより、デバイス障害観点からのエラー原因の絞込みを可能にしている。
【００８８】
このような本実施の形態の構成により、仮想化環境のソフトウェアと物理デバイスとが複雑に構成されているシステムにおいて、エラーイベント発生原因の追及を容易にすることができる。より具体的には、ホストが利用する物理デバイス、論理デバイスの構成情報を用いて、特定のエラーイベントに含まれるホスト名から、利用しているデバイスを割り出す。そして、当該デバイスを共用する他のホストで同時期に障害が発生している割合を判定する。これにより、特定のデバイスに基づく連鎖障害であるか、または、ホスト自身で発生している障害であるか絞り込むことができる。
【００８９】
また、本実施の形態では、エラー有無判定部１５３は、監視端末３００で選択されたエラーを基準として、当該基準から所定の範囲内で、エラー発生ノードのホストとデバイスを共用する他のホストでエラーが発生しているか否かを判定する。これにより、監視端末３００で選択されたエラーと同時期に発生した他のエラーを特定することができるので、エラー発生原因に適した分析材料を得ることができ、より正確にエラー原因を分析することができる。
【００９０】
また、本実施の形態では、エラー発生ホストが仮想ホストである場合には、エラー発生ホストのハイパバイザが利用している物理デバイスおよび論理デバイスを共用する他のホストを特定し、当該特定されたホストのエラーを抽出する。これにより、エラー発生ホストが仮想ホストである場合でも、エラーの原因をより正確に特定することができる。
【００９１】
また、本実施の形態では、被疑対象絞込み部１５４は、エラー発生ホストとデバイスを共用する他のホストのうち、エラーが発生しているホストの数が所定の基準を超えている場合に、エラー発生ホストが利用しているデバイスにエラーが生じていると判定する。これにより、エラーを生じているデバイスを、より正確に分析することができる。
【００９２】
（変形例）
上記実施の形態では、構成情報蓄積部１４０が管理するデバイスとして、監視対象サーバ２００の物理ディスク、論理ディスクおよび物理ＮＩＣを例示している。そして、これらのデバイスとホスト名とを関連付けることにより、エラー原因を絞り込む構成としているが、これに限定されない。たとえば、ディスクとＮＩＣ以外にも、監視対象サーバ２００の構成情報取得部２１０がＡＰＩで提供可能な物理、論理デバイスであり、且つ複数のホストで共用する（部分的なリソース割り当てが可能な）デバイスがあれば、構成情報蓄積部１４０で管理することができる。
【００９３】
また、図８（ｂ）のステップＳ２０１において、エラーメッセージの検索範囲は、監視端末３００を操作することで設定できてもよいし、障害分析装置１００に算出範囲決定パターンを設定する装置を設けることで、適宜設定されてもよい。
【００９４】
また、図１１のステップＳ４０１において、被疑対象デバイス決定の絞り込みの基準は、監視端末３００を操作することで設定されてもよいし、障害分析装置１００に絞り込み基準パターンを設定すする装置を設けることで、適宜設定されてもよい。
【００９５】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１２）によって表現することができるが、以下の記載に限定されるものではない。
【００９６】
（付記１）
仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手する入手部と、
複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定し、かつ、特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するエラー有無判定部と、
を備えていることを特徴とする、障害分析装置。
【００９７】
（付記２）
前記エラー有無判定部は、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、付記１に記載の障害分析装置。
【００９８】
（付記３）
前記エラー有無判定部は、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、付記１または付記２に記載の障害分析装置。
【００９９】
（付記４）
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込む被疑対象絞込み部をさらに備え、
前記被疑対象絞込み部は、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、付記１〜付記３のいずれかに記載の障害分析装置。
【０１００】
（付記５）
（ａ）仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
（ｂ）複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
（ｃ）特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を含むことを特徴とする、障害分析方法。
【０１０１】
（付記６）
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、付記５に記載の障害分析方法。
【０１０２】
（付記７）
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、付記５または付記６に記載の障害分析方法。
【０１０３】
（付記８）
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込むステップをさらに備え、
前記絞込むステップでは、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、付記５〜付記７のいずれかに記載の障害分析方法。
【０１０４】
（付記９）
仮想ホストを含む複数のホストで発生する障害をコンピュータによって分析するためのプログラムであって、前記コンピュータに、
（ａ）仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
（ｂ）複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
（ｃ）特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を実行させる、プログラム。
【０１０５】
（付記１０）
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、付記９に記載のプログラム。
【０１０６】
（付記１１）
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、付記９または付記１０に記載のプログラム。
【０１０７】
（付記１２）
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込むステップをさらに備え、
前記絞込むステップでは、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、付記９〜付記１１のいずれかに記載のプログラム。
【産業上の利用可能性】
【０１０８】
本発明は、仮想化技術により大量の仮想サーバを一元管理するデータセンタなどの運用管理に用いられる、障害分析装置、障害分析方法、およびプログラムに適用することができる。
【符号の説明】
【０１０９】
１００  障害分析装置
１３１  入手部
１５３  エラー有無判定部
１５４  被疑対象絞込み部
【図１】
0005747765.tif 000002
【図２】
0005747765.tif 000003
【図３】
0005747765.tif 000004
【図４】
0005747765.tif 000005
【図５】
0005747765.tif 000006
【図６】
0005747765.tif 000007
【図７】
0005747765.tif 000008
【図８】
0005747765.tif 000009
【図９】
0005747765.tif 000010
【図１０】
0005747765.tif 000011
【図１１】
0005747765.tif 000012
【図１２】
0005747765.tif 000013