障害原因解析システム及びプログラム
【課題】障害の原因となるイベントが完全に一致しなくても将来問題となりうる状態にあるかどうか予測可能とするとともに、各イベント発生の時間的相関を加味して解析し、迅速な障害原因判定処理を実現することのできる技術を提供する。
【解決手段】本発明による障害原因解析システムでは、障害原因判定ルール定義テンプレートを基にして、障害原因判定ルールを生成し、特有の一致状況キャッシュ及び一致状況マトリクスを用いて障害原因の判定を行う。その際、相関時間の概念を導入し、全イベントから関連あるイベントを解析対象とすることによって、解析対象を削減する。なお、一致状況キャッシュを利用することにより、イベントと障害原因判定ルールの照合処理を削減することが可能となる。
【解決手段】本発明による障害原因解析システムでは、障害原因判定ルール定義テンプレートを基にして、障害原因判定ルールを生成し、特有の一致状況キャッシュ及び一致状況マトリクスを用いて障害原因の判定を行う。その際、相関時間の概念を導入し、全イベントから関連あるイベントを解析対象とすることによって、解析対象を削減する。なお、一致状況キャッシュを利用することにより、イベントと障害原因判定ルールの照合処理を削減することが可能となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、障害原因解析システム及びプログラムに関する。
【背景技術】
【0002】
製造業や通信、金融など、システム障害が事業や社会に大きく影響するような企業においては、事業継続計画の観点などから、システム障害発生時の原因解析時間の短縮、ならびに、障害復旧時間の短縮の実現が強く求められている。そして、ITシステムのシステム障害発生時には、システム障害の原因を迅速に特定することが早期復旧のために重要であるが、一般的には、システム障害の原因解析作業は、障害対応手順書等の資料を元に手作業に行っており、時間短縮には限度がある。また、ITシステムの改変によって、過去に作成した障害対応手順書等の資料が陳腐化し、実態と合わなくなった場合においては、システム障害の原因解析が極めて困難になる。システム障害の原因解析作業を手作業で行う限りにおいては、システム障害の原因解析作業の能力は属人化し、システム障害からの復旧を遅延させる要因のひとつになっている。
【0003】
このような問題点に対処するために、システム障害の原因解析をシステム化した障害原因解析システムが考えられている。
【0004】
従来の障害原因解析システム(例えば、特許文献1乃至3)は、ITシステムの監視系から送られてくるイベント群の並びを特定するための推論型ルール(もしAならばB、そうでないならばC)を定義しておき、推論型ルールを実行するエンジンを用いて、監視系から送られてきたイベントの並びが推論型ルールと一致するかを判定し、一致すれば障害原因を特定するものである。つまり、あらかじめ障害原因に一致するイベント列の並びのパターンを登録しておき、障害原因を判定する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−252074号公報
【特許文献2】特開2004−362188号公報
【特許文献3】WO04/061681号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の障害原因解析システムは、推論型ルールを用いてイベントの並びから障害原因を対応付けているため、推論型ルールに完全に一致しなければ、原因が特定できないという欠点がある。例えば、4つのイベントE1、E2、E3、E4が、この順で揃った場合に障害原因C1であることを特定する場合において、これらすべてのイベントが完全に揃った場合のみ、障害原因C1であることが特定可能であるが、E3が欠落して、3つのイベントE1、E2、E4を受け取った場合には、障害原因C1の可能性を検出することが困難である。このように、従来の障害原因解析システムには、推論型ルールを用いてイベントの並びから障害原因を対応付けているため、推論型ルールに完全に一致しなければ、原因が特定できないという問題がある。
【0007】
また、従来の障害原因解析システムは、イベントが発生した時間によるイベント間の相関関係を加味して、イベントの並びを判定することができないという欠点がある。例えば、イベントE1、E2が短時間に続けて発生した場合には障害原因C2と特定する場合において、E1とE2の発生感覚が極めて長時間の場合には、論理的には連続したイベントであるが障害原因C2とは特定しないケースであるを想定した場合、このようなケースの判別が従来技術では困難である。このように、従来の障害原因解析システムには、イベントが発生した時間によるイベント間の相関関係を加味して、イベントの並びを判定することができないという問題がある。
【0008】
本発明はこのような状況に鑑みてなされたものであり、障害の原因となるイベントが完全に一致しなくても将来問題となりうる状態にあるかどうか予測可能とするとともに、各イベント発生の時間的相関を加味して解析し、迅速な障害原因判定処理を実現することのできる技術を提供するものである。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明では、障害原因発生の判定処理に相関時間の概念を導入し、全イベントから関連あるイベントを解析対象とすることによって、解析対象を削減する。また、一致状況キャッシュを利用してイベントと障害原因判定ルールの照合処理を削減する。
【0010】
本発明では、ITシステムにおいてシステム障害が発生した際に、ITシステムの監視系から送られてくるイベント群を対象にして、あらかじめ複数のイベントの組み合わせで決まるパターンを障害原因判定ルールとして定義することにより、直接の障害原因を特定するようにしている。また、判定条件が完全一致しない場合であっても、イベントの組み合わせが類似する場合には、同様に障害原因(可能性)を特定するようにしている。
【0011】
即ち、本発明による障害原因解析システムは、監視対象システムにおいて発生したイベントを受信するイベント受信部と、障害の名称と、監視対象システムからの受信したイベントのうち解析すべき対象を絞り込むための相対的な期間を示す相関時間と、障害原因があると判定するための複数の判定条件に対応する複数のサブルールと、を含む障害原因判定ルールの複数のサブルールと受信したイベントとを照合し、当該照合結果に基準時間を付与して一致状況情報群を生成する一致状況生成部と、一致状況生成部によって生成された一致状況情報群のうち、基準時間から前記相対時間内に発生したイベントに対応する解析用一致状況情報を取り出し、当該取り出した解析用一致状況情報の中での判定条件の成立状況を解析する障害原因解析部と、解析結果を出力する結果出力部と、を備える。
【0012】
ここで、障害原因解析部は、解析用一致状況情報において、サブルールと当該サブルールを成立させるイベントとを1対1に対応させる処理を実行し、全サブルールに対する、サブルールを成立させるイベントの割合(一致率)を算出することにより、判定条件の成立状況を解析する。より詳細には、障害原因解析部は、複数のサブルールと受信したイベントとのマトリクスを生成してサブルールとイベントとの対応関係を確認し、当該マトリクス上で1つのサブルールに対して複数のイベントが成立している場合には、以下の処理a及びbを実行する。
処理a:1対1に対応するサブルールとイベントのペアについては、当該サブルール以外のサブルールの成立状況を不成立とする。
処理b:処理aを実行した後、依然として複数のイベントが対応するサブルールがあるときには、任意のイベントを当該サブルールに対応させることにより、1対1の関係を構築する。
【0013】
そして、結果出力部は、障害の名称に対応させて、一致率と何れの判定条件が成立したかを示す情報を画面表示する。
【0014】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【0015】
本発明によれば、障害の原因となるイベントが完全に一致しなくても将来問題となりうる状態にあるかどうか予測することが可能となり、各イベント発生の時間的相関を加味して解析し、迅速な障害原因判定処理を実現することができるようになる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態による障害原因解析システム構成の一例を示す図である。
【図2】本発明の実施形態による障害原因判定ルール定義テンプレートのデータ構造の一例を示す図である。
【図3】本発明の実施形態による障害原因判定ルールのデータ構造の一例を示す図である。
【図4】障害原因判定ルールを作成する場合の処理を説明するためのフローチャートである。
【図5】障害原因判定ルールとイベントの一致状況を作成する場合の処理を説明するためのフローチャートである。
【図6】本発明の実施形態による障害原因判定ルールとイベントの一致状況キャッシュのデータ構造の一例を示す図である。
【図7】障害原因判定ルールを解析するため解析対象の一致状況を選出する場合の処理を説明するためのフローチャートである。
【図8】障害原因判定ルール解析するため解析用の一致状況マトリクスの構成の一例を示す図である。
【図9】障害原因判定ルールとイベントの一致状況を解析する場合の処理を説明するためのフローチャートである。
【図10】本発明の実施形態によるディシジョンテーブルのデータ構造例を示す図である。
【図11】本発明の実施形態による障害原因解析結果一覧表示画面例を示す図である。
【発明を実施するための最良の形態】
【0017】
本発明は、ITシステムにおいてシステム障害が発生した際に、ITシステムの監視系から送られてくるイベント群を対象にして、あらかじめ複数のイベントの組み合わせで決まるパターンを障害原因判定ルールとして定義しておき、直接の障害原因を特定する、および、イベントの組み合わせが類似のパターンについても同様に障害原因を特定する、障害原因解析システムに関するものである。
【0018】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【0019】
<障害原因解析システムの構成>
図1は、本発明の実施形態による障害原因解析システムの概略構成を示す図である。図1に示すように、本実施形態による障害原因解析システム101は、監視システム103が監視対象システム(例えば、DBサーバ)102をログ監視等することによって得たイベントを受信してイベントの内容を解釈するための接続アダプタ104と、ユーザがテンプレートに従って入力した障害原因判定ルール定義113から生成された障害原因判定ルール(格納部)105と、ルール実行エンジン114を用いてイベントと障害原因判定ルール105の一致状況に関する情報を生成する一致状況生成機構106と、生成された一致状況を蓄積するための一致状況キャッシュ107と、一致状況キャッシュ107の情報に基づいて障害原因を判定する障害原因判定機構108と、障害原因判定ルール定義113から障害判定ルールを生成する障害原因判定ルール生成機構109と、障害原因判定結果ダッシュボード生成機構110と、一致判定結果を集計するためのディシジョンテーブル111と、を備えている。なお、図1では、ルール実行エンジン114は障害原因解析システム101とは別の構成要素として示されているが、障害原因解析システム101の構成に含まれるものであっても良い。また、ルール実行エンジン114は、一致状況生成機構106の1つの機能として実現されるようにしても良い。
【0020】
本構成では、障害原因判定ルール定義テンプレート113を基にして、当該テンプレートで定義されたイベント列の並びのパターンが完全一致すること、および、部分一致することを判定するための障害原因判定ルール105が生成される。また、一致状況生成機構106及び障害原因判定機構108を用いて障害原因の判定が行われ、組み合わせパターンの一致状況が視覚的に表示されるようになっている。
【0021】
図1において、監視システム103が障害を監視する対象となるシステム102を監視し、監視システム103であらかじめ設定された条件に従ってイベントを送出する。障害原因解析システム101は、接続アダプタ104によって監視システム103からイベントを受信する。そして、一致状況生成機構106は、ルール実行エンジン114にイベントに対して障害原因判定ルールを実行させ、障害原因判定ルールのサブルールがイベントと一致した状況(サブルールがどのイベントによって成立する情報)を生成して、一致状況キャッシュ107に蓄積する。
【0022】
また、障害原因判定機構108は、分析対象である障害原因判定ルール105に関連する一致状況を一致状況キャッシュ107から抽出し、該当障害原因判定ルールの成立状況を分析してディシジョンテーブル111に出力する。そして、障害原因判定結果ダッシュボード生成機構110は、判定結果をダッシュボード上に視覚化して、それをディスプレイモニタ112に表示する。
【0023】
<障害原因判定ルール定義テンプレート>
図2は、障害原因判定ルール定義テンプレートの例を示す図である。障害原因判定ルール定義テンプレート201は、障害原因判定ルール名称202(例えば、HDD障害やCPU障害といった障害の名称)と、障害原因判定条件リスト203と、当該障害原因を判定するためのイベントを取得する時間間隔を示す相関時間204と、障害発生と判断された場合に採るべきアクションを示す障害原因判定結果アクション205とから構成される。また、障害原因判定条件リスト203は、障害原因判定条件206の配列から構成される。各項目は、ユーザによってGUI等に表示されたフォーマットに従い入力されるものである。
【0024】
<障害原因判定ルール>
図3は、障害原因判定ルールの例を示す図である。障害原因判定ルール301は、入力された障害原因判定ルール定義201に基づいて生成され、ルールID302と、障害原因判定ルール名称202に対応するルール名303と、相関時間204に対応する相関時間304と障害原因判定結果アクション205に対応するアクション305と、障害原因判定ルール定義テンプレート中に記述された障害原因条件判定リストの各障害原因判定条件に対応するサブルール306と、の配列から構成される。サブルール306は、1つの障害原因判定条件が成立したときに、対応するサブルールIDを出力するという内容となっている。つまり、ルール実行エンジン114において、受信したイベントの中の属性情報と各判定条件とが照合され、両者が一致する場合にサブルールIDが出力されるようになっている。従って、全てのサブルールを実行し終えた後に、出力を解析することにより、障害原因判定ルールの成立状況が把握できることになる。
【0025】
<障害原因判定ルールの生成処理>
図4は、障害原因判定ルール生成機構109が、入力された障害原因判定ルール定義テンプレート113に基づいて障害原因判定ルール105を生成する処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【0026】
障害原因判定ルール生成機構109は、入力された障害原因判定ルール定義テンプレート113を取得し、これに基づいて、障害原因判定ルール301の基本情報(ルールID302、ルール名303、相関時間304、アクション305)を生成する(ステップ401)。このステップでは、テンプレートの情報を適切な言語に翻訳することにより、言わばルール作成の準備処理が行われる。
【0027】
また、障害原因判定ルール生成機構109は、障害原因判定ルール定義テンプレート113における障害原因判定条件リスト203から、障害原因判定条件206を1つ取り出す(ステップ402)。
【0028】
そして、取り出した障害原因判定条件206が成立した場合、障害原因判定ルール生成機構109は、障害原因判定条件の順番によって振られる自分自身のサブルールID307を出力する動作をもつルールを障害原因判定ルール301のサブルール306として生成する(ステップ403)。
【0029】
次に、障害原因判定ルール生成機構109は、障害原因判定条件リスト203中に、未処理の障害原因判定条件206があるか判定し、未処理のものがあれば処理をステップ402に移行させる(ステップ404)。全てについて処理済であれば、処理はステップ405に移行する。
【0030】
最後に、障害原因判定ルール生成機構109は、生成された基本情報とサブルールを組み合わせて、障害原因判定ルール301として出力する(ステップ405)。
【0031】
<一致状況キャッシュの構造>
図5は、接続アダプタ104から受信したイベントと生成された障害原因判定ルールとの一致状況をイベント発生時間の昇順で蓄積する一致状況キャッシュのデータ構造の一例を示す図である。
【0032】
一致状況キャッシュ501は、相関時間を基に解析対象のイベントを取得するための基準時間となる末尾イベント発生時間502と、イベント・ルール一致状況要素503の配列で構成される。図5において、イベント・ルール一致状況要素[1]が最古の要素であり、一致状況要素[N]が最新の要素である。
【0033】
また、イベント・ルール一致状況要素503は、イベントID504と、イベント発生時間505と、ルールとの一致状況506との配列で構成される。さらに、ルールとの一致状況506は、ルールj(例えば、HDD障害)に対応するルールID507と、ルールを構成する各サブルールの成否508の配列で構成される。
【0034】
<イベント・ルール一致状況生成処理>
図6は、一致状況生成機構106が、接続アダプタ104から受信したイベントと生成された障害原因判定ルール105の一致状況を生成する処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【0035】
まず、一致状況生成機構106は障害原因判定ルール105を読込み、該当障害原因判定ルールに含めるサブルールをルール実行エンジン114にデプロイする(ステップ601)。つまり、ルール実行エンジン114が各判定条件とイベントの照合処理ができるように準備処理が実行される。
【0036】
一致状況生成機構106は、接続アダプタ104から受信したイベントをルール実行エンジン114に挿入し、障害原因判定ルールのサブルール(照合処理)を実行する。この時点では、ルール実行エンジン114が各サブルールの成否判定の情報を保持している(ステップ602)。
【0037】
一致状況生成機構106は、挿入されたイベントとサブルールの一致状況を保持するためのイベント・ルール一致状況要素503を生成する(ステップ603)。この段階では、各サブルールの成否判定情報は入力されていない。
【0038】
次に、一致状況生成機構106は、ルール実行エンジン114の出力から、イベントと一致したサブルールIDを1つ取得する(ステップ604)。そして、一致状況生成機構106は、取得したサブルールIDについて、生成されたイベント・ルール一致状況要素503にある、該当サブルールが所属するルールとの一致状況506の欄に該当サブルールの成否508の状態を入力する(ステップ605)。また、一致状況生成機構106は、ルール実行エンジン114の出力の中に、未処理のサブルールがあるか判定する。未処理のものがあれば、処理はステップ604へ戻り、全て処理済ならば処理はステップS607に移行する(ステップ606)。
【0039】
最後に、一致状況生成機構106は、挿入されたイベントの一致状況要素をイベントの発生時間について昇順で一致状況キャッシュ107に挿入する(ステップ607)。
【0040】
<障害原因解析処理>
図7は、障害原因判定機構108が、一致状況キャッシュ107から、ある障害原因判定ルールに対して障害原因を解析するため、解析対象である一致状況を選出する場合の処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【0041】
障害原因判定機構108は、障害原因判定ルール105から該当ルールの相関時間304を取得し、一致状況キャッシュ107から末尾イベント発生時間502を取得する。そして、障害原因判定機構108は、相関時間304と末尾イベント発生時間502から、指定された障害原因判定ルールと相関するイベントの発生時間範囲、つまり解析対象である一致状況のイベント発生時間の範囲を特定する(ステップ701)。
【0042】
次に、障害原因判定機構108は、一致状況キャッシュ107の末尾からイベント・ルール一致状況要素503を1つ取り出し(ステップ702)、該当イベント・ルール一致状況要素のイベント発生時間505を取り出す(ステップ703)。
【0043】
続いて、障害原因判定機構108は、該当イベント発生時間505が解析対象のイベント発生時間範囲内にあるか否か判断し、範囲内になければ、処理を終了させる。範囲内にあれば、処理はステップ705に移行する(ステップ704)。
【0044】
障害原因判定機構108は、該当イベント・ルール一致状況要素から指定された障害原因判定ルールの一致状況を抽出し(ステップ705)、抽出された一致状況を解析対象一致状況リストの末尾に追加する(ステップ706)。
【0045】
そして、障害原因判定機構108は、一致状況キャッシュ107に未取り出しのイベント・ルール一致状況要素が残っていれば、処理を再度ステップ702に移行させる(ステップ707)。
【0046】
以上の処理によって、基準時間(末尾イベント発生時間)から相関時間分のイベントとサブルールの成否情報を一致状況キャッシュから抽出される。
【0047】
<一致状況マトリックス>
図8は、ある障害原因判定ルールに対して、障害原因を解析するための一致状況マトリクスの一例を示す図である。この解析用一致状況マトリクス801は、図7に示すフローチャートで抽出された解析対象一致状況リストから生成される。解析用一致状況マトリクス801の各行は指定された障害原因判定ルールのサブルールが各イベントで成立状況を示す情報802であり、各列は指定された障害原因判定ルールと相関するイベントが各サブルールとの一致状況803である。
【0048】
本来であれば、1つのサブルールには1つのイベントしか対応していないはずである。そこで、これらを1対1に対応付ける処理が必要となる。この対応付けの処理が図9のフローチャートで示される処理に含まれている。
【0049】
<障害原因解析処理>
図9は、障害原因判定機構108が、図8に示す解析用一致状況マトリクスを用いて、障害原因を解析し、ディシジョンテーブルを生成する処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【0050】
まず、障害原因判定機構108は、図8のマトリクスにおいて、全てのイベントによって各サブルールが成立した回数を集計する(ステップ901)。例えば、サブルール1については「3」、サブルール2については「1」、・・・、サブルールLについては「2」となる。
【0051】
そして、障害原因判定機構108は、イベントが1回しか成立しないサブルールがあるか否か判定する(ステップ902)。1回のみ成立するサブルールがあると判断されれば(ステップ902でYes)、処理はステップ904へ進む。一方、そのようなサブルールがない場合(ステップ902でNo)には、処理はステップ903に進む。
【0052】
障害原因判定機構108は、イベントが2回以上成立したサブルールがあるか否か判定する(ステップ903)。2回以上成立するサブルールがあれば(ステップ903でYes)、処理はステップ905に進む。一方、そのようなサブルールがない場合には(ステップ903でNo)、処理はステップ910へ進む。
【0053】
障害原因判定機構108は、1回しか成立しないサブルール(複数があった場合、いずれを選出)については、それをマッチサブルールとし、成立させたイベントをマッチイベントとする(ステップ904)。
【0054】
また、障害原因判定機構108は、イベントが2回以上成立したサブルールについては、それらの中から成立した回数が最も少ないサブルール(複数があった場合、いずれを選出)をマッチサブルールとし、成立させたイベントをマッチイベントとする(ステップ905)。例えば、イベントが2回以上成立したサブルールが1つあった場合、何れか任意のイベントと当該サブルールをペアとしてマッチイベントとする。また、例えば、図8において、サブルール2とイベントEblをマッチさせた後は、サブルール1とサブルールLにおいて、同じイベントEalとEmlが成立することになるが、サブルール1に対してイベントEalをマッチさせ、サブルールLに対してイベントEmlをマッチさせることができる。
【0055】
続いて、障害原因判定機構108は、選出されたマッチサブルールのIDとマッチイベントのIDのペアを解析結果として出力し(ステップ906)、全てのサブルールと該当マッチイベントとの成立状況を不成立(0)にし(ステップ907)、当該マッチサブルールを集計対象外に設定する(ステップ908)。そして、集計対象であるサブルールが残っていれば、処理はステップ901へ戻る(ステップ909)。
【0056】
最後に、障害原因判定機構108は、出力された解析結果を整理し、障害原因判定ルール成立状況要素1003としてディシジョンテーブル1001に出力する(ステップ910)。
【0057】
<ディシジョンテーブルの構造>
図10は、障害原因部分一致判定機構108が障害原因判定ルール105とイベントの一致状況を解析し、障害原因判定ルールの成立状況を把握するために用いるディシジョンテーブル111のデータ構造の一例を示す図である。
【0058】
ディシジョンテーブル1001は、要素数(N)1002と障害原因判定ルール成立状況要素1003の配列で構成される。また、障害原因判定ルール成立状況要素1003は、障害原因判定ルール1004(301に対応)へのポインタ1005と、サブルールの数(M)1006と、サブルールの成立数(K)1007と、ルール一致率(R)1008と、成立したサブルール状況要素1009と、を要素とする配列で構成される。さらに、成立したサブルール状況要素1009は、サブルールID1010と該当サブルールを成立させるイベント1012へのポインタ1011で構成される。そして、各障害原因判定ルール成立状況要素1003に対して、サブルールの成立数(K)1007をサブルールの数(M)1006で除した結果の百分率が、当該障害原因判定ルールに対するルール一致率(R)1008である。
【0059】
例えば、障害原因解析処理(図9)を実行した後、図8の解析用の一致状況マトリクスにおいて、サブルール1がイベントEalと、サブルール2がイベントEblと、・・・サブルールLがイベントEmlとペアとされたとすると、サブルールの数M1006はL個、サブルールの成立数K1007は3個となる。
【0060】
<障害原因解析結果一覧表示>
図11は、障害原因部分一致判定機構108がディシジョンテーブル111に基づいて生成する障害原因解析結果一覧の表示画面の例を示す図である。障害原因解析結果一覧表示画面1101は、二次元表形式になっている。画面における各行は、障害の原因として可能性が高い順にソートして表示される。各行を構成する列は、障害原因判定ルールID1102と、障害原因判定ルール名称1103と、一致率1104(1008に対応)と、障害原因判定条件一致状況1105と、から構成される。
【0061】
障害原因判定ルールID1102は、一致判定の基になった障害原因判定ルール定義テンプレートのID、或いは障害原因判定ルールのルールID301に対応するものである。障害原因判定ルール名称1103は、一致判定の基になった障害原因判定ルール定義テンプレートの名称に対応する。一致率1104は、障害原因判定ルール定義テンプレートで定義された障害原因判定条件リスト中の障害原因判定条件が一致した割合を表す。障害原因判定条件成立状況1105は、一致判定の基になった障害原因判定ルール定義テンプレート中に記述された障害原因条件判定リストの各障害原因判定条件の一致状況を個別に示す表示であり、一致した障害原因判定条件を「星」として表示し、識別可能にすることにより、障害原因判定条件の一致、不一致が一目瞭然になる。
【0062】
<まとめ>
本発明では、障害原因発生の判定処理に相関時間(解析すべきイベントを取得するための期間であって、この期間中に発生したイベントが解析対象となる。)の概念を導入し、監視対象のシステムが発生した全イベントから関連あるイベントを解析対象とし、また、関連あるイベントに関してのみ障害原因判定ルールの照合処理を実行する。これにより、照合対象及び解析対象を絞り込むことができ、処理の負荷を軽減することができる。また、障害発生時の原因解析作業の属人化を低減することができ、かつ、障害発生時の原因解析作業時間の短縮を図ることが可能になる。なお、相関時間は、定義テンプレートによって設定可能であるので、ユーザは相関時間の長短を調節することが可能である。
【0063】
また、あらかじめ複数のイベントの組み合わせで決まるパターンを障害原因判定ルールとして定義することにより、直接の障害原因を特定すると共に、判定条件が完全一致しない場合であっても、イベントの組み合わせが類似する場合には、同様に障害原因(可能性)を特定する。これにより、ユーザは、将来障害となりうることを予測でき、障害を事前に防止するための対策を講じることができるようになる。
【0064】
さらに、本発明では、ある障害を構成要件となる判定条件をサブルールとし、発生したイベントであって、サブルールを満足させるイベントと、当該サブルールを1対1に対応付けて障害原因を解析する。これにより障害原因判定ルールに対するルール一致率を演算することが可能となり、ユーザに対して障害原因発生及びその可能性を判断するための指標を提示することができるようになる。その際、サブルールと発生イベントとの照合処理を実行し、一致状況をマトリクス型のキャッシュへ記録しておき、最終的にはキャッシュされたサブルール実行結果をマトリクス演算する。これにより、高速に障害原因を特定することができるようになる。
【0065】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0066】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【0067】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【符号の説明】
【0068】
101…障害原因解析システム、102…監視対象システム、103…監視システム、104…接続アダプタ、105…障害原因判定ルール、106…一致状況生成機構、107…一致状況キャッシュ、108…障害原因判定機構、109…障害原因判定ルール生成機構、110…障害原因判定結果ダッシュボード生成機構、111…ディシジョンテーブル、112…ディスプレイモニタ、113…障害原因判定ルール定義テンプレート、114…ルール実行エンジン、201…障害原因判定ルール定義テンプレート、202…障害原因判定ルール名称、203…障害原因判定条件リスト、204…相関時間、205…障害原因判定結果アクション、206…障害原因判定条件、401…障害原因判定ルール、402…ルールID、403…ルール名、404…相関時間、405…アクション、406…サブルール、407…サブルールID、408…サブルール定義、601…一致状況キャッシュ、602…末尾イベント発生時間、603…イベント・ルール一致状況要素、604…イベントID、605…イベント発生時間、606…ルールとの一致状況、607…ルールID、608…サブルール成否、801…解析用一致状況マトリクス、802…サブルール成立状況、803…イベント一致状況、1001…ディシジョンテーブル、1002…要素数、1103…障害原因判定ルール成立状況要素、1004…障害原因判定ルール、1005…障害原因判定ルールへのポインタ、1006…サブルールの数、1007…サブルールの成立数、1008…ルール一致率、1009…成立したサブルール状況要素、1010…サブルールID、1012…イベント、1011…イベントへのポインタ、1101…障害原因解析結果一覧表示画面、1102…障害原因判定ルールID、1103…障害原因判定ルール名称、1104…一致率、1105…障害原因判定条件一致状況、1106…障害原因判定条件
【技術分野】
【0001】
本発明は、障害原因解析システム及びプログラムに関する。
【背景技術】
【0002】
製造業や通信、金融など、システム障害が事業や社会に大きく影響するような企業においては、事業継続計画の観点などから、システム障害発生時の原因解析時間の短縮、ならびに、障害復旧時間の短縮の実現が強く求められている。そして、ITシステムのシステム障害発生時には、システム障害の原因を迅速に特定することが早期復旧のために重要であるが、一般的には、システム障害の原因解析作業は、障害対応手順書等の資料を元に手作業に行っており、時間短縮には限度がある。また、ITシステムの改変によって、過去に作成した障害対応手順書等の資料が陳腐化し、実態と合わなくなった場合においては、システム障害の原因解析が極めて困難になる。システム障害の原因解析作業を手作業で行う限りにおいては、システム障害の原因解析作業の能力は属人化し、システム障害からの復旧を遅延させる要因のひとつになっている。
【0003】
このような問題点に対処するために、システム障害の原因解析をシステム化した障害原因解析システムが考えられている。
【0004】
従来の障害原因解析システム(例えば、特許文献1乃至3)は、ITシステムの監視系から送られてくるイベント群の並びを特定するための推論型ルール(もしAならばB、そうでないならばC)を定義しておき、推論型ルールを実行するエンジンを用いて、監視系から送られてきたイベントの並びが推論型ルールと一致するかを判定し、一致すれば障害原因を特定するものである。つまり、あらかじめ障害原因に一致するイベント列の並びのパターンを登録しておき、障害原因を判定する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−252074号公報
【特許文献2】特開2004−362188号公報
【特許文献3】WO04/061681号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の障害原因解析システムは、推論型ルールを用いてイベントの並びから障害原因を対応付けているため、推論型ルールに完全に一致しなければ、原因が特定できないという欠点がある。例えば、4つのイベントE1、E2、E3、E4が、この順で揃った場合に障害原因C1であることを特定する場合において、これらすべてのイベントが完全に揃った場合のみ、障害原因C1であることが特定可能であるが、E3が欠落して、3つのイベントE1、E2、E4を受け取った場合には、障害原因C1の可能性を検出することが困難である。このように、従来の障害原因解析システムには、推論型ルールを用いてイベントの並びから障害原因を対応付けているため、推論型ルールに完全に一致しなければ、原因が特定できないという問題がある。
【0007】
また、従来の障害原因解析システムは、イベントが発生した時間によるイベント間の相関関係を加味して、イベントの並びを判定することができないという欠点がある。例えば、イベントE1、E2が短時間に続けて発生した場合には障害原因C2と特定する場合において、E1とE2の発生感覚が極めて長時間の場合には、論理的には連続したイベントであるが障害原因C2とは特定しないケースであるを想定した場合、このようなケースの判別が従来技術では困難である。このように、従来の障害原因解析システムには、イベントが発生した時間によるイベント間の相関関係を加味して、イベントの並びを判定することができないという問題がある。
【0008】
本発明はこのような状況に鑑みてなされたものであり、障害の原因となるイベントが完全に一致しなくても将来問題となりうる状態にあるかどうか予測可能とするとともに、各イベント発生の時間的相関を加味して解析し、迅速な障害原因判定処理を実現することのできる技術を提供するものである。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明では、障害原因発生の判定処理に相関時間の概念を導入し、全イベントから関連あるイベントを解析対象とすることによって、解析対象を削減する。また、一致状況キャッシュを利用してイベントと障害原因判定ルールの照合処理を削減する。
【0010】
本発明では、ITシステムにおいてシステム障害が発生した際に、ITシステムの監視系から送られてくるイベント群を対象にして、あらかじめ複数のイベントの組み合わせで決まるパターンを障害原因判定ルールとして定義することにより、直接の障害原因を特定するようにしている。また、判定条件が完全一致しない場合であっても、イベントの組み合わせが類似する場合には、同様に障害原因(可能性)を特定するようにしている。
【0011】
即ち、本発明による障害原因解析システムは、監視対象システムにおいて発生したイベントを受信するイベント受信部と、障害の名称と、監視対象システムからの受信したイベントのうち解析すべき対象を絞り込むための相対的な期間を示す相関時間と、障害原因があると判定するための複数の判定条件に対応する複数のサブルールと、を含む障害原因判定ルールの複数のサブルールと受信したイベントとを照合し、当該照合結果に基準時間を付与して一致状況情報群を生成する一致状況生成部と、一致状況生成部によって生成された一致状況情報群のうち、基準時間から前記相対時間内に発生したイベントに対応する解析用一致状況情報を取り出し、当該取り出した解析用一致状況情報の中での判定条件の成立状況を解析する障害原因解析部と、解析結果を出力する結果出力部と、を備える。
【0012】
ここで、障害原因解析部は、解析用一致状況情報において、サブルールと当該サブルールを成立させるイベントとを1対1に対応させる処理を実行し、全サブルールに対する、サブルールを成立させるイベントの割合(一致率)を算出することにより、判定条件の成立状況を解析する。より詳細には、障害原因解析部は、複数のサブルールと受信したイベントとのマトリクスを生成してサブルールとイベントとの対応関係を確認し、当該マトリクス上で1つのサブルールに対して複数のイベントが成立している場合には、以下の処理a及びbを実行する。
処理a:1対1に対応するサブルールとイベントのペアについては、当該サブルール以外のサブルールの成立状況を不成立とする。
処理b:処理aを実行した後、依然として複数のイベントが対応するサブルールがあるときには、任意のイベントを当該サブルールに対応させることにより、1対1の関係を構築する。
【0013】
そして、結果出力部は、障害の名称に対応させて、一致率と何れの判定条件が成立したかを示す情報を画面表示する。
【0014】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【0015】
本発明によれば、障害の原因となるイベントが完全に一致しなくても将来問題となりうる状態にあるかどうか予測することが可能となり、各イベント発生の時間的相関を加味して解析し、迅速な障害原因判定処理を実現することができるようになる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態による障害原因解析システム構成の一例を示す図である。
【図2】本発明の実施形態による障害原因判定ルール定義テンプレートのデータ構造の一例を示す図である。
【図3】本発明の実施形態による障害原因判定ルールのデータ構造の一例を示す図である。
【図4】障害原因判定ルールを作成する場合の処理を説明するためのフローチャートである。
【図5】障害原因判定ルールとイベントの一致状況を作成する場合の処理を説明するためのフローチャートである。
【図6】本発明の実施形態による障害原因判定ルールとイベントの一致状況キャッシュのデータ構造の一例を示す図である。
【図7】障害原因判定ルールを解析するため解析対象の一致状況を選出する場合の処理を説明するためのフローチャートである。
【図8】障害原因判定ルール解析するため解析用の一致状況マトリクスの構成の一例を示す図である。
【図9】障害原因判定ルールとイベントの一致状況を解析する場合の処理を説明するためのフローチャートである。
【図10】本発明の実施形態によるディシジョンテーブルのデータ構造例を示す図である。
【図11】本発明の実施形態による障害原因解析結果一覧表示画面例を示す図である。
【発明を実施するための最良の形態】
【0017】
本発明は、ITシステムにおいてシステム障害が発生した際に、ITシステムの監視系から送られてくるイベント群を対象にして、あらかじめ複数のイベントの組み合わせで決まるパターンを障害原因判定ルールとして定義しておき、直接の障害原因を特定する、および、イベントの組み合わせが類似のパターンについても同様に障害原因を特定する、障害原因解析システムに関するものである。
【0018】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【0019】
<障害原因解析システムの構成>
図1は、本発明の実施形態による障害原因解析システムの概略構成を示す図である。図1に示すように、本実施形態による障害原因解析システム101は、監視システム103が監視対象システム(例えば、DBサーバ)102をログ監視等することによって得たイベントを受信してイベントの内容を解釈するための接続アダプタ104と、ユーザがテンプレートに従って入力した障害原因判定ルール定義113から生成された障害原因判定ルール(格納部)105と、ルール実行エンジン114を用いてイベントと障害原因判定ルール105の一致状況に関する情報を生成する一致状況生成機構106と、生成された一致状況を蓄積するための一致状況キャッシュ107と、一致状況キャッシュ107の情報に基づいて障害原因を判定する障害原因判定機構108と、障害原因判定ルール定義113から障害判定ルールを生成する障害原因判定ルール生成機構109と、障害原因判定結果ダッシュボード生成機構110と、一致判定結果を集計するためのディシジョンテーブル111と、を備えている。なお、図1では、ルール実行エンジン114は障害原因解析システム101とは別の構成要素として示されているが、障害原因解析システム101の構成に含まれるものであっても良い。また、ルール実行エンジン114は、一致状況生成機構106の1つの機能として実現されるようにしても良い。
【0020】
本構成では、障害原因判定ルール定義テンプレート113を基にして、当該テンプレートで定義されたイベント列の並びのパターンが完全一致すること、および、部分一致することを判定するための障害原因判定ルール105が生成される。また、一致状況生成機構106及び障害原因判定機構108を用いて障害原因の判定が行われ、組み合わせパターンの一致状況が視覚的に表示されるようになっている。
【0021】
図1において、監視システム103が障害を監視する対象となるシステム102を監視し、監視システム103であらかじめ設定された条件に従ってイベントを送出する。障害原因解析システム101は、接続アダプタ104によって監視システム103からイベントを受信する。そして、一致状況生成機構106は、ルール実行エンジン114にイベントに対して障害原因判定ルールを実行させ、障害原因判定ルールのサブルールがイベントと一致した状況(サブルールがどのイベントによって成立する情報)を生成して、一致状況キャッシュ107に蓄積する。
【0022】
また、障害原因判定機構108は、分析対象である障害原因判定ルール105に関連する一致状況を一致状況キャッシュ107から抽出し、該当障害原因判定ルールの成立状況を分析してディシジョンテーブル111に出力する。そして、障害原因判定結果ダッシュボード生成機構110は、判定結果をダッシュボード上に視覚化して、それをディスプレイモニタ112に表示する。
【0023】
<障害原因判定ルール定義テンプレート>
図2は、障害原因判定ルール定義テンプレートの例を示す図である。障害原因判定ルール定義テンプレート201は、障害原因判定ルール名称202(例えば、HDD障害やCPU障害といった障害の名称)と、障害原因判定条件リスト203と、当該障害原因を判定するためのイベントを取得する時間間隔を示す相関時間204と、障害発生と判断された場合に採るべきアクションを示す障害原因判定結果アクション205とから構成される。また、障害原因判定条件リスト203は、障害原因判定条件206の配列から構成される。各項目は、ユーザによってGUI等に表示されたフォーマットに従い入力されるものである。
【0024】
<障害原因判定ルール>
図3は、障害原因判定ルールの例を示す図である。障害原因判定ルール301は、入力された障害原因判定ルール定義201に基づいて生成され、ルールID302と、障害原因判定ルール名称202に対応するルール名303と、相関時間204に対応する相関時間304と障害原因判定結果アクション205に対応するアクション305と、障害原因判定ルール定義テンプレート中に記述された障害原因条件判定リストの各障害原因判定条件に対応するサブルール306と、の配列から構成される。サブルール306は、1つの障害原因判定条件が成立したときに、対応するサブルールIDを出力するという内容となっている。つまり、ルール実行エンジン114において、受信したイベントの中の属性情報と各判定条件とが照合され、両者が一致する場合にサブルールIDが出力されるようになっている。従って、全てのサブルールを実行し終えた後に、出力を解析することにより、障害原因判定ルールの成立状況が把握できることになる。
【0025】
<障害原因判定ルールの生成処理>
図4は、障害原因判定ルール生成機構109が、入力された障害原因判定ルール定義テンプレート113に基づいて障害原因判定ルール105を生成する処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【0026】
障害原因判定ルール生成機構109は、入力された障害原因判定ルール定義テンプレート113を取得し、これに基づいて、障害原因判定ルール301の基本情報(ルールID302、ルール名303、相関時間304、アクション305)を生成する(ステップ401)。このステップでは、テンプレートの情報を適切な言語に翻訳することにより、言わばルール作成の準備処理が行われる。
【0027】
また、障害原因判定ルール生成機構109は、障害原因判定ルール定義テンプレート113における障害原因判定条件リスト203から、障害原因判定条件206を1つ取り出す(ステップ402)。
【0028】
そして、取り出した障害原因判定条件206が成立した場合、障害原因判定ルール生成機構109は、障害原因判定条件の順番によって振られる自分自身のサブルールID307を出力する動作をもつルールを障害原因判定ルール301のサブルール306として生成する(ステップ403)。
【0029】
次に、障害原因判定ルール生成機構109は、障害原因判定条件リスト203中に、未処理の障害原因判定条件206があるか判定し、未処理のものがあれば処理をステップ402に移行させる(ステップ404)。全てについて処理済であれば、処理はステップ405に移行する。
【0030】
最後に、障害原因判定ルール生成機構109は、生成された基本情報とサブルールを組み合わせて、障害原因判定ルール301として出力する(ステップ405)。
【0031】
<一致状況キャッシュの構造>
図5は、接続アダプタ104から受信したイベントと生成された障害原因判定ルールとの一致状況をイベント発生時間の昇順で蓄積する一致状況キャッシュのデータ構造の一例を示す図である。
【0032】
一致状況キャッシュ501は、相関時間を基に解析対象のイベントを取得するための基準時間となる末尾イベント発生時間502と、イベント・ルール一致状況要素503の配列で構成される。図5において、イベント・ルール一致状況要素[1]が最古の要素であり、一致状況要素[N]が最新の要素である。
【0033】
また、イベント・ルール一致状況要素503は、イベントID504と、イベント発生時間505と、ルールとの一致状況506との配列で構成される。さらに、ルールとの一致状況506は、ルールj(例えば、HDD障害)に対応するルールID507と、ルールを構成する各サブルールの成否508の配列で構成される。
【0034】
<イベント・ルール一致状況生成処理>
図6は、一致状況生成機構106が、接続アダプタ104から受信したイベントと生成された障害原因判定ルール105の一致状況を生成する処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【0035】
まず、一致状況生成機構106は障害原因判定ルール105を読込み、該当障害原因判定ルールに含めるサブルールをルール実行エンジン114にデプロイする(ステップ601)。つまり、ルール実行エンジン114が各判定条件とイベントの照合処理ができるように準備処理が実行される。
【0036】
一致状況生成機構106は、接続アダプタ104から受信したイベントをルール実行エンジン114に挿入し、障害原因判定ルールのサブルール(照合処理)を実行する。この時点では、ルール実行エンジン114が各サブルールの成否判定の情報を保持している(ステップ602)。
【0037】
一致状況生成機構106は、挿入されたイベントとサブルールの一致状況を保持するためのイベント・ルール一致状況要素503を生成する(ステップ603)。この段階では、各サブルールの成否判定情報は入力されていない。
【0038】
次に、一致状況生成機構106は、ルール実行エンジン114の出力から、イベントと一致したサブルールIDを1つ取得する(ステップ604)。そして、一致状況生成機構106は、取得したサブルールIDについて、生成されたイベント・ルール一致状況要素503にある、該当サブルールが所属するルールとの一致状況506の欄に該当サブルールの成否508の状態を入力する(ステップ605)。また、一致状況生成機構106は、ルール実行エンジン114の出力の中に、未処理のサブルールがあるか判定する。未処理のものがあれば、処理はステップ604へ戻り、全て処理済ならば処理はステップS607に移行する(ステップ606)。
【0039】
最後に、一致状況生成機構106は、挿入されたイベントの一致状況要素をイベントの発生時間について昇順で一致状況キャッシュ107に挿入する(ステップ607)。
【0040】
<障害原因解析処理>
図7は、障害原因判定機構108が、一致状況キャッシュ107から、ある障害原因判定ルールに対して障害原因を解析するため、解析対象である一致状況を選出する場合の処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【0041】
障害原因判定機構108は、障害原因判定ルール105から該当ルールの相関時間304を取得し、一致状況キャッシュ107から末尾イベント発生時間502を取得する。そして、障害原因判定機構108は、相関時間304と末尾イベント発生時間502から、指定された障害原因判定ルールと相関するイベントの発生時間範囲、つまり解析対象である一致状況のイベント発生時間の範囲を特定する(ステップ701)。
【0042】
次に、障害原因判定機構108は、一致状況キャッシュ107の末尾からイベント・ルール一致状況要素503を1つ取り出し(ステップ702)、該当イベント・ルール一致状況要素のイベント発生時間505を取り出す(ステップ703)。
【0043】
続いて、障害原因判定機構108は、該当イベント発生時間505が解析対象のイベント発生時間範囲内にあるか否か判断し、範囲内になければ、処理を終了させる。範囲内にあれば、処理はステップ705に移行する(ステップ704)。
【0044】
障害原因判定機構108は、該当イベント・ルール一致状況要素から指定された障害原因判定ルールの一致状況を抽出し(ステップ705)、抽出された一致状況を解析対象一致状況リストの末尾に追加する(ステップ706)。
【0045】
そして、障害原因判定機構108は、一致状況キャッシュ107に未取り出しのイベント・ルール一致状況要素が残っていれば、処理を再度ステップ702に移行させる(ステップ707)。
【0046】
以上の処理によって、基準時間(末尾イベント発生時間)から相関時間分のイベントとサブルールの成否情報を一致状況キャッシュから抽出される。
【0047】
<一致状況マトリックス>
図8は、ある障害原因判定ルールに対して、障害原因を解析するための一致状況マトリクスの一例を示す図である。この解析用一致状況マトリクス801は、図7に示すフローチャートで抽出された解析対象一致状況リストから生成される。解析用一致状況マトリクス801の各行は指定された障害原因判定ルールのサブルールが各イベントで成立状況を示す情報802であり、各列は指定された障害原因判定ルールと相関するイベントが各サブルールとの一致状況803である。
【0048】
本来であれば、1つのサブルールには1つのイベントしか対応していないはずである。そこで、これらを1対1に対応付ける処理が必要となる。この対応付けの処理が図9のフローチャートで示される処理に含まれている。
【0049】
<障害原因解析処理>
図9は、障害原因判定機構108が、図8に示す解析用一致状況マトリクスを用いて、障害原因を解析し、ディシジョンテーブルを生成する処理を説明するためのフローチャートである。処理の流れは、以下のようになる。
【0050】
まず、障害原因判定機構108は、図8のマトリクスにおいて、全てのイベントによって各サブルールが成立した回数を集計する(ステップ901)。例えば、サブルール1については「3」、サブルール2については「1」、・・・、サブルールLについては「2」となる。
【0051】
そして、障害原因判定機構108は、イベントが1回しか成立しないサブルールがあるか否か判定する(ステップ902)。1回のみ成立するサブルールがあると判断されれば(ステップ902でYes)、処理はステップ904へ進む。一方、そのようなサブルールがない場合(ステップ902でNo)には、処理はステップ903に進む。
【0052】
障害原因判定機構108は、イベントが2回以上成立したサブルールがあるか否か判定する(ステップ903)。2回以上成立するサブルールがあれば(ステップ903でYes)、処理はステップ905に進む。一方、そのようなサブルールがない場合には(ステップ903でNo)、処理はステップ910へ進む。
【0053】
障害原因判定機構108は、1回しか成立しないサブルール(複数があった場合、いずれを選出)については、それをマッチサブルールとし、成立させたイベントをマッチイベントとする(ステップ904)。
【0054】
また、障害原因判定機構108は、イベントが2回以上成立したサブルールについては、それらの中から成立した回数が最も少ないサブルール(複数があった場合、いずれを選出)をマッチサブルールとし、成立させたイベントをマッチイベントとする(ステップ905)。例えば、イベントが2回以上成立したサブルールが1つあった場合、何れか任意のイベントと当該サブルールをペアとしてマッチイベントとする。また、例えば、図8において、サブルール2とイベントEblをマッチさせた後は、サブルール1とサブルールLにおいて、同じイベントEalとEmlが成立することになるが、サブルール1に対してイベントEalをマッチさせ、サブルールLに対してイベントEmlをマッチさせることができる。
【0055】
続いて、障害原因判定機構108は、選出されたマッチサブルールのIDとマッチイベントのIDのペアを解析結果として出力し(ステップ906)、全てのサブルールと該当マッチイベントとの成立状況を不成立(0)にし(ステップ907)、当該マッチサブルールを集計対象外に設定する(ステップ908)。そして、集計対象であるサブルールが残っていれば、処理はステップ901へ戻る(ステップ909)。
【0056】
最後に、障害原因判定機構108は、出力された解析結果を整理し、障害原因判定ルール成立状況要素1003としてディシジョンテーブル1001に出力する(ステップ910)。
【0057】
<ディシジョンテーブルの構造>
図10は、障害原因部分一致判定機構108が障害原因判定ルール105とイベントの一致状況を解析し、障害原因判定ルールの成立状況を把握するために用いるディシジョンテーブル111のデータ構造の一例を示す図である。
【0058】
ディシジョンテーブル1001は、要素数(N)1002と障害原因判定ルール成立状況要素1003の配列で構成される。また、障害原因判定ルール成立状況要素1003は、障害原因判定ルール1004(301に対応)へのポインタ1005と、サブルールの数(M)1006と、サブルールの成立数(K)1007と、ルール一致率(R)1008と、成立したサブルール状況要素1009と、を要素とする配列で構成される。さらに、成立したサブルール状況要素1009は、サブルールID1010と該当サブルールを成立させるイベント1012へのポインタ1011で構成される。そして、各障害原因判定ルール成立状況要素1003に対して、サブルールの成立数(K)1007をサブルールの数(M)1006で除した結果の百分率が、当該障害原因判定ルールに対するルール一致率(R)1008である。
【0059】
例えば、障害原因解析処理(図9)を実行した後、図8の解析用の一致状況マトリクスにおいて、サブルール1がイベントEalと、サブルール2がイベントEblと、・・・サブルールLがイベントEmlとペアとされたとすると、サブルールの数M1006はL個、サブルールの成立数K1007は3個となる。
【0060】
<障害原因解析結果一覧表示>
図11は、障害原因部分一致判定機構108がディシジョンテーブル111に基づいて生成する障害原因解析結果一覧の表示画面の例を示す図である。障害原因解析結果一覧表示画面1101は、二次元表形式になっている。画面における各行は、障害の原因として可能性が高い順にソートして表示される。各行を構成する列は、障害原因判定ルールID1102と、障害原因判定ルール名称1103と、一致率1104(1008に対応)と、障害原因判定条件一致状況1105と、から構成される。
【0061】
障害原因判定ルールID1102は、一致判定の基になった障害原因判定ルール定義テンプレートのID、或いは障害原因判定ルールのルールID301に対応するものである。障害原因判定ルール名称1103は、一致判定の基になった障害原因判定ルール定義テンプレートの名称に対応する。一致率1104は、障害原因判定ルール定義テンプレートで定義された障害原因判定条件リスト中の障害原因判定条件が一致した割合を表す。障害原因判定条件成立状況1105は、一致判定の基になった障害原因判定ルール定義テンプレート中に記述された障害原因条件判定リストの各障害原因判定条件の一致状況を個別に示す表示であり、一致した障害原因判定条件を「星」として表示し、識別可能にすることにより、障害原因判定条件の一致、不一致が一目瞭然になる。
【0062】
<まとめ>
本発明では、障害原因発生の判定処理に相関時間(解析すべきイベントを取得するための期間であって、この期間中に発生したイベントが解析対象となる。)の概念を導入し、監視対象のシステムが発生した全イベントから関連あるイベントを解析対象とし、また、関連あるイベントに関してのみ障害原因判定ルールの照合処理を実行する。これにより、照合対象及び解析対象を絞り込むことができ、処理の負荷を軽減することができる。また、障害発生時の原因解析作業の属人化を低減することができ、かつ、障害発生時の原因解析作業時間の短縮を図ることが可能になる。なお、相関時間は、定義テンプレートによって設定可能であるので、ユーザは相関時間の長短を調節することが可能である。
【0063】
また、あらかじめ複数のイベントの組み合わせで決まるパターンを障害原因判定ルールとして定義することにより、直接の障害原因を特定すると共に、判定条件が完全一致しない場合であっても、イベントの組み合わせが類似する場合には、同様に障害原因(可能性)を特定する。これにより、ユーザは、将来障害となりうることを予測でき、障害を事前に防止するための対策を講じることができるようになる。
【0064】
さらに、本発明では、ある障害を構成要件となる判定条件をサブルールとし、発生したイベントであって、サブルールを満足させるイベントと、当該サブルールを1対1に対応付けて障害原因を解析する。これにより障害原因判定ルールに対するルール一致率を演算することが可能となり、ユーザに対して障害原因発生及びその可能性を判断するための指標を提示することができるようになる。その際、サブルールと発生イベントとの照合処理を実行し、一致状況をマトリクス型のキャッシュへ記録しておき、最終的にはキャッシュされたサブルール実行結果をマトリクス演算する。これにより、高速に障害原因を特定することができるようになる。
【0065】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0066】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【0067】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【符号の説明】
【0068】
101…障害原因解析システム、102…監視対象システム、103…監視システム、104…接続アダプタ、105…障害原因判定ルール、106…一致状況生成機構、107…一致状況キャッシュ、108…障害原因判定機構、109…障害原因判定ルール生成機構、110…障害原因判定結果ダッシュボード生成機構、111…ディシジョンテーブル、112…ディスプレイモニタ、113…障害原因判定ルール定義テンプレート、114…ルール実行エンジン、201…障害原因判定ルール定義テンプレート、202…障害原因判定ルール名称、203…障害原因判定条件リスト、204…相関時間、205…障害原因判定結果アクション、206…障害原因判定条件、401…障害原因判定ルール、402…ルールID、403…ルール名、404…相関時間、405…アクション、406…サブルール、407…サブルールID、408…サブルール定義、601…一致状況キャッシュ、602…末尾イベント発生時間、603…イベント・ルール一致状況要素、604…イベントID、605…イベント発生時間、606…ルールとの一致状況、607…ルールID、608…サブルール成否、801…解析用一致状況マトリクス、802…サブルール成立状況、803…イベント一致状況、1001…ディシジョンテーブル、1002…要素数、1103…障害原因判定ルール成立状況要素、1004…障害原因判定ルール、1005…障害原因判定ルールへのポインタ、1006…サブルールの数、1007…サブルールの成立数、1008…ルール一致率、1009…成立したサブルール状況要素、1010…サブルールID、1012…イベント、1011…イベントへのポインタ、1101…障害原因解析結果一覧表示画面、1102…障害原因判定ルールID、1103…障害原因判定ルール名称、1104…一致率、1105…障害原因判定条件一致状況、1106…障害原因判定条件
【特許請求の範囲】
【請求項1】
監視対象システムにおける障害原因を解析する障害原因解析システムであって、
前記監視対象システムにおいて発生したイベントを受信するイベント受信部と、
障害の名称と、前記監視対象システムからの受信したイベントのうち解析すべき対象を絞り込むための相対的な期間を示す相関時間と、前記障害原因があると判定するための複数の判定条件に対応する複数のサブルールと、を含む障害原因判定ルールの前記複数のサブルールと前記受信したイベントとを照合し、当該照合結果に基準時間を付与して一致状況情報群を生成する一致状況生成部と、
前記一致状況生成部によって生成された前記一致状況情報群のうち、前記基準時間から前記相対時間内に発生したイベントに対応する解析用一致状況情報を取り出し、当該取り出した解析用一致状況情報の中での判定条件の成立状況を解析する障害原因解析部と、
前記解析結果を出力する結果出力部と、
を備えることを特徴とする障害原因解析システム。
【請求項2】
請求項1において、
前記障害原因解析部は、前記解析用一致状況情報において、前記サブルールと当該サブルールを成立させるイベントとを1対1に対応させる処理を実行し、全サブルールに対する、サブルールを成立させるイベントの割合(一致率)を算出することにより、前記判定条件の成立状況を解析することを特徴とする障害原因解析システム。
【請求項3】
請求項2において、
前記結果出力部は、前記障害の名称に対応させて、前記一致率と何れの前記判定条件が成立したかを示す情報を画面表示することを特徴とする障害原因解析システム。
【請求項4】
請求項2において、
前記障害原因解析部は、前記複数のサブルールと前記受信したイベントとのマトリクスを生成して前記サブルールと前記イベントとの対応関係を確認し、当該マトリクス上で1つのサブルールに対して複数のイベントが成立している場合には、
処理a:1対1に対応するサブルールとイベントのペアについては、当該サブルール以外のサブルールの成立状況を不成立とする;
処理部b:処理aを実行した後、依然として複数のイベントが対応するサブルールがあるときには、任意のイベントを当該サブルールに対応させることにより、1対1の関係を構築する;
を実行することを特徴とする障害原因解析システム。
【請求項5】
請求項1において、
前記障害原因判定ルールは、障害原因を判定するために必要なイベントの組と、各イベントに対して障害原因を特定するための条件と、イベントの組を相関あるパターンとして認識するための前記相関時間と、障害があると判定され多場合のアクションと、を記述し、入力された障害原因判定ルール定義テンプレートに基づいて、生成されることを特徴とする障害原因解析システム。
【請求項6】
コンピュータシステムを請求項1に記載の障害原因解析システムとして機能させるためのプログラム。
【請求項1】
監視対象システムにおける障害原因を解析する障害原因解析システムであって、
前記監視対象システムにおいて発生したイベントを受信するイベント受信部と、
障害の名称と、前記監視対象システムからの受信したイベントのうち解析すべき対象を絞り込むための相対的な期間を示す相関時間と、前記障害原因があると判定するための複数の判定条件に対応する複数のサブルールと、を含む障害原因判定ルールの前記複数のサブルールと前記受信したイベントとを照合し、当該照合結果に基準時間を付与して一致状況情報群を生成する一致状況生成部と、
前記一致状況生成部によって生成された前記一致状況情報群のうち、前記基準時間から前記相対時間内に発生したイベントに対応する解析用一致状況情報を取り出し、当該取り出した解析用一致状況情報の中での判定条件の成立状況を解析する障害原因解析部と、
前記解析結果を出力する結果出力部と、
を備えることを特徴とする障害原因解析システム。
【請求項2】
請求項1において、
前記障害原因解析部は、前記解析用一致状況情報において、前記サブルールと当該サブルールを成立させるイベントとを1対1に対応させる処理を実行し、全サブルールに対する、サブルールを成立させるイベントの割合(一致率)を算出することにより、前記判定条件の成立状況を解析することを特徴とする障害原因解析システム。
【請求項3】
請求項2において、
前記結果出力部は、前記障害の名称に対応させて、前記一致率と何れの前記判定条件が成立したかを示す情報を画面表示することを特徴とする障害原因解析システム。
【請求項4】
請求項2において、
前記障害原因解析部は、前記複数のサブルールと前記受信したイベントとのマトリクスを生成して前記サブルールと前記イベントとの対応関係を確認し、当該マトリクス上で1つのサブルールに対して複数のイベントが成立している場合には、
処理a:1対1に対応するサブルールとイベントのペアについては、当該サブルール以外のサブルールの成立状況を不成立とする;
処理部b:処理aを実行した後、依然として複数のイベントが対応するサブルールがあるときには、任意のイベントを当該サブルールに対応させることにより、1対1の関係を構築する;
を実行することを特徴とする障害原因解析システム。
【請求項5】
請求項1において、
前記障害原因判定ルールは、障害原因を判定するために必要なイベントの組と、各イベントに対して障害原因を特定するための条件と、イベントの組を相関あるパターンとして認識するための前記相関時間と、障害があると判定され多場合のアクションと、を記述し、入力された障害原因判定ルール定義テンプレートに基づいて、生成されることを特徴とする障害原因解析システム。
【請求項6】
コンピュータシステムを請求項1に記載の障害原因解析システムとして機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−76409(P2011−76409A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−227772(P2009−227772)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願日】平成21年9月30日(2009.9.30)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】
[ Back to top ]