障害分析装置、障害分析方法、およびプログラム
【課題】エラー内容と、エラー原因との関係を予め特定できていなくても、障害原因を分析することができ得る、障害分析装置、障害分析方法、およびプログラムを提供する。
【解決手段】障害分析装置100は、入手部131と、エラー有無判定部153と、を含む。入手部131は、監視対象サーバ200における、仮想ホストを含む複数のホストが利用する物理デバイスおよび論理デバイスを特定する情報を入手する。エラー有無判定部153は、複数のホストのうちエラーが発生したエラー発生ホストのホスト名と、入手部131で入手したデバイス情報とから、エラー発生ホストが利用している物理デバイスおよび論理デバイスを特定する。エラー有無判定部153は、さらに、特定された物理デバイスおよび論理デバイスを共用する他のホストでエラーが発生しているか否かを判定する。
【解決手段】障害分析装置100は、入手部131と、エラー有無判定部153と、を含む。入手部131は、監視対象サーバ200における、仮想ホストを含む複数のホストが利用する物理デバイスおよび論理デバイスを特定する情報を入手する。エラー有無判定部153は、複数のホストのうちエラーが発生したエラー発生ホストのホスト名と、入手部131で入手したデバイス情報とから、エラー発生ホストが利用している物理デバイスおよび論理デバイスを特定する。エラー有無判定部153は、さらに、特定された物理デバイスおよび論理デバイスを共用する他のホストでエラーが発生しているか否かを判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想化技術により大量の仮想サーバを一元管理するデータセンタなどの運用管理に用いられる、障害分析装置、障害分析方法、およびプログラムに関する。
【背景技術】
【0002】
近年、仮想化技術を利用したコンピュータシステムが運用されている。このようなシステムでは、たとえば、1台のサーバコンピュータ上で複数の仮想マシンを稼働させる(たとえば、特許文献1参照)。特許文献1に記載の仮想コンピュータシステムは、複数の物理デバイス上で論理デバイスを用いて仮想デバイスを設定し、当該仮想デバイスにより仮想マシンを動作させる。
【0003】
また、当該仮想コンピュータシステムは、仮想化環境運用支援システムを有している。仮想化環境運用支援システムは、障害が発生した物理デバイスと該物理デバイスが影響を及ぼす論理デバイスを特定した第1関連情報と、障害が発生した論理デバイスと当該論理デバイスが影響を及ぼす仮想デバイスを特定した第2関連情報と、障害が発生した仮想デバイスと当該仮想デバイスが影響を及ぼす仮想マシンを特定した第3関連情報と、を格納する、影響範囲特定テーブル部を備えている。
【0004】
また、前記仮想化環境運用支援システムは、制御部を備えている。制御部は、仮想コンピュータシステムから障害が発生した物理デバイス、論理デバイス又は仮想デバイスを特定する障害発生部位情報を受信し、当該障害発生部位情報を基に前記影響範囲特定テーブル部を参照して前記障害が及ぼす仮想マシンを特定する。また、制御部は、障害発生部位情報が仮想デバイスのとき、当該仮想デバイスが影響を及ぼす仮想マシンを、前記第3関連情報を参照して特定する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−009411号公報(要約、請求項1)
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、VMWare(登録商標)に代表される仮想化技術を多用するサーバコンピュータ(クラウドシステム)の障害監視を行う場合、障害発生時に、本来、原因が一つであるにも拘らず、複数の障害が同時期に発生したように見えてしまう場合が多々ある。そのような場合、どの障害から対処したらよいかが判らず、障害原因および影響範囲の特定に時間がかかってしまう。また、仮想環境下では、頻繁に利用リソース変更があり、影響範囲の特定が困難である。
【0007】
特許文献1に記載の構成では、仮想マシンに生じた障害の影響範囲を特定する処理を行う前提条件として、障害イベントから、原因となるデバイスを特定できるようにしておく必要がある。すなわち、予め、障害イベントと、原因となるデバイスとの関係とを登録してあることが必要である。よって、事前に登録されていない障害の原因分析を行うことができない。
【0008】
本発明の目的の一例は、エラー内容と、エラー原因との関係を予め特定できていなくても、障害原因を分析することができ得る、障害分析装置、障害分析方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の一側面における、障害分析装置は、仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手する入手部と、
複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定し、かつ、特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するエラー有無判定部と、
を備えていることを特徴とする。
【0010】
また、上記目的を達成するため、本発明の一側面における、障害分析方法は、
(a)仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を含むことを特徴とする。
【0011】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、仮想ホストを含む複数のホストで発生する障害をコンピュータによって分析するためのプログラムであって、前記コンピュータに、
(a)前記仮想ホストを含む複数の前記ホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を実行させることを特徴とする。
【発明の効果】
【0012】
以上のように、本発明によれば、エラー内容と、エラー原因との関係を予め特定できていなくても、障害原因を分析することができ得る。
【図面の簡単な説明】
【0013】
【図1】図1は、本発明の実施の形態の障害分析装置を含む、障害分析システムの概略構成を示すブロック図である。
【図2】図2は、構成情報蓄積部に含まれる、本実施の形態における動作に必要なデータテーブルを示す図である。
【図3】図3は、ホスト管理テーブルを示す図である。
【図4】図4は、物理ディスク管理テーブル、論理ディスク管理テーブル、およびNIC管理テーブルを示す図である。
【図5】図5は、リソース割り当てテーブルを示す図である。
【図6】図6は、メッセージの構造例を示す図である。
【図7】図7は、エラー原因絞込みの処理の流れを説明するためのフローチャートである。
【図8】図8(a)は、発生ノード判定部が行う処理について説明するためのフローチャートであり、図7のステップS2の処理の詳細を示している。図8(b)は、メッセージ検索範囲算出部が行う処理について説明するためのフローチャートであり、図7のステップS3の処理の詳細を示している。
【図9】図9は、エラー有無判定部が行う処理について説明するためのフローチャートであり、図7のステップS4の処理の詳細を示している。
【図10】図10は、図9のステップS301〜S303についての詳細な処理の流れを説明するためのフローチャートである。
【図11】図11(a)は、被疑対象絞込み部が行う処理の流れを示すフローチャートであり、図11(b)は、ソート処理部が行う処理の流れを示すフローチャートである。
【図12】図12は、ステップS9〜S12について説明するためのフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態における、障害分析装置について、図面を参照しながら説明する。
【0015】
[装置構成]
図1は本発明の実施の形態に係る障害分析装置100を含む、障害分析システム1の概略構成を示すブロック図である。本実施の形態では、障害分析システム1は、障害分析装置100と、監視対象サーバ200と、オペレータが操作する監視端末300と、を備えている。
【0016】
障害分析装置100は、後述するように、たとえば、サーバコンピュータによって構築することができる。監視対象サーバ200は、たとえば、サーバコンピュータによって構築することができる。監視対象サーバ200は、ハードディスクなどの物理デバイスと、論理デバイスと、をそれぞれ複数有している。また、監視対象サーバ200は、これら物理デバイスおよび論理デバイスを利用する、複数のホストを有している。当該複数のホストは、物理OS(Operating System)、ハイパバイザ、および仮想OSを含む。
【0017】
監視端末300には、コンピュータが含まれる。障害分析装置100と、監視対象サーバ200とは、ネットワーク400を介して接続されている。また、障害分析装置100と、監視端末300とは、ネットワーク400を介して接続されている。
【0018】
障害分析装置100は、入手部131と、エラー有無判定部153と、を含んでいる。入手部131は、監視対象サーバ200の各ホストのそれぞれが利用する物理デバイスの情報および論理デバイスを特定する情報(デバイス情報)を、監視対象サーバ200から入手する。
【0019】
エラー有無判定部153は、監視対象サーバ200の複数のホストのうち、エラーが発生したエラー発生ホストのホスト名と、入手部131で入手したデバイス情報とから、エラー発生ホストが利用している物理デバイスおよび論理デバイスを特定する。エラー有無判定部153は、さらに、特定された物理デバイスおよび論理デバイスを共用する他のホストで、エラーが発生しているか否かを判定する。
【0020】
以上説明したように、本実施の形態では、エラー内容と、エラー原因との関係を予め障害分析装置100で特定できていなくても、障害原因を分析することが可能である。より具体的には、エラー発生ホストと、物理デバイスおよび論理デバイスの少なくとも一方を共用する他のホストにもエラーが生じている場合には、当該共用するデバイスがエラー原因であると分析することができる。一方、エラー発生ホストにはエラーが発生しているにも拘らず、上記他のホストにはエラーが生じていない場合には、エラー発生ホスト自身がエラー原因であると分析することができる。その結果、オペレータは、エラー発生原因を正確に知ることができ、エラー解消作業に迅速にとりかかることができる。
【0021】
以上が、障害分析装置100の概略説明である。次に、障害原因箇所絞込みシステム1の、より具体的な構成を、図1に加え、図2〜図6を用いて説明する。
【0022】
図1に示すように、本実施の形態では、監視対象サーバ200は、構成情報取得部201と、イベント蓄積部210とを含んでいる。構成情報取得部201は、監視対象サーバ200を構成するハードウェアの構成情報、およびソフトウェアの構成情報を、常時監視しており、これらの構成情報を、構成変更情報を含め取得する。なお、一般的に物理OS(Operating System)およびハイパバイザは、自身が利用している物理デバイス情報、および論理デバイス情報を管理している。構成情報の具体的な取得方法の一例としては、監視対象サーバ200側で提供しているAPI(Application Program Interface)を利用すること、または、エージェントプログラムを稼動させて、構成情報を取得すること、を挙げることができる。本実施の形態では、構成情報取得部201が取得した構成情報は、データ分析部132およびテーブル更新部133を介して、構成情報蓄積部140に格納される。また、本実施の形態では、監視対象サーバ200のイベント蓄積部210は、監視対象サーバ200で発生したイベント情報を格納する。
【0023】
本実施の形態では、監視端末300は、オペレータによって操作される。監視端末300は、メッセージ検索部301と、要求部310と、表示制御部313と、表示部314と、を含んでいる。
【0024】
本実施の形態では、メッセージ検索部301は、オペレータの操作に応じて、後述するメッセージ蓄積部110に蓄積されているメッセージから、たとえば、1つのメッセージを検索する。
【0025】
本実施の形態では、要求部310は、原因絞込み要求部311と、メッセージ一覧要求部312と、を含んでいる。本実施の形態では、原因絞込み要求部311は、メッセージ検索部301によって検索されたメッセージを見たオペレータによって操作される。原因絞込み要求部311は、エラーメッセージが生じた原因を絞り込む指令を、障害分析装置100へ与える。また、本実施の形態では、メッセージ一覧要求部312は、原因絞込み要求部311の操作に対して障害分析装置100から返された原因絞込みの結果を見たオペレータによって、操作される。メッセージ一覧要求部312は、エラーメッセージを検索した結果の一覧を作成する要求を、障害分析装置100へ与える。
【0026】
本実施の形態では、表示制御部313は、与えられたデータに基づく画像を、液晶ディスプレイ等の表示部314の表示画面に表示させる。
【0027】
本実施の形態では、障害分析装置100は、メッセージ監視部101と、メッセージ蓄積部110と、デバイス情報整理部120と、処理部130と、結果出力部111と、を含んでいる。
【0028】
本実施の形態では、メッセージ監視部101は、監視対象サーバ200のイベント蓄積部201に格納されるイベントを監視し、当該イベントをメッセージとして取得し、取得したメッセージを、メッセージ蓄積部110に格納する。
【0029】
本実施の形態では、デバイス情報整理部120は、入手部131と、データ分析部132と、テーブル更新部133と、構成情報蓄積部140と、を含んでいる。
【0030】
本実施の形態では、構成情報監視部131は、監視対象サーバ200を構成するハードウェア情報、およびソフトウェア情報などの構成情報を、構成情報取得部201から取得する。
【0031】
本実施の形態では、構成情報監視部131で得られた情報は、データ分析部132で情報毎にまとめられ、分析および分類される。当該分析されたデータは、テーブル更新部133によって、構成情報蓄積部140に登録される。
【0032】
図2は、構成情報蓄積部140に含まれる、本実施形態における動作に必要なデータテーブル141〜145を示す図である。図2に示すように、本実施の形態では、構成情報蓄積部140は、物理デバイスおよび論理デバイスとホストとの関係などを示すテーブルを格納している。より具体的には、構成情報蓄積部140は、ホスト管理テーブル141と、物理ディスク管理テーブル142と、論理ディスク管理テーブル143と、NIC(Network Interface Card )管理テーブル144と、リソース割り当てテーブル145と、を格納している。
【0033】
図3は、ホスト管理テーブル141を示す図である。図3に示すように、本実施の形態では、ホスト管理テーブル141は、全ホスト名を管理するテ−ブル1411と、ハイパバイザであるホスト名を管理するテーブル1412と、ハイパバイザ上に構成された仮想ホスト名を管理するテーブル1413と、を含んでいる。これらのテーブル1411、1412、1413の情報は、互いに関係付けられている。
【0034】
本実施の形態では、テーブル1411は、ホストIDと、当該ホストIDに対応するホスト名とを格納している。テーブル1411は、たとえば、ホストID1のホスト名をVM1として格納し、ホストD2のホスト名をGuest2として格納している。さらに、テーブル1411は、ホストID3,4,5,6,…のホスト名を、それぞれ、Guest2,VM2,Guest3,host1,…として格納している。また、テーブル1412は、ハイパバイザIDと、当該ハイパバイザIDに対応するホスト名とを格納している。テーブル1412は、たとえば、ハイパバイザID1のホスト名をVM1として格納している。また、テーブル1413は、仮想ホストIDと、当該ホストIDに対応するホスト名とを格納している。テーブル1413は、たとえば、仮想ホストID1のホスト名をGuest1として格納し、仮想ホストID2のホスト名をGuest2として格納している。
【0035】
図4は、物理ディスク管理テーブル142、論理ディスク管理テーブル143、およびNIC管理テーブル144を示す図である。図4に示すように、ディスク管理テーブル142は、全監視対象の物理ディスクを管理するテーブル1421と、物理ディスク毎に利用ホストを管理するテーブル1422と、を含んでおり、ホスト名から、利用している物理ディスクを特定する。
【0036】
本実施の形態では、テーブル1421は、物理ディスクIDと、当該物理ディスクIDに対応するディスク名とを格納している。テーブル1421は、たとえば、物理ディスクID1のディスク名をDiskAとして格納し、物理ディスクID2のディスク名をDiskBとして格納し、物理ディスクID3のディスク名をDiskCとして格納している。また、本実施の形態では、テーブル1422は、物理DiskAを利用するホストIDと、当該ホストIDに対応するホスト名とを格納している。テーブル1422は、たとえば、物理DiskAにおけるホストID1のホスト名をVM1として格納し、物理DiskAにおけるホストID4のホスト名をVM2として格納している。なお、図4では、物理ディスクAに対応するホストIDおよびホスト名を図示しているが、テーブル1422は、物理ディスクB、C、…、の各物理ディスクに対応するホストIDおよびホスト名も格納している。
【0037】
本実施の形態では、論理ディスク管理テーブル143は、物理ディスク管理テーブル1421の各物理ディスクと対応する論理ディスク名を格納したテーブル1431を含んでいる。このテーブル1431には、論理ディスクを利用しているホスト名を格納したテーブル1432が紐づいている。これにより、ホスト名から、利用している論理ディスクを特定することが可能となっている。なお、本実施の形態では、テーブル1431は、論理ディスクIDと、当該論理ディスクIDに対応する論理ディスク名とを格納している。テーブル1431は、たとえば、論理ディスクID1の論理ディスク名を論理Aとして格納し、論理ディスクID2の論理ディスク名を論理Bとして格納し、論理ディスクID3の論理ディスク名を論理Cとして格納している。なお、図4では、物理ディスクAに対応する論理ディスクについて、テーブル1431で図示しているが、テーブル1431は、物理ディスクB、C、…、の各物理ディスクに対応する論理ディスクの情報も格納している。
【0038】
本実施の形態では、NIC管理テーブル144は、全監視対象の物理NICを管理するテーブルであり、テーブル1441と、NIC毎に利用ホストを管理するテーブル1442と、を含んでいる、これにより、ホスト名から、利用しているNICを特定することが可能となっている。本実施の形態では、テーブル1441は、NICIDと、当該NICIDに対応するMAC(Media Access Control)アドレス名とを格納している。テーブル1441は、たとえば、NICID1のMACアドレスをMAC1として格納し、NICID2のMACアドレスをMAC2として格納し、NICID3のMACアドレスをMAC3として格納している。図4では、MAC1に対するホストIDおよびホスト名について図示しているが、テーブル1442は、MAC2、MAC3の各MACアドレスに対応するホストの情報も格納している。
【0039】
図5は、リソース割り当てテーブル145を示す図である。本実施の形態では、図5に示すように、リソース割り当てテーブル145は、ハイパバイザテーブル1451と、NICテーブル1452と、論理ディスクテーブル1453と、仮想ホストテーブル1454と、を含んでいる。
【0040】
本実施の形態では、ハイパバイザテーブル1451は、ハイパバイザIDと、当該ハイパバイザIDに対応するホスト名とを格納している。ハイパバイザテーブル1451は、たとえば、ハイパバイザID1のホスト名をVM1として格納している。また、本実施の形態では、NICテーブル1452は、NICIDと、当該NICIDに対応するMACアドレスとを格納している。NICテーブル1452は、たとえば、NICID1、NICID2、NICID3のMACアドレス名、それぞれ、をMAC1、MAC2、MAC3として格納している。また、本実施の形態では、論理ディスクテーブル1453は、論理ディスクIDと、当該論理ディスクIDに対応する論理ディスク名とを格納している。論理ディスクテーブル1453は、たとえば、論理ディスクID1、ID2、ID3の論理ディスク名を、それぞれ、論理A、論理B、論理Cとして格納している。また、本実施の形態では、仮想ホストテーブル1454は、仮想ホストIDと、当該仮想ホストIDに対応するホスト名とを格納している。仮想ホストテーブル1454は、たとえば、仮想ホストIDのホスト名をGuest1として格納している。
【0041】
本実施の形態では、リソース割り当てテーブル145において、ハイパバイザが各仮想ホストに割り当てるリソース情報を含む仮想ホストテーブル1454と、NICテーブル1452と、論理ディスクテーブル1453と、が関係づけられている。これにより、仮想ホスト名から、割り当てられたデバイス情報を特定することが可能となる。なお、NICテーブル1452および論理ディスクテーブル1453は、それぞれ、ハイパバイザテーブル1451と関係づけられている。これにより、ホスト名から、当該ホストが利用するハイパバイザを特定することができる。
【0042】
次に、図1に示すように、本実施形態における原因絞込みを実施する処理部130について説明する。本実施の形態では、処理部130は、発生ノード判定部151と、メッセージ抽出範囲算出部152と、エラー有無判定部153と、被疑対象絞込み部154と、ソート処理部155と、を含んでいる。本実施の形態では、処理部130は、構成情報蓄積部140およびメッセージ蓄積部110のそれぞれと接続されている。
【0043】
本実施の形態では、発生ノード判定部151は、メッセージ発生源が仮想ホストであるか否かを判定する。メッセージ検索範囲算出部152は、オペレータによって選択されたエラーの発生時を基準に、当該事象発生前後のどれくらいの期間のメッセージを検索対象とするが決定する。エラー有無判定部153は、抽出した期間内に発生ノードなどでエラーメッセージが発生していたか否かを判定する。本実施の形態では、被疑対象絞込み部154は、エラーメッセージが出ているホスト数の割合から被疑対象デバイスを絞り込む。ソート処理部155は、被疑対象絞込み部154からの出力データを並び替える。
【0044】
本実施の形態では、処理部150は、ソート処理部155でソートされたデータは、結果出力部111によって、ネットワーク400を通じて、監視端末300の表示制御部313へ出力される。表示制御部313は、受けたデータを、監視端末300の表示部314に表示する。これにより、障害分析装置100は、監視端末300を利用するオペレータに、要求部310の操作に対する結果を返す。本実施の形態では、原因絞込み要求部311からの要求により、発生ノード判定部151、メッセージ抽出範囲算出部152、エラー有無判定部153、被疑対象絞込み部154、およびソート処理部155の処理が実行される。原因絞込み要求部311の要求は、発生ノード判定部151へ与えられる。
【0045】
また、本実施の形態では、処理部130は、要求対象判定部161と、メッセージ検索部162と、を更に含んでいる。要求対象判定部161は、メッセージ要求対象ホストを特定する。メッセージ検索部162は、特定のホストについてのメッセージをメッセージ蓄積部110内から検索する。ソート処理部155は、検索されたメッセージを所定のルールに従って並び替える。本実施の形態では、当該メッセージに関する処理は、メッセージ一覧要求部312からの要求により実行される。メッセージ一覧要求部312の要求は、要求対象判定部161へ与えられる。
【0046】
前述したように、監視端末300は、メッセージ検索部301を含んでいる。メッセージ検索部301は、ネットワーク400を介してメッセージ蓄積部110に接続されている。メッセージ検索部301は、メッセージ蓄積部110に保存されているメッセージに対して検索を行うことで、任意のメッセージを参照することができる。なお、メッセージ蓄積部110に蓄積されているメッセージの構造例は、図6に示すとおりである。
【0047】
図6は、メッセージの構造例を示す図である。本実施の形態では、メッセージ蓄積部110に蓄積されるメッセージは、発生ノード1101、メッセージID1102、メッセージ内容1103、アラートレベル1104、発生日1105、および発生時間1106を含んでいる。
【0048】
発生ノード1101には、イベントが発生したホスト名が示されている。メッセージ内容1103には、具体的なイベント内容(エラー内容)が示されている。アラートレベル1104には、エラーが生じたイベントについて、”Error”が示されている。発生日1105には、イベントの発生日が示されている。発生時間1106には、イベントが発生した時刻が示されている。
【0049】
[本実施の形態における動作の説明]
[動作の概要]
図1に示すように、本実施の形態では、監視対象サーバ200にエラーが発生した場合、オペレータは、監視端末300の原因絞込み要求部311を操作することで、エラーに関連すると判断したメッセージを1つ選択する。これに基づき、障害分析装置100は、そのメッセージを発生したエラー発生ホストと、デバイス情報とを関連づける。そして、障害分析装置100は、エラーメッセージを発生したホストと、デバイスを共用している1または複数のホストを抽出する。
【0050】
さらに、障害分析装置100は、上記エラー発生時近辺に、上記共用のホストにエラーが発生しているか判定する。そして、障害分析装置100は、エラーの発生の有無を判定した判定結果に基づき、エラーの発生原因として疑われる被疑対象デバイス、および被疑対象デバイスを利用するホストの一覧を作成する。そして、障害分析装置100は、作成したホストの一覧を監視端末300に返す。被疑対象デバイス、および被疑対象デバイスを利用するホストに関して、メッセージ一覧要求部312の操作に基づいて、メッセージ一覧の要求がある場合、障害分析装置100は、メッセージ蓄積部110内を検索する。そして、障害分析装置100は、被疑対象デバイスまたは当該デバイスを利用するホストのメッセージを検索し、監視端末300へ検索結果を出力する。
【0051】
[本実施の形態における動作の詳細な説明]
次に、本実施の形態における障害分析装置100の動作の詳細について、図7〜図12を用いて説明する。図7は、エラー原因絞込みの処理の流れを説明するためのフローチャートである。また、以下の説明においては、適宜、図1〜図6を参照する。また、本実施の形態では、障害分析装置100を動作させることによって、障害分析方法が実施される。よって、本実施の形態における、障害分析方法の説明は、以下の障害分析装置100の動作説明に代える。
【0052】
図7に示すように、本実施の形態では、障害分析装置100は、任意のエラーメッセージ1件に対して、原因絞込み要求があるか否かを判定する(ステップS1)。たとえば、オペレータが原因絞込み要求部311を操作することにより、任意のエラーメッセージ1件に関する原因絞込み要求が発せられると(ステップS1でYES)、発生ノード判定部151が処理を行う(ステップS2)。次に、メッセージ検索範囲算出部152が処理を行い(ステップS3)、以後、順に、エラー有無判定部153、被疑対象絞込み部154、ソート処理部155が処理を行う(ステップS4、S5、S6)。ソート処理部155でソートされた、障害原因の被疑対象の推定結果は、結果出力部111が、ネットワーク400を介して監視端末300の表示制御部313へ出力する(ステップS7)。これにより、上記被疑対象の推定結果は、表示部314に表示される。
【0053】
次に、被疑対象デバイスの推定結果を見たオペレータによって、メッセージ一覧要求部312が操作されることにより、上記被疑対象に対する検索要求が障害分析装置100へ発せられると(ステップS8でYES)、要求対象判定部161、メッセージ検索部162、およびソート処理部155が、順に処理を行う(ステップS9、S10、S11)。ソート処理部155でソートされた、被疑対象に関するメッセージの一覧は、結果出力部111がネットワーク400を介して、監視端末300の表示制御部313へ出力する(ステップS12)。これにより、当該メッセージ一覧は、表示部314に表示される。
【0054】
上記したように、本実施の形態において、障害原因絞込みの処理は大きく分けて2段階ある。1段階目の処理は、1件のエラーメッセージから、原因と考えられるデバイス、および関連するホスト名を列挙する処理(ステップS2〜S6)である。2段階目の処理は、列挙された対象についてメッセージ検索を行う処理(ステップS9〜S11)である。まず、前者の処理(ステップS2〜S6)について、図8〜図11を用いて説明する。
【0055】
図8(a)は、発生ノード判定部151が行う処理について説明するためのフローチャートであり、図7のステップS2の処理の詳細を示している。図8(b)は、メッセージ検索範囲算出部152が行う処理について説明するためのフローチャートであり、図7のステップS3の処理の詳細を示している。図9は、エラー有無判定部153が行う処理について説明するためのフローチャートであり、図7のステップS4の処理の詳細を示している。
【0056】
図7に示すように、たとえば、オペレータが、監視端末300の原因絞込み要求部311を操作することにより、原因絞込み要求部311から、あるエラーメッセージ1件について、障害分析装置100に処理を行う要求が発せられると、図8(a)に示すように、発生ノード判定部151は、メッセージ蓄積部110に蓄積されている指定されたメッセージの発生ノード1101のホスト名と、構成情報蓄積部140中のホスト管理テーブル141とを照合し、発生ノード1101のホスト名と一致するホスト名を取得する(ステップS101)。次に、発生ノード判定部151は、取得したホスト名に仮想ホストテーブル1413のホスト名が含まれるか否か判定する(ステップS102)。取得したホスト名に仮想ホストIDが含まれている場合(ステップS102でYES)、発生ノード判定部151は、メッセージ発生ノードが仮想ホストであると判定する(ステップS103)。一方、取得したホスト名に仮想ホストIDが含まれていない場合(ステップS102でNO)、メッセージ発生ノードは、物理ホスト、またはハイパバイザであると判定する(ステップS104)。
【0057】
図8(b)に示すように、メッセージ検索範囲算出部152は、原因絞込み要求のあったエラーメッセージ中の発生日1105、および発生時間1106を中心に、すなわち、エラー発生状況に基づいて、エラー有無判定部153でエラーの判定対象とするメッセージ取得範囲を算出する(ステップS201)。メッセージ取得範囲の指定方法については特に限定されないが、本実施の形態では、原因絞込みを行っているエラーメッセージの発生時刻を基準として前後数秒または数十秒の期間に発生したメッセージを検索範囲対象とする。なお、メッセージ取得範囲の指定方法として、上記エラーメッセージの発生時刻の前後に発生した数十件のメッセージを検索対象範囲としてもよい。
【0058】
次に、図9に示すように、エラー有無判定部153は、構成情報蓄積部140を検索することにより、指定された発生ノード1101のホストが利用しているデバイス情報を抽出する(ステップS301)。
【0059】
次に、エラー有無判定部153は、指定された発生ノード1101のホストと論理デバイスを共用している全てのホストを抽出する(ステップS302)。次に、エラー有無判定部153は、指定された発生ノード1101のホストが利用する論理デバイスに紐づく全てのホストについて、ステップS201で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部110から検索する。そして、エラー有無判定部153は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル1104がErrorであるメッセージが発生しているか否かを判定する(ステップS303)。
【0060】
次に、エラー有無判定部153は、ステップS304、およびステップS305の処理を行う。ステップS304およびステップS305の処理は、論理デバイスについての検索処理(ステップS302、S303)と同様の処理であり、物理デバイスについての検索処理を行う。
【0061】
具体的には、エラー有無判定部153は、指定された発生ノード1101のホストと物理バイスを共用している全てのホストを抽出する(ステップS304)。次に、エラー有無判定部153は、指定された発生ノード1101のホストが利用する物理デバイスに紐づく全てのホストについて、ステップS201で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部110から検索する。そして、エラー有無判定部153は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル1104がErrorであるメッセージが発生しているか否かを判定する(ステップS305)。
【0062】
次に、エラー有無判定部153は、指定された発生ノード1101のホストが、仮想ホストであるか否かを確認する(ステップS306)。なお、発生ノード1101が仮想ホストであるか否かの判定は、予め発生ノード判定部151においてされているものである。エラー有無判定部153は、発生ノード1101が仮想ホストであると確認した場合(ステップS306でYES)、ステップS307に進む。ステップS307では、エラー有無判定部153は、仮想ホストの基盤となるハイパバイザを構成情報蓄積部140より特定し、ハイパバイザをエラー発生ノードと見立てる。次に、エラー有無判定部153は、ステップS301での処理と同様に、構成情報蓄積部140を検索することで、ハイパバイザが利用しているデバイス情報を抽出する(ステップS308)。次に、エラー有無判定部153は、ステップS309〜S312の処理を行うことで、エラー発生状況を判定する。
【0063】
なお、ステップS309およびステップS310の処理は、それぞれ、ステップS302およびステップS303の処理と同様である。また、ステップS311およびステップS312の処理は、それぞれ、ステップS302およびステップS303の処理と同様である。
【0064】
具体的には、エラー有無判定部153は、仮想ホストの基盤となるハイパバイザと論理デバイスを共用している全てのホストを抽出する(ステップS309)。次に、エラー有無判定部153は、上記ハイパバイザが利用する論理デバイスに紐づく全てのホストについて、ステップS201で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部110から検索する。そして、エラー有無判定部153は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル1104がErrorであるメッセージが発生しているか否かを判定する(ステップS310)。
【0065】
次に、エラー有無判定部153は、上記ハイパバイザと物理デバイスを共用している全てのホストを抽出する(ステップS311)。次に、エラー有無判定部153は、上記ハイパバイザが利用する物理デバイスに紐づく全てのホストについて、ステップS201で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部110から検索する。そして、エラー有無判定部153は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル1104がErrorであるメッセージが発生しているか否かを判定する(ステップS312)。
【0066】
次に、図10に示すステップS301〜S303についての詳細な処理の流れを説明する。図10は、図9のステップS301〜S303についての詳細な処理の流れを説明するためのフローチャートである。
【0067】
ステップS3001は、ステップS301と同一の処理であり、エラー有無判定部153は、構成情報蓄積部140を検索することにより、指定された発生ノード1101のホストが利用している論理デバイスおよび物理デバイスの構成情報を抽出する。次に、ステップS3002では、エラー有無判定部153は、ステップS3001で取得した、指定された発生ノード1101のホストが利用している論理デバイス一覧と紐づくホストがあるか否かを、構成情報蓄積部140を参照して判定する(ステップS3002)。
【0068】
指定された発生ノード1101のホスト以外に論理デバイスを利用しているホストが存在しない場合(ステップS3002でNO)、エラー有無判定部153は、ステップS3008に進む。一方、発生ノード1101のホスト以外に論理デバイスを利用しているホストが存在する場合(ステップS3002でYES)、エラー有無判定部153は、指定された発生ノード110のホストと論理デバイスを共用する全てのホストを抽出する(ステップS3003)。次に、エラー有無判定部153は、抽出した中の一のホストについて、ステップS201で算出したメッセージ検索対象期間に該当するメッセージを、メッセージ蓄積部110内から検索する(ステップS3004)。次に、エラー有無判定部153は、検索したメッセージのうち、アラートレベル1104が”Error”となっているものが1件以上存在するか否かを判定する(ステップS3005)。アラートレベル1104が”Error”となっているものが1件以上存在する場合(ステップS3005でYES)、エラー有無判定部153は、カウント値を1つ加算する(ステップS3006)。一方、アラートレベル1104が”Error”となっているものが無い場合(ステップS305でNO)、エラー有無判定部153は、カウント値を加算しない。
【0069】
次に、エラー有無判定部153は、指定された発生ノード1101のホストと論理デバイスを共用するホストのうち、ステップS3004〜S3006の処理が行われていないホストが存在しているか否かを判定する(ステップS3007)。指定された発生ノード1101のホストと論理デバイスを共用しているホストのうち、ステップS3004〜S3006の処理が行われていないホストが存在している場合(ステップS3007でYES)、エラー有無判定部153は、メッセージ検索対象のホストを当該ホストへシフトする(ステップS3008)。そして、エラー有無判定部153は、当該ホストについて、ステップS3004〜S3006の処理を繰り返す。
【0070】
一方、指定された発生ノード1101のホストと論理デバイスを共用しているホストの全てについて、ステップS3004〜S3006の処理が行われた場合(ステップS3007でNO)、エラー有無判定部153は、ステップS3009に進む。
【0071】
ステップS3009では、エラー有無判定部153は、指定された発生ノード1101のホストと、当該ホストと論理デバイスを共用する他のホストとを合わせた、当該論理デバイス上の全ホスト数に対する、ステップS3006カウント値(エラー発生ホスト数)の割合をエラー発生割合として算出する。例えば、ステップS3003で抽出されたホスト数が3、ステップS3006で加算されたカウント値が3であった場合、ステップS3009での算出値は、3/4≒0.8となる。上記の割合算出後、エラー有無判定部153は、ステップS3010に進む。ステップS3010では、エラー有無判定部153は、ステップS3001で抽出された論理デバイスのうち、ステップS3002〜S3009の処理定が行われていない論理デバイスがあるか否かを判定する。
【0072】
ステップS3002〜S3009の処理が行われていない論理デバイスがある場合には、エラー有無判定部153は、上記の処理が行われていない他の論理デバイスを処理対象にシフトし(ステップS3011)、ステップS3002〜S3009の処理を繰り返し行う。一方、ステップS3002〜S3009の処理が行われていない論理デバイスが無い場合(ステップS3010でNO)、エラー有無判定部153は、処理を終了する。
【0073】
なお、図9に示すステップS304〜305の処理は、図10に示すステップS3002〜S3011の処理における「論理デバイス」を、「物理デバイス」に置き換えた場合と同一の処理となるので、詳細な説明は省略する。
【0074】
また、図9に示すステップS308〜S310の処理は、図10に示すステップS30001〜S3011の処理における「発生ノード1101のホスト」を「ハイパバイザ」に置き換えた場合と同一の処理となるので、詳細な説明は省略する。さらに、図9に示すステップS311〜S312の処理は、図10に示すステップS3002〜S3011の処理における「発生ノード1101のホスト」を「ハイパバイザ」に置き換え、かつ、「論理デバイス」を「物理デバイス」に置き換えた場合と同一の処理となるので、詳細な説明は省略する。
【0075】
次に、図11(a)および図11(b)に示す、被疑対象絞込み部154、およびソート処理部155での処理の流れを説明する。図11(a)は、被疑対象絞込み部154が行う処理の流れを示すフローチャートであり、図11(b)は、ソート処理部155が行う処理の流れを示すフローチャートである。
【0076】
図11(a)に示すように、被疑対象絞込み部154は、ステップS3009(図10参照)で算出された、各論理デバイスおよび各物理デバイスのそれぞれにおける、エラー発生割合を基に、エラー原因として疑われる被疑デバイスを絞り込む基準を決定する(ステップS401)。本実施の形態では、絞込み基準は、たとえば、各論理デバイスおよび各物理デバイスのそれぞれにおいて、エラー発生割合の値が高いもの上位5件を被疑デバイスとすること、または、エラー発生割合が50%を超えるものは全て被疑対象デバイスとすることなどが考えられる。
【0077】
被疑対象絞込み部154は、絞り込む基準を決定した後、各論理デバイスおよび各物理デバイスのそれぞれについて、エラー発生割合と絞込み基準とを照合する。そして、被疑対象絞込み部154は、基準を満たすデバイスを被疑対象デバイスとして抽出する(ステップS402)。その後、被疑対象絞込み部154は、被疑対象デバイスを利用する全ホスト名の一覧、構成情報蓄積部140を検索することで取得し(ステップS403)、処理を終える。
【0078】
次に、図11(b)に示すように、ソート処理部155では、被疑対象絞込み部154で得られた、被疑対象デバイスの全ホスト名の情報を、監視端末300を利用するオペレータに返すために、情報の整理を行う(ステップS501)。監視端末300に返す情報は、被疑対象デバイス、被疑デバイスの全ホスト名、および、各被疑対象デバイスのエラー発生割合である。ソート処理部155は、これらの情報をソートする。その後ソートされた結果は、図7に示すように、結果出力部111へ出力される。結果出力部111は、これらの情報を、ネットワークを介して監視端末300の表示制御部313へ出力する(ステップS7)。これにより、上記の情報は、表示部314に表示され、表示内容をオペレータが確認可能となる。
【0079】
次に、ステップS8〜S12のフロー、すなわち、エラー原因として推定される被疑対象デバイスが抽出された後の処理について、図12を用いて説明する。図12は、ステップS9〜S12について説明するためのフローチャートである。
【0080】
図7に示すように、監視端末300の表示部314に表示された情報に基づいて、オペレータが、メッセージ一覧要求部312を操作することで、メッセージ検索要求が出された場合(ステップS8でYES)、図12に示すように、要求対象判定部161におけるステップS601が開始される。具体的には、要求対象判定部161は、メッセージ検索要求の対象がデバイス名であるか、またはホスト名であるかを判定する。メッセージ検索要求の対象の指定は、たとえば、オペレータがメッセージ一覧要求部312を操作することにより行われる。
【0081】
被疑デバイスに対してメッセージ検索の要求があった場合(ステップS601で被疑デバイス)、メッセージ検索部162は、被疑対象デバイスを共用する全ホストについてメッセージ蓄積部110を検索し、該当するメッセージを抽出し、ステップS801に進む。
【0082】
一方、オペレータによるメッセージ一覧要求部312の操作による、メッセージ検索要求の対象がホストであった場合(ステップS601でホスト)、メッセージ検索部162は、メッセージ蓄積部110を検索し、該当するメッセージを抽出し、ステップS801に進む。
【0083】
ステップS801では、ソート処理部155は、ステップS701、またはS702で得られたメッセージを、それぞれ、発生ノード毎に並べる。なお、ステップS601は、図7のステップS9に相当し、ステップS701、S702は、図7のステップS10に相当し、ステップS801は、図7のステップS11に相当する。
【0084】
ソート処理部155の処理に次いで、図7に示すステップS12が実行される。すなわち、ステップS801でソートされたメッセージ一覧が、結果表示部111へ出力され、結果出力部111は、メッセージ一覧を、ネットワーク400を介して、表示制御部313へ出力する(ステップS12)。これにより、監視端末300を利用するオペレータは、表示制御部313が表示部314に表示するメッセージ一覧を確認することができる。
【0085】
本発明の実施の形態におけるプログラムは、コンピュータに、図7〜図12に示すステップS1〜S12、S101〜S104、S201、S301〜S312、S3001〜S3011、S401〜S403、S501、S601、S701、S702、およびS801を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における障害分析装置100を実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、メッセージ監視部101、結果出力部111、入手部131、データ分析部132、テーブル更新部133、発生ノード判定部151、メッセージ抽出範囲算出部152、エラー有無判定部153、被疑対象絞込み部154、ソート処理部155、要求対象判定部161、およびメッセージ検索部162として機能し、処理を行なう。
【0086】
また、本実施の形態では、メッセージ蓄積部110および構成情報蓄積部140は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。また、メッセージ蓄積部110および構成情報蓄積部140は、別のコンピュータによって構築されてもよい。
【0087】
以上のように本実施の形態によれば、エラー内容と、エラー原因との関係を予め障害分析装置100で特定できていなくても、障害原因を分析することができ得る。具体的には、障害分析装置100は、監視対象サーバ200からエラーメッセージなどのメッセージを収集しており、障害分析装置100のデバイス情報整理部120は、ホスト(物理OS、ハイパバイザ、仮想OS)が利用するデバイス情報を管理している。そして、障害分析装置100は、任意に選択した1つのエラーメッセージについて、エラーメッセージを発生するホストと、デバイス情報とを関連づけることで、エラー発生ホストとデバイスを共用している複数のホストを抽出する。さらに、障害分析装置100は、着目したエラー発生時近辺に上記デバイスを共用する複数のホストでエラーが発生しているか判定する。そして、当該複数のホストでのエラーの発生割合などに基づいて、エラー原因を分析し、被疑対象デバイスを特定する。これにより、デバイス障害観点からのエラー原因の絞込みを可能にしている。
【0088】
このような本実施の形態の構成により、仮想化環境のソフトウェアと物理デバイスとが複雑に構成されているシステムにおいて、エラーイベント発生原因の追及を容易にすることができる。より具体的には、ホストが利用する物理デバイス、論理デバイスの構成情報を用いて、特定のエラーイベントに含まれるホスト名から、利用しているデバイスを割り出す。そして、当該デバイスを共用する他のホストで同時期に障害が発生している割合を判定する。これにより、特定のデバイスに基づく連鎖障害であるか、または、ホスト自身で発生している障害であるか絞り込むことができる。
【0089】
また、本実施の形態では、エラー有無判定部153は、監視端末300で選択されたエラーを基準として、当該基準から所定の範囲内で、エラー発生ノードのホストとデバイスを共用する他のホストでエラーが発生しているか否かを判定する。これにより、監視端末300で選択されたエラーと同時期に発生した他のエラーを特定することができるので、エラー発生原因に適した分析材料を得ることができ、より正確にエラー原因を分析することができる。
【0090】
また、本実施の形態では、エラー発生ホストが仮想ホストである場合には、エラー発生ホストのハイパバイザが利用している物理デバイスおよび論理デバイスを共用する他のホストを特定し、当該特定されたホストのエラーを抽出する。これにより、エラー発生ホストが仮想ホストである場合でも、エラーの原因をより正確に特定することができる。
【0091】
また、本実施の形態では、被疑対象絞込み部154は、エラー発生ホストとデバイスを共用する他のホストのうち、エラーが発生しているホストの数が所定の基準を超えている場合に、エラー発生ホストが利用しているデバイスにエラーが生じていると判定する。これにより、エラーを生じているデバイスを、より正確に分析することができる。
【0092】
(変形例)
上記実施の形態では、構成情報蓄積部140が管理するデバイスとして、監視対象サーバ200の物理ディスク、論理ディスクおよび物理NICを例示している。そして、これらのデバイスとホスト名とを関連付けることにより、エラー原因を絞り込む構成としているが、これに限定されない。たとえば、ディスクとNIC以外にも、監視対象サーバ200の構成情報取得部210がAPIで提供可能な物理、論理デバイスであり、且つ複数のホストで共用する(部分的なリソース割り当てが可能な)デバイスがあれば、構成情報蓄積部140で管理することができる。
【0093】
また、図8(b)のステップS201において、エラーメッセージの検索範囲は、監視端末300を操作することで設定できてもよいし、障害分析装置100に算出範囲決定パターンを設定する装置を設けることで、適宜設定されてもよい。
【0094】
また、図11のステップS401において、被疑対象デバイス決定の絞り込みの基準は、監視端末300を操作することで設定されてもよいし、障害分析装置100に絞り込み基準パターンを設定すする装置を設けることで、適宜設定されてもよい。
【0095】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。
【0096】
(付記1)
仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手する入手部と、
複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定し、かつ、特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するエラー有無判定部と、
を備えていることを特徴とする、障害分析装置。
【0097】
(付記2)
前記エラー有無判定部は、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、付記1に記載の障害分析装置。
【0098】
(付記3)
前記エラー有無判定部は、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、付記1または付記2に記載の障害分析装置。
【0099】
(付記4)
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込む被疑対象絞込み部をさらに備え、
前記被疑対象絞込み部は、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、付記1〜付記3のいずれかに記載の障害分析装置。
【0100】
(付記5)
(a)仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を含むことを特徴とする、障害分析方法。
【0101】
(付記6)
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、付記5に記載の障害分析方法。
【0102】
(付記7)
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、付記5または付記6に記載の障害分析方法。
【0103】
(付記8)
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込むステップをさらに備え、
前記絞込むステップでは、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、付記5〜付記7のいずれかに記載の障害分析方法。
【0104】
(付記9)
仮想ホストを含む複数のホストで発生する障害をコンピュータによって分析するためのプログラムであって、前記コンピュータに、
(a)仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を実行させる、プログラム。
【0105】
(付記10)
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、付記9に記載のプログラム。
【0106】
(付記11)
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、付記9または付記10に記載のプログラム。
【0107】
(付記12)
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込むステップをさらに備え、
前記絞込むステップでは、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、付記9〜付記11のいずれかに記載のプログラム。
【産業上の利用可能性】
【0108】
本発明は、仮想化技術により大量の仮想サーバを一元管理するデータセンタなどの運用管理に用いられる、障害分析装置、障害分析方法、およびプログラムに適用することができる。
【符号の説明】
【0109】
100 障害分析装置
131 入手部
153 エラー有無判定部
154 被疑対象絞込み部
【技術分野】
【0001】
本発明は、仮想化技術により大量の仮想サーバを一元管理するデータセンタなどの運用管理に用いられる、障害分析装置、障害分析方法、およびプログラムに関する。
【背景技術】
【0002】
近年、仮想化技術を利用したコンピュータシステムが運用されている。このようなシステムでは、たとえば、1台のサーバコンピュータ上で複数の仮想マシンを稼働させる(たとえば、特許文献1参照)。特許文献1に記載の仮想コンピュータシステムは、複数の物理デバイス上で論理デバイスを用いて仮想デバイスを設定し、当該仮想デバイスにより仮想マシンを動作させる。
【0003】
また、当該仮想コンピュータシステムは、仮想化環境運用支援システムを有している。仮想化環境運用支援システムは、障害が発生した物理デバイスと該物理デバイスが影響を及ぼす論理デバイスを特定した第1関連情報と、障害が発生した論理デバイスと当該論理デバイスが影響を及ぼす仮想デバイスを特定した第2関連情報と、障害が発生した仮想デバイスと当該仮想デバイスが影響を及ぼす仮想マシンを特定した第3関連情報と、を格納する、影響範囲特定テーブル部を備えている。
【0004】
また、前記仮想化環境運用支援システムは、制御部を備えている。制御部は、仮想コンピュータシステムから障害が発生した物理デバイス、論理デバイス又は仮想デバイスを特定する障害発生部位情報を受信し、当該障害発生部位情報を基に前記影響範囲特定テーブル部を参照して前記障害が及ぼす仮想マシンを特定する。また、制御部は、障害発生部位情報が仮想デバイスのとき、当該仮想デバイスが影響を及ぼす仮想マシンを、前記第3関連情報を参照して特定する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−009411号公報(要約、請求項1)
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、VMWare(登録商標)に代表される仮想化技術を多用するサーバコンピュータ(クラウドシステム)の障害監視を行う場合、障害発生時に、本来、原因が一つであるにも拘らず、複数の障害が同時期に発生したように見えてしまう場合が多々ある。そのような場合、どの障害から対処したらよいかが判らず、障害原因および影響範囲の特定に時間がかかってしまう。また、仮想環境下では、頻繁に利用リソース変更があり、影響範囲の特定が困難である。
【0007】
特許文献1に記載の構成では、仮想マシンに生じた障害の影響範囲を特定する処理を行う前提条件として、障害イベントから、原因となるデバイスを特定できるようにしておく必要がある。すなわち、予め、障害イベントと、原因となるデバイスとの関係とを登録してあることが必要である。よって、事前に登録されていない障害の原因分析を行うことができない。
【0008】
本発明の目的の一例は、エラー内容と、エラー原因との関係を予め特定できていなくても、障害原因を分析することができ得る、障害分析装置、障害分析方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の一側面における、障害分析装置は、仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手する入手部と、
複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定し、かつ、特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するエラー有無判定部と、
を備えていることを特徴とする。
【0010】
また、上記目的を達成するため、本発明の一側面における、障害分析方法は、
(a)仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を含むことを特徴とする。
【0011】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、仮想ホストを含む複数のホストで発生する障害をコンピュータによって分析するためのプログラムであって、前記コンピュータに、
(a)前記仮想ホストを含む複数の前記ホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を実行させることを特徴とする。
【発明の効果】
【0012】
以上のように、本発明によれば、エラー内容と、エラー原因との関係を予め特定できていなくても、障害原因を分析することができ得る。
【図面の簡単な説明】
【0013】
【図1】図1は、本発明の実施の形態の障害分析装置を含む、障害分析システムの概略構成を示すブロック図である。
【図2】図2は、構成情報蓄積部に含まれる、本実施の形態における動作に必要なデータテーブルを示す図である。
【図3】図3は、ホスト管理テーブルを示す図である。
【図4】図4は、物理ディスク管理テーブル、論理ディスク管理テーブル、およびNIC管理テーブルを示す図である。
【図5】図5は、リソース割り当てテーブルを示す図である。
【図6】図6は、メッセージの構造例を示す図である。
【図7】図7は、エラー原因絞込みの処理の流れを説明するためのフローチャートである。
【図8】図8(a)は、発生ノード判定部が行う処理について説明するためのフローチャートであり、図7のステップS2の処理の詳細を示している。図8(b)は、メッセージ検索範囲算出部が行う処理について説明するためのフローチャートであり、図7のステップS3の処理の詳細を示している。
【図9】図9は、エラー有無判定部が行う処理について説明するためのフローチャートであり、図7のステップS4の処理の詳細を示している。
【図10】図10は、図9のステップS301〜S303についての詳細な処理の流れを説明するためのフローチャートである。
【図11】図11(a)は、被疑対象絞込み部が行う処理の流れを示すフローチャートであり、図11(b)は、ソート処理部が行う処理の流れを示すフローチャートである。
【図12】図12は、ステップS9〜S12について説明するためのフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態における、障害分析装置について、図面を参照しながら説明する。
【0015】
[装置構成]
図1は本発明の実施の形態に係る障害分析装置100を含む、障害分析システム1の概略構成を示すブロック図である。本実施の形態では、障害分析システム1は、障害分析装置100と、監視対象サーバ200と、オペレータが操作する監視端末300と、を備えている。
【0016】
障害分析装置100は、後述するように、たとえば、サーバコンピュータによって構築することができる。監視対象サーバ200は、たとえば、サーバコンピュータによって構築することができる。監視対象サーバ200は、ハードディスクなどの物理デバイスと、論理デバイスと、をそれぞれ複数有している。また、監視対象サーバ200は、これら物理デバイスおよび論理デバイスを利用する、複数のホストを有している。当該複数のホストは、物理OS(Operating System)、ハイパバイザ、および仮想OSを含む。
【0017】
監視端末300には、コンピュータが含まれる。障害分析装置100と、監視対象サーバ200とは、ネットワーク400を介して接続されている。また、障害分析装置100と、監視端末300とは、ネットワーク400を介して接続されている。
【0018】
障害分析装置100は、入手部131と、エラー有無判定部153と、を含んでいる。入手部131は、監視対象サーバ200の各ホストのそれぞれが利用する物理デバイスの情報および論理デバイスを特定する情報(デバイス情報)を、監視対象サーバ200から入手する。
【0019】
エラー有無判定部153は、監視対象サーバ200の複数のホストのうち、エラーが発生したエラー発生ホストのホスト名と、入手部131で入手したデバイス情報とから、エラー発生ホストが利用している物理デバイスおよび論理デバイスを特定する。エラー有無判定部153は、さらに、特定された物理デバイスおよび論理デバイスを共用する他のホストで、エラーが発生しているか否かを判定する。
【0020】
以上説明したように、本実施の形態では、エラー内容と、エラー原因との関係を予め障害分析装置100で特定できていなくても、障害原因を分析することが可能である。より具体的には、エラー発生ホストと、物理デバイスおよび論理デバイスの少なくとも一方を共用する他のホストにもエラーが生じている場合には、当該共用するデバイスがエラー原因であると分析することができる。一方、エラー発生ホストにはエラーが発生しているにも拘らず、上記他のホストにはエラーが生じていない場合には、エラー発生ホスト自身がエラー原因であると分析することができる。その結果、オペレータは、エラー発生原因を正確に知ることができ、エラー解消作業に迅速にとりかかることができる。
【0021】
以上が、障害分析装置100の概略説明である。次に、障害原因箇所絞込みシステム1の、より具体的な構成を、図1に加え、図2〜図6を用いて説明する。
【0022】
図1に示すように、本実施の形態では、監視対象サーバ200は、構成情報取得部201と、イベント蓄積部210とを含んでいる。構成情報取得部201は、監視対象サーバ200を構成するハードウェアの構成情報、およびソフトウェアの構成情報を、常時監視しており、これらの構成情報を、構成変更情報を含め取得する。なお、一般的に物理OS(Operating System)およびハイパバイザは、自身が利用している物理デバイス情報、および論理デバイス情報を管理している。構成情報の具体的な取得方法の一例としては、監視対象サーバ200側で提供しているAPI(Application Program Interface)を利用すること、または、エージェントプログラムを稼動させて、構成情報を取得すること、を挙げることができる。本実施の形態では、構成情報取得部201が取得した構成情報は、データ分析部132およびテーブル更新部133を介して、構成情報蓄積部140に格納される。また、本実施の形態では、監視対象サーバ200のイベント蓄積部210は、監視対象サーバ200で発生したイベント情報を格納する。
【0023】
本実施の形態では、監視端末300は、オペレータによって操作される。監視端末300は、メッセージ検索部301と、要求部310と、表示制御部313と、表示部314と、を含んでいる。
【0024】
本実施の形態では、メッセージ検索部301は、オペレータの操作に応じて、後述するメッセージ蓄積部110に蓄積されているメッセージから、たとえば、1つのメッセージを検索する。
【0025】
本実施の形態では、要求部310は、原因絞込み要求部311と、メッセージ一覧要求部312と、を含んでいる。本実施の形態では、原因絞込み要求部311は、メッセージ検索部301によって検索されたメッセージを見たオペレータによって操作される。原因絞込み要求部311は、エラーメッセージが生じた原因を絞り込む指令を、障害分析装置100へ与える。また、本実施の形態では、メッセージ一覧要求部312は、原因絞込み要求部311の操作に対して障害分析装置100から返された原因絞込みの結果を見たオペレータによって、操作される。メッセージ一覧要求部312は、エラーメッセージを検索した結果の一覧を作成する要求を、障害分析装置100へ与える。
【0026】
本実施の形態では、表示制御部313は、与えられたデータに基づく画像を、液晶ディスプレイ等の表示部314の表示画面に表示させる。
【0027】
本実施の形態では、障害分析装置100は、メッセージ監視部101と、メッセージ蓄積部110と、デバイス情報整理部120と、処理部130と、結果出力部111と、を含んでいる。
【0028】
本実施の形態では、メッセージ監視部101は、監視対象サーバ200のイベント蓄積部201に格納されるイベントを監視し、当該イベントをメッセージとして取得し、取得したメッセージを、メッセージ蓄積部110に格納する。
【0029】
本実施の形態では、デバイス情報整理部120は、入手部131と、データ分析部132と、テーブル更新部133と、構成情報蓄積部140と、を含んでいる。
【0030】
本実施の形態では、構成情報監視部131は、監視対象サーバ200を構成するハードウェア情報、およびソフトウェア情報などの構成情報を、構成情報取得部201から取得する。
【0031】
本実施の形態では、構成情報監視部131で得られた情報は、データ分析部132で情報毎にまとめられ、分析および分類される。当該分析されたデータは、テーブル更新部133によって、構成情報蓄積部140に登録される。
【0032】
図2は、構成情報蓄積部140に含まれる、本実施形態における動作に必要なデータテーブル141〜145を示す図である。図2に示すように、本実施の形態では、構成情報蓄積部140は、物理デバイスおよび論理デバイスとホストとの関係などを示すテーブルを格納している。より具体的には、構成情報蓄積部140は、ホスト管理テーブル141と、物理ディスク管理テーブル142と、論理ディスク管理テーブル143と、NIC(Network Interface Card )管理テーブル144と、リソース割り当てテーブル145と、を格納している。
【0033】
図3は、ホスト管理テーブル141を示す図である。図3に示すように、本実施の形態では、ホスト管理テーブル141は、全ホスト名を管理するテ−ブル1411と、ハイパバイザであるホスト名を管理するテーブル1412と、ハイパバイザ上に構成された仮想ホスト名を管理するテーブル1413と、を含んでいる。これらのテーブル1411、1412、1413の情報は、互いに関係付けられている。
【0034】
本実施の形態では、テーブル1411は、ホストIDと、当該ホストIDに対応するホスト名とを格納している。テーブル1411は、たとえば、ホストID1のホスト名をVM1として格納し、ホストD2のホスト名をGuest2として格納している。さらに、テーブル1411は、ホストID3,4,5,6,…のホスト名を、それぞれ、Guest2,VM2,Guest3,host1,…として格納している。また、テーブル1412は、ハイパバイザIDと、当該ハイパバイザIDに対応するホスト名とを格納している。テーブル1412は、たとえば、ハイパバイザID1のホスト名をVM1として格納している。また、テーブル1413は、仮想ホストIDと、当該ホストIDに対応するホスト名とを格納している。テーブル1413は、たとえば、仮想ホストID1のホスト名をGuest1として格納し、仮想ホストID2のホスト名をGuest2として格納している。
【0035】
図4は、物理ディスク管理テーブル142、論理ディスク管理テーブル143、およびNIC管理テーブル144を示す図である。図4に示すように、ディスク管理テーブル142は、全監視対象の物理ディスクを管理するテーブル1421と、物理ディスク毎に利用ホストを管理するテーブル1422と、を含んでおり、ホスト名から、利用している物理ディスクを特定する。
【0036】
本実施の形態では、テーブル1421は、物理ディスクIDと、当該物理ディスクIDに対応するディスク名とを格納している。テーブル1421は、たとえば、物理ディスクID1のディスク名をDiskAとして格納し、物理ディスクID2のディスク名をDiskBとして格納し、物理ディスクID3のディスク名をDiskCとして格納している。また、本実施の形態では、テーブル1422は、物理DiskAを利用するホストIDと、当該ホストIDに対応するホスト名とを格納している。テーブル1422は、たとえば、物理DiskAにおけるホストID1のホスト名をVM1として格納し、物理DiskAにおけるホストID4のホスト名をVM2として格納している。なお、図4では、物理ディスクAに対応するホストIDおよびホスト名を図示しているが、テーブル1422は、物理ディスクB、C、…、の各物理ディスクに対応するホストIDおよびホスト名も格納している。
【0037】
本実施の形態では、論理ディスク管理テーブル143は、物理ディスク管理テーブル1421の各物理ディスクと対応する論理ディスク名を格納したテーブル1431を含んでいる。このテーブル1431には、論理ディスクを利用しているホスト名を格納したテーブル1432が紐づいている。これにより、ホスト名から、利用している論理ディスクを特定することが可能となっている。なお、本実施の形態では、テーブル1431は、論理ディスクIDと、当該論理ディスクIDに対応する論理ディスク名とを格納している。テーブル1431は、たとえば、論理ディスクID1の論理ディスク名を論理Aとして格納し、論理ディスクID2の論理ディスク名を論理Bとして格納し、論理ディスクID3の論理ディスク名を論理Cとして格納している。なお、図4では、物理ディスクAに対応する論理ディスクについて、テーブル1431で図示しているが、テーブル1431は、物理ディスクB、C、…、の各物理ディスクに対応する論理ディスクの情報も格納している。
【0038】
本実施の形態では、NIC管理テーブル144は、全監視対象の物理NICを管理するテーブルであり、テーブル1441と、NIC毎に利用ホストを管理するテーブル1442と、を含んでいる、これにより、ホスト名から、利用しているNICを特定することが可能となっている。本実施の形態では、テーブル1441は、NICIDと、当該NICIDに対応するMAC(Media Access Control)アドレス名とを格納している。テーブル1441は、たとえば、NICID1のMACアドレスをMAC1として格納し、NICID2のMACアドレスをMAC2として格納し、NICID3のMACアドレスをMAC3として格納している。図4では、MAC1に対するホストIDおよびホスト名について図示しているが、テーブル1442は、MAC2、MAC3の各MACアドレスに対応するホストの情報も格納している。
【0039】
図5は、リソース割り当てテーブル145を示す図である。本実施の形態では、図5に示すように、リソース割り当てテーブル145は、ハイパバイザテーブル1451と、NICテーブル1452と、論理ディスクテーブル1453と、仮想ホストテーブル1454と、を含んでいる。
【0040】
本実施の形態では、ハイパバイザテーブル1451は、ハイパバイザIDと、当該ハイパバイザIDに対応するホスト名とを格納している。ハイパバイザテーブル1451は、たとえば、ハイパバイザID1のホスト名をVM1として格納している。また、本実施の形態では、NICテーブル1452は、NICIDと、当該NICIDに対応するMACアドレスとを格納している。NICテーブル1452は、たとえば、NICID1、NICID2、NICID3のMACアドレス名、それぞれ、をMAC1、MAC2、MAC3として格納している。また、本実施の形態では、論理ディスクテーブル1453は、論理ディスクIDと、当該論理ディスクIDに対応する論理ディスク名とを格納している。論理ディスクテーブル1453は、たとえば、論理ディスクID1、ID2、ID3の論理ディスク名を、それぞれ、論理A、論理B、論理Cとして格納している。また、本実施の形態では、仮想ホストテーブル1454は、仮想ホストIDと、当該仮想ホストIDに対応するホスト名とを格納している。仮想ホストテーブル1454は、たとえば、仮想ホストIDのホスト名をGuest1として格納している。
【0041】
本実施の形態では、リソース割り当てテーブル145において、ハイパバイザが各仮想ホストに割り当てるリソース情報を含む仮想ホストテーブル1454と、NICテーブル1452と、論理ディスクテーブル1453と、が関係づけられている。これにより、仮想ホスト名から、割り当てられたデバイス情報を特定することが可能となる。なお、NICテーブル1452および論理ディスクテーブル1453は、それぞれ、ハイパバイザテーブル1451と関係づけられている。これにより、ホスト名から、当該ホストが利用するハイパバイザを特定することができる。
【0042】
次に、図1に示すように、本実施形態における原因絞込みを実施する処理部130について説明する。本実施の形態では、処理部130は、発生ノード判定部151と、メッセージ抽出範囲算出部152と、エラー有無判定部153と、被疑対象絞込み部154と、ソート処理部155と、を含んでいる。本実施の形態では、処理部130は、構成情報蓄積部140およびメッセージ蓄積部110のそれぞれと接続されている。
【0043】
本実施の形態では、発生ノード判定部151は、メッセージ発生源が仮想ホストであるか否かを判定する。メッセージ検索範囲算出部152は、オペレータによって選択されたエラーの発生時を基準に、当該事象発生前後のどれくらいの期間のメッセージを検索対象とするが決定する。エラー有無判定部153は、抽出した期間内に発生ノードなどでエラーメッセージが発生していたか否かを判定する。本実施の形態では、被疑対象絞込み部154は、エラーメッセージが出ているホスト数の割合から被疑対象デバイスを絞り込む。ソート処理部155は、被疑対象絞込み部154からの出力データを並び替える。
【0044】
本実施の形態では、処理部150は、ソート処理部155でソートされたデータは、結果出力部111によって、ネットワーク400を通じて、監視端末300の表示制御部313へ出力される。表示制御部313は、受けたデータを、監視端末300の表示部314に表示する。これにより、障害分析装置100は、監視端末300を利用するオペレータに、要求部310の操作に対する結果を返す。本実施の形態では、原因絞込み要求部311からの要求により、発生ノード判定部151、メッセージ抽出範囲算出部152、エラー有無判定部153、被疑対象絞込み部154、およびソート処理部155の処理が実行される。原因絞込み要求部311の要求は、発生ノード判定部151へ与えられる。
【0045】
また、本実施の形態では、処理部130は、要求対象判定部161と、メッセージ検索部162と、を更に含んでいる。要求対象判定部161は、メッセージ要求対象ホストを特定する。メッセージ検索部162は、特定のホストについてのメッセージをメッセージ蓄積部110内から検索する。ソート処理部155は、検索されたメッセージを所定のルールに従って並び替える。本実施の形態では、当該メッセージに関する処理は、メッセージ一覧要求部312からの要求により実行される。メッセージ一覧要求部312の要求は、要求対象判定部161へ与えられる。
【0046】
前述したように、監視端末300は、メッセージ検索部301を含んでいる。メッセージ検索部301は、ネットワーク400を介してメッセージ蓄積部110に接続されている。メッセージ検索部301は、メッセージ蓄積部110に保存されているメッセージに対して検索を行うことで、任意のメッセージを参照することができる。なお、メッセージ蓄積部110に蓄積されているメッセージの構造例は、図6に示すとおりである。
【0047】
図6は、メッセージの構造例を示す図である。本実施の形態では、メッセージ蓄積部110に蓄積されるメッセージは、発生ノード1101、メッセージID1102、メッセージ内容1103、アラートレベル1104、発生日1105、および発生時間1106を含んでいる。
【0048】
発生ノード1101には、イベントが発生したホスト名が示されている。メッセージ内容1103には、具体的なイベント内容(エラー内容)が示されている。アラートレベル1104には、エラーが生じたイベントについて、”Error”が示されている。発生日1105には、イベントの発生日が示されている。発生時間1106には、イベントが発生した時刻が示されている。
【0049】
[本実施の形態における動作の説明]
[動作の概要]
図1に示すように、本実施の形態では、監視対象サーバ200にエラーが発生した場合、オペレータは、監視端末300の原因絞込み要求部311を操作することで、エラーに関連すると判断したメッセージを1つ選択する。これに基づき、障害分析装置100は、そのメッセージを発生したエラー発生ホストと、デバイス情報とを関連づける。そして、障害分析装置100は、エラーメッセージを発生したホストと、デバイスを共用している1または複数のホストを抽出する。
【0050】
さらに、障害分析装置100は、上記エラー発生時近辺に、上記共用のホストにエラーが発生しているか判定する。そして、障害分析装置100は、エラーの発生の有無を判定した判定結果に基づき、エラーの発生原因として疑われる被疑対象デバイス、および被疑対象デバイスを利用するホストの一覧を作成する。そして、障害分析装置100は、作成したホストの一覧を監視端末300に返す。被疑対象デバイス、および被疑対象デバイスを利用するホストに関して、メッセージ一覧要求部312の操作に基づいて、メッセージ一覧の要求がある場合、障害分析装置100は、メッセージ蓄積部110内を検索する。そして、障害分析装置100は、被疑対象デバイスまたは当該デバイスを利用するホストのメッセージを検索し、監視端末300へ検索結果を出力する。
【0051】
[本実施の形態における動作の詳細な説明]
次に、本実施の形態における障害分析装置100の動作の詳細について、図7〜図12を用いて説明する。図7は、エラー原因絞込みの処理の流れを説明するためのフローチャートである。また、以下の説明においては、適宜、図1〜図6を参照する。また、本実施の形態では、障害分析装置100を動作させることによって、障害分析方法が実施される。よって、本実施の形態における、障害分析方法の説明は、以下の障害分析装置100の動作説明に代える。
【0052】
図7に示すように、本実施の形態では、障害分析装置100は、任意のエラーメッセージ1件に対して、原因絞込み要求があるか否かを判定する(ステップS1)。たとえば、オペレータが原因絞込み要求部311を操作することにより、任意のエラーメッセージ1件に関する原因絞込み要求が発せられると(ステップS1でYES)、発生ノード判定部151が処理を行う(ステップS2)。次に、メッセージ検索範囲算出部152が処理を行い(ステップS3)、以後、順に、エラー有無判定部153、被疑対象絞込み部154、ソート処理部155が処理を行う(ステップS4、S5、S6)。ソート処理部155でソートされた、障害原因の被疑対象の推定結果は、結果出力部111が、ネットワーク400を介して監視端末300の表示制御部313へ出力する(ステップS7)。これにより、上記被疑対象の推定結果は、表示部314に表示される。
【0053】
次に、被疑対象デバイスの推定結果を見たオペレータによって、メッセージ一覧要求部312が操作されることにより、上記被疑対象に対する検索要求が障害分析装置100へ発せられると(ステップS8でYES)、要求対象判定部161、メッセージ検索部162、およびソート処理部155が、順に処理を行う(ステップS9、S10、S11)。ソート処理部155でソートされた、被疑対象に関するメッセージの一覧は、結果出力部111がネットワーク400を介して、監視端末300の表示制御部313へ出力する(ステップS12)。これにより、当該メッセージ一覧は、表示部314に表示される。
【0054】
上記したように、本実施の形態において、障害原因絞込みの処理は大きく分けて2段階ある。1段階目の処理は、1件のエラーメッセージから、原因と考えられるデバイス、および関連するホスト名を列挙する処理(ステップS2〜S6)である。2段階目の処理は、列挙された対象についてメッセージ検索を行う処理(ステップS9〜S11)である。まず、前者の処理(ステップS2〜S6)について、図8〜図11を用いて説明する。
【0055】
図8(a)は、発生ノード判定部151が行う処理について説明するためのフローチャートであり、図7のステップS2の処理の詳細を示している。図8(b)は、メッセージ検索範囲算出部152が行う処理について説明するためのフローチャートであり、図7のステップS3の処理の詳細を示している。図9は、エラー有無判定部153が行う処理について説明するためのフローチャートであり、図7のステップS4の処理の詳細を示している。
【0056】
図7に示すように、たとえば、オペレータが、監視端末300の原因絞込み要求部311を操作することにより、原因絞込み要求部311から、あるエラーメッセージ1件について、障害分析装置100に処理を行う要求が発せられると、図8(a)に示すように、発生ノード判定部151は、メッセージ蓄積部110に蓄積されている指定されたメッセージの発生ノード1101のホスト名と、構成情報蓄積部140中のホスト管理テーブル141とを照合し、発生ノード1101のホスト名と一致するホスト名を取得する(ステップS101)。次に、発生ノード判定部151は、取得したホスト名に仮想ホストテーブル1413のホスト名が含まれるか否か判定する(ステップS102)。取得したホスト名に仮想ホストIDが含まれている場合(ステップS102でYES)、発生ノード判定部151は、メッセージ発生ノードが仮想ホストであると判定する(ステップS103)。一方、取得したホスト名に仮想ホストIDが含まれていない場合(ステップS102でNO)、メッセージ発生ノードは、物理ホスト、またはハイパバイザであると判定する(ステップS104)。
【0057】
図8(b)に示すように、メッセージ検索範囲算出部152は、原因絞込み要求のあったエラーメッセージ中の発生日1105、および発生時間1106を中心に、すなわち、エラー発生状況に基づいて、エラー有無判定部153でエラーの判定対象とするメッセージ取得範囲を算出する(ステップS201)。メッセージ取得範囲の指定方法については特に限定されないが、本実施の形態では、原因絞込みを行っているエラーメッセージの発生時刻を基準として前後数秒または数十秒の期間に発生したメッセージを検索範囲対象とする。なお、メッセージ取得範囲の指定方法として、上記エラーメッセージの発生時刻の前後に発生した数十件のメッセージを検索対象範囲としてもよい。
【0058】
次に、図9に示すように、エラー有無判定部153は、構成情報蓄積部140を検索することにより、指定された発生ノード1101のホストが利用しているデバイス情報を抽出する(ステップS301)。
【0059】
次に、エラー有無判定部153は、指定された発生ノード1101のホストと論理デバイスを共用している全てのホストを抽出する(ステップS302)。次に、エラー有無判定部153は、指定された発生ノード1101のホストが利用する論理デバイスに紐づく全てのホストについて、ステップS201で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部110から検索する。そして、エラー有無判定部153は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル1104がErrorであるメッセージが発生しているか否かを判定する(ステップS303)。
【0060】
次に、エラー有無判定部153は、ステップS304、およびステップS305の処理を行う。ステップS304およびステップS305の処理は、論理デバイスについての検索処理(ステップS302、S303)と同様の処理であり、物理デバイスについての検索処理を行う。
【0061】
具体的には、エラー有無判定部153は、指定された発生ノード1101のホストと物理バイスを共用している全てのホストを抽出する(ステップS304)。次に、エラー有無判定部153は、指定された発生ノード1101のホストが利用する物理デバイスに紐づく全てのホストについて、ステップS201で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部110から検索する。そして、エラー有無判定部153は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル1104がErrorであるメッセージが発生しているか否かを判定する(ステップS305)。
【0062】
次に、エラー有無判定部153は、指定された発生ノード1101のホストが、仮想ホストであるか否かを確認する(ステップS306)。なお、発生ノード1101が仮想ホストであるか否かの判定は、予め発生ノード判定部151においてされているものである。エラー有無判定部153は、発生ノード1101が仮想ホストであると確認した場合(ステップS306でYES)、ステップS307に進む。ステップS307では、エラー有無判定部153は、仮想ホストの基盤となるハイパバイザを構成情報蓄積部140より特定し、ハイパバイザをエラー発生ノードと見立てる。次に、エラー有無判定部153は、ステップS301での処理と同様に、構成情報蓄積部140を検索することで、ハイパバイザが利用しているデバイス情報を抽出する(ステップS308)。次に、エラー有無判定部153は、ステップS309〜S312の処理を行うことで、エラー発生状況を判定する。
【0063】
なお、ステップS309およびステップS310の処理は、それぞれ、ステップS302およびステップS303の処理と同様である。また、ステップS311およびステップS312の処理は、それぞれ、ステップS302およびステップS303の処理と同様である。
【0064】
具体的には、エラー有無判定部153は、仮想ホストの基盤となるハイパバイザと論理デバイスを共用している全てのホストを抽出する(ステップS309)。次に、エラー有無判定部153は、上記ハイパバイザが利用する論理デバイスに紐づく全てのホストについて、ステップS201で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部110から検索する。そして、エラー有無判定部153は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル1104がErrorであるメッセージが発生しているか否かを判定する(ステップS310)。
【0065】
次に、エラー有無判定部153は、上記ハイパバイザと物理デバイスを共用している全てのホストを抽出する(ステップS311)。次に、エラー有無判定部153は、上記ハイパバイザが利用する物理デバイスに紐づく全てのホストについて、ステップS201で算出されたメッセージ検索範囲に該当するメッセージを、メッセージ蓄積部110から検索する。そして、エラー有無判定部153は、当該期間にエラーが発生しているか否か、すなわち、アラートレベル1104がErrorであるメッセージが発生しているか否かを判定する(ステップS312)。
【0066】
次に、図10に示すステップS301〜S303についての詳細な処理の流れを説明する。図10は、図9のステップS301〜S303についての詳細な処理の流れを説明するためのフローチャートである。
【0067】
ステップS3001は、ステップS301と同一の処理であり、エラー有無判定部153は、構成情報蓄積部140を検索することにより、指定された発生ノード1101のホストが利用している論理デバイスおよび物理デバイスの構成情報を抽出する。次に、ステップS3002では、エラー有無判定部153は、ステップS3001で取得した、指定された発生ノード1101のホストが利用している論理デバイス一覧と紐づくホストがあるか否かを、構成情報蓄積部140を参照して判定する(ステップS3002)。
【0068】
指定された発生ノード1101のホスト以外に論理デバイスを利用しているホストが存在しない場合(ステップS3002でNO)、エラー有無判定部153は、ステップS3008に進む。一方、発生ノード1101のホスト以外に論理デバイスを利用しているホストが存在する場合(ステップS3002でYES)、エラー有無判定部153は、指定された発生ノード110のホストと論理デバイスを共用する全てのホストを抽出する(ステップS3003)。次に、エラー有無判定部153は、抽出した中の一のホストについて、ステップS201で算出したメッセージ検索対象期間に該当するメッセージを、メッセージ蓄積部110内から検索する(ステップS3004)。次に、エラー有無判定部153は、検索したメッセージのうち、アラートレベル1104が”Error”となっているものが1件以上存在するか否かを判定する(ステップS3005)。アラートレベル1104が”Error”となっているものが1件以上存在する場合(ステップS3005でYES)、エラー有無判定部153は、カウント値を1つ加算する(ステップS3006)。一方、アラートレベル1104が”Error”となっているものが無い場合(ステップS305でNO)、エラー有無判定部153は、カウント値を加算しない。
【0069】
次に、エラー有無判定部153は、指定された発生ノード1101のホストと論理デバイスを共用するホストのうち、ステップS3004〜S3006の処理が行われていないホストが存在しているか否かを判定する(ステップS3007)。指定された発生ノード1101のホストと論理デバイスを共用しているホストのうち、ステップS3004〜S3006の処理が行われていないホストが存在している場合(ステップS3007でYES)、エラー有無判定部153は、メッセージ検索対象のホストを当該ホストへシフトする(ステップS3008)。そして、エラー有無判定部153は、当該ホストについて、ステップS3004〜S3006の処理を繰り返す。
【0070】
一方、指定された発生ノード1101のホストと論理デバイスを共用しているホストの全てについて、ステップS3004〜S3006の処理が行われた場合(ステップS3007でNO)、エラー有無判定部153は、ステップS3009に進む。
【0071】
ステップS3009では、エラー有無判定部153は、指定された発生ノード1101のホストと、当該ホストと論理デバイスを共用する他のホストとを合わせた、当該論理デバイス上の全ホスト数に対する、ステップS3006カウント値(エラー発生ホスト数)の割合をエラー発生割合として算出する。例えば、ステップS3003で抽出されたホスト数が3、ステップS3006で加算されたカウント値が3であった場合、ステップS3009での算出値は、3/4≒0.8となる。上記の割合算出後、エラー有無判定部153は、ステップS3010に進む。ステップS3010では、エラー有無判定部153は、ステップS3001で抽出された論理デバイスのうち、ステップS3002〜S3009の処理定が行われていない論理デバイスがあるか否かを判定する。
【0072】
ステップS3002〜S3009の処理が行われていない論理デバイスがある場合には、エラー有無判定部153は、上記の処理が行われていない他の論理デバイスを処理対象にシフトし(ステップS3011)、ステップS3002〜S3009の処理を繰り返し行う。一方、ステップS3002〜S3009の処理が行われていない論理デバイスが無い場合(ステップS3010でNO)、エラー有無判定部153は、処理を終了する。
【0073】
なお、図9に示すステップS304〜305の処理は、図10に示すステップS3002〜S3011の処理における「論理デバイス」を、「物理デバイス」に置き換えた場合と同一の処理となるので、詳細な説明は省略する。
【0074】
また、図9に示すステップS308〜S310の処理は、図10に示すステップS30001〜S3011の処理における「発生ノード1101のホスト」を「ハイパバイザ」に置き換えた場合と同一の処理となるので、詳細な説明は省略する。さらに、図9に示すステップS311〜S312の処理は、図10に示すステップS3002〜S3011の処理における「発生ノード1101のホスト」を「ハイパバイザ」に置き換え、かつ、「論理デバイス」を「物理デバイス」に置き換えた場合と同一の処理となるので、詳細な説明は省略する。
【0075】
次に、図11(a)および図11(b)に示す、被疑対象絞込み部154、およびソート処理部155での処理の流れを説明する。図11(a)は、被疑対象絞込み部154が行う処理の流れを示すフローチャートであり、図11(b)は、ソート処理部155が行う処理の流れを示すフローチャートである。
【0076】
図11(a)に示すように、被疑対象絞込み部154は、ステップS3009(図10参照)で算出された、各論理デバイスおよび各物理デバイスのそれぞれにおける、エラー発生割合を基に、エラー原因として疑われる被疑デバイスを絞り込む基準を決定する(ステップS401)。本実施の形態では、絞込み基準は、たとえば、各論理デバイスおよび各物理デバイスのそれぞれにおいて、エラー発生割合の値が高いもの上位5件を被疑デバイスとすること、または、エラー発生割合が50%を超えるものは全て被疑対象デバイスとすることなどが考えられる。
【0077】
被疑対象絞込み部154は、絞り込む基準を決定した後、各論理デバイスおよび各物理デバイスのそれぞれについて、エラー発生割合と絞込み基準とを照合する。そして、被疑対象絞込み部154は、基準を満たすデバイスを被疑対象デバイスとして抽出する(ステップS402)。その後、被疑対象絞込み部154は、被疑対象デバイスを利用する全ホスト名の一覧、構成情報蓄積部140を検索することで取得し(ステップS403)、処理を終える。
【0078】
次に、図11(b)に示すように、ソート処理部155では、被疑対象絞込み部154で得られた、被疑対象デバイスの全ホスト名の情報を、監視端末300を利用するオペレータに返すために、情報の整理を行う(ステップS501)。監視端末300に返す情報は、被疑対象デバイス、被疑デバイスの全ホスト名、および、各被疑対象デバイスのエラー発生割合である。ソート処理部155は、これらの情報をソートする。その後ソートされた結果は、図7に示すように、結果出力部111へ出力される。結果出力部111は、これらの情報を、ネットワークを介して監視端末300の表示制御部313へ出力する(ステップS7)。これにより、上記の情報は、表示部314に表示され、表示内容をオペレータが確認可能となる。
【0079】
次に、ステップS8〜S12のフロー、すなわち、エラー原因として推定される被疑対象デバイスが抽出された後の処理について、図12を用いて説明する。図12は、ステップS9〜S12について説明するためのフローチャートである。
【0080】
図7に示すように、監視端末300の表示部314に表示された情報に基づいて、オペレータが、メッセージ一覧要求部312を操作することで、メッセージ検索要求が出された場合(ステップS8でYES)、図12に示すように、要求対象判定部161におけるステップS601が開始される。具体的には、要求対象判定部161は、メッセージ検索要求の対象がデバイス名であるか、またはホスト名であるかを判定する。メッセージ検索要求の対象の指定は、たとえば、オペレータがメッセージ一覧要求部312を操作することにより行われる。
【0081】
被疑デバイスに対してメッセージ検索の要求があった場合(ステップS601で被疑デバイス)、メッセージ検索部162は、被疑対象デバイスを共用する全ホストについてメッセージ蓄積部110を検索し、該当するメッセージを抽出し、ステップS801に進む。
【0082】
一方、オペレータによるメッセージ一覧要求部312の操作による、メッセージ検索要求の対象がホストであった場合(ステップS601でホスト)、メッセージ検索部162は、メッセージ蓄積部110を検索し、該当するメッセージを抽出し、ステップS801に進む。
【0083】
ステップS801では、ソート処理部155は、ステップS701、またはS702で得られたメッセージを、それぞれ、発生ノード毎に並べる。なお、ステップS601は、図7のステップS9に相当し、ステップS701、S702は、図7のステップS10に相当し、ステップS801は、図7のステップS11に相当する。
【0084】
ソート処理部155の処理に次いで、図7に示すステップS12が実行される。すなわち、ステップS801でソートされたメッセージ一覧が、結果表示部111へ出力され、結果出力部111は、メッセージ一覧を、ネットワーク400を介して、表示制御部313へ出力する(ステップS12)。これにより、監視端末300を利用するオペレータは、表示制御部313が表示部314に表示するメッセージ一覧を確認することができる。
【0085】
本発明の実施の形態におけるプログラムは、コンピュータに、図7〜図12に示すステップS1〜S12、S101〜S104、S201、S301〜S312、S3001〜S3011、S401〜S403、S501、S601、S701、S702、およびS801を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における障害分析装置100を実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、メッセージ監視部101、結果出力部111、入手部131、データ分析部132、テーブル更新部133、発生ノード判定部151、メッセージ抽出範囲算出部152、エラー有無判定部153、被疑対象絞込み部154、ソート処理部155、要求対象判定部161、およびメッセージ検索部162として機能し、処理を行なう。
【0086】
また、本実施の形態では、メッセージ蓄積部110および構成情報蓄積部140は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。また、メッセージ蓄積部110および構成情報蓄積部140は、別のコンピュータによって構築されてもよい。
【0087】
以上のように本実施の形態によれば、エラー内容と、エラー原因との関係を予め障害分析装置100で特定できていなくても、障害原因を分析することができ得る。具体的には、障害分析装置100は、監視対象サーバ200からエラーメッセージなどのメッセージを収集しており、障害分析装置100のデバイス情報整理部120は、ホスト(物理OS、ハイパバイザ、仮想OS)が利用するデバイス情報を管理している。そして、障害分析装置100は、任意に選択した1つのエラーメッセージについて、エラーメッセージを発生するホストと、デバイス情報とを関連づけることで、エラー発生ホストとデバイスを共用している複数のホストを抽出する。さらに、障害分析装置100は、着目したエラー発生時近辺に上記デバイスを共用する複数のホストでエラーが発生しているか判定する。そして、当該複数のホストでのエラーの発生割合などに基づいて、エラー原因を分析し、被疑対象デバイスを特定する。これにより、デバイス障害観点からのエラー原因の絞込みを可能にしている。
【0088】
このような本実施の形態の構成により、仮想化環境のソフトウェアと物理デバイスとが複雑に構成されているシステムにおいて、エラーイベント発生原因の追及を容易にすることができる。より具体的には、ホストが利用する物理デバイス、論理デバイスの構成情報を用いて、特定のエラーイベントに含まれるホスト名から、利用しているデバイスを割り出す。そして、当該デバイスを共用する他のホストで同時期に障害が発生している割合を判定する。これにより、特定のデバイスに基づく連鎖障害であるか、または、ホスト自身で発生している障害であるか絞り込むことができる。
【0089】
また、本実施の形態では、エラー有無判定部153は、監視端末300で選択されたエラーを基準として、当該基準から所定の範囲内で、エラー発生ノードのホストとデバイスを共用する他のホストでエラーが発生しているか否かを判定する。これにより、監視端末300で選択されたエラーと同時期に発生した他のエラーを特定することができるので、エラー発生原因に適した分析材料を得ることができ、より正確にエラー原因を分析することができる。
【0090】
また、本実施の形態では、エラー発生ホストが仮想ホストである場合には、エラー発生ホストのハイパバイザが利用している物理デバイスおよび論理デバイスを共用する他のホストを特定し、当該特定されたホストのエラーを抽出する。これにより、エラー発生ホストが仮想ホストである場合でも、エラーの原因をより正確に特定することができる。
【0091】
また、本実施の形態では、被疑対象絞込み部154は、エラー発生ホストとデバイスを共用する他のホストのうち、エラーが発生しているホストの数が所定の基準を超えている場合に、エラー発生ホストが利用しているデバイスにエラーが生じていると判定する。これにより、エラーを生じているデバイスを、より正確に分析することができる。
【0092】
(変形例)
上記実施の形態では、構成情報蓄積部140が管理するデバイスとして、監視対象サーバ200の物理ディスク、論理ディスクおよび物理NICを例示している。そして、これらのデバイスとホスト名とを関連付けることにより、エラー原因を絞り込む構成としているが、これに限定されない。たとえば、ディスクとNIC以外にも、監視対象サーバ200の構成情報取得部210がAPIで提供可能な物理、論理デバイスであり、且つ複数のホストで共用する(部分的なリソース割り当てが可能な)デバイスがあれば、構成情報蓄積部140で管理することができる。
【0093】
また、図8(b)のステップS201において、エラーメッセージの検索範囲は、監視端末300を操作することで設定できてもよいし、障害分析装置100に算出範囲決定パターンを設定する装置を設けることで、適宜設定されてもよい。
【0094】
また、図11のステップS401において、被疑対象デバイス決定の絞り込みの基準は、監視端末300を操作することで設定されてもよいし、障害分析装置100に絞り込み基準パターンを設定すする装置を設けることで、適宜設定されてもよい。
【0095】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。
【0096】
(付記1)
仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手する入手部と、
複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定し、かつ、特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するエラー有無判定部と、
を備えていることを特徴とする、障害分析装置。
【0097】
(付記2)
前記エラー有無判定部は、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、付記1に記載の障害分析装置。
【0098】
(付記3)
前記エラー有無判定部は、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、付記1または付記2に記載の障害分析装置。
【0099】
(付記4)
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込む被疑対象絞込み部をさらに備え、
前記被疑対象絞込み部は、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、付記1〜付記3のいずれかに記載の障害分析装置。
【0100】
(付記5)
(a)仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を含むことを特徴とする、障害分析方法。
【0101】
(付記6)
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、付記5に記載の障害分析方法。
【0102】
(付記7)
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、付記5または付記6に記載の障害分析方法。
【0103】
(付記8)
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込むステップをさらに備え、
前記絞込むステップでは、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、付記5〜付記7のいずれかに記載の障害分析方法。
【0104】
(付記9)
仮想ホストを含む複数のホストで発生する障害をコンピュータによって分析するためのプログラムであって、前記コンピュータに、
(a)仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を実行させる、プログラム。
【0105】
(付記10)
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、付記9に記載のプログラム。
【0106】
(付記11)
前記エラーが発生しているか否かを判定するステップでは、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、付記9または付記10に記載のプログラム。
【0107】
(付記12)
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込むステップをさらに備え、
前記絞込むステップでは、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、付記9〜付記11のいずれかに記載のプログラム。
【産業上の利用可能性】
【0108】
本発明は、仮想化技術により大量の仮想サーバを一元管理するデータセンタなどの運用管理に用いられる、障害分析装置、障害分析方法、およびプログラムに適用することができる。
【符号の説明】
【0109】
100 障害分析装置
131 入手部
153 エラー有無判定部
154 被疑対象絞込み部
【特許請求の範囲】
【請求項1】
仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手する入手部と、
複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定し、かつ、特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するエラー有無判定部と、
を備えていることを特徴とする、障害分析装置。
【請求項2】
前記エラー有無判定部は、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、請求項1に記載の障害分析装置。
【請求項3】
前記エラー有無判定部は、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、請求項1または請求項2に記載の障害分析装置。
【請求項4】
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込む被疑対象絞込み部をさらに備え、
前記被疑対象絞込み部は、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、請求項1〜請求項3のいずれかに記載の障害分析装置。
【請求項5】
(a)仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を含むことを特徴とする、障害分析方法。
【請求項6】
仮想ホストを含む複数のホストで発生する障害をコンピュータによって分析するためのプログラムであって、
前記コンピュータに、
(a)前記仮想ホストを含む複数の前記ホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を実行させる、プログラム。
【請求項1】
仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手する入手部と、
複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定し、かつ、特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するエラー有無判定部と、
を備えていることを特徴とする、障害分析装置。
【請求項2】
前記エラー有無判定部は、前記エラー発生ホストで発生した前記エラーの発生状況に基づいて、他の前記ホストでエラーが発生しているか否かを判定する、請求項1に記載の障害分析装置。
【請求項3】
前記エラー有無判定部は、前記エラー発生ホストが前記仮想ホストである場合には、前記エラー発生ホストのハイパバイザが利用している前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストを特定し、当該特定されたホストのエラーを抽出する、請求項1または請求項2に記載の障害分析装置。
【請求項4】
エラーが生じている前記物理デバイスおよび前記論理デバイスを絞込む被疑対象絞込み部をさらに備え、
前記被疑対象絞込み部は、前記エラー発生ホストおよび他の前記ホストのなかで、エラーが発生しているホストの数が所定の基準を超えている場合に、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスの少なくとも一方に障害が生じていると判定する、請求項1〜請求項3のいずれかに記載の障害分析装置。
【請求項5】
(a)仮想ホストを含む複数のホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を含むことを特徴とする、障害分析方法。
【請求項6】
仮想ホストを含む複数のホストで発生する障害をコンピュータによって分析するためのプログラムであって、
前記コンピュータに、
(a)前記仮想ホストを含む複数の前記ホストのそれぞれが利用する物理デバイスおよび論理デバイスを特定する情報を入手するステップと、
(b)複数の前記ホストのうちエラーが発生したエラー発生ホストのホスト名と、前記入手部で入手した前記情報とから、前記エラー発生ホストが利用している前記物理デバイスおよび前記論理デバイスを特定するステップと、
(c)特定された前記物理デバイスおよび前記論理デバイスを共用する他の前記ホストでエラーが発生しているか否かを判定するステップと、
を実行させる、プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−73389(P2013−73389A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−211411(P2011−211411)
【出願日】平成23年9月27日(2011.9.27)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願日】平成23年9月27日(2011.9.27)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]