(57)【特許請求の範囲】
【請求項１】
監視対象となる複数のシステムと接続された障害検知装置であって、
前記複数のシステムのそれぞれに対応する物理機器の情報を示す設定ファイルが予め登録され、前記複数のシステムのそれぞれに対応する物理機器の性能種目毎の時系列データである性能データを複数記憶する記憶部と、
一定の時間間隔で、前記設定ファイルを参照して、前記記憶部に記憶された複数の前記性能データをシステム単位に分割する分析領域分割部と、
前記分析領域分割部で分割された、同一システム内の前記性能データ間に存在する相関関係を分析し、分析した相関関係毎に異常があるか否かを判定する分析部と、
前記分析部によって分析された相関関係のうち、前記異常があると判定された相関関係の割合を前記性能データ毎に算出し、該割合の高い方が表示順の上位になるように、該割合と該割合に対応する性能データの物理機器の名称との組み合わせを記述したテーブルを、前記複数のシステム毎に出力する分析結果出力部と、
を有し、
前記複数のシステムのうち、少なくとも２以上のシステムが同じ物理機器を共用し、その情報が前記設定ファイルに記述されている、障害検知装置。
【請求項２】
請求項１記載の障害検知装置において、
前記分析部は、
前記複数のシステムに対して、システム単位で前記相関関係を分析する複数の分析部からなる構成である、障害検知装置。
【請求項３】
請求項１または２記載の障害検知装置において、
前記複数のシステムのそれぞれの重要度を判定するための情報であるシステム構成情報が前記記憶部に予め格納され、
前記分析結果出力部は、
前記テーブルを出力する際、前記システム構成情報に基づいて、前記複数のシステムの出力順を決定し、決定した出力順にしたがって、各システムの前記テーブルを出力する、障害検知装置。
【請求項４】
請求項１から３のいずれか１項記載の障害検知装置において、
前記分析部は、
分析した相関関係を表す相関関係式を求め、該相関関係式による予測値と該相関関係式に対応する前記性能種目の実測値との差が一定値以上の場合に、該相関関係に異常があると判定する、障害検知装置。
【請求項５】
監視対象となる複数のシステムのそれぞれに対応する物理機器の情報を示す設定ファイルが予め登録され、前記複数のシステムのそれぞれに対応する物理機器の性能種目毎の時系列データである性能データを複数記憶する記憶部と、制御部とを有する障害検知装置による障害検知方法であって、
前記制御部は、一定の時間間隔で、前記設定ファイルを参照して、前記記憶部に記憶された複数の前記性能データをシステム単位に分割し、
前記制御部は、分割した、同一システム内の前記性能データ間に存在する相関関係を分析し、分析した相関関係毎に異常があるか否かを判定し、
前記制御部は、分析した相関関係のうち、前記異常があると判定した相関関係の割合を前記性能データ毎に算出し、
前記制御部は、前記割合の高い方が表示順の上位になるように、該割合と該割合に対応する性能データの物理機器の名称との組み合わせを記述したテーブルを、前記複数のシステム毎に出力するものであり、
前記複数のシステムのうち、少なくとも２以上のシステムが同じ物理機器を共用し、その情報が前記設定ファイルに記述されている、情報処理方法。
【請求項６】
請求項５記載の情報処理方法において、
前記制御部は、前記複数のシステムのそれぞれの重要度を判定するための情報であるシステム構成情報を前記記憶部に予め格納し、
前記制御部は、前記テーブルを出力する前に、前記システム構成情報に基づいて、前記複数のシステムの出力順を決定し、
前記制御部は、決定した出力順にしたがって、各システムの前記テーブルを出力する、情報処理方法。
【請求項７】
請求項５または６に記載の情報処理方法において、
前記制御部は、分析した相関関係を表す相関関係式を求め、該相関関係式による予測値と該相関関係式に対応する前記性能種目の実測値との差が一定値以上の場合に、該相関関係に異常があると判定する、情報処理方法。
【請求項８】
監視対象となる複数のシステムのそれぞれに対応する物理機器の情報を示す設定ファイルが予め登録され、前記複数のシステムのそれぞれに対応する物理機器の性能種目毎の時系列データである性能データを複数記憶する記憶部を備えたコンピュータに実行させるためのプログラムであって、
一定の時間間隔で、前記設定ファイルを参照して、前記記憶部に記憶された複数の前記性能データをシステム単位に分割し、
分割した、同一システム内の前記性能データ間に存在する相関関係を分析し、分析した相関関係毎に異常があるか否かを判定し、
分析した相関関係のうち、前記異常があると判定した相関関係の割合を前記性能データ毎に算出し、
前記割合の高い方が表示順の上位になるように、該割合と該割合に対応する性能データの物理機器の名称との組み合わせを記述したテーブルを、前記複数のシステム毎に出力する処理を前記コンピュータに実行させるものであり、
前記複数のシステムのうち、少なくとも２以上のシステムが同じ物理機器を共用し、その情報が前記設定ファイルに記述されている、プログラム。
【請求項９】
請求項８記載のプログラムにおいて、
前記複数のシステムのそれぞれの重要度を判定するための情報であるシステム構成情報を前記記憶部に予め格納し、
前記テーブルを出力する前に、前記システム構成情報に基づいて、前記複数のシステムの出力順を決定し、
決定した出力順にしたがって、各システムの前記テーブルを出力する処理をさらに有するプログラム。
【請求項１０】
請求項８または９に記載のプログラムにおいて、
分析した相関関係を表す相関関係式を求め、該相関関係式による予測値と該相関関係式に対応する前記性能種目の実測値との差が一定値以上の場合に、該相関関係に異常があると判定する処理をさらに有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理を行うシステムに発生する障害を検出するための障害検知装置、情報処理方法、およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
コンピュータネットワークシステムにおいて、障害が発生している箇所を特定する方法が種々提案されている。代表的な方法として、ＯＳ（Operating System）、ＡＰ（Application Program）、ミドルウェア、およびネットワークなどが稼働中に出力するログの情報を突き合わせることで、異常個所を突き止め、原因を探る方法が知られている。
【０００３】
この方法で、異常箇所の検出および原因の特定を実現するには、各システムおよびネットワーク間の時刻が一致していないと、それらから出力されるログの中の時刻が正確に一致せず、異常発生の判定が困難になるという問題がある。また、この方法では、監視対象が小規模であれば、ログの情報の全ての組み合わせで突き合わせを行っても、少ない労力で結果を得られるが、監視対象が大規模になると、ログの情報も膨大となり、どのデータとどのデータを突き合わせれば障害の原因を的確に見つけ出せるかが大きな課題となる。
【０００４】
効率化のために業務システムが集約された環境では、一つの障害が多数の業務システムに影響を及ぼす可能性がある。そのため、障害の発生を検知し、その原因を正確に突き止めることで障害の影響を最小限にすることが極めて重要である。提案されている方法をいくつか簡単に説明する。
【０００５】
特許文献１には、複数のセンサから取得した複数のデータの時間変化に基づいてデータ空間を複数のクラスタに分割し、クラスタ群を部分空間法でモデル化し、学習データをリファレンスとして、はずれ値を異常候補として算出する異常検知システムが開示されている。この文献に開示された方法では、対象プラントが複数ある場合には、対象プラント毎に学習データを保存しておく必要がある。
【０００６】
特許文献２には、故障の発生確率を考慮することにより、診断モデルの更新を頻繁に行わなくても故障原因が特定できるようにした故障診断装置が開示されている。この文献に開示された方法では、故障診断を故障確率に基づいて行っており、実際に発生する故障が故障診断による結果と異なるおそれがある。
【０００７】
特許文献３には、１つのコンピュータから出力される複数種の稼働状態データをその取得時間に対応づけて組み合わせ、一定の時間幅で平均化することで、一時的な処理の集中を、障害が発生したと誤認識することを防ぐことを可能にした情報処理装置が開示されている。この文献に開示された方法では、監視対象のコンピュータが複数ある場合には、演算処理にかかる時間がコンピュータの台数に比例して増加してしまう。
【０００８】
特許文献１から３に開示された方法とは異なる方法で、障害または異常の発生と、その発生源を特定する技術の一例が、特許文献４に開示されている。
【０００９】
特許文献４に開示された分析方法は、収集した、ＣＰＵ利用率、メモリ残量、およびディスク容量などの性能情報のデータに基づいて、性能情報間に存在する全ての相関関係を抽出し、各相関関係の近似式を求め、近似式で予測した値と実際の数値との差が一定値以上であるか否かを判定することで、障害または異常の発生と、発生箇所の要素とを特定するものである。以下では、この分析方法を「性能相関分析」と称する。
【００１０】
上記の性能相関分析では、システム全体を網羅的にサーチして、異常発生箇所を探し出している。また、特許文献４には、異常発生箇所の要素を特定する方法として、異常発生と判定した相関関係の異常スコアを算出し、異常スコアが高い要素ほど、異常原因の可能性が高いと判断し、分析結果の表示順の上位に配置することが開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１０−０９２３５５号公報
【特許文献２】特開２００９−２１１４７２号公報
【特許文献３】特開２００８−１９１８４９号公報
【特許文献４】特開２００９−１９９５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献４に開示された方法では、複数のシステムが混在する環境を監視対象とする場合、複数のシステムに関連する性能情報の全ての組み合わせに対して分析を行うことになるため、処理時間が大幅にかかってしまうことになる。また、複数のシステム全体を対象にして、性能情報の全ての組み合わせを分析するため、本来は相関関係のない性能情報間に相関関係があると、誤った判定を行ってしまう可能性がある。
【００１３】
特許文献４に開示された方法では、異常スコアの高い相関関係の要素が障害の原因であるという判定を行っていることから、その要素が分析結果として上位に配置される仕組みになっている。異常の影響が要素間で伝播し、伝播先の要素で異常スコアが大きな値になってしまう場合が考えられる。この場合、１つの相関関係から算出される異常スコアの大きさだけで、異常の発生源を特定してしまうと、分析結果の表示順は、異常の伝播先の要素が上位に配置され、異常の発生源が下位に配置されてしまい、真の、異常の発生源を見落としてしまうことになる。
【００１４】
本発明は、上述したような技術が有する問題点を解決するためになされたものであり、異常検知のための分析処理にかかる時間を短縮するとともに、異常発生個所の誤検出を防止可能にした障害検知装置、情報処理方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するための本発明の障害検知装置は、監視対象となる複数のシステムと接続された障害検知装置であって、
前記複数のシステムのそれぞれに対応する物理機器の情報を示す設定ファイルが予め登録され、前記複数のシステムのそれぞれに対応する物理機器の性能種目毎の時系列データである性能データを複数記憶する記憶部と、
一定の時間間隔で、前記設定ファイルを参照して、前記記憶部に記憶された複数の前記性能データをシステム単位に分割する分析領域分割部と、
前記分析領域分割部で分割された、同一システム内の前記性能データ間に存在する相関関係を分析し、分析した相関関係毎に異常があるか否かを判定する分析部と、
前記分析部によって分析された相関関係のうち、前記異常があると判定された相関関係の割合を前記性能データ毎に算出し、該割合の高い方が表示順の上位になるように、該割合と該割合に対応する性能データの物理機器の名称との組み合わせを記述したテーブルを、前記複数のシステム毎に出力する分析結果出力部と、
を有し、
前記複数のシステムのうち、少なくとも２以上のシステムが同じ物理機器を共用し、その情報が前記設定ファイルに記述されている構成である。
【００１６】
また、本発明の情報処理方法は、監視対象となる複数のシステムのそれぞれに対応する物理機器の情報を示す設定ファイルが予め登録され、前記複数のシステムのそれぞれに対応する物理機器の性能種目毎の時系列データである性能データを複数記憶する記憶部と、制御部とを有する障害検知装置による障害検知方法であって、
前記制御部は、一定の時間間隔で、前記設定ファイルを参照して、前記記憶部に記憶された複数の前記性能データをシステム単位に分割し、
前記制御部は、分割した、同一システム内の前記性能データ間に存在する相関関係を分析し、分析した相関関係毎に異常があるか否かを判定し、
前記制御部は、分析した相関関係のうち、前記異常があると判定した相関関係の割合を前記性能データ毎に算出し、
前記制御部は、前記割合の高い方が表示順の上位になるように、該割合と該割合に対応する性能データの物理機器の名称との組み合わせを記述したテーブルを、前記複数のシステム毎に出力するものであり、
前記複数のシステムのうち、少なくとも２以上のシステムが同じ物理機器を共用し、その情報が前記設定ファイルに記述されている。
【００１７】
さらに、本発明のプログラムは、監視対象となる複数のシステムのそれぞれに対応する物理機器の情報を示す設定ファイルが予め登録され、前記複数のシステムのそれぞれに対応する物理機器の性能種目毎の時系列データである性能データを複数記憶する記憶部を備えたコンピュータに実行させるためのプログラムであって、
一定の時間間隔で、前記設定ファイルを参照して、前記記憶部に記憶された複数の前記性能データをシステム単位に分割し、
分割した、同一システム内の前記性能データ間に存在する相関関係を分析し、分析した相関関係毎に異常があるか否かを判定し、
分析した相関関係のうち、前記異常があると判定した相関関係の割合を前記性能データ毎に算出し、
前記割合の高い方が表示順の上位になるように、該割合と該割合に対応する性能データの物理機器の名称との組み合わせを記述したテーブルを、前記複数のシステム毎に出力する処理を前記コンピュータに実行させるものであり、
前記複数のシステムのうち、少なくとも２以上のシステムが同じ物理機器を共用し、その情報が前記設定ファイルに記述されている。
【発明の効果】
【００１８】
本発明によれば、監視対象となる複数のシステムに対して、異常発生を検知するための分析処理にかかる時間を短縮し、かつ、異常発生個所の誤検出を防止できる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態の障害検知装置の一構成例を示すブロック図である。
【図２】図１に示した制御部および記憶部を説明するための図である。
【図３】性能データと設定ファイルの一例を示す図である。
【図４】図２に示した分析部の他の構成例を示す図である。
【図５】本実施形態の障害検知装置の動作手順を示すフローチャートである。
【図６】システム分割テーブルの一例を示す図である。
【図７】割合ソート前分析結果テーブルの一例を示す図である。
【図８】割合ソート前分析結果テーブルの一例を示す図である。
【図９】割合ソート後分析結果テーブルの一例を示す図である。
【図１０】割合ソート後分析結果テーブルの一例を示す図である。
【図１１】構成情報テーブルの一例を示す図である。
【図１２】結果出力順ソート前テーブルの一例を示す図である。
【図１３】結果出力順ソート後テーブルの一例を示す図である。
【発明を実施するための形態】
【００２０】
本実施形態の障害検知装置の構成を説明する。本実施形態では、障害検知装置が、複数の業務システムの装置全体を監視し、障害を検知する場合で説明する。
【００２１】
例えば、人事経理系システムでは、勤怠管理システムおよび伝票入力システムなどが複数の業務システムに相当し、通販Ｗｅｂシステムでは、顧客情報管理システムおよび受発注システムなどが複数の業務システムに相当する。また、監視対象となるシステムは、業務システムに限られないが、本実施形態では、業務システムの場合で説明する。
【００２２】
図１は本実施形態の障害検知装置の一構成例を示すブロック図である。
【００２３】
図１に示すように、障害検知装置１００は、記憶部３０と、制御部２０とを有する情報処理装置である。障害検知装置１００は、ネットワーク４０を介して、障害監視対象となるサーバ１０１〜１０ｋ（ｋは１以上の任意の整数）と接続される。
【００２４】
図２は図１に示した制御部および記憶部を説明するための図である。
【００２５】
図２に示すように、制御部２０は、入力部１１０と、分析領域分割部１２０と、分析結果出力部５０とを有する。分析結果出力部５０は、分析部１３０と、分析結果抽出部１４０と、分析結果編集部１５０と、重要度算出部１６０と、結果出力順編集部１７０と、出力部１８０とを有する。出力部１８０は表示装置２８０と接続されている。
【００２６】
制御部２０には、プログラムにしたがって処理を実行するＣＰＵ（不図示）と、プログラムを格納するためのメモリ（不図示）が設けられている。このＣＰＵがプログラムを実行することで、入力部１１０、分析領域分割部１２０、分析部１３０、分析結果抽出部１４０、分析結果編集部１５０、重要度算出部１６０、結果出力順編集部１７０および出力部１８０が障害検知装置１００に仮想的に構成される。
【００２７】
記憶部３０には、設定ファイルおよび構成情報テーブルが予め格納されている。構成情報テーブルは、記憶部３０に設けられた構成情報データベース（ＤＢ）２５０に格納されている。また、記憶部３０は、サーバ１０ｋから取得するデータを記録するための性能情報ＤＢ２１０と、情報処理の結果を保存するための、割合ソート前分析結果ＤＢ２３０、割合ソート後分析結果ＤＢ２４０、結果出力順ソート前ＤＢ２６０および結果出力順ソート後ＤＢ２７０とを有する。
【００２８】
性能情報ＤＢ２１０には、性能種目毎の時系列変化を示すデータである性能データが格納される。性能種目とは、サーバ１０ｋの物理機器に設けられたＣＰＵやメモリなどの電子部品について、ＣＰＵ使用率やメモリ残量割合など、その性能の種類を意味する。以下では、任意の時刻における性能種目のデータ値を「性能情報」と称する。
【００２９】
設定ファイルは、複数の業務システムのそれぞれに対応する物理機器を示す情報である。設定ファイルにより、どの業務システムがどの物理機器に関連しているかがわかる。構成情報テーブルは、複数の業務システムの各システムについて、重要度を判定するための情報であるシステム構成情報が記述されている。ここで、重要度とは、業務システムがどの程度重要であるかを示す値である。ある業務システムについて、システム構成情報として、例えば、過去の障害発生回数、一定期間でのバックアップ回数、冗長化されているサーバ台数などの情報がある。
【００３０】
ここで、性能データと設定ファイルの具体例を説明する。図３（ａ）は性能データの一例を示す図であり、図３（ｂ）は設定ファイルの一例を示す図である。図３（ａ）および（ｂ）では、図１に示したサーバ１０ｋを、「ＳＶ１０ｋ」と表している。
【００３１】
図３（ａ）に示すように、性能情報ＤＢ２１０には、監視対象となる全ての物理機器の性能種目に関する時系列変化のデータを記録するための表が格納されている。図３（ａ）に示す表では、物理機器の性能種目が１行目に記述され、性能情報を受信した日時が１列目に記述されている。「ＳＶ１０１ＣＰＵ」は、物理機器がサーバ１０１であって、性能種目がＣＰＵの使用率であることを示している。「ＳＶ１０１ＭＥＭ」は、物理機器がサーバ１０１であって、性能種目がメモリの残量割合であることを示している。「ＳＶ１０１ＣＰＵ」および「ＳＶ１０１ＭＥＭ」等が表す性能種目を、以下では、性能データ名とも呼ぶ。
【００３２】
この表を見ると、サーバ１０１のＣＰＵの使用率は、２０１０年１０月５日の午後５時２５分には１２％であるが、その１分後の午後５時２６分には１５％に上がっていることがわかる。また、ＳＶ１０１のメモリの残量割合は、２０１０年１０月５日の午後５時２５分には８０％であるが、その１分後の午後５時２６分には７９％に下がっていることがわかる。
【００３３】
図３（ｂ）に示す設定ファイルには、業務システム毎に、関連する物理機器が記述されている。図３（ｂ）を見ると、システム１に関連する物理機器は、ＳＶ１０１およびＳＶ１０２などであることがわかる。また、システム２に関連する物理機器はＳＶ１０３などであり、システム３に関連する物理機器はＳＶ１０４などであることがわかる。各システムに関連する性能データ名は、図３（ｂ）に示すサーバ名から図３（ａ）に示すテーブルの中を検索すればわかる。
【００３４】
設定ファイルの具体例を説明する。監視対象が通販Ｗｅｂシステムの場合、システムの構成が、Ｗｅｂサーバ、ＡＰ（アプリケーション)サーバおよびＤＢサーバからなるＷｅｂ３層構造(3-Tier system)になっている。
【００３５】
ＳＶ１０１およびＳＶ１０２がＷｅｂサーバとする。ＳＶ１０３およびＳＶ１０４がＡＰサーバとする。ＳＶ１０５がＤＢサーバとする。一般的に、リソースを有効活用するために、複数の業務システムが同じサーバを利用することが多い。これを踏まえて、複数の業務システム（システム１〜３とする）が、これらのサーバのうち、どのサーバと関連しているかを記述すると、以下のようになる。
システム１：ＳＶ１０１、ＳＶ１０２、ＳＶ１０３、ＳＶ１０４、ＳＶ１０５
システム２：ＳＶ１０１、                        ＳＶ１０４、ＳＶ１０５
システム３：ＳＶ１０１、ＳＶ１０２、ＳＶ１０３、            ＳＶ１０５
このような業務システムとサーバの関係は、各サーバ上で動いているアプリケーションから情報を集めることで設定ファイルとして作成することが可能である。
【００３６】
続いて、図２に示した制御部２０および記憶部３０内の各構成について、詳しく説明する。
【００３７】
入力部１１０は、サーバ１０ｋの各物理機器から一定の時間間隔で性能情報を取得し、取得した性能情報を性能情報ＤＢ２１０に記録するとともに、性能情報を分析領域分割部１２０を介して分析部１３０に送信する。性能情報ＤＢ２１０には、入力部１１０がサーバ１０ｋから取得した、一定期間の性能情報が記録される。例えば、図３（ａ）に示す表には、１２時間分の性能データが記録可能であり、既に１２時間分の性能データが記録されていると、入力部１１０は、新しく性能情報を取得したとき、日時が最も古い性能情報を消去し、データを消去することで空いた記憶領域に最新の性能情報を記録する。このようにして、性能情報ＤＢ２１０の記憶容量を節約することが可能となる。性能データの記録可能期間は、１２時間に限らない。
【００３８】
また、入力部１１０は、記録可能期間内であって、一定期間の性能データを一定の時間間隔で、性能情報ＤＢ２１０から読み出して分析領域分割部１２０に渡す。記録可能期間が１２時間である場合、一定期間は、例えば、３時間、６時間、または１２時間である。以下では、説明を簡単にするために、一定期間が記録可能期間に一致している場合で説明する。
【００３９】
分析領域分割部１２０は、記憶部３０に登録されている設定ファイルを参照して、性能情報ＤＢ２１０に記録された全ての性能データを業務システム単位で分割する。分析領域分割部１２０は、性能データを業務システム単位で分割した表を作成してシステム分割ＤＢ２２０に格納する。この表を、システム分割テーブルと称する。上述の通販Ｗｅｂシステムの例の場合、図３（ａ）に示した、「ＳＶ１０１ＣＰＵ」、「ＳＶ１０１ＭＥＭ」および「ＳＶ１０２ＣＰＵ」等の性能データが受発注システムに分類される。
【００４０】
分析部１３０は、特許文献４に開示された運用管理装置における、相関モデル生成部の機能と相関変化分析部の一部の機能を有している。分析部１３０は、業務システム単位に分割された性能データをシステム分割ＤＢ２２０から読み出すと、読み出した性能データに対して業務システム単位で性能相関分析を行う。そして、分析部１３０は、業務システム単位で性能相関分析を行うことにより、任意の２種類の性能データについて相関があると判定した相関関係を全て求め、さらに、入力部１１０から受信する性能情報の実測値を参照して、これらの相関関係に異常があるか否かを判定する。さらに、分析部１３０は、分析結果として、業務システム毎に、相関関係の数と、異常があると判定した相関関係の数を、分析結果出力部５０の分析結果抽出部１４０に通知する。
【００４１】
なお、性能データ間で相関があるか否かの判定には、例えば、相関係数を用いる。また、性能相関分析については、特許文献４に開示されているため、ここではその詳細な説明を省略する。
【００４２】
また、分析部１３０は、業務システム単位で行う性能相関分析を、並列に実行してもよい。図４は分析部の他の構成例を示す図である。図４に示すように、分析部１３０ａ〜１３０ｎが設けられている。ここで、ａ〜ｎの数は、２以上の整数であって、分析対象となる業務システムの数である。
【００４３】
分析結果抽出部１４０は、分析部１３０で分析された結果から、性能データ毎に異常度を算出し、その結果をテーブルにして割合ソート前分析結果ＤＢ２３０に格納する。ここで言う異常度とは、分析部１３０によって分析された相関関係に対して、分析部１３０によって異常があると判定された相関関係の割合を示す値である。
【００４４】
分析結果編集部１５０は、業務システム単位でテーブルを割合ソート前分析結果ＤＢ２３０から読み出し、異常度の順で性能データをソートし、その結果を示すテーブルを割合ソート後分析結果ＤＢ２４０に格納する。この段階で、分析結果編集部１５０が、ソート後のテーブルを表示装置２８０に出力させてもよい。
【００４５】
重要度算出部１６０は、構成情報ＤＢ２５０に格納されたシステム構成情報を参照し、各業務システムの重要度を算出し、各業務システムの重要度を示すテーブルを結果出力順ソート前ＤＢ２６０に格納する。
【００４６】
結果出力順編集部１７０は、結果出力順ソート前ＤＢ２６０からテーブルを読み出し、各業務システムを重要度の高い順でソートし、その結果を示すテーブルを結果出力順ソート後ＤＢ２７０に格納する。
【００４７】
出力部１８０は、結果出力順ソート後ＤＢ２７０に格納されたテーブルを参照して、業務システム単位での出力順を決定し、決定した出力順にしたがって、分割ソート後分析結果ＤＢ２４０に格納された、各業務システムの分析結果を表示装置２８０に出力させる。表示装置２８０は、分析結果編集部１５０または出力部１８０から受け取る情報を表示する。なお、入力部１１０が実行する処理を分析領域分割部１２０が行うようにしてもよい。
【００４８】
次に、本実施形態の障害検知装置１００の動作を説明する。図５は本実施形態の障害検知装置の動作手順を示すフローチャートである。
【００４９】
入力部１１０は、サーバ１０ｋから取得する性能情報を分析部１２０に送信するとともに、記憶部３０内の性能情報ＤＢ２１０から全ての性能データを読み出して分析領域分割部１２０に渡す。分析領域分割部１２０は、設定ファイルを参照して、入力部１１０から受け取った性能データを業務システム単位に分割し（ステップ３０１）、分割結果を示すシステム分割テーブルを作成してシステム分割ＤＢ２２０に格納する。ここでは、性能データが、システム１、システム２、・・・の業務システム単位に分割されたものとする。
【００５０】
ここで言う、システム１、システム２、・・・とは、例えば、人事経理系システムの場合では、勤怠管理システムや伝票入力システムなどに相当し、通販Ｗｅｂシステムの場合では、顧客情報管理システムや受発注システムなどに相当する。
【００５１】
図６はシステム分割テーブルの一例を示す図である。
【００５２】
図６に示すように、システム分割テーブルには、システム１に関連する性能データを示す欄に性能データＡ、性能データＣ、性能データＤ・・・が記述されている。これは、性能データＡ、性能データＣ、性能データＤ、・・・を有する物理機器がシステム１に関係していることを表す。例えば、図３を参照すると、性能データＡがサーバ１０１のＣＰＵ使用率の時系列データに相当し、性能データＣがサーバ１０１のメモリ残量割合の時系列データに相当し、性能データＤがサーバ１０２のＣＰＵ使用率の時系列データに相当する。性能データＡには、「サーバ１０１」という物理機器の名称と、「ＣＰＵの使用率」という性能種目と、その時系列データの情報が含まれている。また、図６に示すシステム分割テーブルには、システム２に関連する性能データを示す欄に性能データＢ、性能データＥ、性能データＦ、・・・が記述されている。
【００５３】
分析部１３０は、システム分割ＤＢ２２０に格納されたシステム分割テーブルを参照して、業務システム単位で性能相関分析を行う（ステップ３０２）。分析対象となる性能データが大量に存在する場合、可能な限り迅速に障害箇所を特定するために、分析部１３０は、高速で性能相関分析処理を行う必要がある。この場合、図４の機能ブロック図に示したように、分析部１３０ａ、１３０ｂ、・・・、１３０ｎの各分析部が業務システム単位で並列動作して性能相関分析を行うようにすればよい。
【００５４】
分析部１３０ａはシステム１の分析処理を実行し、分析部１３０ｂはシステム２の分析処理を実行するものとする。分析部１３０ａは、システム分析テーブル２０から、システム１の性能データＡ、性能データＣ、性能データＤ、・・・を一括で読み込み、性能相関分析を実行する。同様にして、分析部１３０ｂは、システム分析テーブル２０から、システム２の性能データＢ、性能データＥ、性能データＦ、・・・を一括で読み込み、性能相関分析を実行する。
【００５５】
分析部１３０ａが行う性能相関分析の具体例を、図６を参照して説明する。分析部１３０ａは、性能データＡ、性能データＣ、性能データＤ、・・・の性能データから、任意に２つの性能データを選択して、性能種目間で相関関係があるか否かを判定する。例えば、分析部１３０ａは、任意に選択した２つの性能データの２つの性能種目を、ｙ＝Ａｘ＋Ｂという式のｘ、ｙに当てはめ、相関係数が０．５以上または−０．５以下である場合、その２つの性能種目に相関関係があると判定する。この判定を、分析部１３０ａは、システム１に関連する性能データの全ての組み合わせについて行う。
【００５６】
このような判定の結果、相関関係のないものは除外され、相関関係のあるものだけが抽出される。そして、分析部１３０ａは、分析によって抽出した相関関係の近似式のそれぞれについて、近似式で算出される予測値と入力部１１０から受信する性能情報の実測値との差を求める。続いて、分析部３０ａは、求めた差の値の実測値に対する割合を誤差とし、誤差が一定値以上である場合、その相関関係に異常があると判定し、誤差が一定値より小さい場合、その相関関係は正常であると判定する。
【００５７】
さらに、分析部１３０ａは、性能データ毎に、抽出した相関関係の数（以下では、「相関関係数」と称する）と、異常があると判定した相関関係の数（以下では、「異常相関数」と称する）を分析結果抽出部１４０に通知する。相関関係は２つの性能種目間の関係であることから、１つの相関関係は、２つの性能データに基づいている。そのため、例えば、性能データＡと性能データＣとの間に相関関係がある場合、この相関関係が、性能データＡに関して分析された相関関係の数にカウントされるだけでなく、性能データＣに関して分析された相関関係の数としてもカウントされる。異常があると判定される相関関係についても、これと同様に、１つの相関関係が２つの性能データのそれぞれでカウントされる。このような分析結果が、他の分析部１３０ｂ〜１３０ｎについても、分析部１３０ａと同様に、分析結果抽出部１４０に通知される。
【００５８】
分析結果抽出部１４０は、分析部１３０から分析結果を受け取ると、業務システム単位で、性能データ毎に、相関関係数に対する異常相関数の割合を算出する。この割合が、相関関係の異常度を表す値の一種であり、以下では、この割合を「異常相関割合」と称する。分析結果抽出部１４０は、性能データ毎に、相関関係数、異常相関数および異常相関割合を記述したテーブルを、業務システム単位に作成して割合ソート前分析結果ＤＢ２３０に格納し、処理が終了した旨を分析結果編集部１５０に通知する。このテーブルを「割合ソート前分析結果テーブル」と称し、性能データ名、相関関係数、異常相関数および異常相関割合を１つの組とするデータを「組データ」と称する。
【００５９】
図７および図８のそれぞれは割合ソート前分析結果テーブルの一例を示す図である。図７はシステム１に関する割合ソート前分析結果テーブルであり、図８はシステム２に関する割合ソート前分析結果テーブルである。
【００６０】
図７および図８において、相関関係数ＩMは分析部１３０の性能相関分析によって求められた相関関係の数であり、異常相関数ＩNは分析部１３０の性能相関分析によって異常と判定された相関関係の数である。異常相関割合［％］は、異常相関数ＩNを相関関係数ＩMで割った値を百分率で示した値である。
【００６１】
ここで、図７または図８のテーブルに示すように、性能データ毎に異常度を求めることで、異常発生個所を特定できる理由を説明する。説明のために、システム１に関連する物理機器の性能データを性能データＡ、Ｃ、Ｄ、Ｇとし、このうち、どの２つの性能データにも相関があるものと仮定する。また、性能データＡの物理機器のみに異常が発生しているものと仮定する。
【００６２】
判定対象となる組み合わせは、性能データＡと性能データＣ（組１とする）、性能データＡと性能データＤ（組２とする）、性能データＡと性能データＧ（組３とする）、性能データＣと性能データＤ（組４とする）、性能データＣと性能データＧ（組５とする）、および、性能データＤと性能データＧ（組６とする）の計６組となる。性能データＡの物理機器に異常が発生しているので、これらの組のうち、組１〜組３は異常と判定される。この判定結果を図７のようなテーブルに記述することを考えてみる。
【００６３】
性能データＡを基準にすると、相関関係数は３（組１〜組３）であり、異常相関数は３（組１〜組３）であるため、異常相関割合は１００％となる。性能データＣを基準にすると、相関関係数は３（組１、組４、組５）であり、異常相関数は１（組１）だけなので、異常相関割合は３３％となる。性能データＤおよびＧのそれぞれについても、性能データＣと同様に、相関関係数は３であり、異常相関数は１となるため、異常相関割合は３３％となる。このように、異常の発生した物理機器の性能データに対応する異常度が最も大きな値でテーブルに表示されるため、異常発生個所を特定することが可能となる。
【００６４】
分析結果編集部１５０は、分析結果抽出部１４０から処理が終了した旨の通知を受けると、各業務システムの割合ソート前分析結果テーブルに対して、異常相関割合［％］の値をソートキーにして、異常相関割合の数値の高い順に組データをソートし、その結果を記述したテーブルを割合ソート後分析結果ＤＢ２４０に格納する。このテーブルを「割合ソート後分析結果テーブル」と称する。
【００６５】
図９および図１０のそれぞれは割合ソート後分析結果テーブルの一例である。図９はシステム１に関する割合ソート後分析結果テーブルであり、図１０はシステム２に関する割合ソート後分析結果テーブルである。
【００６６】
図９を見ると、異常相関割合が１００％の性能データＣの組データが、図７に示した割合ソート前分析結果テーブルでは、性能データＡの組データの下段に記述されていたが、割合ソート後分析結果テーブルでは、最上位に記述されている。図１０を見ると、異常相関割合が８０％の性能データＦの組データが、図８の割合ソート前分析結果テーブルでは、性能データＥの組データの下段に記述されていたが、割合ソート後分析結果テーブルでは、最上位に記述されている。
【００６７】
ここで、各業務システムの性能データについて、異常相関割合が高いほど上位に配置された割合ソート後分析結果テーブルを、出力部１８０が割合ソート後分析結果ＤＢ２４０から読み出して表示装置２８０に出力させてもよい（ステップ３０３）。図９および図１０に示す各性能データの欄には、その性能データに対応する物理機器の名称および性能種目の情報が含まれているため、障害検知装置１００の操作者は、図９および図１０などのテーブルを見ることで、各業務システムについて、どの物理機器に障害が発生したかを認識することが可能となる。また、図９および図１０に示すテーブルにおいて、少なくとも、性能データに含まれる物理機器の名称と、その性能データに対応する異常相関割合との組み合わせを表示装置２８０に表示させるようにしてもよい。
【００６８】
上述の出力方法に追加して、または、上述の出力方法とは別に、以下のようにして、分析結果編集部１５０による編集結果に各システムの重要度を反映させて、障害検知装置１００の操作者に対して、表示してもよい。この場合、分析結果編集部１５０は、編集が終了した旨を重要度算出部１６０に通知する。
【００６９】
重要度算出部１６０は、分析結果編集部１５０から編集が終了した旨の通知を受けると、構成情報ＤＢ２５０に格納された構成情報テーブルを参照して、システム構成情報を読み出し、業務システム単位で重要度を算出する。そして、重要度算出部１６０は、その算出結果を示すテーブルを結果出力順ソート前ＤＢ２６０に格納し、処理が終了した旨を結果出力順編集部１７０に通知する。このテーブルを「結果出力順ソート前テーブル」と称する。
【００７０】
図１１は構成情報テーブルの一例を示す図である。構成情報テーブルには、１行目にシステム構成情報の名称が記述され、２行目以降に、システムに対応して、それぞれのシステム構成情報の値が記述されている。例えば、α1は過去の障害発生回数を示し、α2は一定期間でのバックアップ回数を示し、α3は冗長化されているサーバ台数を示す。図１１に示すように、システム１では、過去の障害発生回数が９回であり、一定期間のバックアップ回数が３回であり、冗長化されているサーバが１０台であることを示している。
【００７１】
図１２は結果出力順ソート前テーブルの一例を示す図である。結果出力順ソート前テーブルには、重要度算出部１６０で算出された結果が示されている。ｗ１およびｗ２のそれぞれは、システム１および２のそれぞれの重要度を示す値である。図１２に示すように、結果出力順ソート前テーブルには、システム名に対応して、重要度を示す値が記述されている。
【００７２】
ｗ＝ｆ（α1，α2，α3，・・・）      ・・・式１
式１は、重要度ｗを算出するための式であり、制御部２０内のメモリ（不図示）に格納されたプログラムに記述されている。重要度ｗは、α1、α2、α3、・・・をパラメータとする関数ｆで表される。例えば、システム１の重要度ｗ１を求める場合、重要度算出部１６０は、図１１に示した構成情報テーブル５０からシステム構成情報の値を読み出し、システム構成情報の値をそのまま、または、所定の数値変換を行って、式１に代入して計算し、ｗ１を求める。ここでは、システム構成情報に対して、各数値に見合った数値変換を行ったため、計算式は、ｗ１＝ｆ（１０，１，６０，・・・）と表される。
【００７３】
結果出力順編集部１７０は、重要度算出部１６０から処理が終了した旨の通知を受けると、結果出力順ソート前ＤＢ２６０に格納された結果出力順ソート前テーブルに対して、重要度の値をソートキーにして、重要度の数値の高い順にシステム名をソートし、その結果を記述したテーブルを結果出力順ソート後ＤＢ２７０に格納する。このテーブルを「結果出力順ソート後テーブル」と称する。その後、結果出力順編集部１７０は、編集を終了した旨を出力部１８０に通知する。
【００７４】
図１３は結果出力順ソート後テーブルの一例を示す図である。図１３に示すように、結果出力順ソート後テーブルでは、システム１よりもシステム２が上位に配置されている。このテーブルから、システム２の方がシステム１よりも重要度が大きいことがわかる。
【００７５】
出力部１８０は、結果出力順編集部１７０から編集を終了した旨の通知を受けると、結果出力順ソート後ＤＢ２７０に格納された結果出力順ソート後テーブルを参照して、業務システム単位での出力順を決定し、決定した順で業務システム毎の割合ソート後分析結果テーブルを割合ソート後分析結果ＤＢ２４０から読み出して表示装置２８０に出力させる。
【００７６】
なお、出力部１８０は、結果出力順編集部１７０から編集を終了した旨の通知を受けたとき、割合ソート後分析結果テーブルを表示装置２８０に出力させる前に、結果出力順ソート後テーブルを表示装置２８０に出力させ、操作者から入力される指示により、システムの出力順を任意に変更できるようにしてもよい。この場合、予め登録された構成情報テーブルに依存せず、操作者が重要と判断したシステムの順位を上位にすることができる。
【００７７】
本実施形態によれば、設定ファイルを参照して、システム単位で関連する物理機器を特定することで、性能データの分析領域を分割して分析することが可能となり、分析時間を短縮することができる。また、システム毎に関連する物理機器を特定しているので、誤った相関関係に対して分析を行うことを排除することができる。
【００７８】
特許文献４に開示された方法では、各相関関係から算出される異常スコアを比較して、異常スコアが最も大きくなる相関関係で、異常の発生源を特定していた。この場合、異常の発生源となる物理機器からの異常が他の物理機器に伝播し、他の物理機器での異常スコアが大きな値になったとき、異常の発生源を見誤るおそれがあった。これに対して、本実施形態では、システム単位で、関連する物理機器間で相関のある関係のうち、異常と判定された相関関係の割合に相当する異常度を性能データに対応して算出しているので、異常の発生原因となる物理機器に関わる相関関係の異常度が大きくなる。その結果、同じシステム内で、いずれかの物理機器で発生した異常が他の物理機器に伝播しても、異常度をソートキーにして物理機器を並べ替えることにより、異常の発生源となる物理機器が分析結果の表示順として上位に配置され、異常の発生源を特定することができる。よって、異常発生個所の誤検出を防止し、障害発生原因の検知能力を向上させることができる。
【００７９】
さらに、システムの重要度にしたがって、分析結果の出力順を変更にすることにより、操作者は、重要度の高いシステムから重要度の低いシステムの順に、より迅速に故障に対処することができる。
【００８０】
本実施形態では、特許文献１に開示された学習データをシステム毎に予め準備することなく、分析範囲を絞り込むことで分析結果の精度を上げることができる。また、特許文献２に開示された故障発生確率に依存することなく、故障を検知し、故障個所を特定することができる。さらに、複数のシステムを監視対象にしても、特許文献３に開示された演算処理を一律に行うのではなく、相関関係の分析範囲を絞り込むことで、分析を効率よく行うことができ、かつ、分析結果の精度を上げることができる。
【００８１】
なお、本実施形態では、監視対象が複数のシステムである場合を説明したが、本発明を、システムに限らず、観察対象に通常とは異なる動作が発生したときに、その現象を検出し、観察者に対して、目に見えない異常を通知する、または、今後、異常が発生する可能性があることを通知するための用途に適用できる。
【００８２】
また、本実施形態の障害検知装置の動作をよりわかりやすく説明するために、図２に示す機能ブロック図を用いたが、本発明の特徴となる情報処理を実行するには、本実施形態の障害検知装置が少なくとも記憶部３０、分析領域分割部１２０、分析部１３０および分析結果出力部５０を有していればよい。
【符号の説明】
【００８３】
２０    制御部
３０    記憶部
４０    ネットワーク
５０    分析結果出力部
１００    障害検知装置
１０１〜１０ｋ    サーバ
１２０    分析領域分割部
１３０    分析部
１４０    分析結果抽出部
１５０    分析結果編集部
１６０    重要度算出部
１７０    結果出力順編集部
【図１】
0005668425.tif 000002
【図２】
0005668425.tif 000003
【図３】
0005668425.tif 000004
【図４】
0005668425.tif 000005
【図５】
0005668425.tif 000006
【図６】
0005668425.tif 000007
【図７】
0005668425.tif 000008
【図８】
0005668425.tif 000009
【図９】
0005668425.tif 000010
【図１０】
0005668425.tif 000011
【図１１】
0005668425.tif 000012
【図１２】
0005668425.tif 000013
【図１３】
0005668425.tif 000014