(57)【特許請求の範囲】
【請求項１】
監視対象システムにおける障害原因を解析する障害原因解析システムであって、
前記監視対象システムにおいて発生したイベントを受信するイベント受信部と、
障害の名称と、前記監視対象システムからの受信したイベントのうち解析すべき対象を絞り込むための相対的な期間を示す相関時間と、前記障害原因があると判定するための複数の判定条件に対応する複数のサブルールと、を含む障害原因判定ルールの前記複数のサブルールと前記受信したイベントとを照合し、当該照合結果に基準時間を付与して一致状況情報群を生成する一致状況生成部と、
前記一致状況生成部によって前記照合結果に基づいて生成された前記一致状況情報群のうち、前記基準時間から前記相関時間内に発生したイベントに対応する照合結果を示す解析用一致状況情報を取り出し、当該取り出した解析用一致状況情報の中で前記サブルールと当該サブルールを成立させる前記イベントとの対応関係が１対１になるように前記サブルールと前記イベントとの多対多の成立状況を解析する障害原因解析部と、
前記解析結果を出力する結果出力部と、
を備えることを特徴とする障害原因解析システム。
【請求項２】
請求項１において、
前記障害原因解析部は、前記解析用一致状況情報において、前記サブルールと当該サブルールを成立させるイベントとを１対１に対応させる処理を実行し、１つの障害原因判定ルールに含まれる全サブルール総数に対する、成立するイベントが発生したサブルールの数の割合を示す一致率を算出することにより、前記成立状況を解析することを特徴とする障害原因解析システム。
【請求項３】
請求項２において、
前記結果出力部は、前記障害の名称に対応させて、前記一致率と何れの前記判定条件が成立したかを示す情報を画面表示することを特徴とする障害原因解析システム。
【請求項４】
請求項２において、
前記障害原因解析部は、前記複数のサブルールと前記受信したイベントとのマトリクスを生成して前記サブルールと前記イベントとの対応関係を確認し、当該マトリクス上で１つのサブルールに対して複数のイベントが成立している場合には、
処理ａ：１対１に対応するサブルールとイベントのペアについては、当該サブルール以外のサブルールの成立状況を不成立とする；
処理部ｂ：処理ａを実行した後、依然として複数のイベントが対応するサブルールがあるときには、任意のイベントを当該サブルールに対応させることにより、１対１の関係を構築する；
を実行することを特徴とする障害原因解析システム。
【請求項５】
請求項１において、
前記障害原因判定ルールは、障害原因を判定するために必要なイベントの組と、各イベントに対して障害原因を特定するための条件と、イベントの組を相関あるパターンとして認識するための前記相関時間と、障害があると判定された場合のアクションと、を記述し、入力された障害原因判定ルール定義テンプレートに基づいて、生成されることを特徴とする障害原因解析システム。
【請求項６】
コンピュータシステムを請求項１に記載の障害原因解析システムとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害原因解析システム及びプログラムに関する。
【背景技術】
【０００２】
製造業や通信、金融など、システム障害が事業や社会に大きく影響するような企業においては、事業継続計画の観点などから、システム障害発生時の原因解析時間の短縮、ならびに、障害復旧時間の短縮の実現が強く求められている。そして、ＩＴシステムのシステム障害発生時には、システム障害の原因を迅速に特定することが早期復旧のために重要であるが、一般的には、システム障害の原因解析作業は、障害対応手順書等の資料を元に手作業に行っており、時間短縮には限度がある。また、ＩＴシステムの改変によって、過去に作成した障害対応手順書等の資料が陳腐化し、実態と合わなくなった場合においては、システム障害の原因解析が極めて困難になる。システム障害の原因解析作業を手作業で行う限りにおいては、システム障害の原因解析作業の能力は属人化し、システム障害からの復旧を遅延させる要因のひとつになっている。
【０００３】
このような問題点に対処するために、システム障害の原因解析をシステム化した障害原因解析システムが考えられている。
【０００４】
従来の障害原因解析システム（例えば、特許文献１乃至３）は、ＩＴシステムの監視系から送られてくるイベント群の並びを特定するための推論型ルール（もしＡならばＢ、そうでないならばＣ）を定義しておき、推論型ルールを実行するエンジンを用いて、監視系から送られてきたイベントの並びが推論型ルールと一致するかを判定し、一致すれば障害原因を特定するものである。つまり、あらかじめ障害原因に一致するイベント列の並びのパターンを登録しておき、障害原因を判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２５２０７４号公報
【特許文献２】特開２００４−３６２１８８号公報
【特許文献３】ＷＯ０４／０６１６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の障害原因解析システムは、推論型ルールを用いてイベントの並びから障害原因を対応付けているため、推論型ルールに完全に一致しなければ、原因が特定できないという欠点がある。例えば、４つのイベントＥ１、Ｅ２、Ｅ３、Ｅ４が、この順で揃った場合に障害原因Ｃ１であることを特定する場合において、これらすべてのイベントが完全に揃った場合のみ、障害原因Ｃ１であることが特定可能であるが、Ｅ３が欠落して、３つのイベントＥ１、Ｅ２、Ｅ４を受け取った場合には、障害原因Ｃ１の可能性を検出することが困難である。このように、従来の障害原因解析システムには、推論型ルールを用いてイベントの並びから障害原因を対応付けているため、推論型ルールに完全に一致しなければ、原因が特定できないという問題がある。
【０００７】
また、従来の障害原因解析システムは、イベントが発生した時間によるイベント間の相関関係を加味して、イベントの並びを判定することができないという欠点がある。例えば、イベントＥ１、Ｅ２が短時間に続けて発生した場合には障害原因Ｃ２と特定する場合において、Ｅ１とＥ２の発生感覚が極めて長時間の場合には、論理的には連続したイベントであるが障害原因Ｃ２とは特定しないケースであるを想定した場合、このようなケースの判別が従来技術では困難である。このように、従来の障害原因解析システムには、イベントが発生した時間によるイベント間の相関関係を加味して、イベントの並びを判定することができないという問題がある。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、障害の原因となるイベントが完全に一致しなくても将来問題となりうる状態にあるかどうか予測可能とするとともに、各イベント発生の時間的相関を加味して解析し、迅速な障害原因判定処理を実現することのできる技術を提供するものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明では、障害原因発生の判定処理に相関時間の概念を導入し、全イベントから関連あるイベントを解析対象とすることによって、解析対象を削減する。また、一致状況キャッシュを利用してイベントと障害原因判定ルールの照合処理を削減する。
【００１０】
本発明では、ＩＴシステムにおいてシステム障害が発生した際に、ＩＴシステムの監視系から送られてくるイベント群を対象にして、あらかじめ複数のイベントの組み合わせで決まるパターンを障害原因判定ルールとして定義することにより、直接の障害原因を特定するようにしている。また、判定条件が完全一致しない場合であっても、イベントの組み合わせが類似する場合には、同様に障害原因（可能性）を特定するようにしている。
【００１１】
即ち、本発明による障害原因解析システムは、監視対象システムにおいて発生したイベントを受信するイベント受信部と、障害の名称と、監視対象システムからの受信したイベントのうち解析すべき対象を絞り込むための相対的な期間を示す相関時間と、障害原因があると判定するための複数の判定条件に対応する複数のサブルールと、を含む障害原因判定ルールの複数のサブルールと受信したイベントとを照合し、当該照合結果に基準時間を付与して一致状況情報群を生成する一致状況生成部と、一致状況生成部によって生成された一致状況情報群のうち、基準時間から前記相対時間内に発生したイベントに対応する解析用一致状況情報を取り出し、当該取り出した解析用一致状況情報の中での判定条件の成立状況を解析する障害原因解析部と、解析結果を出力する結果出力部と、を備える。
【００１２】
ここで、障害原因解析部は、解析用一致状況情報において、サブルールと当該サブルールを成立させるイベントとを１対１に対応させる処理を実行し、全サブルールに対する、サブルールを成立させるイベントの割合（一致率）を算出することにより、判定条件の成立状況を解析する。より詳細には、障害原因解析部は、複数のサブルールと受信したイベントとのマトリクスを生成してサブルールとイベントとの対応関係を確認し、当該マトリクス上で１つのサブルールに対して複数のイベントが成立している場合には、以下の処理ａ及びｂを実行する。
処理ａ：１対１に対応するサブルールとイベントのペアについては、当該サブルール以外のサブルールの成立状況を不成立とする。
処理ｂ：処理ａを実行した後、依然として複数のイベントが対応するサブルールがあるときには、任意のイベントを当該サブルールに対応させることにより、１対１の関係を構築する。
【００１３】
そして、結果出力部は、障害の名称に対応させて、一致率と何れの判定条件が成立したかを示す情報を画面表示する。
【００１４】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００１５】
本発明によれば、障害の原因となるイベントが完全に一致しなくても将来問題となりうる状態にあるかどうか予測することが可能となり、各イベント発生の時間的相関を加味して解析し、迅速な障害原因判定処理を実現することができるようになる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態による障害原因解析システム構成の一例を示す図である。
【図２】本発明の実施形態による障害原因判定ルール定義テンプレートのデータ構造の一例を示す図である。
【図３】本発明の実施形態による障害原因判定ルールのデータ構造の一例を示す図である。
【図４】障害原因判定ルールを作成する場合の処理を説明するためのフローチャートである。
【図５】障害原因判定ルールとイベントの一致状況を作成する場合の処理を説明するためのフローチャートである。
【図６】本発明の実施形態による障害原因判定ルールとイベントの一致状況キャッシュのデータ構造の一例を示す図である。
【図７】障害原因判定ルールを解析するため解析対象の一致状況を選出する場合の処理を説明するためのフローチャートである。
【図８】障害原因判定ルール解析するため解析用の一致状況マトリクスの構成の一例を示す図である。
【図９】障害原因判定ルールとイベントの一致状況を解析する場合の処理を説明するためのフローチャートである。
【図１０】本発明の実施形態によるディシジョンテーブルのデータ構造例を示す図である。
【図１１】本発明の実施形態による障害原因解析結果一覧表示画面例を示す図である。
【発明を実施するための最良の形態】
【００１７】
本発明は、ＩＴシステムにおいてシステム障害が発生した際に、ＩＴシステムの監視系から送られてくるイベント群を対象にして、あらかじめ複数のイベントの組み合わせで決まるパターンを障害原因判定ルールとして定義しておき、直接の障害原因を特定する、および、イベントの組み合わせが類似のパターンについても同様に障害原因を特定する、障害原因解析システムに関するものである。
【００１８】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【００１９】
＜障害原因解析システムの構成＞
図１は、本発明の実施形態による障害原因解析システムの概略構成を示す図である。図１に示すように、本実施形態による障害原因解析システム１０１は、監視システム１０３が監視対象システム（例えば、ＤＢサーバ）１０２をログ監視等することによって得たイベントを受信してイベントの内容を解釈するための接続アダプタ１０４と、ユーザがテンプレートに従って入力した障害原因判定ルール定義１１３から生成された障害原因判定ルール（格納部）１０５と、ルール実行エンジン１１４を用いてイベントと障害原因判定ルール１０５の一致状況に関する情報を生成する一致状況生成機構１０６と、生成された一致状況を蓄積するための一致状況キャッシュ１０７と、一致状況キャッシュ１０７の情報に基づいて障害原因を判定する障害原因判定機構１０８と、障害原因判定ルール定義１１３から障害判定ルールを生成する障害原因判定ルール生成機構１０９と、障害原因判定結果ダッシュボード生成機構１１０と、一致判定結果を集計するためのディシジョンテーブル１１１と、を備えている。なお、図１では、ルール実行エンジン１１４は障害原因解析システム１０１とは別の構成要素として示されているが、障害原因解析システム１０１の構成に含まれるものであっても良い。また、ルール実行エンジン１１４は、一致状況生成機構１０６の１つの機能として実現されるようにしても良い。
【００２０】
本構成では、障害原因判定ルール定義テンプレート１１３を基にして、当該テンプレートで定義されたイベント列の並びのパターンが完全一致すること、および、部分一致することを判定するための障害原因判定ルール１０５が生成される。また、一致状況生成機構１０６及び障害原因判定機構１０８を用いて障害原因の判定が行われ、組み合わせパターンの一致状況が視覚的に表示されるようになっている。
【００２１】
図１において、監視システム１０３が障害を監視する対象となるシステム１０２を監視し、監視システム１０３であらかじめ設定された条件に従ってイベントを送出する。障害原因解析システム１０１は、接続アダプタ１０４によって監視システム１０３からイベントを受信する。そして、一致状況生成機構１０６は、ルール実行エンジン１１４にイベントに対して障害原因判定ルールを実行させ、障害原因判定ルールのサブルールがイベントと一致した状況（サブルールがどのイベントによって成立する情報）を生成して、一致状況キャッシュ１０７に蓄積する。
【００２２】
また、障害原因判定機構１０８は、分析対象である障害原因判定ルール１０５に関連する一致状況を一致状況キャッシュ１０７から抽出し、該当障害原因判定ルールの成立状況を分析してディシジョンテーブル１１１に出力する。そして、障害原因判定結果ダッシュボード生成機構１１０は、判定結果をダッシュボード上に視覚化して、それをディスプレイモニタ１１２に表示する。
【００２３】
＜障害原因判定ルール定義テンプレート＞
図２は、障害原因判定ルール定義テンプレートの例を示す図である。障害原因判定ルール定義テンプレート２０１は、障害原因判定ルール名称２０２（例えば、ＨＤＤ障害やＣＰＵ障害といった障害の名称）と、障害原因判定条件リスト２０３と、当該障害原因を判定するためのイベントを取得する時間間隔を示す相関時間２０４と、障害発生と判断された場合に採るべきアクションを示す障害原因判定結果アクション２０５とから構成される。また、障害原因判定条件リスト２０３は、障害原因判定条件２０６の配列から構成される。各項目は、ユーザによってＧＵＩ等に表示されたフォーマットに従い入力されるものである。
【００２４】
＜障害原因判定ルール＞
図３は、障害原因判定ルールの例を示す図である。障害原因判定ルール３０１は、入力された障害原因判定ルール定義２０１に基づいて生成され、ルールＩＤ３０２と、障害原因判定ルール名称２０２に対応するルール名３０３と、相関時間２０４に対応する相関時間３０４と障害原因判定結果アクション２０５に対応するアクション３０５と、障害原因判定ルール定義テンプレート中に記述された障害原因条件判定リストの各障害原因判定条件に対応するサブルール３０６と、の配列から構成される。サブルール３０６は、１つの障害原因判定条件が成立したときに、対応するサブルールＩＤを出力するという内容となっている。つまり、ルール実行エンジン１１４において、受信したイベントの中の属性情報と各判定条件とが照合され、両者が一致する場合にサブルールＩＤが出力されるようになっている。従って、全てのサブルールを実行し終えた後に、出力を解析することにより、障害原因判定ルールの成立状況が把握できることになる。
【００２５】
＜障害原因判定ルールの生成処理＞
図４は、障害原因判定ルール生成機構１０９が、入力された障害原因判定ルール定義テンプレート１１３に基づいて障害原因判定ルール１０５を生成する処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【００２６】
障害原因判定ルール生成機構１０９は、入力された障害原因判定ルール定義テンプレート１１３を取得し、これに基づいて、障害原因判定ルール３０１の基本情報（ルールＩＤ３０２、ルール名３０３、相関時間３０４、アクション３０５）を生成する（ステップ４０１）。このステップでは、テンプレートの情報を適切な言語に翻訳することにより、言わばルール作成の準備処理が行われる。
【００２７】
また、障害原因判定ルール生成機構１０９は、障害原因判定ルール定義テンプレート１１３における障害原因判定条件リスト２０３から、障害原因判定条件２０６を１つ取り出す（ステップ４０２）。
【００２８】
そして、取り出した障害原因判定条件２０６が成立した場合、障害原因判定ルール生成機構１０９は、障害原因判定条件の順番によって振られる自分自身のサブルールＩＤ３０７を出力する動作をもつルールを障害原因判定ルール３０１のサブルール３０６として生成する（ステップ４０３）。
【００２９】
次に、障害原因判定ルール生成機構１０９は、障害原因判定条件リスト２０３中に、未処理の障害原因判定条件２０６があるか判定し、未処理のものがあれば処理をステップ４０２に移行させる（ステップ４０４）。全てについて処理済であれば、処理はステップ４０５に移行する。
【００３０】
最後に、障害原因判定ルール生成機構１０９は、生成された基本情報とサブルールを組み合わせて、障害原因判定ルール３０１として出力する（ステップ４０５）。
【００３１】
＜一致状況キャッシュの構造＞
図５は、接続アダプタ１０４から受信したイベントと生成された障害原因判定ルールとの一致状況をイベント発生時間の昇順で蓄積する一致状況キャッシュのデータ構造の一例を示す図である。
【００３２】
一致状況キャッシュ５０１は、相関時間を基に解析対象のイベントを取得するための基準時間となる末尾イベント発生時間５０２と、イベント・ルール一致状況要素５０３の配列で構成される。図５において、イベント・ルール一致状況要素[１]が最古の要素であり、一致状況要素[Ｎ]が最新の要素である。
【００３３】
また、イベント・ルール一致状況要素５０３は、イベントＩＤ５０４と、イベント発生時間５０５と、ルールとの一致状況５０６との配列で構成される。さらに、ルールとの一致状況５０６は、ルールｊ（例えば、ＨＤＤ障害）に対応するルールＩＤ５０７と、ルールを構成する各サブルールの成否５０８の配列で構成される。
【００３４】
＜イベント・ルール一致状況生成処理＞
図６は、一致状況生成機構１０６が、接続アダプタ１０４から受信したイベントと生成された障害原因判定ルール１０５の一致状況を生成する処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【００３５】
まず、一致状況生成機構１０６は障害原因判定ルール１０５を読込み、該当障害原因判定ルールに含めるサブルールをルール実行エンジン１１４にデプロイする（ステップ６０１）。つまり、ルール実行エンジン１１４が各判定条件とイベントの照合処理ができるように準備処理が実行される。
【００３６】
一致状況生成機構１０６は、接続アダプタ１０４から受信したイベントをルール実行エンジン１１４に挿入し、障害原因判定ルールのサブルール（照合処理）を実行する。この時点では、ルール実行エンジン１１４が各サブルールの成否判定の情報を保持している（ステップ６０２）。
【００３７】
一致状況生成機構１０６は、挿入されたイベントとサブルールの一致状況を保持するためのイベント・ルール一致状況要素５０３を生成する（ステップ６０３）。この段階では、各サブルールの成否判定情報は入力されていない。
【００３８】
次に、一致状況生成機構１０６は、ルール実行エンジン１１４の出力から、イベントと一致したサブルールＩＤを１つ取得する（ステップ６０４）。そして、一致状況生成機構１０６は、取得したサブルールＩＤについて、生成されたイベント・ルール一致状況要素５０３にある、該当サブルールが所属するルールとの一致状況５０６の欄に該当サブルールの成否５０８の状態を入力する（ステップ６０５）。また、一致状況生成機構１０６は、ルール実行エンジン１１４の出力の中に、未処理のサブルールがあるか判定する。未処理のものがあれば、処理はステップ６０４へ戻り、全て処理済ならば処理はステップＳ６０７に移行する（ステップ６０６）。
【００３９】
最後に、一致状況生成機構１０６は、挿入されたイベントの一致状況要素をイベントの発生時間について昇順で一致状況キャッシュ１０７に挿入する（ステップ６０７）。
【００４０】
＜障害原因解析処理＞
図７は、障害原因判定機構１０８が、一致状況キャッシュ１０７から、ある障害原因判定ルールに対して障害原因を解析するため、解析対象である一致状況を選出する場合の処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【００４１】
障害原因判定機構１０８は、障害原因判定ルール１０５から該当ルールの相関時間３０４を取得し、一致状況キャッシュ１０７から末尾イベント発生時間５０２を取得する。そして、障害原因判定機構１０８は、相関時間３０４と末尾イベント発生時間５０２から、指定された障害原因判定ルールと相関するイベントの発生時間範囲、つまり解析対象である一致状況のイベント発生時間の範囲を特定する（ステップ７０１）。
【００４２】
次に、障害原因判定機構１０８は、一致状況キャッシュ１０７の末尾からイベント・ルール一致状況要素５０３を１つ取り出し（ステップ７０２）、該当イベント・ルール一致状況要素のイベント発生時間５０５を取り出す（ステップ７０３）。
【００４３】
続いて、障害原因判定機構１０８は、該当イベント発生時間５０５が解析対象のイベント発生時間範囲内にあるか否か判断し、範囲内になければ、処理を終了させる。範囲内にあれば、処理はステップ７０５に移行する（ステップ７０４）。
【００４４】
障害原因判定機構１０８は、該当イベント・ルール一致状況要素から指定された障害原因判定ルールの一致状況を抽出し（ステップ７０５）、抽出された一致状況を解析対象一致状況リストの末尾に追加する（ステップ７０６）。
【００４５】
そして、障害原因判定機構１０８は、一致状況キャッシュ１０７に未取り出しのイベント・ルール一致状況要素が残っていれば、処理を再度ステップ７０２に移行させる（ステップ７０７）。
【００４６】
以上の処理によって、基準時間（末尾イベント発生時間）から相関時間分のイベントとサブルールの成否情報を一致状況キャッシュから抽出される。
【００４７】
＜一致状況マトリックス＞
図８は、ある障害原因判定ルールに対して、障害原因を解析するための一致状況マトリクスの一例を示す図である。この解析用一致状況マトリクス８０１は、図７に示すフローチャートで抽出された解析対象一致状況リストから生成される。解析用一致状況マトリクス８０１の各行は指定された障害原因判定ルールのサブルールが各イベントで成立状況を示す情報８０２であり、各列は指定された障害原因判定ルールと相関するイベントが各サブルールとの一致状況８０３である。
【００４８】
本来であれば、１つのサブルールには１つのイベントしか対応していないはずである。そこで、これらを１対１に対応付ける処理が必要となる。この対応付けの処理が図９のフローチャートで示される処理に含まれている。
【００４９】
＜障害原因解析処理＞
図９は、障害原因判定機構１０８が、図８に示す解析用一致状況マトリクスを用いて、障害原因を解析し、ディシジョンテーブルを生成する処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【００５０】
まず、障害原因判定機構１０８は、図８のマトリクスにおいて、全てのイベントによって各サブルールが成立した回数を集計する（ステップ９０１）。例えば、サブルール１については「３」、サブルール２については「１」、・・・、サブルールＬについては「２」となる。
【００５１】
そして、障害原因判定機構１０８は、イベントが１回しか成立しないサブルールがあるか否か判定する（ステップ９０２）。１回のみ成立するサブルールがあると判断されれば（ステップ９０２でＹｅｓ）、処理はステップ９０４へ進む。一方、そのようなサブルールがない場合（ステップ９０２でＮｏ）には、処理はステップ９０３に進む。
【００５２】
障害原因判定機構１０８は、イベントが２回以上成立したサブルールがあるか否か判定する（ステップ９０３）。２回以上成立するサブルールがあれば（ステップ９０３でＹｅｓ）、処理はステップ９０５に進む。一方、そのようなサブルールがない場合には（ステップ９０３でＮｏ）、処理はステップ９１０へ進む。
【００５３】
障害原因判定機構１０８は、１回しか成立しないサブルール（複数があった場合、いずれを選出）については、それをマッチサブルールとし、成立させたイベントをマッチイベントとする（ステップ９０４）。
【００５４】
また、障害原因判定機構１０８は、イベントが２回以上成立したサブルールについては、それらの中から成立した回数が最も少ないサブルール(複数があった場合、いずれを選出)をマッチサブルールとし、成立させたイベントをマッチイベントとする（ステップ９０５）。例えば、イベントが２回以上成立したサブルールが１つあった場合、何れか任意のイベントと当該サブルールをペアとしてマッチイベントとする。また、例えば、図８において、サブルール２とイベントＥｂｌをマッチさせた後は、サブルール１とサブルールＬにおいて、同じイベントＥａｌとＥｍｌが成立することになるが、サブルール１に対してイベントＥａｌをマッチさせ、サブルールＬに対してイベントＥｍｌをマッチさせることができる。
【００５５】
続いて、障害原因判定機構１０８は、選出されたマッチサブルールのＩＤとマッチイベントのＩＤのペアを解析結果として出力し（ステップ９０６）、全てのサブルールと該当マッチイベントとの成立状況を不成立（０）にし（ステップ９０７）、当該マッチサブルールを集計対象外に設定する（ステップ９０８）。そして、集計対象であるサブルールが残っていれば、処理はステップ９０１へ戻る（ステップ９０９）。
【００５６】
最後に、障害原因判定機構１０８は、出力された解析結果を整理し、障害原因判定ルール成立状況要素１００３としてディシジョンテーブル１００１に出力する（ステップ９１０）。
【００５７】
＜ディシジョンテーブルの構造＞
図１０は、障害原因部分一致判定機構１０８が障害原因判定ルール１０５とイベントの一致状況を解析し、障害原因判定ルールの成立状況を把握するために用いるディシジョンテーブル１１１のデータ構造の一例を示す図である。
【００５８】
ディシジョンテーブル１００１は、要素数（Ｎ）１００２と障害原因判定ルール成立状況要素１００３の配列で構成される。また、障害原因判定ルール成立状況要素１００３は、障害原因判定ルール１００４（３０１に対応）へのポインタ１００５と、サブルールの数（Ｍ）１００６と、サブルールの成立数（Ｋ）１００７と、ルール一致率（Ｒ）１００８と、成立したサブルール状況要素１００９と、を要素とする配列で構成される。さらに、成立したサブルール状況要素１００９は、サブルールＩＤ１０１０と該当サブルールを成立させるイベント１０１２へのポインタ１０１１で構成される。そして、各障害原因判定ルール成立状況要素１００３に対して、サブルールの成立数（Ｋ）１００７をサブルールの数（Ｍ）１００６で除した結果の百分率が、当該障害原因判定ルールに対するルール一致率（Ｒ）１００８である。
【００５９】
例えば、障害原因解析処理（図９）を実行した後、図８の解析用の一致状況マトリクスにおいて、サブルール１がイベントＥａｌと、サブルール２がイベントＥｂｌと、・・・サブルールＬがイベントＥｍｌとペアとされたとすると、サブルールの数Ｍ１００６はＬ個、サブルールの成立数Ｋ１００７は３個となる。
【００６０】
＜障害原因解析結果一覧表示＞
図１１は、障害原因部分一致判定機構１０８がディシジョンテーブル１１１に基づいて生成する障害原因解析結果一覧の表示画面の例を示す図である。障害原因解析結果一覧表示画面１１０１は、二次元表形式になっている。画面における各行は、障害の原因として可能性が高い順にソートして表示される。各行を構成する列は、障害原因判定ルールＩＤ１１０２と、障害原因判定ルール名称１１０３と、一致率１１０４（１００８に対応）と、障害原因判定条件一致状況１１０５と、から構成される。
【００６１】
障害原因判定ルールＩＤ１１０２は、一致判定の基になった障害原因判定ルール定義テンプレートのＩＤ、或いは障害原因判定ルールのルールＩＤ３０１に対応するものである。障害原因判定ルール名称１１０３は、一致判定の基になった障害原因判定ルール定義テンプレートの名称に対応する。一致率１１０４は、障害原因判定ルール定義テンプレートで定義された障害原因判定条件リスト中の障害原因判定条件が一致した割合を表す。障害原因判定条件成立状況１１０５は、一致判定の基になった障害原因判定ルール定義テンプレート中に記述された障害原因条件判定リストの各障害原因判定条件の一致状況を個別に示す表示であり、一致した障害原因判定条件を「星」として表示し、識別可能にすることにより、障害原因判定条件の一致、不一致が一目瞭然になる。
【００６２】
＜まとめ＞
本発明では、障害原因発生の判定処理に相関時間（解析すべきイベントを取得するための期間であって、この期間中に発生したイベントが解析対象となる。）の概念を導入し、監視対象のシステムが発生した全イベントから関連あるイベントを解析対象とし、また、関連あるイベントに関してのみ障害原因判定ルールの照合処理を実行する。これにより、照合対象及び解析対象を絞り込むことができ、処理の負荷を軽減することができる。また、障害発生時の原因解析作業の属人化を低減することができ、かつ、障害発生時の原因解析作業時間の短縮を図ることが可能になる。なお、相関時間は、定義テンプレートによって設定可能であるので、ユーザは相関時間の長短を調節することが可能である。
【００６３】
また、あらかじめ複数のイベントの組み合わせで決まるパターンを障害原因判定ルールとして定義することにより、直接の障害原因を特定すると共に、判定条件が完全一致しない場合であっても、イベントの組み合わせが類似する場合には、同様に障害原因（可能性）を特定する。これにより、ユーザは、将来障害となりうることを予測でき、障害を事前に防止するための対策を講じることができるようになる。
【００６４】
さらに、本発明では、ある障害を構成要件となる判定条件をサブルールとし、発生したイベントであって、サブルールを満足させるイベントと、当該サブルールを１対１に対応付けて障害原因を解析する。これにより障害原因判定ルールに対するルール一致率を演算することが可能となり、ユーザに対して障害原因発生及びその可能性を判断するための指標を提示することができるようになる。その際、サブルールと発生イベントとの照合処理を実行し、一致状況をマトリクス型のキャッシュへ記録しておき、最終的にはキャッシュされたサブルール実行結果をマトリクス演算する。これにより、高速に障害原因を特定することができるようになる。
【００６５】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００６６】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００６７】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ-ＲＷ、ＣＤ-Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【符号の説明】
【００６８】
１０１…障害原因解析システム、１０２…監視対象システム、１０３…監視システム、１０４…接続アダプタ、１０５…障害原因判定ルール、１０６…一致状況生成機構、１０７…一致状況キャッシュ、１０８…障害原因判定機構、１０９…障害原因判定ルール生成機構、１１０…障害原因判定結果ダッシュボード生成機構、１１１…ディシジョンテーブル、１１２…ディスプレイモニタ、１１３…障害原因判定ルール定義テンプレート、１１４…ルール実行エンジン、２０１…障害原因判定ルール定義テンプレート、２０２…障害原因判定ルール名称、２０３…障害原因判定条件リスト、２０４…相関時間、２０５…障害原因判定結果アクション、２０６…障害原因判定条件、４０１…障害原因判定ルール、４０２…ルールＩＤ、４０３…ルール名、４０４…相関時間、４０５…アクション、４０６…サブルール、４０７…サブルールＩＤ、４０８…サブルール定義、６０１…一致状況キャッシュ、６０２…末尾イベント発生時間、６０３…イベント・ルール一致状況要素、６０４…イベントＩＤ、６０５…イベント発生時間、６０６…ルールとの一致状況、６０７…ルールＩＤ、６０８…サブルール成否、８０１…解析用一致状況マトリクス、８０２…サブルール成立状況、８０３…イベント一致状況、１００１…ディシジョンテーブル、１００２…要素数、１１０３…障害原因判定ルール成立状況要素、１００４…障害原因判定ルール、１００５…障害原因判定ルールへのポインタ、１００６…サブルールの数、１００７…サブルールの成立数、１００８…ルール一致率、１００９…成立したサブルール状況要素、１０１０…サブルールＩＤ、１０１２…イベント、１０１１…イベントへのポインタ、１１０１…障害原因解析結果一覧表示画面、１１０２…障害原因判定ルールＩＤ、１１０３…障害原因判定ルール名称、１１０４…一致率、１１０５…障害原因判定条件一致状況、１１０６…障害原因判定条件
【図１】
0005525225.tif 000002
【図２】
0005525225.tif 000003
【図３】
0005525225.tif 000004
【図４】
0005525225.tif 000005
【図５】
0005525225.tif 000006
【図６】
0005525225.tif 000007
【図７】
0005525225.tif 000008
【図８】
0005525225.tif 000009
【図９】
0005525225.tif 000010
【図１０】
0005525225.tif 000011
【図１１】
0005525225.tif 000012