説明

障害分析システム、障害分析方法および障害分析用プログラム

【課題】管理対象システム内のエラーメッセージや性能データの不整合では発見できないサイレント障害を発見すること。
【解決手段】蓄積データ処理部600は、管理対象システム200の性能に関する時系列データの変化の周期を検出し、この検出した周期の各位相毎に、当該位相の過去の時系列データから将来の当該位相における性能データの期待値を算出して蓄積する。障害判断部500は、前記検出した周期中の各位相毎に、前記算出された当該位相における性能データの期待値と当該位相における前記管理対象システムの性能データの実測値とを比較して、性能データの実測値の異常を判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は障害分析システム、障害分析方法および障害分析用プログラムに関し、特に経時的に観測された管理対象システムの性能に関するデータを分析して、いわゆるサイレント障害と呼ばれる種類の障害を検出する障害分析システム、障害分析方法および障害分析用プログラムに関する。
【背景技術】
【0002】
本発明に関連する障害分析システムの一例が、非特許文献1に記載されている。図1を参照すると、非特許文献1に記載された障害分析システム290は、管理対象システム200を監視している。管理対象システム200は、たとえば、ノードA(210)、ノードB(220)、ノードC(230)、ノードD(240)で構成されている。このシステムに対して、利用者は利用者端末100を通して管理対象システム200にアクセスし、サービスの提供を受ける。障害分析システム290は、障害によりサービスが滞らないよう、管理対象システム200を監視する。障害分析システム290は、管理対象システム200と同じ場所に配置することもあるし、ネットワーク的につながっているが、物理的に異なる場所に配置されることもある。
【0003】
障害分析システム290は、モニタ110、管理データベース120、判断手段130、分析結果表示手段140、相関性知識データベース150、知識記述エディタ160から構成され、次のように動作する。まず、モニタ110は定期的に管理対象システム200から性能データを観測し、観測結果を管理データベース120に格納する。一方、管理対象システム200に対して十分な知識を有する知識記述者は、知識記述エディタ160を使用し、管理対象システム200の性能データ相互の相関性に関する知識を記述し、相関性知識データベース150に格納する。たとえば、ノードBのアクセス数aBとノードCのアクセス数aCとは、ほぼ一定の割合を維持しており、その比が崩れると、ノードBもしくはノードCが故障している確率が高いとの知識を記述する。判断手段130は、相関性知識データベース150に格納された相関性を検査するため、管理データベース120から管理対象システム200の性能データ、たとえば、aBとaCを取得する。判断手段130は、これらの性能データの相関性が相関性知識データベース150と矛盾しないか検査する。たとえば、aBとaCの比が想定された閾値以上の値であれば障害ととらえる。
【0004】
また別の障害分析システムの一例が、非特許文献2に記載されている。図2を参照すると、非特許文献2に記載された障害分析システム390は、知識記述エディタ160に代えて相関学習手段310を有する点で、図1の障害分析システム290と相違する。つまり、障害分析システム290では、相関性知識を知識記述者が記載したが、障害分析システム390では、相関学習手段310が性能データ間の相関関係を学習する。学習アルゴリズムとしては、自己回帰移動平均モデルなどが知られている。相関学習手段310は、学習した相関関係を相関性知識データベース150に格納する。これにより、知識記述者がいなくても障害分析が可能になる。
【0005】
さらに別の障害分析システムの一例が、特許文献1に記載されている。図3を参照すると、特許文献1に記載された障害分析システム490は、判断手段130、相関性知識データベース150および知識記述エディタ160に代えて、異常判断手段430、期待値データベース420および知識記述エディタ410を有する点で、図1の障害分析システム290と相違する。なお、特許文献1の明細書および図面の記載は抽象的な表現が多いため、図3では一部の構成を補って図示している。この障害分析システム490では、管理対象システム200内のコンポーネントごとに期待される性能を、期待値データベース420に格納しておく。このような期待される性能は、図3に示したように知識記述エディタ410を通じて知識記述者が記述する方法以外に、特許文献1では、期待される性能を、経時的に変化する管理対象システム(特許文献1ではたとえば無線通信網)の性能データに基づいて自動的に生成することを示唆している。異常判断手段430は、管理データベース120に格納された性能データと、期待値データベース420に格納された期待値とを比較し、想定される偏差よりも程度が大きくアクセスが少ない状況が現れると、嫌疑モードに入る。ただし、嫌疑モードに入った後、再び一定の期待値以上に性能データが回復すれば、通常モードに戻る。嫌疑モードが継続している期間中、期待される性能データおよび実際の性能データが共に積分される。そして、期待される性能データの積分値が生じる状況下において、実際の性能データの積分値が発生し得る確率が低くなるとき、サイレント障害が発生したものとして警告またはアラームを発する。
【0006】
【非特許文献1】渡邊他、”ユートラン オペレーション アンド マネージメント サポートシステム ウィス スタティッカル フォールトアイデンティフィケーション アンド カスタマイザブル ルール セッツ”, ノムス 2008,pp.560-573(Y.Watanabe,et.al.,UTRAN O&M Support System with Statistical Fault Identification and Customizable Rule Sets, NOMS 2008,pp.560-573)
【非特許文献2】チェン他、”ピンポイント:プロブレム デターミネーション イン ラージ、ダイナミック インターネット サービシズ”,ディーエスエヌ 02,2002(Mike Y. Chen, Emre Kiciman, Eugene Fratkin, Armando Fox, Eric Brewer, "Pinpoint: Problem Determination in Large, Dynamic Internet Services", DSN02,2002
【特許文献1】特開2006−94497号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
第1の問題点は、非特許文献1および2による障害分析システムでは、外部環境の影響による性能劣化と障害による性能劣化の区別がつかず、障害の発見が困難になる点である。たとえば、監視対象システムの入り口にあたるノードであるノードAが障害メッセージを出す間もなく、ハードウェア障害でダウンしたとする。すると、ノードAのアクセスaAは、0になる。この場合、ノードAからノードBへのアクセスaBも0になる。しかし、たとえば、夜間など利用者がほとんどアクセスしないシステムでは、aA=0かつaB=0は通常のことである。このような障害を見つけることは、モニタリング可能な複数の性能データの相関の異常を発見する非特許文献1および2の技術では、困難である。
【0008】
一方、特許文献1による障害分析システムでは、期待値データベース420に格納された期待値が適切に設定されていれば、ノードAのアクセスaAの通常よりも極端に低いアクセスパターン、つまりサイレント障害を見つけることができる。しかしながら、特許文献1には、過去のデータの履歴から将来のデータの期待値を求める方法が具体的に示されていない。特に、たとえば夜間や特定の時間帯など、性能データが劣化する状態が周期的に現れる管理対象システムに適した期待値の求め方について具体的な記載はない。
【0009】
[発明の目的]
本発明の目的は、管理対象システム内のエラーメッセージや性能データの不整合では発見できないサイレント障害を発見することのできる障害分析システムを提供することにある。
【0010】
本発明の別の目的は、周期性のある過去のデータの履歴から障害のデータの期待値を自動的に求め、この求めた期待値を使用して、サイレント障害を発見することのできる障害分析システムを提供することにある。
【課題を解決するための手段】
【0011】
本発明の障害分析システムは、管理対象システムの性能に関する時系列データの変化の周期を検出し、該検出した周期の各位相毎に、当該位相の過去の時系列データから将来の当該位相における性能データの期待値を算出して蓄積する蓄積データ処理部と、前記検出した周期中の各位相毎に、前記算出された当該位相における性能データの期待値と当該位相における前記管理対象システムの性能データの実測値とを比較して、性能データの実測値の異常を判定する障害判断部とを備える。
【発明の効果】
【0012】
本発明によれば、性能劣化等が外部的な状況の変化による要因か、それとも障害によるものかの判別が困難なサイレント障害を発見することができる。
【0013】
また本発明によれば、周期性のある過去のデータの履歴から将来のデータの期待値を自動的に求めることができる。
【発明を実施するための最良の形態】
【0014】
次に本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【0015】
図4を参照すると、本発明の第1の実施の形態に係る障害分析システム790は、管理対象システム200の性能データを定期的に観測するモニタ110と、モニタの観測結果を格納する管理データベース120と、管理対象システム200の性能データの変化の周期を検出し、検出した周期の各位相毎に、当該位相の過去の性能データから将来の当該位相における性能データの期待値を算出して蓄積する蓄積データ処理部600と、管理対象システム200の性能データの変化周期の各位相毎に、蓄積データ処理部600に蓄積された当該位相における性能データの期待値と当該位相における管理対象システム200の性能データの実測値とを比較して、性能データの実測値の異常を判定する障害判断部500と、障害判断部500の判定で使用する確率閾値を格納する確率閾値格納手段590と、障害判断部500の障害判断結果を管理者に提示する分析結果表示手段140とから構成されている。
【0016】
また、蓄積データ処理部600は、管理データベース120から性能データの時系列データを取り出し、周波数分析して、周期成分を求める周波数分析手段610と、求められた周期成分を格納する周期成分格納手段620と、求められた周期成分から最も周期性の高い成分(以下、主周期と称す)を取り出す周期性抽出手段630と、取り出された主周期を格納する周期性格納手段640と、管理データベース120から性能データの時系列データを取り出し、主周期の各位相毎に、過去一定期間の同じ位相における性能データの平均値を算出して平均時系列データを生成する平均時系列データ作成手段650と、生成された各位相毎の平均時系列データを格納する平均時系列データ格納手段660と、平均時系列データ作成手段650で生成された各位相の平均時系列データ毎に、その生成に用いた性能データのばらつき具合を示す偏差データ(例えば標準偏差)を生成する偏差データ作成手段670と、生成された各偏差データを格納する偏差データ格納手段680と、各位相毎の平均時系列データと偏差データとから、各位相毎の低性能値閾値を生成する低性能値閾値生成手段700と、生成された各位相毎の低性能値閾値を格納する低性能値閾値格納手段690とを有する。
【0017】
さらに、障害判断部500は、現在の時刻を計時し、各部に分配するタイマー570と、管理対象システム200の性能データの主周期の各位相毎に、管理データベース120から取り出した当該位相における性能データの実測値と低性能値閾値格納手段690に記憶されている当該位相における低性能値閾値とを比較することで性能データの劣化を発見し、性能データの実測値が低性能値閾値を連続して下回った期間の開始時刻、その期間中の性能データの実測値の累積値を求める低性能値監視手段560と、この低性能値監視手段560で求められたデータを格納する管理表550と、性能データの実測値が低性能値閾値を連続して下回った期間における性能データの実測値の累積値と、その期間における性能データの平均時系列データの累積値とを比較して、そのような平均時系列データの累積値が今までに観測されている状況の下で今回のような性能データの実測値の累積値が生じる確率が確率閾値よりも低いかどうかによって、今回の性能データの実測値が異常かどうかを判断する判断手段580と、この判断手段580からの依頼を受けて、性能データの平均時系列データの累積値を求める積分手段540とを有する。
【0018】
モニタ110によって管理対象システム200から取得されて管理データベース120に蓄積される性能データは、管理対象システム200における或る特定の1箇所の性能データであっても良いし、複数箇所の性能データであっても良い。複数箇所の性能データを取り扱う場合には、どの性能データがどの箇所の性能データであるかが明確に区別されて管理データベース120に蓄積され、障害判断部500の管理表550には、低性能値閾値を下回ったデータ性能の実績値がどの箇所のデータ性能であるかを示すデータが付加される。
【0019】
また、複数箇所の性能データを扱う場合に、それらは全て同じ種類の性能データであっても良いし、異なる種類の性能データであっても良い。複数種類の性能データを取り扱う場合には、その性能データがどの種類の性能データであるかが明確に区別されて管理データベース120に蓄積され、障害判断部500の管理表550には、低性能値閾値を下回ったデータ性能の実績値がどの種類のデータ性能であるかを示すデータが付加される。
【0020】
図4の管理表550には、機器とデータ名と開始時刻と累積値との四つ組が記録される例が示されている。ここで、機器の欄が、低性能値閾値を下回ったデータ性能の実績値がどの箇所のデータ性能であるかを示すデータに相当し、データ名の欄が、低性能値閾値を下回ったデータ性能の実績値がどの種類のデータ性能であるかを示すデータに相当する。また、開始時刻の欄は、性能データの実測値が低性能値閾値を連続して下回った期間の開始時刻を示し、累積値の欄は、その期間中の性能データの実測値の累積値を示す。
【0021】
次に、図4及び図5から図11のフローチャートを参照して本実施の形態の動作について説明する。なお、以下の動作説明では、1種類の性能データについて、その取得から障害分析までの動作を説明する。管理対象システム120の複数箇所から性能データが取得される場合や、複数種類の性能データを取得する場合、各性能データについて同様の処理が適用される。
【0022】
まず、モニタ110の動作、続いてそれ以外のモジュール、すなわち障害判断部500、蓄積データ処理部600の動作を詳細に説明する。
【0023】
まず、モニタ110の動作について図4及び図5を参照して、説明する。モニタ110は、管理対象システム200から性能データを取得し(図5のステップA110)、管理データベース120に格納する(ステップA120)。これを一定時間ごとに繰り返す(ステップA130)。例えば、1日の午前0時00分にまず1回目の性能データの取得と格納を行い、次に1分後、10分後、1時間後という予め定められた一定時間が経過する毎に再び性能データの取得と格納を繰り返す。これを24時間継続し、さらに再び午前0時00分になったら前日と同じ動作を繰り返すことで、管理対象システム200の性能データを常時監視する。
【0024】
次に、蓄積データ処理部600について、図4及び図8から図11のフローチャートを参照して説明する。
【0025】
まず、図4及び図8を参照して、管理データベース120に格納された過去の性能データの時系列から周期性を見つけ出す周波数分析について説明する。
【0026】
周波数分析手段610は、ある一定値時間Tの過去から現在時刻t1まで、すなわち、t1-Tからt1までの性能データの時系列データを管理データベース120から取得し、周波数分析を行う(ステップD110)。周波数分析としては、たとえばフーリエ変換などを用いることができる。これにより、周波数fごとの強度e(f)を求めることができる。周波数分析手段610は、周波数fごとの強度e(f)を周期成分格納手段620に格納する(ステップD120)。
【0027】
周期性抽出手段630は、周波数fごとの強度e(f)から最も強度の大きい周波数fmax=argf max e(f)を求める(ステップD130)。ただし、f=0は定数成分であるため、f≠0の中から最大強度の周波数を見つける。
【0028】
周期性抽出手段630は、このfmaxを周期性格納手段640に格納する(ステップD140)。当該性能データの主周期は、ここに格納されたfmaxの逆数で与えられる。
【0029】
次に、図4及び図10を使って、管理データベース120に格納された過去の性能データから、当該性能データの主周期の各位相毎の平均時系列データを生成する動作を説明する。たとえば、性能データに1日(24時間)ごとの周期性がある場合、その周期の各位相とは、例えば1日を24等分した各時刻0:00,1:00,2:00,…,22:00,23:00に相当する。ここでは、位相の間隔を1時間としたが、10分や1分のように短い間隔としても良いし、2時間、6時間、半日などの長い間隔としても良い。或る位相の平均時系列データは、例えば9:00の位相を考えると、過去何日かの9:00の性能データの平均を求めることである。
【0030】
まず、平均時系列データ作成手段650は、ある一定値T過去から現在時刻t1までの性能データを管理データベース120から取得し、周期c=1/fmaxの各位相毎に平均λ'c(t)を求める(ステップF110)。すなわち、λ'c(t)=E(d(T=t1-T+(t mod c)+kc))を求める。ただし、t1-T<t<t1なので、k=0,1,…、かつ(t mod c)+kc<Tである。Tは時間に関する確率変数、d(T=t1-T+(t mod c)+kc)は、時間t1-T+(t mod c)+kcがk=0,1,…と変化する時間分布の場合の性能データの分布を表す。また、Eは与えられた分布の平均を表す。平均時系列データ作成手段650が、このように求めたλ'c(t)を平均時系列データ格納手段660に格納する(ステップF120)。
【0031】
次に、図4及び図9を使って、管理データベース120に格納された過去の性能データの時系列から標準偏差を求める標準偏差の算出について説明する。
【0032】
偏差データ作成手段670は、平均時系列データ作成手段650と同じく、ある一定値時間Tの過去から現在時刻t1まで、すなわち、t1-Tからt1までの性能データの時系列データを管理データベース120から取得する。そして、周期c=1/fmaxの各位相毎に、標準偏差σ(d(t1-T<T<t1))を求める(ステップE110)。Tは時間に関する確率変数、d(t1-T<T<t1)は、時間t1-Tからt1までの性能データの分布を表す。また、σは与えられた分布の標準偏差を表す。
【0033】
偏差データ作成手段670は、各位相毎の標準偏差σ(d(t1-T<T<t1))を偏差データ格納手段680に格納する(ステップE120)。
【0034】
次に、図4及び図11を参照して、平均時系列データ格納手段660に格納された性能データの平均値の時系列データ及び偏差データ格納手段680に格納された標準偏差をもとに、各位相毎の低性能値の閾値を算出する動作について説明する。
【0035】
低性能値閾値生成手段700は、現在時刻t1において、平均時系列データλ'c(t1)と偏差値σ(d(t1-T<T<t1))とから、与えられた適切な倍率l(0<l)を元に低性能値閾値θ(t1)=λ'c(t1)-lσ(d(t1-T<T<t1))を計算する(ステップG110)。ただし、t1は現在時刻である。次に、低性能値閾値生成手段700は、低性能値閾値θ(t1)を低性能値閾値格納手段690に格納する。
【0036】
次に、障害判断部500のうち、性能データの劣化を発見する低性能値監視手段560の動作について、図4及び図6を参照して、説明する。
【0037】
まず、低性能値監視手段560は、低性能値閾値格納手段690から低性能値閾値θ(t1)を取得する(図7のステップB110)。ただし、t1は現在の時刻である。ここでは、説明の便宜上、取得した低性能値閾値θ(t1)は、装置Aのある種類aの性能データに関する低性能値閾値であったとする。
【0038】
次に低性能値監視手段560は、管理データベース120から現在時刻t1での装置Aの性能データaの値d(t1)を取得する(ステップB120)。そして、低性能値監視手段560は、d(t1)とθ(t1)とを比較する(ステップB130)。
【0039】
(1)d(t1)<θ(t1)の場合
この場合、低性能値監視手段560は、管理表550に装置Aの性能データaに関する行があるかを否かを調べる(ステップB140)。既に行があれば、その行の蓄積値Dの欄に値d(t1)を加算し、D←D+θ(t1)を新たな蓄積値Dとして、管理表550の欄を上書きする(ステップB160)。未だ該当する行がなければ、対象機器A、性能データ名a、現在時刻t1、性能データ値d(t1)の四つ組を管理表550に新たな行として追加する(ステップB150)。
【0040】
(2)d(t1)<θ(t1)でない場合
この場合、低性能値監視手段560は、管理表550に装置Aの性能データaに関する行があるか否かを調べる(ステップB170)。若し無ければ、図6の処理を終了する。若し有れば、既に性能データの値劣化から回復したということなので、その行を削除する(ステップB180)。
【0041】
次に障害分析部500のうち、障害分析を行う判断手段580の動作について、図4及び図7のフローチャートを参照して説明する。
【0042】
まず、判断手段580は、管理表550の行から蓄積値Dが記録されている行を取得する。たとえば、図4の管理表550の1行目には、装置A、性能データa、値低下の開始時刻t0、蓄積値Dが記録されているので、その行を取得する(ステップC110)。
【0043】
次に、判断手段580は、積分手段540に対して、当該行における開始時刻t0から現在時刻t1までの平均時系列データλ(t)の積分計算S(t0,t1)=∫t0t1 λ(t)dtを依頼する(ステップC120)。
【0044】
積分手段540は、平均時系列データ660から、時刻t0から現在時刻t1までの平均時系列データλ(t)を読み出して、S(t0,t1)=∫t0t1 λ(t)dtを計算し、その結果を判断手段580に返す(ステップC130)。
【0045】
次に判断手段580は、積分手段540から返却された過去の平均時系列データλ(t)の積分値と比較して、時間t0からt1の間で性能データの累積値がDになる確率PD(t0,t1)を計算する(ステップC140)。ここでは、性能データの値の分布がポアソン分布に従うと仮定する。たとえば、性能データを管理対象システム200へのアクセス数とした場合、アクセスは、過去の状態と関係なく単位時間あたり、λ(t)回で発生すると仮定する。この仮定のもと、確率PD(t0,t1)は以下の2式が成り立つ。
【0046】
P0(t0,t1+Δt)=P0(t0,t1)(1-λ(t1)Δt)
PD+1(t0,t1+Δt)=PD+1(t0,t1)λ(t)Δt+PD(t0,t1)(1-λ(t)Δt)
ただし、P0(t,t)=1、PD(t,t)=0 (D>0)
【0047】
1番目の式からP0(t0,t1)=exp(-S(t0,t1))となる。ただし、S(t0,t1)=∫t0t1 λ(t)dtとなる。また、1番目と2番目の式より、PD(t0,t1)={SD(t0,t1)/n!}exp(-S(t0,t1))が成り立つ。ただし、SD(t0,t1)は、S(t0,t1)のD乗である。判断手段580はこの式を計算して確率PD(t0,t1)を計算する。
【0048】
次に、判断手段580は、確率閾値格納手段590に予め格納されている確率閾値P0とPD(t0,t1)とを比較する(ステップC150)。もし、Σd=0D Pd(t0,t1)<P0ならば、判断手段580は分析結果表示手段140に障害を通知する。本例は、Dが離散値であるが、連続値であっても積分を使うなど同様の方法で対処可能である。
【0049】
図5から図11のフローチャートで示した動作は周期的に起動される。これらのそれぞれの処理は非同期的に起動してもよい。また、たとえば、モニタ、標準偏差算出、周波数分析、平均時系列算出、低性能値閾値算出、低性能値監視、障害分析の順番で、同期的に起動してもよい。
【0050】
次に本実施の形態の効果を説明する。
【0051】
本実施の形態によれば、性能劣化等が外部的な状況の変化による要因か、それとも障害によるものかの判別が困難なサイレント障害を発見することができる。その理由は、過去の性能データから発見された周期性をもとに作成された性能データの期待値と、モニタリングした性能データの実測値とを比較することで、外部的な状況の周期的な変化による性能データ劣化と、障害的な変化による性能データ劣化とを区別することが可能になるためである。
【0052】
また本実施の形態によれば、周期性のある過去のデータの履歴から将来のデータの期待値を自動的に求めることができる。その理由は、管理対象システムの性能に関する時系列データの変化の周期を検出し、この検出した周期の各位相毎に、当該位相の過去の時系列データから将来の当該位相における性能データの期待値を算出しているためである。
【実施例】
【0053】
次に、具体的な実施例を用いて本発明の実施の形態の動作を説明する。
【0054】
まず、モニタ110について図4及び図5を参照して、説明する。モニタ110は管理対象システム200に関する性能データを取得し(図6のステップA110)、管理データベース120に格納する(ステップA120)。たとえば、管理対象システム200がノードA、ノードB、ノードC、ノードDで構成されており、ノードAは、性能データa,b,c、ノードBは、性能データa,b,d、ノードCは、性能データb,c,d、ノードDは、性能データa,b,cを有するとする。この場合、モニタは、これら12種類の性能データについて周期的に計測する。その計測の結果、12種類の性能データは、情報データベース120に、計測時間ごとに格納される。たとえば、時刻tで計測されたノードAの性能データaであるアクセス頻度の値は、aA(t)とあらわされるとする。たとえば、このようなデータは図12のようなグラフや図14のようなグラフで示されているとする。この図12のグラフのうち、時刻t0からt3で示されるアクセス数が低下している部分が、実はサイレント障害発生部分である。また、図14のグラフの場合では周期的にアクセス数が0近くまで落ちているが、これは、夜間にアクセス数が減る環境下にあるもので、障害ではない。この両者を区別し、前者を障害と発見することが必要となる。
【0055】
次に、蓄積データ処理部600について、図4及び図8から図11のフローチャートを参照して説明する。
【0056】
まず、図5及び図9を使って、管理データベース120に格納された過去の性能データの時系列から周期性を見つけ出す周波数分析について説明する。
【0057】
周波数分析手段610は、ある一定値時間Tの過去から現在時刻t3まで、すなわち、t3-Tからt3までの性能データの時系列データを管理データベース120から取得する。このデータをたとえば図14に示す。そして、周波数分析を行う(ステップD110)。フーリエ変換の結果e(f)を、図15に示す。周期性抽出手段630は、e(f)から最も強度の大きい周波数fmax=argf max e(f)を求める(ステップD130)。ただし、f=0は定数成分であるため、f≠0の中から最大強度の周波数を見つける。これは、図15で示す矢印部分にあたる。f=0の強度はこのfmaxでの強度より大きいが、f=0は含まないので対象ではない。
【0058】
次に、図4及び図11を参照して、管理データベース120に格納された過去の性能データから周期性を考慮したうえで、平均時系列データを抽出する動作を説明する。
【0059】
まず、平均時系列データ作成手段650は、ある一定値T過去から現在時刻t3までの性能データを管理データベース120から取得し、周期c=1/fmax中の各位相毎に、平均λ'c(t)を求める(ステップF110)。たとえばfmaxが1/24hourとすると、c=24[hour]となる。その場合、λ'24(t)=E(λ(t1-T+(t mod 24)+24k))となり、k=0,1,…と変化していく中での平均値となる。すなわち、同じ時刻のデータの平均値となる。たとえば、tを時刻21:00とし、情報データベース120内の時刻21:00の平均値を求めると、5となったとする。
【0060】
次に、図5及び図10を使って、管理データベース120に格納された過去の性能データの時系列から標準偏差を求める標準偏差算出について説明する。
【0061】
偏差データ作成手段670は、ある一定値時間Tの過去から現在時刻t3まで、すなわち、t3-Tからt3までの性能データの時系列データを管理データベース120から取得する。そして、標準偏差σ(d(t3-T<T<t3))を求める(ステップE110)。
【0062】
一般に、標準偏差は
σ=(1/(T+1))Σt=t3-Tt3 d2(t) - ((1/(T+1))Σt=t3-Tt3 d(t))2
で求められるため、管理データベース内のデータd(t)から容易に求めることができる。ここでは例えば、標準偏差が1.3となったとする。
【0063】
最後に、図4及び図11を参照して、平均時系列データ格納手段660に格納された性能データの平均値の時系列データ及び偏差データ格納手段680に格納された標準偏差をもとに、低性能値の閾値を算出する動作について説明する。
【0064】
低性能値閾値生成手段700は、現在時刻t1において、平均時系列データλ'c(t3)=5と、偏差値σ(d(t1-T<T<t1))=1.3から、与えられた適切な倍率l=2を元に低性能値閾値θ(t3)をλ'c(t3)-lσ(d(t3-T<T<t3))で計算すると、5-2*1.3=2.4となる(ステップG110)。ただし、t3は現在時刻である。次に、低性能値閾値生成手段700は、θ(t3)を低性能値閾値格納手段690に格納する。
【0065】
次に、障害判断部500について、図5及び図7を参照して、説明する。
【0066】
まず、低性能値監視手段560は、ある装置(たとえばA)のある性能データ(たとえばアクセス数)に関する低性能値閾値格納手段690から低性能値閾値θ(t0)を取得する(図7のステップB110)。ただし、t0は現在の時刻とする。ここで、θ(t0)は前述の低性能値閾値算出のフローチャートによって、値2.4として計算されているものとする。
【0067】
次に、低性能値監視手段560は、管理データベース120から現在時刻t0での装置Aの性能データaの値d(t0)=aA(t0)を取得する(ステップB120)。たとえば、aA(t0)は0であったとする。低性能値監視手段560は、d(t0)とθ(t0)とを比較する(ステップB130)。今の例では、0<2.4のため、d(t0)<θ(t0)になる。
【0068】
そこで、低性能値監視手段560は、管理表550に装置Aの性能データaに関する行があるかを調べる(ステップB140)。ここでは、未だ該当する行がないとすると、対象機器A、性能データ名a、現在時刻t0、性能データ値d(t0)=0の四つ組を管理表550に新たな行として追加する(ステップB150)。
【0069】
次の機会(位相)、すなわち、時刻t1で再度、図6で示される低性能値監視フローが動作したとする。このとき、d(t1)=aA(t1)=1<θ(t1)=2.4とする(ステップB130)。既に、管理表550に装置Aのアクセス数データaの行は存在するので、この行の蓄積値の値をD=d(t0)=aA(t0)=0からD=aA(t0)+aA(t1)=0+1=1に更新する(ステップB160)。
【0070】
次に障害分析部500のうち、障害分析を行う判断手段580について、図4及び図7のフローチャートを参照して説明する。
【0071】
まず、判断手段580は、記録表550の各行を取得する。たとえば、装置Aの性能データaの値低下の開始時刻t0であり、蓄積値Dであることを取得する(ステップC110)。
【0072】
次に、判断手段580は、積分手段540にt0から現在時刻t3までの平均時系列データλ(t)の積分計算S(t0,t3)=∫t0t3 λ(t)dtを依頼する(ステップC120)。このS(t0,t3)=∫t0t3 λ(t)dtを使って、判断手段580は、過去の平均時系列データλ(t)から比較して、時間t0からt3の間で蓄積値Dになる確率PD(t0,t3)を計算する(ステップC140)。すなわち、PD(t0,t3)={SD(t0,t3)/D!}exp(-S(t0,t3))。これは、過去のデータからはS(t0,t3)のアクセス数が期待できるのに対して、実際はt0からt3までにD回のアクセスしかなかった。このようなときの発生確率を求めていることになる。たとえば、S(t0,t3)=10の場合、Dを変化させた場合のPD(t0,t3)のグラフを図13に示す。たとえば、確率閾値P0=0.03とし、S(t0,t3)=10、D=2とすると、PD(t0,t3)=P0(t0,t3)+P1(t0,t3)+P2(t0,t3)=0.00227であり、PD(t0,t3)<P0となる。この場合、判断手段580は分析結果表示手段140に障害を通知する。
【0073】
なお、図16に本明細書中で使用した主な変数の意味を示す。
【産業上の利用可能性】
【0074】
本発明によれば、通信機器、産業機器、ソフトウェアシステムなどの機器の障害発見・分析といった用途に適用できる。
【図面の簡単な説明】
【0075】
【図1】本発明に関連する障害分析システムのブロック図である。
【図2】本発明に関連する障害分析システムのブロック図である。
【図3】本発明に関連する障害分析システムのブロック図である。
【図4】本発明の第1の実施の形態にかかる障害分析システムのブロック図である。
【図5】本発明の第1の実施の形態にかかる障害分析システムにおけるモニタの動作を示す流れ図である。
【図6】本発明の第1の実施の形態にかかる障害分析システムにおける低性能値監視手段の動作を示す流れ図である。
【図7】本発明の第1の実施の形態にかかる障害分析システムにおける障害判断部の障害分析手順を示す流れ図である。
【図8】本発明の第1の実施の形態にかかる障害分析システムにおける周期性検出手順を示す流れ図である。
【図9】本発明の第1の実施の形態にかかる障害分析システムにおける偏差データ作成手段の動作を示す流れ図である。
【図10】本発明の第1の実施の形態にかかる障害分析システムにおける平均時系列データ作成手段の動作を示す流れ図である。
【図11】本発明の第1の実施の形態にかかる障害分析システムにおける低性能値閾値生成手段の動作を示す流れ図である。
【図12】サイレント障害発生を表すアクセス数に関する時系列変化を表すグラフである。
【図13】過去の性能データの頻度を一定にした場合の、観測性能データ値の変化に伴う、観測性能データの発生確率に関するグラフである。
【図14】アクセス数に関する時系列変化を表すグラフである。
【図15】アクセス数に関する時系列変化を表すグラフを周波数分析した結果である、周波数ごとの強度を表すグラフである。
【図16】明細書中で使用した主な変数の意味の説明図である。
【符号の説明】
【0076】
100…利用者端末
110…モニタ
120…管理データベース
130…判断手段
140…分析結果表示手段
150…相関性知識データベース
160…知識記述エディタ
200…管理対象システム
210…管理対象ノード
220…管理対象ノード
230…管理対象ノード
240…管理対象ノード
290…障害分析システム
310…相関学習手段
390…障害分析システム
410…知識記述エディタ
420…期待値データベース
430…異常判断手段
490…障害分析システム
500…障害判断部
540…積分手段
550…管理表
560…低性能値監視手段
570…タイマー
580…判断手段
590…確率閾値格納手段
600…蓄積データ処理部
610…周波数分析手段
620…周期成分格納手段
630…周期性抽出手段
640…周期性格納手段
650…平均時系列データ作成手段
660…平均時系列データ格納手段
670…偏差データ作成手段
680…偏差データ格納手段
690…低性能値閾値生成手段
700…低性能値閾値格納手段
790…障害分析システム

【特許請求の範囲】
【請求項1】
管理対象システムの性能に関する時系列データの変化の周期を検出し、該検出した周期の各位相毎に、当該位相の過去の時系列データから将来の当該位相における性能データの期待値を算出して蓄積する蓄積データ処理部と、前記検出した周期中の各位相毎に、前記算出された当該位相における性能データの期待値と当該位相における前記管理対象システムの性能データの実測値とを比較して、性能データの実測値の異常を判定する障害判断部とを備えることを特徴とする障害分析システム。
【請求項2】
前記蓄積データ処理部は、前記時系列データを周波数分析して周期成分を求める周波数分析手段と、求められた周期成分から最も周期性の高い成分を取り出す周期性抽出手段とを含むことを特徴とする請求項1に記載の障害分析システム。
【請求項3】
前記蓄積データ処理部は、前記検出した周期の各位相毎に、過去一定期間の同じ位相における性能データの平均値を算出して平均時系列データを生成する平均時系列データ作成手段と、生成された各位相毎の平均時系列データを前記期待値として格納する平均時系列データ格納手段とを含むことを特徴とする請求項1または2に記載の障害分析システム。
【請求項4】
前記蓄積データ処理部は、前記平均時系列データ作成手段で生成された各位相の平均時系列データ毎に、性能データのばらつき具合を示す偏差データを生成する偏差データ作成手段と、生成された各位相毎の偏差データを格納する偏差データ格納手段と、各位相毎の平均時系列データと偏差データとから、各位相毎の低性能値閾値を生成する低性能値閾値生成手段と、生成された各位相毎の低性能値閾値を格納する低性能値閾値格納手段とを含むことを特徴とする請求項3に記載の障害分析システム。
【請求項5】
前記障害判断部は、前記管理対象システムの性能データの変化周期の各位相毎に、当該位相における性能データの実測値と前記低性能値閾値格納手段に記憶されている当該位相における低性能値閾値とを比較することで性能データの劣化を発見し、性能データの実測値が低性能値閾値を連続して下回った期間の開始時刻とその期間中の性能データの実測値の累積値とを管理表に格納する低性能値監視手段と、性能データの実測値が低性能値閾値を連続して下回った期間における性能データの実測値の累積値が、前記平均時系列データ格納手段に格納されている当該期間における性能データの平均時系列データの状況下で生じる確率を計算し、該計算した確率が予め設定された確率閾値よりも低いかどうかによって、性能データの実測値が異常かどうかを判断する判断手段とを有することを特徴とする請求項4に記載の障害分析システム。
【請求項6】
前記管理対象システムから定期的に性能データを取得するモニタと、該モニタが取得した性能データを格納する管理データベースとを備えることを特徴とする請求項1乃至5の何れか1項に記載の障害分析システム。
【請求項7】
管理対象システムの性能に関する時系列データの変化の周期を検出し、該検出した周期の各位相毎に、当該位相の過去の時系列データから将来の当該位相における性能データの期待値を算出して蓄積するステップと、前記検出した周期中の各位相毎に、前記算出された当該位相における性能データの期待値と当該位相における前記管理対象システムの性能データの実測値とを比較して、性能データの実測値の異常を判定するステップとを含むことを特徴とする障害分析方法。
【請求項8】
コンピュータを、管理対象システムの性能に関する時系列データの変化の周期を検出し、該検出した周期の各位相毎に、当該位相の過去の時系列データから将来の当該位相における性能データの期待値を算出して蓄積する蓄積データ処理手段と、前記検出した周期中の各位相毎に、前記算出された当該位相における性能データの期待値と当該位相における前記管理対象システムの性能データの実測値とを比較して、性能データの実測値の異常を判定する障害判断手段として機能させるための障害分析用プログラム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2010−86160(P2010−86160A)
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願番号】特願2008−252558(P2008−252558)
【出願日】平成20年9月30日(2008.9.30)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】