説明

IT障害予兆検知装置及びプログラム

【課題】従来手法は、プロセッサ等の性能負荷に影響するIT障害しか予兆を検知できない。
【解決手段】IT障害を監視する監視サーバが生成したイベントを逐次取得して予兆イベントブロック又はIT障害イベントブロックに分類する。次に、取得した予兆イベントブロックに類似する特徴情報を有する予兆イベントブロックを過去ログから検索する。続いて、各予兆イベントブロックの発生から一定期間に発生するIT障害イベントブロックをIT障害イベントブロックログから検索する。この後、予兆イベントブロックとIT障害イベントブロックとの間で共起関係を判定し、共起関係が認められたIT障害イベントブロックを、取得された予兆イベントブロックに対する予測IT障害と判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視サーバが生成する監視イベントに基づいて、IT障害の予兆を検知する装置及び当該装置をソフトウェア的に実現するプログラムに関する。
【背景技術】
【0002】
企業経営や社会に大きな影響を与えるIT障害が最近多発している。IT障害を引き起こす原因は、ハードウェア障害、プログラムのバグ等様々である。特に、社会インフラを提供する企業においては、たとえIT障害が発生した場合でも、事業継続の観点から、目標復旧時間内に復旧処理を完了し、経営や社会に与える影響を最小限に抑えることが社会的に求められている。
【0003】
このような背景から、IT障害の初動対応の迅速化やIT障害の予兆を検知して事前に防止する技術が必要とされている。
【0004】
従来の予兆検知技術では、コンピュータの性能負荷に着目し、当該性能負荷の通常とは異なる振る舞いを利用して予兆を検知する。
【0005】
特許文献1には、監視サーバから取得した性能負荷情報の統計処理結果に、通常の負荷とは異なる性能負荷が観測されるとき、異常を検知する方法が記述されている。特許文献2には、プロセッサの負荷情報に加え、コンピュータの構成要素に取り付けたセンサーの情報とアプリケーションとを関連付け、通常時の振る舞いとの差が閾値以上のものを障害の予兆と判断する方法が記述されている。特許文献3には、障害時の測定値と現在の実測測定値の差分を数値化し、その差分が閾値以内であればその障害の予兆検知とみなす方法が記述されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許4573179号
【特許文献2】特許4572251号
【特許文献3】特開2010−9313号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、IT障害が企業や社会に及ぼす影響を最小化するためには、以下の対応が求められる。
(1)広範囲なIT障害への対応
性能負荷を利用する予兆検知方法は、コンピュータを構成するプロセッサ等の構成要素に影響するIT障害を検知することができる。しかし、これらに影響を与えないIT障害を検知することができない。例えばプロセス停止等のアプリケーションエラーやOSエラーは、必ずしも性能負荷に影響が表れるとは限らず、適切に対応することはできない。
【0008】
(2)事前検知とIT障害の特定
IT障害を事前に防ぐには、IT障害が発生する前に事前に予兆を検知し、発生するIT障害を特定する必要がある。しかし、特許文献3の方法は、現在発生している振る舞いが過去の障害の振る舞いが似ていることを示すだけであり、IT障害の発生を事前に検知することはできない。一般に、性能負荷を利用する方法は、対象が単純な数値データであり、予兆と障害を区別することが困難である。
【0009】
このように、従来の予兆検知技術は、前述した2つの条件を満たす方法を提供していない。
【課題を解決するための手段】
【0010】
そこで、本発明者は、IT障害の予兆を広範囲かつ事前に検知するための仕組みを提供する。具体的には、IT障害を監視する監視サーバが生成したイベントを逐次取得して予兆イベント又はIT障害イベントに分類する第一の処理部と、一つの原因に伴い発生した単数又は複数のイベントから構成される予兆イベントブロック及びIT障害イベントブロックを生成する第二の処理部と、予兆イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報及びIT障害イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報を求める第三の処理部と、取得した予兆イベントブロックと特徴情報が類似する予兆イベントブロックを、予兆イベントブロックログから検索する第四の処理部と、類似する各予兆イベントブロックの発生から一定期間に発生するIT障害イベントブロックを、IT障害イベントブロックログから検索する第五の処理部と、前記予兆イベントブロックと前記IT障害イベントブロックとの間で共起関係を判定する第六の処理部と、共起関係が認められたIT障害イベントブロックを、取得された予兆イベントブロックに対する予測IT障害と判定する第七の処理部とを有する仕組みを提供する。
【発明の効果】
【0011】
本発明によれば、監視イベントを用いるため、従来よりも広範囲でIT障害の予兆を検知することができる。
【0012】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0013】
【図1】予兆検知システムのシステム構成例を示す図。
【図2】監視サーバが生成する監視イベント例を示す図。
【図3】予兆検知コンピュータのシステム構成例を示す図。
【図4】IT障害DBが保持するIT障害イベントブロックテーブルとIT障害特徴テーブルの具体例を示す図。
【図5】予兆DBが保持する予兆イベントブロックテーブルと予兆特徴テーブルの具体例を示す図。
【図6】予兆検知プログラムの設定画面例を示す図。
【図7】予兆検知プログラムのIT障害検知画面例を示す図。
【図8】予兆検知プログラムの予兆検知画面例を示す図。
【図9】予兆検知プロセスの概要を示すフローチャート。
【発明を実施するための形態】
【0014】
以下、図面に基づいて、本発明の実施の形態を説明する。なお、本発明の実施の態様は、後述する形態例に限定されるものではなく、その技術思想の範囲において、種々の変形が可能である。
【0015】
本発明者は、従来手法に比して広範囲でIT障害を予兆可能とするために、システムログ(例えばソフトウェアのエラーに起因するプロセス停止のログ)の発生やリソース負荷等に対して監視サーバが出力する監視イベントに着目する。
【0016】
(予兆検知システムのシステム構成)
図1に、予兆検知コンピュータ103を実装する予兆検知システムの構成例を示す。図1に示す予兆検知システムは、監視対象サーバ群101と、そのコンピュータの状態を監視し、その状態に基づいて監視イベントを生成する監視サーバ102と、監視サーバ102が生成した監視イベントを解析し、IT障害やその予兆を検知する予兆検知コンピュータ103と、監視イベントのうちIT障害に関わる情報を格納するIT障害DB104と、予兆に関わる情報を格納する予兆DB105とを有している。
【0017】
このうち、監視サーバ102は、監視対象サーバ群101の状態(例えば、監視対象サーバ上で実行されているプロセスの死活など)を監視し、その状態に応じた監視イベントを生成する機能を提供する。生成した監視イベントは予兆検知コンピュータ103に送信される。
【0018】
図2は、監視サーバ102が生成する監視イベントの例を示している。監視イベントは、イベントを一意に識別するイベントID201、監視サーバ102が監視イベントを生成した日時を表す発生日時202、監視イベントの属性203から構成されている。
【0019】
監視イベントの属性は、「情報」、「警告」等の監視イベントの重大度を表す種類204、イベントが対象としているプロセス名を表すソース205、ソース205の状態を一意に識別するイベント番号206、ソース205を起動したユーザ207、ソース205が実行されている監視サーバ群101内のコンピュータ208から構成される。
【0020】
図3に、予兆検知コンピュータ103の構成例を示す。予兆検知コンピュータ103は、コンピュータ本体300と、入力装置330と、表示装置331と、通信装置332とから構成される。なお、通信装置332は、監視サーバ102、IT障害DB104及び予兆DB105と通信する。
【0021】
コンピュータ本体300は、データを演算するCPU301、ROM302、RAM310、データを格納するハードディスク駆動装置320、これらデバイス間のデータ転送を実現するCPUバス307、これらデバイスとCPUバス307を結合するインターフェース303〜306で構成される。
【0022】
RAM310には、少なくとも、(1) CPU301に演算処理させる予兆検知プログラム311の実行領域と、(2) 演算時に一時的に生成させるデータを格納する作業領域312が確保される。また、ハードディスク駆動装置320の記憶領域には、少なくとも、(1) 予兆検知プログラムの格納領域としてのプログラム格納部321と、(2) 監視サーバ102、IT障害DB104及び予兆DB105から取得したデータを一時的に格納するデータ格納部322が確保される。
【0023】
(表示画面例)
図6〜8に、予兆検知コンピュータ103に接続される表示装置331に表示される予兆検知プログラム311のGUI画面例を示す。
【0024】
図6は、予兆検知プログラム311の初期画面として、表示装置331に最初に表示される画面(設定画面600)である。この設定画面600は、ユーザがIT障害とみなすイベントと、IT障害の予兆とみなすイベントの登録時に使用される。予兆検知プログラム311は、設定画面600の設定内容に基づいて、後述する予兆検知処理を実行する。
【0025】
設定画面600は、予兆イベント種類入力部601、IT障害イベント種類入力部602、最大イベント時間間隔入力部603、IT障害検索範囲入力部604、開始ボタン605から構成される。
【0026】
予兆イベント種類入力部601は、予兆イベントとみなすイベントの属性「種類」204の入力欄である。IT障害イベント種類入力部602は、IT障害とみなすイベントの属性「種類」204の入力欄である。
【0027】
最大イベント時間間隔入力部603は、予兆イベント又はIT障害イベントとみなされるイベントが複数観察された場合に、同じ原因により発生したIT障害又は予兆イベントとみなす時間の範囲を入力するための項目欄である。
【0028】
例えばある予兆イベントが観察されてから次に予兆イベントが観察されるまでの時間が、最大イベント時間間隔入力部603に入力された時間内に収まる場合、これら2つの予兆イベントは同じ原因に起因して発生した予兆イベントであると判定する。同じ原因に起因する1つ又は複数のイベントを、1つのイベントブロックとして扱う。図6の場合、時間の単位は「分」である。もっとも、時間単位は、秒でも、時間でも、日でも、その他の単位でも良い。
【0029】
IT障害検索範囲入力部604は、予兆イベントの発生が検出された場合に、過去の類似イベントから発生が予測されるIT障害を検索する際の時間範囲を指定するための入力欄である。図6の場合、時間の単位は「日」である。もっとも、時間単位は、秒でも、時間でも、週でも、その他の単位でも良い。開始ボタン605は、予兆検知プログラムの実行を指示するためのボタンである。
【0030】
図7及び図8は、予兆検知プログラム311が自動的に検知したIT障害及び予兆イベントを表示する画面700である。画面700は、検知されたIT障害情報の内容を表示する際に使用するIT障害検知タブ701と、検知された予兆情報を表示する際に使用する予兆検知タブ801とで構成される。
【0031】
図7は、IT障害検知タブ701内の画面構成を示す。IT障害検知タブ701は、「検知したIT障害」を列記するIT障害テーブル710と、「発生した障害イベント」の属性を表示する障害イベントテーブル720と、「類似IT障害」の属性を表示する類似IT障害テーブル730で構成される。
【0032】
IT障害テーブル710は、検知したIT障害を一意に特定するIT障害ID711と、IT障害を検知した検知日時712から構成される。障害イベントテーブル720は、IT障害テーブル710内で選択されたIT障害に対して実際に発生した障害イベントの属性の内容を示す表示欄である。属性情報は、イベントID、発生日時、種類、ソース、イベント番号、ユーザ、コンピュータで構成される。
【0033】
類似IT障害テーブル730は、新たに発生した障害イベントと類似する過去のIT障害のイベントを表示する表示欄である。類似IT障害テーブル730は、IT障害を一意に特定するIT障害ID731、類似IT障害内の監視イベントの属性732、検知したIT障害との類似度733から構成されている。
【0034】
図8は、予兆検知タブ801内の画面構成を示す。予兆検知タブ801は、「検知した予兆」を列記する予兆テーブル810と、「発生した予兆イベント」の属性を表示する予兆イベントテーブル820と、「想定IT障害」を表示する想定IT障害テーブル830で構成される。
【0035】
予兆テーブル810は、検知した予兆を一意に特定する予兆ID811と、予兆を検知した検知日時812から構成される。予兆イベントテーブル820は、予兆テーブル810内で選択された予兆に対して実際に発生した予兆イベントの属性の内容を示す表示欄である。属性情報は、イベントID、発生日時、種類、ソース、イベント番号、ユーザ、コンピュータで構成される。
【0036】
想定IT障害テーブル830は、発生した予兆イベントに対して発生が想定されるIT障害を表示する表示欄である。想定IT障害テーブル830は、IT障害を一意に特定するIT障害ID831、想定IT障害内の監視イベントの属性832、スコア833から構成される。スコア833には、IT障害が発生する確率と、予兆イベントの発生からIT障害の発生までの予測時間とが表示される。図8の場合、単位は「分」である。もっとも、時間単位は、秒でも、時間でも、週でも、その他の単位でも良い。
【0037】
(データベースの構成)
図4は、IT障害DB104が保持するIT障害イベントブロックテーブル400及びIT障害特徴テーブル410のデータ構造例を示す。IT障害イベントブロックテーブル400は、イベントブロックを一意に特定するイベントブロックID401と、イベントブロックに含まれる単数又は複数のIT障害イベント402から構成される。
【0038】
ここで、イベントブロックとは、一つのIT障害が発生したときに、それに伴って一定時間内に発生した単数又は複数のIT障害イベントの集合である。イベントブロックの作成方法の説明は、予兆検知プロセスの説明の際に行う。また、IT障害イベントは、監視イベントのうち属性「種類」204の値が、予兆検知プログラムの設定画面600(図6)のIT障害イベント種類入力部602で入力された値のいずれかに当たる監視イベントである。
【0039】
IT障害特徴テーブル410は、同じ特徴を持つIT障害を一意に特定するIT障害ID411と、IT障害の特徴412と、同じIT障害の特徴を持つイベントブロックIDのリスト413から構成される。IT障害の特徴412の求め方は後述する。
【0040】
図5は、予兆DB105が保持している予兆イベントブロックテーブル500及び予兆特徴テーブル510のデータ構造例を示す。予兆イベントブロックテーブル500は、予兆イベントブロックを一意に特定するイベントブロックID501と、イベントブロックに含まれる単数又は複数の予兆イベント502から構成される。
【0041】
ここで、予兆イベントは、監視イベントのうち属性「種類」204の値が、予兆検出プログラムの設定画面600(図6)の予兆イベント種類入力部601で入力された値のいずれかに当たる監視イベントである。
【0042】
予兆特徴テーブル510は、同じ特徴を持つ予兆を一意に特定する予兆ID511と、イベントブロックの特徴512と、同じ特徴を持つイベントブロックリストであるイベントブロックIDのリスト513から構成される。特徴512の求め方は、特徴412の求め方と同じである。
【0043】
(予兆検知動作)
図9に、予兆検知システム全体の予兆検知プロセスの概略を示す。
【0044】
(ステップ900)
予兆検知コンピュータ103は、予兆検知プログラムの設定画面600において開始ボタン605のクリック入力を検出すると、設定画面600を通じて設定された属性値を採り込み、予兆検知プログラム311に基づいた予兆検知処理の実行を開始する。
【0045】
予兆検知処理の実行に際し、予兆検知コンピュータ103は、予兆イベント種類入力部601に設定入力された予兆イベントを特定する属性「種類」204の属性値と、IT障害イベント種類入力部602について設定入力されたIT障害イベントを特定する属性「種類」204の属性値と、最大イベント時間間隔入力部603に設定入力された時間間隔と、IT障害検索範囲入力部604に設定入力された時間範囲とを採り込む。
【0046】
(ステップ901)
予兆検知コンピュータ103は、監視サーバ102から通信装置332を介して監視イベントを受信する。
【0047】
(ステップ902)
予兆検知コンピュータ103は、ステップ901で受信した監視イベントの属性「種類」204を取得し、この監視イベントがIT障害イベントか、予兆イベントか判定する。属性「種類」204の値が、設定画面600の予兆イベント種類入力部601に入力された値に含まれていれば予兆イベントであり、IT障害イベント種類入力部602に入力された値に含まれていればIT障害イベントである。予兆イベントでもIT障害イベントでもない監視イベントは、作業領域312、データ格納領域322から削除する。
【0048】
図6の予兆検知プログラムの設定画面600の例では、予兆イベントの種類入力部601に「警告」が設定されており、IT障害イベントの種類入力部602に「エラー、致命的、緊急」が設定されている。
【0049】
図2に示す監視イベントの場合、イベントID201が「2」、「3」、「7」、「8」、「9」、「16」、「17」の監視イベントが予兆イベントであり、「4」、「5」、「6」、「10」、「11」、「12」の監視イベントがIT障害イベントである。それ以外の「1」、「13」、「14」、「15」の監視イベントは無視される。
【0050】
(ステップ903)
予兆検知コンピュータ103は、IT障害イベントからIT障害イベント402(図4)を生成し、その後、IT障害イベントブロックの特徴412(図4)を計算する。さらに、予兆検知コンピュータ103は、通信装置332を介してIT障害DB104のIT障害イベントブロックテーブル400及びIT障害特徴テーブル410を更新する。
【0051】
時間的に連続して発生した2つのIT障害イベントが同じイベントブロックに属するか否かの判定は、2つのIT障害イベントの発生日時202の時間間隔が、最大イベント時間間隔入力部603(図6)の入力値以内か否かにより判断する。
【0052】
ここで、2つのIT障害イベントの時間間隔が最大イベント時間間隔内であれば、2つのIT障害イベントは、同じイベントブロック内に分類される。一方、2つのIT障害イベントの時間間隔が最大イベント時間間隔外であれば、別々のイベントブロックに分類される。
【0053】
例えば、図2の監視イベントの例の場合、イベントID201が「5」、「6」、「10」の監視イベントは、種類の属性値がそれぞれ「エラー」、「致命的」、「緊急」である。これらの属性値は、設定画面600(図6)のIT障害イベントの種類入力部602の入力値「エラー、致命的、緊急」に含まれている。従って、イベントID201が「5」、「6」、「10」の監視イベントは、連続したIT障害イベントである。
【0054】
この場合、イベントID201が「5」と「6」のIT障害イベントの発生日時202の時間間隔は1分2秒である。この値は、設定画面600(図6)の最大イベント時間間隔入力部603で設定された値である2分以内である。従って、これら2つのIT障害イベントは、IT障害イベントブロックテーブル400(図4)において、同じイベントブロックID401(すなわち、「1」)に割り当てられている。
【0055】
一方、イベントID201が「6」と「10」の監視イベントの発生日時202の時間間隔は、最大イベント時間間隔以上である。このため、これら2つのIT障害イベントは、IT障害イベントブロックテーブル400(図4)において、異なるイベントブロックID(すなわち、「1」と「2」)に割り当てられている。
【0056】
IT障害の特徴412は、IT障害イベントブロックテーブル400(図4)において、同じイベントブロックに含まれる単数又は複数のIT障害イベントの「種類」、「ソース」、「イベント番号」、「ユーザ」、「コンピュータ」の各属性に対して、共通する属性値の頻度を計算し、頻度の高い属性値の上位2つを各属性の「特徴」とする。
【0057】
例えばIT障害イベントブロックテーブル400(図4)の場合、イベントブロックID401が「1」のイベントブロックに、イベントID「4」、「5」、「6」の3つのIT障害イベントが含まれている。属性「種類」に着目すると、属性値「エラー」は2回出現し、「致命的」は1回出現している。
【0058】
従って、イベントブロックID「1」の属性「種類」に関し、最も頻度の高い属性値を表す「種類0」には「エラー」が設定され、次に頻度の高い属性値を表す「種類1」には「致命的」が設定される。
【0059】
なお、IT障害特徴テーブル410では、各属性の組み合わせが全て共通する(同じ特徴を持つ)イベントブロック同士が1つのIT障害ID411で管理される。例えばイベントブロックID1は、IT障害ID411で管理される。因みに、IT障害ID411のイベントブロックIDリスト413には、イベントブロックID「1」の他に、「15」と「30」も含まれており、それらは同じ特徴を有することが分かる。
【0060】
因みに、「特徴」は、これらの属性の他、イベントブロック内の先頭イベントの発生日時202から最終イベントの発生日時202までの時間間隔、イベントブロック内のイベント数、属性値の平均値に対して差異が大きい属性値等を用いても良い。
【0061】
(ステップ905)
予兆検知コンピュータ103は、IT障害DB104のIT障害特徴テーブル410を参照し、IT障害イベントブロックと同じ特徴412を持つイベントブロックIDを、イベントブロックIDリスト413から取得する。すなわち、特徴が類似するIT障害イベントブロックを取得する。
【0062】
さらに、予兆検知コンピュータ103は、取得したイベントブロックIDに対応するIT障害イベントブロックをIT障害イベントブロックテーブル400から取得する。
【0063】
次に、作成したIT障害イベントブロックと、取得した同じ特徴を持つIT障害イベントブロック間の類似度を計算する。2つのイベントブロック(イベントブロックA、イベントブロックB)間の類似度は、例えば次式

