(57)【特許請求の範囲】
【請求項１】
ＩＴ障害を監視する監視サーバが生成したイベントを逐次取得して予兆イベント又はＩＴ障害イベントに分類する第一の処理部と、
一つの原因に伴い発生した単数又は複数のイベントから構成される予兆イベントブロック及びＩＴ障害イベントブロックを生成する第二の処理部と、
予兆イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報及びＩＴ障害イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報を求める第三の処理部と、
取得した予兆イベントブロックと特徴情報が類似する予兆イベントブロックを、予兆イベントブロックログから検索する第四の処理部と、
特徴情報が類似する各予兆イベントブロックの発生から一定期間に発生するＩＴ障害イベントブロックを、ＩＴ障害イベントブロックログから検索する第五の処理部と、
特徴情報が類似する前記予兆イベントブロックと前記第五の処理部で検索された前記ＩＴ障害イベントブロックとの間で共起関係を判定する第六の処理部と、
共起関係が認められたＩＴ障害イベントブロックを、取得された予兆イベントブロックに対する予測ＩＴ障害と判定する第七の処理部と
を有することを特徴とするＩＴ障害予兆検知装置。
【請求項２】
請求項１に記載のＩＴ障害予兆検知装置において、
前記第六の処理部は、特徴情報が類似する前記予兆イベントブロックと、ある共通の特徴情報を有する前記ＩＴ障害イベントブロックとの間で共起関係を判定する
ことを特徴とするＩＴ障害予兆検知装置。
【請求項３】
請求項２に記載のＩＴ障害予兆検知装置において、
前記第六の処理部は、前記共起関係を与える確率が閾値を越える場合に共起関係が存在すると判定する
ことを特徴とするＩＴ障害予兆検知装置。
【請求項４】
請求項１に記載のＩＴ障害予兆検知装置において、
共起関係のある予兆イベントブロックとＩＴ障害イベントブロックの発生時間間隔を求め、その最小値を共起関係のあるＩＴ障害イベントブロックが発生するまでの予測時間とする
こととを特徴とするＩＴ障害予兆検知装置。
【請求項５】
請求項１に記載のＩＴ障害予兆検知装置において、
前記予測ＩＴ障害を表示装置に表示する
ことを特徴とするＩＴ障害予兆検知装置。
【請求項６】
コンピュータに、
ＩＴ障害を監視する監視サーバが生成したイベントを逐次取得して予兆イベント又はＩＴ障害イベントに分類する第一の処理と、
一つの原因に伴い発生した単数又は複数のイベントから構成される予兆イベントブロック及びＩＴ障害イベントブロックを生成する第二の処理と、
予兆イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報及びＩＴ障害イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報を求める第三の処理と、
取得した予兆イベントブロックと特徴情報が類似する予兆イベントブロックを、予兆イベントブロックログから検索する第四の処理と、
特徴情報が類似する各予兆イベントブロックの発生から一定期間に発生するＩＴ障害イベントブロックを、ＩＴ障害イベントブロックログから検索する第五の処理と、
特徴情報が類似する前記予兆イベントブロックと前記第五の処理で検索された前記ＩＴ障害イベントブロックとの間で共起関係を判定する第六の処理と、
共起関係が認められたＩＴ障害イベントブロックを、取得された予兆イベントブロックに対する予測ＩＴ障害と判定する第七の処理と
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視サーバが生成する監視イベントに基づいて、ＩＴ障害の予兆を検知する装置及び当該装置をソフトウェア的に実現するプログラムに関する。
【背景技術】
【０００２】
企業経営や社会に大きな影響を与えるＩＴ障害が最近多発している。ＩＴ障害を引き起こす原因は、ハードウェア障害、プログラムのバグ等様々である。特に、社会インフラを提供する企業においては、たとえＩＴ障害が発生した場合でも、事業継続の観点から、目標復旧時間内に復旧処理を完了し、経営や社会に与える影響を最小限に抑えることが社会的に求められている。
【０００３】
このような背景から、ＩＴ障害の初動対応の迅速化やＩＴ障害の予兆を検知して事前に防止する技術が必要とされている。
【０００４】
従来の予兆検知技術では、コンピュータの性能負荷に着目し、当該性能負荷の通常とは異なる振る舞いを利用して予兆を検知する。
【０００５】
特許文献１には、監視サーバから取得した性能負荷情報の統計処理結果に、通常の負荷とは異なる性能負荷が観測されるとき、異常を検知する方法が記述されている。特許文献２には、プロセッサの負荷情報に加え、コンピュータの構成要素に取り付けたセンサーの情報とアプリケーションとを関連付け、通常時の振る舞いとの差が閾値以上のものを障害の予兆と判断する方法が記述されている。特許文献３には、障害時の測定値と現在の実測測定値の差分を数値化し、その差分が閾値以内であればその障害の予兆検知とみなす方法が記述されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許４５７３１７９号
【特許文献２】特許４５７２２５１号
【特許文献３】特開２０１０−９３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、ＩＴ障害が企業や社会に及ぼす影響を最小化するためには、以下の対応が求められる。
（１）広範囲なＩＴ障害への対応
性能負荷を利用する予兆検知方法は、コンピュータを構成するプロセッサ等の構成要素に影響するＩＴ障害を検知することができる。しかし、これらに影響を与えないＩＴ障害を検知することができない。例えばプロセス停止等のアプリケーションエラーやＯＳエラーは、必ずしも性能負荷に影響が表れるとは限らず、適切に対応することはできない。
【０００８】
（２）事前検知とＩＴ障害の特定
ＩＴ障害を事前に防ぐには、ＩＴ障害が発生する前に事前に予兆を検知し、発生するＩＴ障害を特定する必要がある。しかし、特許文献３の方法は、現在発生している振る舞いが過去の障害の振る舞いが似ていることを示すだけであり、ＩＴ障害の発生を事前に検知することはできない。一般に、性能負荷を利用する方法は、対象が単純な数値データであり、予兆と障害を区別することが困難である。
【０００９】
このように、従来の予兆検知技術は、前述した２つの条件を満たす方法を提供していない。
【課題を解決するための手段】
【００１０】
そこで、本発明者は、ＩＴ障害の予兆を広範囲かつ事前に検知するための仕組みを提供する。具体的には、ＩＴ障害を監視する監視サーバが生成したイベントを逐次取得して予兆イベント又はＩＴ障害イベントに分類する第一の処理部と、一つの原因に伴い発生した単数又は複数のイベントから構成される予兆イベントブロック及びＩＴ障害イベントブロックを生成する第二の処理部と、予兆イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報及びＩＴ障害イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報を求める第三の処理部と、取得した予兆イベントブロックと特徴情報が類似する予兆イベントブロックを、予兆イベントブロックログから検索する第四の処理部と、類似する各予兆イベントブロックの発生から一定期間に発生するＩＴ障害イベントブロックを、ＩＴ障害イベントブロックログから検索する第五の処理部と、前記予兆イベントブロックと前記ＩＴ障害イベントブロックとの間で共起関係を判定する第六の処理部と、共起関係が認められたＩＴ障害イベントブロックを、取得された予兆イベントブロックに対する予測ＩＴ障害と判定する第七の処理部とを有する仕組みを提供する。
【発明の効果】
【００１１】
本発明によれば、監視イベントを用いるため、従来よりも広範囲でＩＴ障害の予兆を検知することができる。
【００１２】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】予兆検知システムのシステム構成例を示す図。
【図２】監視サーバが生成する監視イベント例を示す図。
【図３】予兆検知コンピュータのシステム構成例を示す図。
【図４】ＩＴ障害ＤＢが保持するＩＴ障害イベントブロックテーブルとＩＴ障害特徴テーブルの具体例を示す図。
【図５】予兆ＤＢが保持する予兆イベントブロックテーブルと予兆特徴テーブルの具体例を示す図。
【図６】予兆検知プログラムの設定画面例を示す図。
【図７】予兆検知プログラムのＩＴ障害検知画面例を示す図。
【図８】予兆検知プログラムの予兆検知画面例を示す図。
【図９】予兆検知プロセスの概要を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、図面に基づいて、本発明の実施の形態を説明する。なお、本発明の実施の態様は、後述する形態例に限定されるものではなく、その技術思想の範囲において、種々の変形が可能である。
【００１５】
本発明者は、従来手法に比して広範囲でＩＴ障害を予兆可能とするために、システムログ（例えばソフトウェアのエラーに起因するプロセス停止のログ）の発生やリソース負荷等に対して監視サーバが出力する監視イベントに着目する。
【００１６】
（予兆検知システムのシステム構成）
図１に、予兆検知コンピュータ１０３を実装する予兆検知システムの構成例を示す。図１に示す予兆検知システムは、監視対象サーバ群１０１と、そのコンピュータの状態を監視し、その状態に基づいて監視イベントを生成する監視サーバ１０２と、監視サーバ１０２が生成した監視イベントを解析し、ＩＴ障害やその予兆を検知する予兆検知コンピュータ１０３と、監視イベントのうちＩＴ障害に関わる情報を格納するＩＴ障害ＤＢ１０４と、予兆に関わる情報を格納する予兆ＤＢ１０５とを有している。
【００１７】
このうち、監視サーバ１０２は、監視対象サーバ群１０１の状態（例えば、監視対象サーバ上で実行されているプロセスの死活など）を監視し、その状態に応じた監視イベントを生成する機能を提供する。生成した監視イベントは予兆検知コンピュータ１０３に送信される。
【００１８】
図２は、監視サーバ１０２が生成する監視イベントの例を示している。監視イベントは、イベントを一意に識別するイベントＩＤ２０１、監視サーバ１０２が監視イベントを生成した日時を表す発生日時２０２、監視イベントの属性２０３から構成されている。
【００１９】
監視イベントの属性は、「情報」、「警告」等の監視イベントの重大度を表す種類２０４、イベントが対象としているプロセス名を表すソース２０５、ソース２０５の状態を一意に識別するイベント番号２０６、ソース２０５を起動したユーザ２０７、ソース２０５が実行されている監視サーバ群１０１内のコンピュータ２０８から構成される。
【００２０】
図３に、予兆検知コンピュータ１０３の構成例を示す。予兆検知コンピュータ１０３は、コンピュータ本体３００と、入力装置３３０と、表示装置３３１と、通信装置３３２とから構成される。なお、通信装置３３２は、監視サーバ１０２、ＩＴ障害ＤＢ１０４及び予兆ＤＢ１０５と通信する。
【００２１】
コンピュータ本体３００は、データを演算するＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３１０、データを格納するハードディスク駆動装置３２０、これらデバイス間のデータ転送を実現するＣＰＵバス３０７、これらデバイスとＣＰＵバス３０７を結合するインターフェース３０３〜３０６で構成される。
【００２２】
ＲＡＭ３１０には、少なくとも、(1) ＣＰＵ３０１に演算処理させる予兆検知プログラム３１１の実行領域と、(2) 演算時に一時的に生成させるデータを格納する作業領域３１２が確保される。また、ハードディスク駆動装置３２０の記憶領域には、少なくとも、(1) 予兆検知プログラムの格納領域としてのプログラム格納部３２１と、(2) 監視サーバ１０２、ＩＴ障害ＤＢ１０４及び予兆ＤＢ１０５から取得したデータを一時的に格納するデータ格納部３２２が確保される。
【００２３】
（表示画面例）
図６〜８に、予兆検知コンピュータ１０３に接続される表示装置３３１に表示される予兆検知プログラム３１１のＧＵＩ画面例を示す。
【００２４】
図６は、予兆検知プログラム３１１の初期画面として、表示装置３３１に最初に表示される画面（設定画面６００）である。この設定画面６００は、ユーザがＩＴ障害とみなすイベントと、ＩＴ障害の予兆とみなすイベントの登録時に使用される。予兆検知プログラム３１１は、設定画面６００の設定内容に基づいて、後述する予兆検知処理を実行する。
【００２５】
設定画面６００は、予兆イベント種類入力部６０１、ＩＴ障害イベント種類入力部６０２、最大イベント時間間隔入力部６０３、ＩＴ障害検索範囲入力部６０４、開始ボタン６０５から構成される。
【００２６】
予兆イベント種類入力部６０１は、予兆イベントとみなすイベントの属性「種類」２０４の入力欄である。ＩＴ障害イベント種類入力部６０２は、ＩＴ障害とみなすイベントの属性「種類」２０４の入力欄である。
【００２７】
最大イベント時間間隔入力部６０３は、予兆イベント又はＩＴ障害イベントとみなされるイベントが複数観察された場合に、同じ原因により発生したＩＴ障害又は予兆イベントとみなす時間の範囲を入力するための項目欄である。
【００２８】
例えばある予兆イベントが観察されてから次に予兆イベントが観察されるまでの時間が、最大イベント時間間隔入力部６０３に入力された時間内に収まる場合、これら２つの予兆イベントは同じ原因に起因して発生した予兆イベントであると判定する。同じ原因に起因する１つ又は複数のイベントを、１つのイベントブロックとして扱う。図６の場合、時間の単位は「分」である。もっとも、時間単位は、秒でも、時間でも、日でも、その他の単位でも良い。
【００２９】
ＩＴ障害検索範囲入力部６０４は、予兆イベントの発生が検出された場合に、過去の類似イベントから発生が予測されるＩＴ障害を検索する際の時間範囲を指定するための入力欄である。図６の場合、時間の単位は「日」である。もっとも、時間単位は、秒でも、時間でも、週でも、その他の単位でも良い。開始ボタン６０５は、予兆検知プログラムの実行を指示するためのボタンである。
【００３０】
図７及び図８は、予兆検知プログラム３１１が自動的に検知したＩＴ障害及び予兆イベントを表示する画面７００である。画面７００は、検知されたＩＴ障害情報の内容を表示する際に使用するＩＴ障害検知タブ７０１と、検知された予兆情報を表示する際に使用する予兆検知タブ８０１とで構成される。
【００３１】
図７は、ＩＴ障害検知タブ７０１内の画面構成を示す。ＩＴ障害検知タブ７０１は、「検知したＩＴ障害」を列記するＩＴ障害テーブル７１０と、「発生した障害イベント」の属性を表示する障害イベントテーブル７２０と、「類似ＩＴ障害」の属性を表示する類似ＩＴ障害テーブル７３０で構成される。
【００３２】
ＩＴ障害テーブル７１０は、検知したＩＴ障害を一意に特定するＩＴ障害ＩＤ７１１と、ＩＴ障害を検知した検知日時７１２から構成される。障害イベントテーブル７２０は、ＩＴ障害テーブル７１０内で選択されたＩＴ障害に対して実際に発生した障害イベントの属性の内容を示す表示欄である。属性情報は、イベントＩＤ、発生日時、種類、ソース、イベント番号、ユーザ、コンピュータで構成される。
【００３３】
類似ＩＴ障害テーブル７３０は、新たに発生した障害イベントと類似する過去のＩＴ障害のイベントを表示する表示欄である。類似ＩＴ障害テーブル７３０は、ＩＴ障害を一意に特定するＩＴ障害ＩＤ７３１、類似ＩＴ障害内の監視イベントの属性７３２、検知したＩＴ障害との類似度７３３から構成されている。
【００３４】
図８は、予兆検知タブ８０１内の画面構成を示す。予兆検知タブ８０１は、「検知した予兆」を列記する予兆テーブル８１０と、「発生した予兆イベント」の属性を表示する予兆イベントテーブル８２０と、「想定ＩＴ障害」を表示する想定ＩＴ障害テーブル８３０で構成される。
【００３５】
予兆テーブル８１０は、検知した予兆を一意に特定する予兆ＩＤ８１１と、予兆を検知した検知日時８１２から構成される。予兆イベントテーブル８２０は、予兆テーブル８１０内で選択された予兆に対して実際に発生した予兆イベントの属性の内容を示す表示欄である。属性情報は、イベントＩＤ、発生日時、種類、ソース、イベント番号、ユーザ、コンピュータで構成される。
【００３６】
想定ＩＴ障害テーブル８３０は、発生した予兆イベントに対して発生が想定されるＩＴ障害を表示する表示欄である。想定ＩＴ障害テーブル８３０は、ＩＴ障害を一意に特定するＩＴ障害ＩＤ８３１、想定ＩＴ障害内の監視イベントの属性８３２、スコア８３３から構成される。スコア８３３には、ＩＴ障害が発生する確率と、予兆イベントの発生からＩＴ障害の発生までの予測時間とが表示される。図８の場合、単位は「分」である。もっとも、時間単位は、秒でも、時間でも、週でも、その他の単位でも良い。
【００３７】
（データベースの構成）
図４は、ＩＴ障害ＤＢ１０４が保持するＩＴ障害イベントブロックテーブル４００及びＩＴ障害特徴テーブル４１０のデータ構造例を示す。ＩＴ障害イベントブロックテーブル４００は、イベントブロックを一意に特定するイベントブロックＩＤ４０１と、イベントブロックに含まれる単数又は複数のＩＴ障害イベント４０２から構成される。
【００３８】
ここで、イベントブロックとは、一つのＩＴ障害が発生したときに、それに伴って一定時間内に発生した単数又は複数のＩＴ障害イベントの集合である。イベントブロックの作成方法の説明は、予兆検知プロセスの説明の際に行う。また、ＩＴ障害イベントは、監視イベントのうち属性「種類」２０４の値が、予兆検知プログラムの設定画面６００（図６）のＩＴ障害イベント種類入力部６０２で入力された値のいずれかに当たる監視イベントである。
【００３９】
ＩＴ障害特徴テーブル４１０は、同じ特徴を持つＩＴ障害を一意に特定するＩＴ障害ＩＤ４１１と、ＩＴ障害の特徴４１２と、同じＩＴ障害の特徴を持つイベントブロックＩＤのリスト４１３から構成される。ＩＴ障害の特徴４１２の求め方は後述する。
【００４０】
図５は、予兆ＤＢ１０５が保持している予兆イベントブロックテーブル５００及び予兆特徴テーブル５１０のデータ構造例を示す。予兆イベントブロックテーブル５００は、予兆イベントブロックを一意に特定するイベントブロックＩＤ５０１と、イベントブロックに含まれる単数又は複数の予兆イベント５０２から構成される。
【００４１】
ここで、予兆イベントは、監視イベントのうち属性「種類」２０４の値が、予兆検出プログラムの設定画面６００（図６）の予兆イベント種類入力部６０１で入力された値のいずれかに当たる監視イベントである。
【００４２】
予兆特徴テーブル５１０は、同じ特徴を持つ予兆を一意に特定する予兆ＩＤ５１１と、イベントブロックの特徴５１２と、同じ特徴を持つイベントブロックリストであるイベントブロックＩＤのリスト５１３から構成される。特徴５１２の求め方は、特徴４１２の求め方と同じである。
【００４３】
（予兆検知動作）
図９に、予兆検知システム全体の予兆検知プロセスの概略を示す。
【００４４】
（ステップ９００）
予兆検知コンピュータ１０３は、予兆検知プログラムの設定画面６００において開始ボタン６０５のクリック入力を検出すると、設定画面６００を通じて設定された属性値を採り込み、予兆検知プログラム３１１に基づいた予兆検知処理の実行を開始する。
【００４５】
予兆検知処理の実行に際し、予兆検知コンピュータ１０３は、予兆イベント種類入力部６０１に設定入力された予兆イベントを特定する属性「種類」２０４の属性値と、ＩＴ障害イベント種類入力部６０２について設定入力されたＩＴ障害イベントを特定する属性「種類」２０４の属性値と、最大イベント時間間隔入力部６０３に設定入力された時間間隔と、ＩＴ障害検索範囲入力部６０４に設定入力された時間範囲とを採り込む。
【００４６】
（ステップ９０１）
予兆検知コンピュータ１０３は、監視サーバ１０２から通信装置３３２を介して監視イベントを受信する。
【００４７】
（ステップ９０２）
予兆検知コンピュータ１０３は、ステップ９０１で受信した監視イベントの属性「種類」２０４を取得し、この監視イベントがＩＴ障害イベントか、予兆イベントか判定する。属性「種類」２０４の値が、設定画面６００の予兆イベント種類入力部６０１に入力された値に含まれていれば予兆イベントであり、ＩＴ障害イベント種類入力部６０２に入力された値に含まれていればＩＴ障害イベントである。予兆イベントでもＩＴ障害イベントでもない監視イベントは、作業領域３１２、データ格納領域３２２から削除する。
【００４８】
図６の予兆検知プログラムの設定画面６００の例では、予兆イベントの種類入力部６０１に「警告」が設定されており、ＩＴ障害イベントの種類入力部６０２に「エラー、致命的、緊急」が設定されている。
【００４９】
図２に示す監視イベントの場合、イベントＩＤ２０１が「２」、「３」、「７」、「８」、「９」、「１６」、「１７」の監視イベントが予兆イベントであり、「４」、「５」、「６」、「１０」、「１１」、「１２」の監視イベントがＩＴ障害イベントである。それ以外の「１」、「１３」、「１４」、「１５」の監視イベントは無視される。
【００５０】
（ステップ９０３）
予兆検知コンピュータ１０３は、ＩＴ障害イベントからＩＴ障害イベント４０２（図４）を生成し、その後、ＩＴ障害イベントブロックの特徴４１２（図４）を計算する。さらに、予兆検知コンピュータ１０３は、通信装置３３２を介してＩＴ障害ＤＢ１０４のＩＴ障害イベントブロックテーブル４００及びＩＴ障害特徴テーブル４１０を更新する。
【００５１】
時間的に連続して発生した２つのＩＴ障害イベントが同じイベントブロックに属するか否かの判定は、２つのＩＴ障害イベントの発生日時２０２の時間間隔が、最大イベント時間間隔入力部６０３（図６）の入力値以内か否かにより判断する。
【００５２】
ここで、２つのＩＴ障害イベントの時間間隔が最大イベント時間間隔内であれば、２つのＩＴ障害イベントは、同じイベントブロック内に分類される。一方、２つのＩＴ障害イベントの時間間隔が最大イベント時間間隔外であれば、別々のイベントブロックに分類される。
【００５３】
例えば、図２の監視イベントの例の場合、イベントＩＤ２０１が「５」、「６」、「１０」の監視イベントは、種類の属性値がそれぞれ「エラー」、「致命的」、「緊急」である。これらの属性値は、設定画面６００（図６）のＩＴ障害イベントの種類入力部６０２の入力値「エラー、致命的、緊急」に含まれている。従って、イベントＩＤ２０１が「５」、「６」、「１０」の監視イベントは、連続したＩＴ障害イベントである。
【００５４】
この場合、イベントＩＤ２０１が「５」と「６」のＩＴ障害イベントの発生日時２０２の時間間隔は１分２秒である。この値は、設定画面６００（図６）の最大イベント時間間隔入力部６０３で設定された値である２分以内である。従って、これら２つのＩＴ障害イベントは、ＩＴ障害イベントブロックテーブル４００（図４）において、同じイベントブロックＩＤ４０１（すなわち、「１」）に割り当てられている。
【００５５】
一方、イベントＩＤ２０１が「６」と「１０」の監視イベントの発生日時２０２の時間間隔は、最大イベント時間間隔以上である。このため、これら２つのＩＴ障害イベントは、ＩＴ障害イベントブロックテーブル４００（図４）において、異なるイベントブロックＩＤ（すなわち、「１」と「２」）に割り当てられている。
【００５６】
ＩＴ障害の特徴４１２は、ＩＴ障害イベントブロックテーブル４００（図４）において、同じイベントブロックに含まれる単数又は複数のＩＴ障害イベントの「種類」、「ソース」、「イベント番号」、「ユーザ」、「コンピュータ」の各属性に対して、共通する属性値の頻度を計算し、頻度の高い属性値の上位２つを各属性の「特徴」とする。
【００５７】
例えばＩＴ障害イベントブロックテーブル４００（図４）の場合、イベントブロックＩＤ４０１が「１」のイベントブロックに、イベントＩＤ「４」、「５」、「６」の３つのＩＴ障害イベントが含まれている。属性「種類」に着目すると、属性値「エラー」は２回出現し、「致命的」は１回出現している。
【００５８】
従って、イベントブロックＩＤ「１」の属性「種類」に関し、最も頻度の高い属性値を表す「種類０」には「エラー」が設定され、次に頻度の高い属性値を表す「種類１」には「致命的」が設定される。
【００５９】
なお、ＩＴ障害特徴テーブル４１０では、各属性の組み合わせが全て共通する（同じ特徴を持つ）イベントブロック同士が１つのＩＴ障害ＩＤ４１１で管理される。例えばイベントブロックＩＤ１は、ＩＴ障害ＩＤ４１１で管理される。因みに、ＩＴ障害ＩＤ４１１のイベントブロックＩＤリスト４１３には、イベントブロックＩＤ「１」の他に、「１５」と「３０」も含まれており、それらは同じ特徴を有することが分かる。
【００６０】
因みに、「特徴」は、これらの属性の他、イベントブロック内の先頭イベントの発生日時２０２から最終イベントの発生日時２０２までの時間間隔、イベントブロック内のイベント数、属性値の平均値に対して差異が大きい属性値等を用いても良い。
【００６１】
（ステップ９０５）
予兆検知コンピュータ１０３は、ＩＴ障害ＤＢ１０４のＩＴ障害特徴テーブル４１０を参照し、ＩＴ障害イベントブロックと同じ特徴４１２を持つイベントブロックＩＤを、イベントブロックＩＤリスト４１３から取得する。すなわち、特徴が類似するＩＴ障害イベントブロックを取得する。
【００６２】
さらに、予兆検知コンピュータ１０３は、取得したイベントブロックＩＤに対応するＩＴ障害イベントブロックをＩＴ障害イベントブロックテーブル４００から取得する。
【００６３】
次に、作成したＩＴ障害イベントブロックと、取得した同じ特徴を持つＩＴ障害イベントブロック間の類似度を計算する。２つのイベントブロック（イベントブロックＡ、イベントブロックＢ）間の類似度は、例えば次式
0005623950.tif 000002
で与える。
【００６４】
（ステップ９０６）
予兆検知コンピュータ１０３は、表示装置３３１を介し、ＩＴ障害の検知結果を予兆検知プログラム画面７００（図７）のＩＴ障害検知タブ７０１に表示する。具体的には、今回検知した検知日時をＩＴ障害テーブル７１０の検知日時７１２に表示する。
【００６５】
次に、予兆検知コンピュータ１０３は、ステップ９０３で作成した「今回検知したＩＴ障害」のイベントブロックを、発生した障害イベントテーブル７２０に表示する。さらに、予兆検知コンピュータ１０３は、ステップ９０５で求めた「類似ＩＴ障害」のイベントブロックを、類似ＩＴ障害テーブル７３０に類似度７３３と共に表示する。
【００６６】
例えば障害イベントテーブル７２０に表示されたイベントブロックと、ＩＴ障害ＩＤ７３１が「８１」のイベントブロックの類似度は、全ての属性の属性値が一致するので１００％になる。
【００６７】
また例えば障害イベントテーブル７２０に表示されたイベントブロックと、ＩＴ障害ＩＤ７３１が「９９」のイベントブロックの類似度は、以下に示すように８７％になる。ＩＴ障害ＩＤ７３１が「９９」に属する３つのイベントブロックの全属性数は１５個であり、属性値が共通する属性の数は１３個（イベントＩＤ「３４５」の５個、イベントＩＤ「３４６」の５個、イベントＩＤ「３４７」の３個）であるためである。
【００６８】
（ステップ９０７）
予兆検知コンピュータ１０３は、ステップ９０３と同様に、検出された予兆イベントに対して、予兆イベントブロック５０２（図５）及び予兆イベントブロックの特徴５１２（図５）を計算する。さらに、予兆検知コンピュータ１０３は、通信装置３３２を介して予兆ＤＢ１０５の予兆イベントブロックテーブル５００及び予兆特徴テーブル５１０を更新する。
【００６９】
（ステップ９０９）
予兆検知コンピュータ１０３は、ステップ９０５と同様に、予兆ＤＢ１０５の予兆特徴テーブル５１０を参照し、予兆イベントブロックと同じ特徴５１２を持つイベントブロックＩＤリスト５１３を取得する。すなわち、特徴が類似する予兆イベントブロックを取得する。
【００７０】
さらに、予兆検知コンピュータ１０３は、予兆イベントブロックテーブル５００を参照し、予兆イベントブロックと同じ特徴５１２を持つ予兆イベントの内容を取得する。
【００７１】
（ステップ９１０）
予兆検知コンピュータ１０３は、ステップ９０９で得られた各予兆イベントブロックに対し、想定されるＩＴ障害を予測する。
【００７２】
ここで、予兆ＩＤ５１１（図５）がＮである予兆イベントブロックの集合をＰＮ、その要素であってイベントブロックＩＤ５０１（図５）がＭである予兆イベントブロックをＰＭＮ、ＩＴ障害ＩＤ４１１（図４）がＮであるＩＴ障害イベントブロックの集合をＦＮ、その要素であってイベントブロックＩＤ４０１（図４）がＭであるＩＴ障害イベントブロックをＦＭＮとする。
【００７３】
また、予測する時間範囲ＴＷを、予兆検知プログラムの設定画面６００（図６）のＩＴ障害検索範囲入力部６０４の入力値に設定する。
【００７４】
今、ステップ９０７で作成した予兆イベントブロックの特徴が、予兆ＩＤ５１１の「１」（すなわち「特徴１」）であるとするとき、Ｆ１が発生する確率を求める。
【００７５】
予兆検知コンピュータ１０３は、予兆特徴テーブル５１０を参照し、同じ「特徴１」を持つ予兆イベントブロックは、Ｐ１１、Ｐ２０１、Ｐ３１１であると検知する。
【００７６】
次に、予兆検知コンピュータ１０３は、各予兆イベントブロックが発生した日時を始点とし、各時点から時間範囲ＴＷ内に発生したＩＴ障害イベントブロック列をＩＴ障害イベントブロックテーブル４００（図４）から求める。
【００７７】
その結果、予兆検知コンピュータ１０３は、その予兆イベントブロックと、当該ブロックの発生から所定の時間範囲ＴＷ内に発生したＩＴ障害イベントブロックとで構成される配列を作成する。以下に、作成される配列を示す。
(Ｐ１１, Ｆ１１）
(Ｐ２０１, Ｆ１４７, Ｆ１５１, Ｆ１６１３） 
(Ｐ３１１, Ｆ３５８, Ｆ３６６, Ｆ３７７)
【００７８】
次に、予兆検知コンピュータ１０３は、配列を構成する障害ＩＴイベントの間で頻度が最も高い特徴（「特徴１」）に着目する。すなわち、Ｆ１に着目する。因みに、「特徴１」を有する障害ＩＴイベントは２個見つけられる。ＩＴ障害特徴テーブル４１０（図４）には、Ｆ１の構成要素として、Ｆ１１, Ｆ１５１, Ｆ３０１が登録されている。予兆検知コンピュータ１０３は、Ｆ１１, Ｆ１５１, Ｆ３０１を構成するイベントの各最終発生日時を終点として、それより以前の時間範囲ＴＷ内に発生した予兆イベントブロック列を予兆イベントブロックテーブル５００（図５）から求め、そのＩＴ障害イベントブロックと、予兆イベントブロック列とで構成される配列を作成する。以下に、作成される配列を示す。
(Ｐ１１     , Ｆ１１)
(Ｐ２０１, Ｐ２１７, Ｐ２２８, Ｐ２３７, Ｆ１５１)
(Ｐ４１５, Ｐ４２５, Ｆ３０１)
【００７９】
これら６個の配列において、Ｐ１とＦ１とが共起する配列の個数は４個である。従って、Ｐ１とＦ１とが共起する確率は４/６で与えられる。ここで、判定閾値を設定し、共起確率が判定閾値より小さい場合には、判定対象である配列の組合せの間に共起関係が無いと判定しても良い。
【００８０】
さらに、予兆検知コンピュータ１０３は、共起したＰ１とＦ１の組み合わせ(Ｐ１１, Ｆ１１）及び(Ｐ２０１,Ｆ１５１）において、予兆イベントブロックと障害イベントブロックの発生時間間隔を求め、その短い方をＩＴ障害の発生が期待される予測時間とする。
【００８１】
予兆検知コンピュータ１０３は、同様の計算を各ＩＴ障害ＩＤ４１１について行い、その確率を求める。予兆検知コンピュータ１０３は、算出値がある閾値以上のＩＴ障害を、ステップ９０９で得られた予兆イベントブロックに対して発生が予測されるＩＴ障害とする。
【００８２】
（ステップ９１１）
予兆検知コンピュータ１０３は、ステップ９０６と同様、表示装置３３１を介し、予兆結果を予兆検知プログラム画面（図８）の予兆検知タブ８０１に表示する。具体的には、検知した予兆の日時を予兆テーブル８１０の検知日時８１２に追加する。
【００８３】
次に、予兆検知コンピュータ１０３は、ステップ９０７で作成した「今回検知した予兆」のイベントブロックを、発生した予兆イベントテーブル８２０に表示する。さらに、予兆検知コンピュータ１０３は、ステップ９１０で求めた「発生が予想されるＩＴ障害」の代表的なＩＴ障害のイベントブロックを、想定ＩＴ障害テーブル８３０に設定する。この際、予兆検知コンピュータ１０３は、スコア８３３の欄に、ＩＴ障害イベントが予兆イベントと共起する確率と予測時間を表示する。
【００８４】
ここで、共起確率は、前述したＩＴ障害イベントブロックと予兆イベントブロックの配列を用いて算出する。また、予測時間とは、予兆イベントの発生日時から該当するＩＴ障害イベントが発生するまでの時間をいう。図８の例の場合、ＩＴ障害ＩＤ８３１が「１」のＩＴ障害イベントは１００％の確率で予兆イベントの発生から３０分以内に発生することを示している。
【００８５】
（まとめ）
以上説明したように、本実施例に係る予兆検知装置の場合には、監視イベントの一部を予兆イベントに使用し、検出された予兆イベントと共起する可能性が高い障害イベントを、当該障害イベントの発生前に、自動的に検出することができる。
【００８６】
また、本実施例に係る予兆検知装置の場合には、プロセッサ等の性能負荷に影響を与えない障害イベントについても、その発生を予め予測することができる。
【００８７】
（他の形態例）
本発明は上述した形態例に限定されるものでなく、様々な変形例が含まれる。例えば、上述した形態例は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある形態例の一部を他の形態例の構成に置き換えることが可能であり、また、ある形態例の構成に他の形態例の構成を加えることも可能である。また、各形態例の構成の一部について、他の構成を追加、削除又は置換することも可能である。
【００８８】
また、上述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路その他のハードウェアとして実現しても良い。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することにより実現しても良い。すなわち、ソフトウェアとして実現しても良い。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD（Solid State Drive）等の記憶装置、ICカード、SDカード、DVD等の記憶媒体に格納することができる。
【００８９】
また、制御線や情報線は、説明上必要と考えられるものを示すものであり、製品上必要な全ての制御線や情報線を表すものでない。実際にはほとんど全ての構成が相互に接続されていると考えて良い。
【符号の説明】
【００９０】
１０１…監視対象サーバ群
１０２…監視サーバ
１０３…予兆検知コンピュータ
１０４…ＩＴ障害ＤＢ
１０５…予兆ＤＢ
３１１…予兆検知プログラム
４００…ＩＴ障害イベントブロックテーブル
４１０…ＩＴ障害特徴テーブル
５００…予兆イベントブロックテーブル
５１０…予兆特徴テーブル
６００…設定画面
６０１…予兆イベント種類入力部
６０２…ＩＴ障害イベント種類入力部
６０３…最大イベント時間間隔入力部
６０４…ＩＴ障害検索範囲入力部
７０１…ＩＴ障害検知タブ
８０１…予兆検知タブ
【図１】
0005623950.tif 000003
【図２】
0005623950.tif 000004
【図３】
0005623950.tif 000005
【図４】
0005623950.tif 000006
【図５】
0005623950.tif 000007
【図６】
0005623950.tif 000008
【図７】
0005623950.tif 000009
【図８】
0005623950.tif 000010
【図９】
0005623950.tif 000011