以下、本発明の実施の形態に係る障害イベントの検出を支援する装置について、図面に基づいて具体的に説明する。以下の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。
また、本発明は多くの異なる態様にて実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。実施の形態を通じて同じ要素には同一の符号を付している。
以下の実施の形態では、コンピュータシステムにコンピュータプログラムを導入した障害イベントの検出を支援する装置について説明するが、当業者であれば明らかな通り、本発明はその一部をコンピュータで実行することが可能なコンピュータプログラムとして実施することができる。したがって、本発明は、障害イベントの検出を支援する装置というハードウェアとしての実施の形態、ソフトウェアとしての実施の形態、又はソフトウェアとハードウェアとの組み合わせの実施の形態をとることができる。コンピュータプログラムは、ハードディスク、DVD、CD、光記憶装置、磁気記憶装置等の任意のコンピュータで読み取ることが可能な記録媒体に記録することができる。
本発明の実施の形態では、部分構成情報をシンプトンに付加することにより障害が発生した障害発生イベントの検出精度を高く維持しつつ、抽出された部分構成情報と、イベント群を特定するのに用いたシンプトンに含まれている部分構成情報との適合度を算出することができるので、ユーザの熟練度合に左右されることなく客観的に検出された結果を評価することができる。また、部分構成情報とともに、算出された適合度も提示することができるので、ユーザの熟練の度合に左右されることなく、検出された結果を客観的に評価することができる。ここで、「部分構成情報」とは、システムを構成しているコンポーネントのうち障害が発生した障害発生イベントを送出したコンポーネントと他のコンポーネントとの間の依存関係を含む関連情報を意味する。例えばコンポーネントであるアプリケーションサーバとデータベースとの関連情報、リンク情報等が含まれる。したがって、対象となるコンポーネント間のトポロジー図を正確に作成することができる。
(実施の形態1)
図1は、本発明の実施の形態1に係る障害イベントの検出を支援する装置を含む障害イベント検出装置の構成例を示すブロック図である。本発明の実施の形態1に係る障害イベント検出装置1は、少なくともCPU(中央演算装置)11、メモリ12、記憶装置13、I/Oインタフェース14、通信インタフェース15、ビデオインタフェース16、可搬型ディスクドライブ17及び上述したハードウェアを接続する内部バス18で構成されている。
CPU11は、内部バス18を介して障害イベント検出装置1の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置13に記憶されているコンピュータプログラム100に従って、種々のソフトウェア的機能を実行する。メモリ12は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラム100の実行時にロードモジュールが展開され、コンピュータプログラム100の実行時に発生する一時的なデータ等を記憶する。
記憶装置13は、内蔵される固定型記憶装置(ハードディスク)、ROM等で構成されている。記憶装置13に記憶されているコンピュータプログラム100は、プログラム及びデータ等の情報を記録したDVD、CD−ROM等の可搬型記録媒体90から、可搬型ディスクドライブ17によりダウンロードされ、実行時には記憶装置13からメモリ12へ展開して実行される。もちろん、通信インタフェース15を介してネットワーク2に接続されている外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
また記憶装置13は、シンプトンデータベース131を備えている。シンプトンデータベース131には、障害が発生したイベントを検出するための検出ルールに加えて、検出ルールごとに障害検出時の推奨アクション、コメント等を付加してある。ユーザが、障害が発生したイベントを選択し、ルールパターン等の検出ルールの生成に必要な情報を入力した場合、選択されたイベントに応じて検出ルールが抽出され、コンポーネントのトポロジー図とともに表示装置23に表示される。
また記憶装置13は、障害が発生したか否かの監視対象となるシステムのシステム構成情報を記憶する構成情報記憶部132と、監視対象となるシステムのログ情報、該システムで障害が発生した場合に出力されるイベント情報等の履歴情報を記憶する履歴情報記憶部133とを備えている。構成情報記憶部132は、監視対象となる監視対象システム200のコンポーネント間の依存関係情報、各コンポーネントの関連情報等を含むCCMDB(Change and Configuration Management DB)で構成されている。構成情報記憶部132に記憶されているシステム構成情報に基づいてコンポーネントのトポロジー図を表示することができる。なお、構成情報記憶部132は、記憶装置13内に備わっていても良いが、通常は本実施の形態1に係る障害イベント検出装置1とは別個に設けてあり、例えばネットワーク2を介して接続されている外部コンピュータ等に備わっている。
通信インタフェース15は内部バス18に接続されており、インターネット、LAN、WAN等の外部のネットワーク2に接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。また、監視対象システム200ともネットワーク2を介して接続されており、システム構成情報、障害発生時の履歴情報等を取得することが可能となっている。
I/Oインタフェース14は、キーボード21、マウス22等のデータ入力媒体と接続され、データの入力を受け付ける。また、ビデオインタフェース16は、CRTモニタ、LCD等の表示装置23と接続され、所定の画像を表示する。
図2は、本発明の実施の形態1に係る障害イベント検出装置1の機能ブロック図である。構成情報抽出部201は、監視対象システム200に含まれるコンポーネント間の関連情報を含むシステム構成情報を抽出して、構成情報記憶部132に記憶する。コンポーネント間の関連情報を含むシステム構成情報とは、例えばコンポーネント間の通信における接続関係情報、操作・非操作の関係に関するリンク関係情報等である。なお、構成情報抽出部201は本発明に必須の構成要件ではなく、事前に構成情報記憶部132にシステム構成情報を生成しておいても良く、障害イベント検出装置1内に内蔵していてもいなくても良い。すなわち、構成情報抽出部201及び構成情報記憶部132は、本発明の実施の形態1に係る障害イベント検出装置1の必須の構成要件ではない。
構成情報取得部202は、構成情報記憶部132に記憶されているシステム構成情報を取得する。システム構成情報は監視対象システム200ごとに対応付けて構成情報記憶部132に記憶してあり、監視対象システム200に応じて対応するシステム構成情報を取得する。
履歴情報収集部203は、監視対象システム200を常時監視し、監視対象システム200に含まれる各コンポーネントから出力されたログ情報及び/又は障害発生時に出力されるイベント情報等の障害情報を含む履歴情報を収集して、履歴情報記憶部133に記憶する。ログ情報は、常時出力されるシステムログ等に限定されるものではなく、障害発生時に割り込み処理等により出力されるメッセージ情報等を含んでも良い。
なお、履歴情報収集部203で収集した履歴情報は、それぞれデータ形式が相違することが多く、そのままでは障害が発生したイベントの候補となるイベントを特定するための基本情報として用いることができない場合も生じうる。そこで、データ形式変換部212を備え、標準的な統一データ形式に変換して履歴情報記憶部133へ記憶しておくことが望ましい。
検出ルール生成部204は、発生した障害に関連するコンポーネントに含まれるイベントを検出するための検出ルールを生成する。シンプトン記憶部205は、生成された検出ルールに所定の付加情報を付加したシンプトンを記憶する。付加情報としては、障害検出時の推奨アクション等に関する情報、各種コメントを含むメッセージ情報等を付加してある。
イベント検出部206は、記憶されているシンプトンに基づいて障害が発生したイベントを検出する。例えば、監視対象システム200のシステム構成情報が付加情報として付加されているシンプトンを適用する場合には、システム構成情報を考慮したイベント検出処理を実行することができる。
イベント選択受付部207は、発生した障害に関連するコンポーネントに含まれるイベントの選択を、例えばイベントリスト等からの選択として受け付ける。部分構成情報抽出部208は、構成情報取得部202で取得されたシステム構成情報から、イベント選択受付部207で選択を受け付けたイベントを送出したコンポーネントに関するシステム構成情報である部分構成情報を抽出する。抽出される部分構成情報とは、システムを構成しているコンポーネントのうち障害発生イベントとして選択を受け付けたイベントを送出したコンポーネントと他のコンポーネントとの間の依存関係を含む関連情報も含んでいる。例えばコンポーネントであるアプリケーションサーバとデータベースとの関連情報、リンク情報等も含まれる。
図3は、本発明の実施の形態1に係る障害イベント検出装置1における部分構成情報を含むシンプトンの構成の例示図である。図3(a)は従来のシンプトンの構成の例示図であり、シンプトンは、論理情報としてエラーAに起因してエラーBが誘導される旨を示す因果関係情報を有している。
一方、図3(b)は部分構成情報を付加したシンプトンの構成の例示図である。シンプトンは論理情報としての因果関係情報に、具体的なコンポーネントであるアプリケーションサーバAにてエラーAが生じることに起因して、具体的なコンポーネントであるデータベースBにてエラーBが生じる旨が付加されている。すなわち、コンポーネントであるアプリケーションサーバAとデータベースBとの依存関係に関する情報を付加することにより、障害発生イベントの検出のためのシンプトンとしてコンポーネント間の依存関係をも考慮に入れることができ、より障害発生イベントの検出精度を高めることができる。
シンプトン更新部209は、部分構成情報抽出部208で抽出された部分構成情報を、対応するシンプトンに付加して記憶する。すなわち、部分構成情報が付加情報となる。部分構成情報提示部210は、部分構成情報抽出部208で抽出された部分構成情報を表示装置23に提示する。更新受付部211は、提示されている部分構成情報の更新を受け付ける。これにより、ユーザは提示された部分構成情報を所望の構成に変更することにより、適合した部分構成情報を確実に生成することができる。
図4は、部分構成情報提示部210により表示装置23に提示される画面40の例示図である。トポロジー図表示領域41には、監視対象システム200に含まれるコンポーネントの依存関係を示すトポロジー図を表示する。イベントリスト表示領域42には、監視対象システム200に含まれるイベントが一覧表示される。イベント選択受付部207により、イベントリスト表示領域42に表示されているイベント群の中から、発生した障害に関連するコンポーネントに含まれるイベントの選択を受け付けた場合、選択を受け付けたイベント及び依存関係を有するイベントが強調表示される。図4では、選択を受け付けたイベント及び依存関係を有するイベントの表示色を変更して表示している。強調表示の方法は特に限定されるものではなく、輝度を変更しても良い。
部分構成情報表示領域43は、部分構成情報提示部210により、選択を受け付けたイベントに依存するコンポーネントのトポロジー図を部分的に表示する。コンポーネント表示領域44は、部分構成情報表示領域43に表示されているコンポーネントの内容を詳細に表示する。部分構成情報表示領域43に表示されているコンポーネントに対する更新情報を更新受付部211により受け付けることにより、部分構成情報を更新することもできる。具体的にはマウス等の操作によりイベントリスト表示領域42に一覧表示されているイベントから改めてイベントを選択することにより更新する。
部分構成情報は、コンポーネントごとの依存関係を含む情報としてシンプトンデータベース131に記憶される。図5は、記憶される部分構成情報の例示図である。図5(a)は、部分構成情報表示領域43及びコンポーネント表示領域44の例示図であり、図5(b)は、記憶される部分構成情報のデータ例である。図5(b)に示すように、部分構成情報表示領域43に抽出されているコンポーネントごとに、コンポーネントの種類、依存関係、及び各コンポーネント間のリンク情報がコード情報として記憶される。もちろん、記憶されるデータ形式は図5に示すデータ形式に限定されるものではない。
図6は、本発明の実施の形態1に係る障害イベント検出装置1のCPU11の部分構成情報の付加処理の手順を示すフローチャートである。まず障害イベント検出装置1のCPU11は、監視対象システム200に含まれるコンポーネント間の関連情報を含むシステム構成情報を取得する(ステップS601)。もちろん、事前にシステム構成情報を取得して、構成情報記憶部132に記憶しておいても良い。
CPU11は、監視対象システム200に含まれる各コンポーネントから出力されたログ情報及び/又は障害発生時に出力されるイベント情報等の障害情報を含む履歴情報を収集して、履歴情報記憶部133に記憶する(ステップS602)。ログ情報は、常時出力されるシステムログ等に限定されるものではなく、障害発生時に割り込み処理等により出力されるメッセージ情報等を含んでも良い。
なお、履歴情報収集部203で収集した履歴情報は、それぞれデータ形式が相違することが多く、そのままでは障害が発生したイベントの候補となるイベントを特定するための基本情報として用いることができない場合も生じうる。そこで、ステップS602にて履歴情報記憶部133に記憶する前に、収集した履歴情報を統一された標準のデータ形式に変換しておくことが望ましい。これにより、コンポーネントごとに異なる履歴情報であっても、統一された標準のデータ形式にて収集することができ、検出ルール生成時に全ての履歴情報を活用することができる。
CPU11は、障害発生イベントの候補となる全てのイベントを表示装置23へ提示して(ステップS603)、ユーザによるイベントの選択を受け付ける(ステップS604)。具体的にはマウス等の操作により、例えばイベントリスト等からの選択として受け付ける。
CPU11は、選択を受け付けたイベント及び取得したシステム構成情報に基づいて、選択を受け付けたイベントを送出したコンポーネントに関するシステム構成情報である部分構成情報を抽出する(ステップS605)。抽出される部分構成情報とは、システムを構成しているコンポーネントのうち障害発生イベントとして選択を受け付けたイベントを送出したコンポーネントと他のコンポーネントとの間の依存関係を含む関連情報も含んでいる。図3に示すようなアプリケーションサーバとデータベースとの関連情報も含まれる。
CPU11は、抽出された部分構成情報を、対応するシンプトンに付加情報として付加して記憶する(ステップS606)。このように部分構成情報をシンプトンに付加することにより、従来のように論理式だけでなく、監視対象システム200のシステム構成情報を反映させたシンプトンを検出ルールとして生成することができる。したがって、誤検出の可能性を著しく減少させることができ、既知の障害であるか否かを正確に判別することが可能となる。
以上のように本実施の形態1によれば、部分構成情報をシンプトンに付加することにより、記憶されているシンプトンの内容を確認することで障害が発生している根本原因をより精度良く特定することができ、どのような条件下で該障害が発生したイベントが検出されたのか容易に絞り込むことが可能となる。
(実施の形態2)
本発明の実施の形態2に係る障害イベントの検出を支援する装置を含む障害イベント検出装置1の構成は、実施の形態1と同様であることから、同一の符号を付することにより詳細な説明は省略する。本実施の形態2は、シンプトンに部分構成情報が付加されている場合に、障害検出処理に適用するシンプトンに優先順位を付する点で実施の形態1と相違する。
図7は、本発明の実施の形態2に係る障害イベント検出装置1の機能ブロック図である。構成情報抽出部201は、監視対象システム200に含まれるコンポーネント間の関連情報を含むシステム構成情報を抽出して、構成情報記憶部132に記憶する。コンポーネント間の関連情報を含むシステム構成情報とは、例えばコンポーネント間の通信における接続関係情報、操作・非操作の関係に関するリンク関係情報等である。なお、構成情報抽出部201は本発明に必須の構成要件ではなく、事前に構成情報記憶部132にシステム構成情報を生成しておいても良く、障害イベント検出装置1内に内蔵していてもいなくても良い。すなわち、構成情報抽出部201及び構成情報記憶部132は、本発明の実施の形態2に係る障害イベント検出装置1の必須の構成要件ではない。
構成情報取得部202は、構成情報記憶部132に記憶されているシステム構成情報を取得する。システム構成情報は監視対象システム200ごとに対応付けて構成情報記憶部132に記憶してあり、監視対象システム200に応じて対応するシステム構成情報を取得する。
履歴情報収集部203は、監視対象システム200を常時監視し、監視対象システム200に含まれる各コンポーネントから出力されたログ情報及び/又は障害発生時に出力されるイベント情報等の障害情報を含む履歴情報を収集して、履歴情報記憶部133に記憶する。ログ情報は、常時出力されるシステムログ等に限定されるものではなく、障害発生時に割り込み処理等により出力されるメッセージ情報等を含んでも良い。
なお、履歴情報収集部203で収集した履歴情報は、それぞれデータ形式が相違することが多く、そのままでは障害が発生したイベントの候補となるイベントを特定するための基本情報として用いることができない場合も生じうる。そこで、データ形式変換部212を備え、標準的な統一データ形式に変換して履歴情報記憶部133へ記憶しておくことが望ましい。
検出ルール生成部204は、発生した障害に関連するコンポーネントに含まれるイベントを検出するための検出ルールを生成する。シンプトン記憶部205は、生成された検出ルールに所定の付加情報を付加したシンプトンを記憶する。付加情報としては、障害検出時の推奨アクション等に関する情報、各種コメントを含むメッセージ情報等を付加してある。
イベント選択受付部207は、発生した障害に関連するコンポーネントに含まれるイベントの選択を、例えばイベントリスト等からの選択として受け付ける。部分構成情報抽出部208は、構成情報取得部202で取得されたシステム構成情報から、イベント選択受付部207で選択を受け付けたイベントを送出したコンポーネントに関するシステム構成情報である部分構成情報を抽出する。抽出される部分構成情報とは、システムを構成しているコンポーネントのうち障害発生イベントとして選択を受け付けたイベントを送出したコンポーネントと他のコンポーネントとの間の依存関係を含む関連情報も含んでいる。例えばコンポーネントであるアプリケーションサーバとデータベースとの関連情報、リンク情報等も含まれる。
本発明の実施の形態2に係る障害イベント検出装置1における部分構成情報を含むシンプトンの構成は実施の形態1と同様であり、上述した図3(b)に示す構成と同じである。すなわち、従来のシンプトンにコンポーネントであるアプリケーションサーバAとデータベースBとの依存関係に関する情報を追加することにより、障害発生イベントの検出のためのシンプトンとしてコンポーネント間の依存関係をも考慮に入れることができ、より障害が発生したイベントの検出精度を高めることができる。
シンプトン更新部209は、部分構成情報抽出部208で抽出された部分構成情報を、対応するシンプトンに付加して記憶する。すなわち、部分構成情報が付加情報となる。部分構成情報提示部210は、部分構成情報抽出部208で抽出された部分構成情報を表示装置23に提示する。更新受付部211は、提示されている部分構成情報の更新を受け付ける。これにより、ユーザは提示された部分構成情報を所望の構成に変更することにより、適合した部分構成情報を確実に生成することができる。
図8は、部分構成情報提示部210により表示装置23に提示される画面80の例示図である。トポロジー図表示領域81には、監視対象システム200に含まれるコンポーネントの依存関係を示すトポロジー図を表示する。シンプトンリスト表示領域82には、シンプトンデータベース131に記憶されているシンプトンが一覧表示される。例えばシンプトンリスト表示領域82に表示されているシンプトン群の中から、障害発生イベントの検出に適用するべきシンプトンの選択を受け付けた場合、選択を受け付けたシンプトンに付加されている部分構成情報が部分構成情報表示領域83に表示される。
トポロジー図表示領域81に表示されているコンポーネントのうち、部分構成情報表示領域83に表示されている部分構成情報と一致しているコンポーネントは、シンプトンの選択を受け付けた時点で強調表示される。図8では、選択を受け付けたシンプトン及び該シンプトンに付加されている部分構成情報に対応する部分の表示色を変更して表示している。強調表示の方法は特に限定されるものではなく、輝度を変更しても良い。
一致度算出部701は、構成情報取得部202で取得したシステム構成情報と、シンプトン更新部209でシンプトンに付加して記憶されている部分構成情報とを比較して、シンプトンデータベース131に記憶されている部分構成情報ごとに両者の一致度を算出する。
シンプトン抽出部702は、一致度算出部701で算出された一致度に基づいて、イベント検出部206で適用するシンプトンを抽出する。すなわち、一致度が高いシンプトンの適用優先順位を高くすることにより、障害が発生したイベントの検出精度を高める。
イベント検出部206は、一致度が高いシンプトンから順次適用して、障害が発生したイベントを検出する、一致度が高いシンプトンの適用優先順位を高めることにより、誤検出の可能性を低減し、障害が発生したイベントの検出精度を高めることができる。
図9は、本発明の実施の形態2に係る障害イベント検出装置1のCPU11のシンプトン抽出処理の手順を示すフローチャートである。障害イベント検出装置1のCPU11は、監視対象システム200に含まれるコンポーネント間の関連情報を含むシステム構成情報を取得する(ステップS901)。もちろん、事前にシステム構成情報を取得して、構成情報記憶部132に記憶しておいても良い。
CPU11は、シンプトンデータベース131に記憶されているシンプトンから一のシンプトンを読み出し(ステップS902)、読み出したシンプトンに付加されている部分構成情報の、システム構成情報との一致度を算出する(ステップS903)。一致度の算出方法は特に限定されるものではなく、一実施例については後述する。
CPU11は、算出した一致度の昇順にシンプトンをソートし(ステップS904)、記憶されている全てのシンプトンを読み出したか否かを判断する(ステップS905)。CPU11が、まだ読み出していないシンプトンが存在すると判断した場合(ステップS905:NO)、CPU11は、次のシンプトンを読み出し(ステップS906)、処理をステップS903へ戻して上述した処理を繰り返す。CPU11が、全てのシンプトンを読み出したと判断した場合(ステップS905:YES)、CPU11は、一致度の高い順にシンプトンを抽出して(ステップS907)、障害発生イベントの検出に適用する。
図10及び図11は、本発明の実施の形態2に係る障害イベント検出装置1のCPU11の一致度の算出処理の手順を示すフローチャートである。図10において、障害イベント検出装置1のCPU11は、一致度の最大値Nmax 、最小値Nmin を初期化する(ステップS1001)。本実施の形態2では、最大値Nmax を100に、最小値Nmin を0に設定する。CPU11は、最大値Nmax を部分構成情報に含まれるコンポーネント及びリンクに割り当てる(ステップS1002)。割り当て方法によって、コンポーネント及びリンクの重要度の重み付けをすることができる。
CPU11は、読み出したシンプトンに付加されている部分構成情報に含まれるコンポーネントと一致するコンポーネントが有るか否かを判断する(ステップS1003)。一致するコンポーネントが無いと判断した場合(ステップS1003:NO)、CPU11は、最小値Nmin を一致度とする(ステップS1004)。すなわち、一致度Nは0(ゼロ)となる。
CPU11が、一致するコンポーネントが有ると判断した場合(ステップS1003:YES)、CPU11は、一のコンポーネントを選択する(ステップS1005)。CPU11は、選択したコンポーネントの属性に応じてコンポーネントの割当値に乗ずる係数αを特定する(ステップS1006)。例えば、コンポーネントのタイプが一致している場合はα=0.1、コンポーネントの製品名が一致している場合はα=0.6、コンポーネントのバージョンが上位互換で該当している場合はα=0.8、バージョンが一致している場合はα=1.0等のように特定すれば良い。
CPU11は、コンポーネントの割当値に係数αを乗算してコンポーネントの一致度N1を算出し(ステップS1007)、一致するすべてのコンポーネントを選択したか否かを判断する(ステップS1008)。CPU11が、まだ選択されていないコンポーネントが有ると判断した場合(ステップS1008:NO)、CPU11は、次のコンポーネントを選択し(ステップS1009)、処理をステップS1006へ戻して上述した処理を繰り返す。
CPU11が、すべてのコンポーネントを選択したと判断した場合(ステップS1008:YES)、図11に示すようにCPU11は、関連するリンクが有るか否かを判断する(ステップS1101)。CPU11が、関連するリンクが有ると判断した場合(ステップS1101:YES)、CPU11は、一のリンクを選択し(ステップS1102)、選択したリンクの属性に応じてリンクの割当値に乗ずる係数βを特定する(ステップS1103)。
例えばコンポーネント間のリンクが、該当ルールを検出するために存在が必須である必須リンクと一致している場合にはβ=1.0、必須リンクが間接的に存在している場合にはβ=0.6、存在してもしなくても良い任意リンクである場合にはβ=1.0、任意リンクが間接的に存在している場合にはβ=0.8、存在してはならない禁止リンクが存在しない場合にはβ=1.0、禁止リンクが間接的に存在している場合にはβ=0.1、リンクの種類が一致している場合にはβ=1.0、互換性がある場合にはβ=0.8等のように特定すれば良い。
CPU11は、リンクの割当値に係数βを乗算してリンクの一致度N2を算出し(ステップS1104)、関連するすべてのリンクを選択したか否かを判断する(ステップS1105)。CPU11が、選択されていないリンクが存在すると判断した場合(ステップS1105:NO)、CPU11は、次のリンクを選択し(ステップS1106)、処理をステップS1103へ戻して上述した処理を繰り返す。
CPU11が、関連するリンクが無いと判断した場合(ステップS1101:NO)、CPU11は、リンクの一致度N2を0(ゼロ)とし(ステップS1107)、処理をステップS1108へ進める。CPU11が、すべてのリンクを選択したと判断した場合(ステップS1105:YES)、CPU11は、部分構成情報全体の一致度Nを、コンポーネントの一致度N1とリンクの一致度N2との和として算出し(ステップS1108)、連続リンクが有るか否かを判断する(ステップS1109)。
CPU11が、連続リンクが有ると判断した場合(ステップS1109:YES)、CPU11は、所定の評価値N3を部分構成情報全体の一致度Nに加算する(ステップS1110)。CPU11が、連続リンクが無いと判断した場合(ステップS1109:NO)、CPU11は、ステップS1110をスキップして処理を終了する。
上述した一致度の算出方法を、具体例に基づいて説明する。一致度を算出する基礎となる部分構成情報は、アプリケーションサーバAとデータベースBとの2つのコンポーネントと、アプリケーションサーバAとデータベースBとの間のリンクとを有している。図10及び図11と同様、Nmax =100、Nmin =0とし、重要度をアプリケーションサーバA:データベースB:リンク=1:1:3とする。したがって、アプリケーションサーバAの割当値は20、データベースBの割当値は20、リンクの割当値は60とNmax が割り当てられる。
図12は、部分構成情報と同一の構成がシステム構成情報に存在する場合の一致度算出例を示す模式図である。図12の例では、同一のコンポーネントであるアプリケーションサーバAとデータベースB2とが存在することから、コンポーネントの一致度はそれぞれ‘20’であり、アプリケーションサーバAとデータベースBとの間のリンクも存在することから、リンクの一致度も‘60’となる。したがって、図12に示す部分構成情報の一致度Nは20+20+60=100となる。
図13は、部分構成情報のリンクがシステム構成情報に間接的に存在する場合の一致度算出例を示す模式図である。図13の例では、同一のコンポーネントであるアプリケーションサーバAとデータベースB1とが存在することから、コンポーネントの一致度はそれぞれ‘20’であるが、アプリケーションサーバAとデータベースBとの間のリンクがコンポーネントKを介する間接的なリンクであることから、リンクの一致度N2=0.6×60=36となる。したがって、図13に示す部分構成情報の一致度Nは20+20+36=76となる。
図14は、部分構成情報と同一のコンポーネントは存在するが、リンクが存在しない場合の一致度算出例を示す模式図である。図14の例では、同一のコンポーネントであるアプリケーションサーバAとデータベースB1とが存在することから、コンポーネントの一致度はそれぞれ‘20’であるが、アプリケーションサーバAとデータベースB1との間にリンクが存在しないことから、リンクの一致度は‘0’となる。したがって、図14に示す部分構成情報の一致度Nは20+20+0=40となる。
図15は、部分構成情報と同一のコンポーネントが存在しない場合の一致度算出例を示す模式図である。図15の例では、同一のコンポーネントが存在しないことから、コンポーネントの一致度はそれぞれ‘0’であり、当然のことながらアプリケーションサーバAとデータベースBとの間のリンクも存在しないことから、リンクの一致度も‘0’となる。したがって、図15に示す部分構成情報の一致度Nは0となる。
以上のように本実施の形態2によれば、取得したシステム構成情報と、シンプトンに付加して記憶されている部分構成情報とを比較して算出した一致度が大きい部分構成情報に対応するシンプトンを適用して障害が発生したイベントを検出することができ、不要なシンプトンを適用することなく、効率的に障害が発生している根本原因を特定することができる。
(実施の形態3)
本発明の実施の形態3に係る障害イベントの検出を支援する装置を含む障害イベント検出装置1の構成は、実施の形態1及び2と同様であることから、同一の符号を付することにより詳細な説明は省略する。本実施の形態3は、抽出された部分構成情報と、イベント群を特定するのに用いたシンプトンに含まれている部分構成情報との適合度を算出してシンプトンの検出結果を評価する点で実施の形態1及び2と相違する。
図16は、本発明の実施の形態3に係る障害イベント検出装置1の機能ブロック図である。構成情報抽出部201は、監視対象システム200に含まれるコンポーネント間の関連情報を含むシステム構成情報を抽出して、構成情報記憶部132に記憶する。コンポーネント間の関連情報を含むシステム構成情報とは、例えばコンポーネント間の通信における接続関係情報、操作・非操作の関係に関するリンク関係情報等である。なお、構成情報抽出部201は本発明に必須の構成要件ではなく、事前に構成情報記憶部132にシステム構成情報を生成しておいても良く、障害イベント検出装置1内に内蔵していてもいなくても良い。すなわち、構成情報抽出部201及び構成情報記憶部132は、本発明の実施の形態3に係る障害イベント検出装置1の必須の構成要件ではない。
構成情報取得部202は、構成情報記憶部132に記憶されているシステム構成情報を取得する。システム構成情報は監視対象システム200ごとに対応付けて構成情報記憶部132に記憶してあり、監視対象システム200に応じて対応するシステム構成情報を取得する。
履歴情報収集部203は、監視対象システム200を常時監視し、監視対象システム200に含まれる各コンポーネントから出力されたログ情報及び/又は障害発生時に出力されるイベント情報等の障害情報を含む履歴情報を収集して、履歴情報記憶部133に記憶する。ログ情報は、常時出力されるシステムログ等に限定されるものではなく、障害発生時に割り込み処理等により出力されるメッセージ情報等を含んでも良い。
なお、履歴情報収集部203で収集した履歴情報は、それぞれデータ形式が相違することが多く、そのままでは障害が発生したイベントの候補となるイベントを特定するための基本情報として用いることができない場合も生じうる。そこで、データ形式変換部212を備え、標準的な統一データ形式に変換して履歴情報記憶部133へ記憶しておくことが望ましい。
検出ルール生成部204は、発生した障害に関連するコンポーネントに含まれるイベントを検出するための検出ルールを生成する。シンプトン記憶部205は、生成された検出ルールに所定の付加情報を付加したシンプトンを記憶する。付加情報としては、障害検出時の推奨アクション等に関する情報、各種コメントを含むメッセージ情報等を付加してある。
イベント選択受付部207は、発生した障害に関連するコンポーネントに含まれるイベントの選択を、例えばイベントリスト等からの選択として受け付ける。部分構成情報抽出部208は、構成情報取得部202で取得されたシステム構成情報から、イベント選択受付部207で選択を受け付けたイベントを送出したコンポーネントに関するシステム構成情報である部分構成情報を抽出する。抽出される部分構成情報とは、システムを構成しているコンポーネントのうち障害発生イベントとして選択を受け付けたイベントを送出したコンポーネントと他のコンポーネントとの間の依存関係を含む関連情報も含んでいる。例えばコンポーネントであるアプリケーションサーバとデータベースとの関連情報、リンク情報等も含まれる。
本発明の実施の形態3に係る障害イベント検出装置1における部分構成情報を含むシンプトンの構成は実施の形態1と同様であり、上述した図3(b)に示す構成と同じである。すなわち、従来のシンプトンにコンポーネントであるアプリケーションサーバAとデータベースBとの依存関係に関する情報を追加することにより、障害発生イベントの検出のためのシンプトンとしてコンポーネント間の依存関係をも考慮に入れることができ、より障害が発生したイベントの検出精度を高めることができる。
シンプトン更新部209は、部分構成情報抽出部208で抽出された部分構成情報を、対応するシンプトンに付加して記憶する。すなわち、部分構成情報が付加情報となる。部分構成情報提示部210は、部分構成情報抽出部208で抽出された部分構成情報を表示装置23に提示する。更新受付部211は、提示されている部分構成情報の更新を受け付ける。これにより、ユーザは提示された部分構成情報を所望の構成に変更することにより、適合した部分構成情報を確実に生成することができる。
部分構成情報提示部210により表示装置23に提示される画面80は、実施の形態2と同様であることから、詳細な説明は省略する。
イベント群特定部1601は、履歴情報収集部203で収集された履歴情報及びシンプトンデータベース131に記憶されているシンプトンに基づいて、記憶されているシンプトンに適合するイベント群を特定する。抽出部1602は、イベント群特定部1601で特定されたイベント群それぞれを送出したコンポーネントと他のコンポーネントとの間の関連情報を含む部分構成情報を抽出する。
適合度算出部1603は、抽出部1602で抽出された部分構成情報と、イベント群特定部1601でイベント群を特定するのに用いたシンプトンデータベース131に記憶されているシンプトンに含まれている部分構成情報との適合度を算出する。適合度が高いシンプトンが検出されている場合には、障害が発生したイベントの誤検出の可能性が低いものと判断することができる。また、ユーザによるシンプトン適用の熟練度合に左右されること無く、一定の精度で障害が発生したイベントを検出することができる。すなわち、イベント検出部206は、適合度が高いシンプトンを適用して、障害が発生したイベントを検出することにより、障害が発生したイベントの誤検出の可能性を低減し、障害発生イベントの検出精度を高めることができる。
提示部1604は、適用したシンプトン、該シンプトンに付加されている部分構成情報、及び算出された該シンプトンの適合度を表示装置23へ提示する。これにより、単にシンプトンの適用結果を適用順に提示するだけでなく適合度の高い順に提示することにより、障害発生イベントの誤検出結果が表示装置23に表示される可能性を低減することができ、イベント検出精度の高いシンプトンから順に表示することが可能となる。
図17は、提示部1604により表示装置23に提示される画面160の例示図である。トポロジー図表示領域161には、監視対象システム200に含まれるコンポーネントの依存関係を示すトポロジー図を表示する。イベントリスト表示領域162には、監視対象システム200に含まれるイベントが一覧表示される。イベント選択受付部207により、イベントリスト表示領域162に表示されているイベント群の中から、発生した障害に関連するコンポーネントに含まれるイベントの選択を受け付けた場合、選択を受け付けたイベント及び依存関係を有するイベントが強調表示される。図17では、選択を受け付けたイベント及び依存関係を有するイベントの表示色を変更して表示している。強調表示の方法は特に限定されるものではなく、輝度を変更しても良い。
シンプトンリスト表示領域163には、検出ルールに基づいて検出されたシンプトンが一覧表示され、部分構成情報表示領域164は、適用されたシンプトンに付加されている部分構成情報が表示される。部分構成情報表示領域164に表示されている部分構成情報と、イベント群の選択の受付によりトポロジー図表示領域161に表示されている部分構成情報とを照合して、適合度を算出する。算出された適合度は、シンプトンリスト表示領域163の対応するシンプトンの欄に提示される。
図18は、本発明の実施の形態3に係る障害イベント検出装置1のCPU11の障害検出処理の手順を示すフローチャートである。障害イベント検出装置1のCPU11は、監視対象システム200に含まれるコンポーネント間の関連情報を含むシステム構成情報を取得する(ステップS1801)。もちろん、事前にシステム構成情報を取得して、構成情報記憶部132に記憶しておいても良い。
CPU11は、監視対象システム200のログ情報及び/又は障害発生時に各コンポーネントから出力される障害情報を含む履歴情報を収集し(ステップS1802)、履歴情報記憶部133に記憶する(ステップS1803)。CPU11は、収集された履歴情報及びシンプトンデータベース131に記憶されているシンプトンに基づいて、記憶されているシンプトンに適合するイベント群を特定する(ステップS1804)。
CPU11は、特定されたイベント群それぞれを送出したコンポーネントと他のコンポーネントとの間の関連情報を含む部分構成情報を抽出し(ステップS1805)、抽出された部分構成情報と、イベント群を特定するのに適用したシンプトンデータベース131に記憶されているシンプトンに付加されている部分構成情報との適合度を算出する(ステップS1806)。適合度の算出方法は特に限定されるものではなく、一実施例については後述する。
CPU11は、適用したシンプトン、該シンプトンに付加されている部分構成情報、及び算出された該シンプトンの適合度を表示装置23へ提示する(ステップS1807)。これにより、ユーザは、シンプトンの適合度の高い順に提示された結果を目視で確認することができる。
図19及び図20は、本発明の実施の形態3に係る障害イベント検出装置1のCPU11の適合度の算出処理の手順を示すフローチャートである。図19において、障害イベント検出装置1のCPU11は、適合度の最大値Pmax 、最小値Pmin を初期化する(ステップS1901)。本実施の形態3では、最大値Pmax を100に、最小値Pmin を0に設定する。CPU11は、最大値Pmax を部分構成情報に含まれるコンポーネント及びリンクに割り当てる(ステップS1902)。割り当て方法によって、コンポーネント及びリンクの重要度の重み付けをすることができる。
CPU11は、読み出したシンプトンに付加されている部分構成情報に含まれるコンポーネントと一致するコンポーネントが有るか否かを判断する(ステップS1903)。一致するコンポーネントが無いと判断した場合(ステップS1903:NO)、CPU11は、最小値Pmin を適合度とする(ステップS1904)。すなわち、適合度Pは0(ゼロ)となる。
CPU11が、一致するコンポーネントが有ると判断した場合(ステップS1903:YES)、CPU11は、一のコンポーネントを選択する(ステップS1905)。CPU11は、選択したコンポーネントの属性に応じてコンポーネントの割当値に乗ずる係数αを特定する(ステップS1906)。例えば、コンポーネントのタイプが一致している場合はα=0.1、コンポーネントの製品名が一致している場合はα=0.6、コンポーネントのバージョンが上位互換で該当している場合はα=0.8、バージョンが一致している場合はα=1.0等のように特定すれば良い。
CPU11は、コンポーネントの割当値に係数αを乗算してコンポーネントの適合度P1を算出し(ステップS1907)、一致するすべてのコンポーネントを選択したか否かを判断する(ステップS1908)。CPU11が、まだ選択されていないコンポーネントが有ると判断した場合(ステップS1908:NO)、CPU11は、次のコンポーネントを選択し(ステップS1909)、処理をステップS1906へ戻して上述した処理を繰り返す。
CPU11が、すべてのコンポーネントを選択したと判断した場合(ステップS1908:YES)、図20に示すようにCPU11は、関連するリンクが有るか否かを判断する(ステップS2001)。CPU11が、関連するリンクが有ると判断した場合(ステップS2001:YES)、CPU11は、一のリンクを選択し(ステップS2002)、選択したリンクの属性に応じてリンクの割当値に乗ずる係数βを特定する(ステップS2003)。
例えばコンポーネント間のリンクが、該当ルールを検出するために存在が必須である必須リンクと一致している場合にはβ=1.0、必須リンクが間接的に存在している場合にはβ=0.6、存在してもしなくても良い任意リンクである場合にはβ=1.0、任意リンクが間接的に存在している場合にはβ=0.8、存在してはならない禁止リンクが存在しない場合にはβ=1.0、禁止リンクが間接的に存在している場合にはβ=0.1、リンクの種類が一致している場合にはβ=1.0、互換性がある場合にはβ=0.8等のように特定すれば良い。
CPU11は、リンクの割当値に係数βを乗算してリンクの適合度P2を算出し(ステップS2004)、関連するすべてのリンクを選択したか否かを判断する(ステップS2005)。CPU11が、選択されていないリンクが存在すると判断した場合(ステップS2005:NO)、CPU11は、次のリンクを選択し(ステップS2006)、処理をステップS2003へ戻して上述した処理を繰り返す。
CPU11が、関連するリンクが無いと判断した場合(ステップS2001:NO)、CPU11は、リンクの適合度P2を0(ゼロ)とし(ステップS2007)、処理をステップS2008へ進める。CPU11が、すべてのリンクを選択したと判断した場合(ステップS2005:YES)、CPU11は、部分構成情報全体の適合度Pを、コンポーネントの適合度P1とリンクの適合度P2との和として算出し(ステップS2008)、連続リンクが有るか否かを判断する(ステップS2009)。
CPU11が、連続リンクが有ると判断した場合(ステップS2009:YES)、CPU11は、所定の評価値P3を部分構成情報全体の適合度Pに加算する(ステップS2010)。CPU11が、連続リンクが無いと判断した場合(ステップS2009:NO)、CPU11は、ステップS2010をスキップして処理を終了する。
上述した適合度の算出方法を、具体例に基づいて説明する。適合度を算出する基礎となるシンプトンに付加されている部分構成情報は、アプリケーションサーバAとデータベースBとの2つのコンポーネントと、アプリケーションサーバAとデータベースBとの間のリンクとを有している。図19及び図20と同様、Pmax =100、Pmin =0とし、重要度をアプリケーションサーバA:データベースB:リンク=1:1:3とする。したがって、アプリケーションサーバAの割当値は20、データベースBの割当値は20、リンクの割当値は60とPmax が割り当てられる。
図21は、シンプトンに付加されている部分構成情報と、システム構成情報との適合度の概念を説明する模式図である。システム構成情報には、アプリケーションサーバA1とデータベースB1、アプリケーションサーバA2とデータベースB2という2つのリンクが存在しており、アプリケーションサーバAとデータベースBとのリンク属性と属性がそれぞれ同一であるとする。
この場合、アプリケーションサーバA1とデータベースB1とのリンク2101、アプリケーションサーバA2とデータベースB2とのリンク2102は、シンプトン生成時に付加されている部分構成情報と属性が同一であることから類似していると判断される。したがって、この場合には適合度Pは大きな値として算出される。
一方、アプリケーションサーバA1とデータベースB2とのリンク2103、アプリケーションサーバA2とデータベースB1とのリンク2104は、コンポーネントの属性は一致するものの、シンプトン生成時に付加されている部分構成情報とは属性が相違する。したがって、この場合には適合度Pは小さな値として算出される。
図22は、シンプトン生成時に付加されている部分構成情報と同一の構成がシステム構成情報に存在する場合の適合度算出例を示す模式図である。図22の例では、同一のコンポーネントであるアプリケーションサーバA1とデータベースB1、アプリケーションサーバA2とデータベースB2が存在することから、コンポーネントの適合度はそれぞれ‘20’であり、アプリケーションサーバAとデータベースBとの間のリンクと同一属性であるアプリケーションサーバA1とデータベースB1との間のリンク2101が存在する。したがって、リンクの適合度が‘60’となるので、図22に示す部分構成情報の適合度Pは20+20+60=100となる。
図23は、シンプトン生成時に付加されている部分構成情報のリンクがシステム構成情報に間接的に存在する場合の適合度算出例を示す模式図である。図23の例では、同一のコンポーネントであるアプリケーションサーバA1とデータベースB1、アプリケーションサーバA2とデータベースB2が存在することから、コンポーネントの適合度はそれぞれ‘20’である。一方、アプリケーションサーバAとデータベースBとの間のリンクと同一属性であるリンクは存在しないものの、アプリケーションサーバA1とデータベースB1とが、その他のコンポーネントC1を介するリンク2301が存在する。したがって、これらのリンクの適合度P2は0.6×60=36となる。したがって、図23に示す部分構成情報の適合度Pは20+20+36=76となる。
図24は、シンプトン生成時に付加されている部分構成情報と同一のコンポーネントは存在するが、リンクが存在しない場合の適合度算出例を示す模式図である。図24の例では、同一のコンポーネントであるアプリケーションサーバA1とデータベースB1、アプリケーションサーバA2とデータベースB2が存在することから、コンポーネントの適合度はそれぞれ‘20’である。一方、アプリケーションサーバAとデータベースBとの間のリンクと同一属性であるリンクは存在せず、アプリケーションサーバA1とデータベースB2との間のリンク2103が存在する。したがって、これらのリンクの適合度P2は0となるので、図24に示す部分構成情報の適合度Pは20+20+0=40となる。
以上のように本実施の形態3によれば、部分構成情報をシンプトンに付加することにより障害が発生したイベントの検出精度を高く維持しつつ、抽出された部分構成情報と、イベント群を特定するのに適用したシンプトンに含まれている部分構成情報との適合度を算出することができるので、ユーザの熟練度合に左右されることなく客観的に検出された結果を評価することができる。また、部分構成情報とともに、算出された適合度も提示することができるので、ユーザの熟練度合に左右されることなく、検出された結果を客観的に評価することができる。
(実施の形態4)
本発明の実施の形態4に係る障害イベントの検出を支援する装置を含む障害イベント検出装置1の構成は、実施の形態1乃至3と同様であることから、同一の符号を付することにより詳細な説明は省略する。本実施の形態4は、検出結果の正誤に関する情報とともに部分構成情報をシンプトンに付加する点で実施の形態1乃至3と相違する。
図25は、本発明の実施の形態4に係る障害イベント検出装置1の機能ブロック図である。構成情報抽出部201は、監視対象システム200に含まれるコンポーネント間の関連情報を含むシステム構成情報を抽出して、構成情報記憶部132に記憶する。コンポーネント間の関連情報を含むシステム構成情報とは、例えばコンポーネント間の通信における接続関係情報、操作・非操作の関係に関するリンク関係情報等である。なお、構成情報抽出部201は本発明に必須の構成要件ではなく、事前に構成情報記憶部132にシステム構成情報を生成しておいても良く、障害イベント検出装置1内に内蔵していてもいなくても良い。すなわち、構成情報抽出部201及び構成情報記憶部132は、本発明の実施の形態4に係る障害イベント検出装置1の必須の構成要件ではない。
構成情報取得部202は、構成情報記憶部132に記憶されているシステム構成情報を取得する。システム構成情報は監視対象システム200ごとに対応付けて構成情報記憶部132に記憶してあり、監視対象システム200に応じて対応するシステム構成情報を取得する。
履歴情報収集部203は、監視対象システム200を常時監視し、監視対象システム200に含まれる各コンポーネントから出力されたログ情報及び/又は障害発生時に出力されるイベント情報等の障害情報を含む履歴情報を収集して、履歴情報記憶部133に記憶する。ログ情報は、常時出力されるシステムログ等に限定されるものではなく、障害発生時に割り込み処理等により出力されるメッセージ情報等を含んでも良い。
なお、履歴情報収集部203で収集した履歴情報は、それぞれデータ形式が相違することが多く、そのままでは障害が発生したイベントの候補となるイベントを特定するための基本情報として用いることができない場合も生じうる。そこで、データ形式変換部212を備え、標準的な統一データ形式に変換して履歴情報記憶部133へ記憶しておくことが望ましい。
検出ルール生成部204は、発生した障害に関連するコンポーネントに含まれるイベントを検出するための検出ルールを生成する。シンプトン記憶部205は、生成された検出ルールに所定の付加情報を付加したシンプトンを記憶する。付加情報としては、障害検出時の推奨アクション等に関する情報、各種コメントを含むメッセージ情報等を付加してある。
イベント選択受付部207は、発生した障害に関連するコンポーネントに含まれるイベントの選択を、例えばイベントリスト等からの選択として受け付ける。部分構成情報抽出部208は、構成情報取得部202で取得されたシステム構成情報から、イベント選択受付部207で選択を受け付けたイベントを送出したコンポーネントに関するシステム構成情報である部分構成情報を抽出する。抽出される部分構成情報とは、システムを構成しているコンポーネントのうち障害発生イベントとして選択を受け付けたイベントを送出したコンポーネントと他のコンポーネントとの間の依存関係を含む関連情報も含んでいる。例えばコンポーネントであるアプリケーションサーバとデータベースとの関連情報、リンク情報等も含まれる。
本発明の実施の形態4に係る障害イベント検出装置1における部分構成情報を含むシンプトンの構成は実施の形態1と同様であり、上述した図3(b)に示す構成と同じである。すなわち、従来のシンプトンにコンポーネントであるアプリケーションサーバAとデータベースBとの依存関係に関する情報を追加することにより、障害発生イベントの検出のためのシンプトンとしてコンポーネント間の依存関係をも考慮に入れることができ、より障害が発生したイベントの検出精度を高めることができる。
シンプトン更新部209は、部分構成情報抽出部208で抽出された部分構成情報を、対応するシンプトンに付加して記憶する。すなわち、部分構成情報が付加情報となる。部分構成情報提示部210は、部分構成情報抽出部208で抽出された部分構成情報を表示装置23に提示する。更新受付部211は、提示されている部分構成情報の更新を受け付ける。これにより、ユーザは提示された部分構成情報を所望の構成に変更することにより、適合した部分構成情報を確実に生成することができる。
部分構成情報提示部210により表示装置23に提示される画面80は、実施の形態2と同様であることから、詳細な説明は省略する。
本発明の実施の形態4では、上述した部分構成情報が付加されたシンプトンと、従来のように部分構成情報が付加されていないシンプトンとがシンプトンデータベース131に混在して記憶されていることを前提とする。したがって、部分構成情報が付加されているシンプトンを適用する場合には、上述した実施の形態1乃至3と同様の構成とすることにより、同等の効果を奏することは言うまでもない。
そこで本実施の形態4では、実施の形態3と同様、イベント群特定部1601が、履歴情報収集部203で収集された履歴情報及びシンプトンデータベース131に記憶されているシンプトンに基づいて、記憶されているシンプトンに適合するイベント群を特定し、抽出部1602が、イベント群特定部1601で特定されたイベント群それぞれを送出したコンポーネントと他のコンポーネントとの間の関連情報を含む部分構成情報を抽出する。
そして、イベント検出部206は、抽出部1602で抽出された部分構成情報とイベント群特定の基礎となったシンプトンを適用して、障害が発生したイベントを検出する。正誤情報取得部2501は、イベント検出部206における検出結果が正しいか否か、すなわち障害が発生したイベントが正常に検出されたか否かに関する正誤情報を取得する。
更新部2502は、取得した正誤情報及び抽出された部分構成情報を、イベント群特定の基礎となったシンプトンの付加情報として該シンプトンを更新する。これにより、部分構成情報を有していないシンプトンに対して、正誤情報とともに部分構成情報を付加することができる。
正誤情報取得部2501は、ユーザによる正誤判断結果の入力を受け付ける正誤情報受付部2503であっても良い。この場合、画面上に表示された障害発生イベントが正しいか否かを判断した結果を、例えば「確認」ボタン又は「修正」ボタン等のマウス等によるクリック操作により受け付ける。
あるいは、実施の形態3と同様、適合度を算出して、所定値より大きいか否かに応じて正誤判断をしても良い。この場合、適合度算出部2504は、抽出部1602で抽出された部分構成情報と、イベント群特定部1601でイベント群を特定するのに用いたシンプトンデータベース131に記憶されているシンプトンに含まれている部分構成情報との適合度を算出する。適合度が高いシンプトンが検出されている場合には、障害判別における誤検出の可能性が低いものと判断することができる。また、ユーザによるシンプトン適用の熟練度合に左右されること無く、一定の精度で障害判別を行うことができる。すなわち、イベント検出部206は、適合度が高いシンプトンを適用して、障害が発生したイベントを検出することにより、誤検出の可能性を低減し、障害発生イベントの検出精度を高めることができる。
適合度判断部2505は、算出した適合度が所定値より大きいか否かを判断し、所定値より大きいと判断した場合、更新部2502は、抽出部1602で抽出された部分構成情報に正常に検出された旨を示す情報を付加した正常検出構成情報を、所定値以下であると判断した場合、更新部2502は、抽出部1602で抽出された部分構成情報に誤検出された旨を示す情報を付加した誤検出構成情報を、それぞれシンプトンに付加してシンプトンデータベース131を更新する。これにより、正常に検出された旨を示す情報を付加されている部分構成情報を有するシンプトンを優先して適用することで、障害発生イベントをより精度良く検出することができる。
図26は、本発明の実施の形態4に係る障害イベント検出装置1のCPU11の障害検出処理の手順を示すフローチャートである。障害イベント検出装置1のCPU11は、監視対象システム200に含まれるコンポーネント間の関連情報を含むシステム構成情報を取得する(ステップS2601)。もちろん、事前にシステム構成情報を取得して、構成情報記憶部132に記憶しておいても良い。
CPU11は、監視対象システム200のログ情報及び/又は障害発生時に各コンポーネントから出力される障害情報を含む履歴情報を収集し(ステップS2602)、履歴情報記憶部133に記憶する(ステップS2603)。CPU11は、収集された履歴情報及びシンプトンデータベース131に記憶されているシンプトンに基づいて、記憶されているシンプトンに適合するイベント群を特定する(ステップS2604)。
CPU11は、特定されたイベント群それぞれを送出したコンポーネントと他のコンポーネントとの間の関連情報を含む部分構成情報を抽出し(ステップS2605)、監視対象システムに発生した障害に適合したシンプトンが正常に検出されているか否かの判断結果の入力を受け付ける(ステップS2606)。CPU11は、受け付けた判断結果が正常に検出された旨を示す判断結果であるか否かを判断する(ステップS2607)。
CPU11が、受け付けた判断結果が正常に検出された旨を示すと判断した場合(ステップS2607:YES)、CPU11は、正常に検出された旨を示す情報を該部分構成情報に付加した正常検出構成情報を、適用したシンプトンに付加することでシンプトンデータベース131を更新する(ステップS2608)。CPU11が、受け付けた判断結果が正常に検出されていない旨を示すと判断した場合(ステップS2607:NO)、CPU11は、誤検出である旨を示す情報を該部分構成情報に付加した誤検出構成情報を、適用したシンプトンに付加することでシンプトンデータベース131を更新する(ステップS2609)。これにより、検出結果が正常に検出されたか否かを示す情報とともに部分構成情報を付加したシンプトンを生成することができる。
このように、シンプトンの生成時には部分構成情報が付加されていないシンプトンであっても、正常検出構成情報が新たに付加された場合には、該シンプトンを適用することにより障害発生イベントを正しく検出できることが保証される。また、誤検出構成情報が新たに付加された場合には、該シンプトンの適用の可能性を減じることにより、障害発生イベントを正しく検出する可能性を高めることができる。
また、実施の形態2と同様に、取得したシステム構成情報と、シンプトンに付加された正常検出構成情報又は誤検出構成情報とを比較して、記憶されている部分構成情報ごとに両者の一致度を算出することにより、適用するシンプトンの優先順位をつけることができる。この場合、実施の形態2と同様、一致度算出部701及びシンプトン抽出部702を設け、CPU11は、構成情報取得部202で取得したシステム構成情報と、更新部2502でシンプトンに付加して記憶されている正常検出構成情報又は誤検出構成情報とを比較して、正常検出構成情報又は誤検出構成情報ごとに両者の一致度を算出する。
正常検出構成情報については、算出された一致度が高いシンプトンの適用優先順位を高くしてシンプトンを適用することにより、障害が発生したイベントの検出精度を高めることができる。誤検出構成情報については、算出された一致度が高いシンプトンの適用優先順位を下げることにより、障害が発生したイベントの検出精度を高めることができる。また、誤検出構成情報であって、一致度が高いシンプトンについては、あえてシンプトンとして適用した場合の検出結果を誤検出用の検出結果として活用することもできる。
また、誤検出構成情報が付加されている場合には、実施の形態3と同様に検出結果の適合度を算出してシンプトン適用可能性を減じることもできる。例えばCPU11は、抽出部1602にて抽出された部分構成情報と、イベント群特定部1601でイベント群を特定するのに適用されたシンプトンに含まれている部分構成情報との適合度を適合度算出部2504で算出し、適合度判断部2505にて算出された適合度が所定値より大きいと判断した場合には誤検出構成情報と判断して、例えば評価値を減算する、優先順位を下げる等の処理を行うことにより、適合度が高いシンプトンを障害発生イベント検出のために適用するシンプトンの候補から確実に外すことができる。結果として障害発生イベントの検出精度を高めることができる。
一のシンプトンに対して、正常検出構成情報及び誤検出構成情報は複数付加されても良い。図27は、正常検出構成情報及び誤検出構成情報が付加されたシンプトンデータベース131のデータ構成の例示図である。図27に示すように、正常検出構成情報271が複数個、誤検出構成情報272が複数個、それぞれ一のシンプトン273に対応付けて付加されている。
例えば複数の正常検出構成情報271、271、・・・が一のシンプトンに対応付けられている場合、正常検出構成情報271、271、・・・の各々に対して付加された回数を計数する計数部(図示せず)を備え、付加された回数が多い部分構成情報を優先的に適用する。このようにすることで、正常に検出したと判断された回数の多い部分構成情報を優先的に適用することができ、障害が発生したイベントの検出精度を高めることができる。
一方、複数の誤検出構成情報272、272、・・・が一のシンプトンに対応付けられている場合、誤検出構成情報272、272、・・・の各々に対して付加された回数を計数する計数部(図示せず)を備え、付加された回数が多い部分構成情報については適用優先順位を下げる等の処理を行うことにより、誤検出であると判断された回数の多い部分構成情報を適用する可能性を減じることができ、障害が発生したイベントの検出精度を高めることができる。
以上のように本実施の形態4によれば、部分構成情報をシンプトンが保有していない場合であっても、障害発生イベントの検出結果に応じて部分構成情報をシンプトンに付加することができる。したがって、付加された部分構成情報により、どのシンプトンを優先して用いるべきか容易に判断することができ、障害発生イベントの検出精度の向上を図ることができる。また、誤って障害発生イベントを検出した場合の部分構成情報も記憶しておくことにより、誤検出時に用いられた部分構成情報との適合度も提示することができ、適合度に基づくシンプトン適用の順位付けをより精度良く行うことが可能となる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えばネットワークを介して本実施の形態に係る障害イベント検出装置に接続されている外部のコンピュータの記憶装置に、シンプトンデータベース、構成情報記憶部、履歴情報記憶部を備え、必要に応じて各種情報を読み書きするようにしても良い。