で与える。
【0064】
(ステップ906)
予兆検知コンピュータ103は、表示装置331を介し、IT障害の検知結果を予兆検知プログラム画面700(図7)のIT障害検知タブ701に表示する。具体的には、今回検知した検知日時をIT障害テーブル710の検知日時712に表示する。
【0065】
次に、予兆検知コンピュータ103は、ステップ903で作成した「今回検知したIT障害」のイベントブロックを、発生した障害イベントテーブル720に表示する。さらに、予兆検知コンピュータ103は、ステップ905で求めた「類似IT障害」のイベントブロックを、類似IT障害テーブル730に類似度733と共に表示する。
【0066】
例えば障害イベントテーブル720に表示されたイベントブロックと、IT障害ID731が「81」のイベントブロックの類似度は、全ての属性の属性値が一致するので100%になる。
【0067】
また例えば障害イベントテーブル720に表示されたイベントブロックと、IT障害ID731が「99」のイベントブロックの類似度は、以下に示すように87%になる。IT障害ID731が「99」に属する3つのイベントブロックの全属性数は15個であり、属性値が共通する属性の数は13個(イベントID「345」の5個、イベントID「346」の5個、イベントID「347」の3個)であるためである。
【0068】
(ステップ907)
予兆検知コンピュータ103は、ステップ903と同様に、検出された予兆イベントに対して、予兆イベントブロック502(図5)及び予兆イベントブロックの特徴512(図5)を計算する。さらに、予兆検知コンピュータ103は、通信装置332を介して予兆DB105の予兆イベントブロックテーブル500及び予兆特徴テーブル510を更新する。
【0069】
(ステップ909)
予兆検知コンピュータ103は、ステップ905と同様に、予兆DB105の予兆特徴テーブル510を参照し、予兆イベントブロックと同じ特徴512を持つイベントブロックIDリスト513を取得する。すなわち、特徴が類似する予兆イベントブロックを取得する。
【0070】
さらに、予兆検知コンピュータ103は、予兆イベントブロックテーブル500を参照し、予兆イベントブロックと同じ特徴512を持つ予兆イベントの内容を取得する。
【0071】
(ステップ910)
予兆検知コンピュータ103は、ステップ909で得られた各予兆イベントブロックに対し、想定されるIT障害を予測する。
【0072】
ここで、予兆ID511(図5)がNである予兆イベントブロックの集合をP、その要素であってイベントブロックID501(図5)がMである予兆イベントブロックをP、IT障害ID411(図4)がNであるIT障害イベントブロックの集合をF、その要素であってイベントブロックID401(図4)がMであるIT障害イベントブロックをFとする。
【0073】
また、予測する時間範囲TWを、予兆検知プログラムの設定画面600(図6)のIT障害検索範囲入力部604の入力値に設定する。
【0074】
今、ステップ907で作成した予兆イベントブロックの特徴が、予兆ID511の「1」(すなわち「特徴1」)であるとするとき、Fが発生する確率を求める。
【0075】
予兆検知コンピュータ103は、予兆特徴テーブル510を参照し、同じ「特徴1」を持つ予兆イベントブロックは、P、P20、P31であると検知する。
【0076】
次に、予兆検知コンピュータ103は、各予兆イベントブロックが発生した日時を始点とし、各時点から時間範囲TW内に発生したIT障害イベントブロック列をIT障害イベントブロックテーブル400(図4)から求める。
【0077】
その結果、予兆検知コンピュータ103は、その予兆イベントブロックと、当該ブロックの発生から所定の時間範囲TW内に発生したIT障害イベントブロックとで構成される配列を作成する。以下に、作成される配列を示す。
(P, F
(P20, F14, F15, F1613
(P31, F35, F36, F37)
【0078】
次に、予兆検知コンピュータ103は、配列を構成する障害ITイベントの間で頻度が最も高い特徴(「特徴1」)に着目する。すなわち、Fに着目する。因みに、「特徴1」を有する障害ITイベントは2個見つけられる。IT障害特徴テーブル410(図4)には、Fの構成要素として、F, F15, F30が登録されている。予兆検知コンピュータ103は、F, F15, F30を構成するイベントの各最終発生日時を終点として、それより以前の時間範囲TW内に発生した予兆イベントブロック列を予兆イベントブロックテーブル500(図5)から求め、そのIT障害イベントブロックと、予兆イベントブロック列とで構成される配列を作成する。以下に、作成される配列を示す。
(P , F)
(P20, P21, P22, P23, F15)
(P41, P42, F30)
【0079】
これら6個の配列において、PとFとが共起する配列の個数は4個である。従って、PとFとが共起する確率は4/6で与えられる。ここで、判定閾値を設定し、共起確率が判定閾値より小さい場合には、判定対象である配列の組合せの間に共起関係が無いと判定しても良い。
【0080】
さらに、予兆検知コンピュータ103は、共起したPとFの組み合わせ(P, F)及び(P20,F15)において、予兆イベントブロックと障害イベントブロックの発生時間間隔を求め、その短い方をIT障害の発生が期待される予測時間とする。
【0081】
予兆検知コンピュータ103は、同様の計算を各IT障害ID411について行い、その確率を求める。予兆検知コンピュータ103は、算出値がある閾値以上のIT障害を、ステップ909で得られた予兆イベントブロックに対して発生が予測されるIT障害とする。
【0082】
(ステップ911)
予兆検知コンピュータ103は、ステップ906と同様、表示装置331を介し、予兆結果を予兆検知プログラム画面(図8)の予兆検知タブ801に表示する。具体的には、検知した予兆の日時を予兆テーブル810の検知日時812に追加する。
【0083】
次に、予兆検知コンピュータ103は、ステップ907で作成した「今回検知した予兆」のイベントブロックを、発生した予兆イベントテーブル820に表示する。さらに、予兆検知コンピュータ103は、ステップ910で求めた「発生が予想されるIT障害」の代表的なIT障害のイベントブロックを、想定IT障害テーブル830に設定する。この際、予兆検知コンピュータ103は、スコア833の欄に、IT障害イベントが予兆イベントと共起する確率と予測時間を表示する。
【0084】
ここで、共起確率は、前述したIT障害イベントブロックと予兆イベントブロックの配列を用いて算出する。また、予測時間とは、予兆イベントの発生日時から該当するIT障害イベントが発生するまでの時間をいう。図8の例の場合、IT障害ID831が「1」のIT障害イベントは100%の確率で予兆イベントの発生から30分以内に発生することを示している。
【0085】
(まとめ)
以上説明したように、本実施例に係る予兆検知装置の場合には、監視イベントの一部を予兆イベントに使用し、検出された予兆イベントと共起する可能性が高い障害イベントを、当該障害イベントの発生前に、自動的に検出することができる。
【0086】
また、本実施例に係る予兆検知装置の場合には、プロセッサ等の性能負荷に影響を与えない障害イベントについても、その発生を予め予測することができる。
【0087】
(他の形態例)
本発明は上述した形態例に限定されるものでなく、様々な変形例が含まれる。例えば、上述した形態例は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある形態例の一部を他の形態例の構成に置き換えることが可能であり、また、ある形態例の構成に他の形態例の構成を加えることも可能である。また、各形態例の構成の一部について、他の構成を追加、削除又は置換することも可能である。
【0088】
また、上述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路その他のハードウェアとして実現しても良い。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することにより実現しても良い。すなわち、ソフトウェアとして実現しても良い。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記憶装置、ICカード、SDカード、DVD等の記憶媒体に格納することができる。
【0089】
また、制御線や情報線は、説明上必要と考えられるものを示すものであり、製品上必要な全ての制御線や情報線を表すものでない。実際にはほとんど全ての構成が相互に接続されていると考えて良い。
【符号の説明】
【0090】
101…監視対象サーバ群
102…監視サーバ
103…予兆検知コンピュータ
104…IT障害DB
105…予兆DB
311…予兆検知プログラム
400…IT障害イベントブロックテーブル
410…IT障害特徴テーブル
500…予兆イベントブロックテーブル
510…予兆特徴テーブル
600…設定画面
601…予兆イベント種類入力部
602…IT障害イベント種類入力部
603…最大イベント時間間隔入力部
604…IT障害検索範囲入力部
701…IT障害検知タブ
801…予兆検知タブ

【特許請求の範囲】
【請求項1】
IT障害を監視する監視サーバが生成したイベントを逐次取得して予兆イベント又はIT障害イベントに分類する第一の処理部と、
一つの原因に伴い発生した単数又は複数のイベントから構成される予兆イベントブロック及びIT障害イベントブロックを生成する第二の処理部と、
予兆イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報及びIT障害イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報を求める第三の処理部と、
取得した予兆イベントブロックと特徴情報が類似する予兆イベントブロックを、予兆イベントブロックログから検索する第四の処理部と、
類似する各予兆イベントブロックの発生から一定期間に発生するIT障害イベントブロックを、IT障害イベントブロックログから検索する第五の処理部と、
前記予兆イベントブロックと前記IT障害イベントブロックとの間で共起関係を判定する第六の処理部と、
共起関係が認められたIT障害イベントブロックを、取得された予兆イベントブロックに対する予測IT障害と判定する第七の処理部と
を有することを特徴とするIT障害予兆検知装置。
【請求項2】
請求項1に記載のIT障害予兆検知装置において、
前記第六の処理部は、ある共通の特徴情報を有する前記予兆イベントブロックと、ある共通の特徴情報を有する前記IT障害イベントブロックとの間で共起関係を判定する
ことを特徴とするIT障害予兆検知装置。
【請求項3】
請求項2に記載のIT障害予兆検知装置において、
前記第六の処理部は、前記共起関係を与える確率が閾値を越える場合に共起関係が存在すると判定する
ことを特徴とするIT障害予兆検知装置。
【請求項4】
請求項1に記載のIT障害予兆検知装置において、
共起関係のある予兆イベントブロックとIT障害イベントブロックの発生時間間隔を求め、その最小値を共起関係のあるIT障害イベントブロックが発生するまでの予測時間とする
こととを特徴とするIT障害予兆検知装置。
【請求項5】
請求項1に記載のIT障害予兆検知装置において、
前記予測IT障害を表示装置に表示する
ことを特徴とするIT障害予兆検知装置。
【請求項6】
コンピュータに、
IT障害を監視する監視サーバが生成したイベントを逐次取得して予兆イベント又はIT障害イベントに分類する第一の処理と、
一つの原因に伴い発生した単数又は複数のイベントから構成される予兆イベントブロック及びIT障害イベントブロックを生成する第二の処理と、
予兆イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報及びIT障害イベントブロックに属するイベントに頻出する属性値をもとにした特徴情報を求める第三の処理と、
取得した予兆イベントブロックと特徴情報が類似する予兆イベントブロックを、予兆イベントブロックログから検索する第四の処理と、
類似する各予兆イベントブロックの発生から一定期間に発生するIT障害イベントブロックを、IT障害イベントブロックログから検索する第五の処理と、
前記予兆イベントブロックと前記IT障害イベントブロックとの間で共起関係を判定する第六の処理と、
共起関係が認められたIT障害イベントブロックを、取得された予兆イベントブロックに対する予測IT障害と判定する第七の処理と
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate