JP2011113122A - 障害影響分析装置及び業務システム及び障害影響分析方法 - Google Patents

障害影響分析装置及び業務システム及び障害影響分析方法 Download PDF

Info

Publication number
JP2011113122A
JP2011113122A JP2009266349A JP2009266349A JP2011113122A JP 2011113122 A JP2011113122 A JP 2011113122A JP 2009266349 A JP2009266349 A JP 2009266349A JP 2009266349 A JP2009266349 A JP 2009266349A JP 2011113122 A JP2011113122 A JP 2011113122A
Authority
JP
Japan
Prior art keywords
failure
dependency
unit
influence
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009266349A
Other languages
English (en)
Inventor
Kenichi Koike
賢一 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009266349A priority Critical patent/JP2011113122A/ja
Publication of JP2011113122A publication Critical patent/JP2011113122A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】障害の影響が及ぶ範囲を正しく特定する。
【解決手段】障害検出部121は、対象システムを構成する部品について、障害が発生しているか否かを検出する。原因範囲抽出部122は、障害が発生していると上記障害検出部121が判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とする。障害調査部123は、原因範囲抽出部122が抽出した原因範囲部品に障害が発生しているか否かを調査する。影響範囲抽出部131は、障害が発生していると上記障害検出部121または上記障害調査部123が判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とする。
【選択図】図8

Description

この発明は、複数の部品により構成されるシステムについて部品に発生した障害の影響を分析する障害影響分析装置に関する。
複数の部品により構成されるシステムでは、多くの部品の間に依存被依存の関係があるため、ある部品に障害が発生した場合に、その影響を見極めるのが困難な場合がある。そのため、システムの構成情報に基づいて、検出した障害の影響する範囲を分析する技術がある。
特開2005−258501号公報 特開平11−259331号公報
検出される障害には、元の原因である一次障害のほか、障害が発生している部品に依存しているため発生する二次障害がある。
障害の検出方式によっては、すべての障害が検出されるとは限らず、一次障害を見落とす可能性がある。一次障害を見落とした結果、二次障害が元の原因であるとして、障害の影響範囲を分析すると、障害の影響を過小評価する可能性がある。
この発明は、例えば上記のような課題を解決するためになされたものであり、障害の影響を正しく評価することを目的とする。
この発明にかかる障害影響分析装置は、複数の部品により構成される対象システムについて部品に発生した障害の影響を分析する障害影響分析装置において、
データを記憶する記憶装置と、データを処理する処理装置と、依存記憶部と、障害検出部と、原因範囲抽出部と、障害調査部と、影響範囲抽出部とを有し、
上記依存記憶部は、上記記憶装置を用いて、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶し、
上記障害検出部は、上記処理装置を用いて、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出し、
上記原因範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、障害が発生していると上記障害検出部が判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とし、
上記障害調査部は、上記処理装置を用いて、上記原因範囲抽出部が抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査し、
上記影響範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると上記障害検出部または上記障害調査部が判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とすることを特徴とする。
この発明にかかる障害影響分析装置によれば、障害の影響が及ぶ範囲を特定するために一次障害を特定する必要がなく、障害の影響が及ぶ範囲を正しく特定することができる。
実施の形態1における業務システム800の全体構成の一例を示すシステム構成図。 実施の形態1における実行システム801の部品の一例を示す図。 実施の形態1における実行システム801の部品の一例を示す図。 実施の形態1における実行システム801の部品の一例を示す図。 実施の形態1における実行システム801の部品の一例を示す図。 実施の形態1における障害影響分析装置100の外観の一例を示す斜視図。 実施の形態1における障害影響分析装置100のハードウェア資源の一例を示す図。 実施の形態1における障害影響分析装置100の機能ブロックの一例を示すブロック構成図。 実施の形態1における障害影響分析処理S600の流れの一例を示す全体フローチャート図。 実施の形態1における依存判定処理S610の流れの一例を示す全体フローチャート図。 実施の形態1における実行システム801を構成する部品の依存関係の一例を示す図。 実施の形態1における影響分析処理S630の流れの一例を示すフローチャート図。 実施の形態1における依存先追跡処理S650の流れの一例を示すフローチャート図。 実施の形態1における依存追跡処理S660の流れの一例を示すフローチャート図。 実施の形態1における障害影響分析装置100の動作の一例を説明する図。 実施の形態1における障害影響分析装置100の動作の一例を説明する図。 実施の形態1における障害影響分析装置100の動作の一例を説明する図。 実施の形態2における障害影響分析装置100の機能ブロックの一例を示すブロック構成図。 実施の形態2における影響内容判定部133が用いるロジックの一例を示す図。 実施の形態2における影響内容判定処理S670の流れの一例を示すフローチャート図。
実施の形態1.
実施の形態1について、図1〜図17を用いて説明する。
図1は、この実施の形態における業務システム800の全体構成の一例を示すシステム構成図である。
業務システム800は、実行システム801、障害影響分析装置100、障害影響表示装置802を有する。
実行システム801は、業務を実行するシステムである。実行システム801は、複数の部品からなる。例えば、実行システム801は、複数の計算機を有する。計算機は、実行システム801の部品である。計算機は、処理装置(以下「CPU」と呼ぶ。)や固定ディスク装置(以下「HDD」と呼ぶ。)などのハードウェアからなり、アプリケーションプログラム(以下「APP」と呼ぶ。)やオペレーティングシステム(以下「OS」と呼ぶ。)などのソフトウェアを実行する。CPU・HDD・APP・OSなども、実行システム801の部品である。また、利用者がAPPなどを使って実行する「処理」や、1以上の「処理」を組み合わせることにより実行システム801で実行される「業務」それ自体も、実行システム801の部品と考える。
障害影響分析装置100は、実行システム801の部品に発生した障害が、他の部品に与える影響を分析する。
障害影響表示装置802は、障害影響分析装置100が分析した結果を表示する。
図2は、この実施の形態における実行システム801の部品の一例を示す図である。
実行システム801は、1以上の業務を実行する。それぞれの業務は、1以上の処理の組み合わせにより構成される。例えば、実行システム801では、2つの業務811,812が実行される。業務811は、2つの処理821,822により構成される。業務812は、2つの処理823,824により構成される。
この例において、業務811は、処理821及び処理822の双方に依存している。ここで、「依存」とは、依存先に障害が発生すると、その影響を受ける関係を言う。処理821または処理822のいずれかが実行できなくなると、その影響として、業務811が実行できなくなるという関係が成り立っている。同様に、業務812は、処理823及び処理824の双方に依存している。
図3は、この実施の形態における実行システム801の部品の一例を示す図である。
処理は、1以上のAPPを使って実行される。APPは、単独であるいは他のAPPを利用して、動作する。
例えば、処理821は、1つのAPP831を使って実行される。処理822及び処理823は、1つのAPP832を使って実行される。処理824は、2つのAPP834,835を使って実行される。APP832及びAPP834は、APP833を利用して動作する。APP831及びAPP833及びAPP835は、単独で動作する。例えば、APP833は、利用者を認証するための認証サービスを提供するAPPであり、APP832及びAPP834は、APP833を利用して利用者を認証する。
この例において、処理821は、APP831に依存している。処理822及び処理823は、APP832に依存している。処理824は、APP834及びAPP835の双方に依存している。APP832及びAPP834は、APP833に依存している。その結果として、処理822及び処理823及び処理824は、APP833に依存している。このように、依存関係の承継により発生する依存関係を「間接依存」と呼ぶ。「間接依存」に対して、直接的な依存関係を「直接依存」と呼ぶ。例えば、処理822とAPP832との関係は、直接依存であり、処理822とAPP833との関係は、間接依存である。
図4は、この実施の形態における実行システム801の部品の一例を示す図である。
計算機には、1以上のソフトウェアがインストールされている。ソフトウェアには、例えば、APP、ミドルウェア(以下「MW」と呼ぶ。)、OSなどがある。APPやMWは、OS上で動作する。また、APPは、MWを利用して動作する場合がある。
例えば、計算機860aには、2つのAPP831a,834、MW841、OS851がインストールされている。計算機860bには、APP833b、MW842b、OS852がインストールされている。計算機860cには、APP833c、MW842c、OS853がインストールされている。計算機860dには、3つのAPP831d,832,835、2つのMW843,844、OS854がインストールされている。計算機860eには、MW845、OS855がインストールされている。なお、同じソフトウェアが複数の計算機にインストールされている場合、符号にアルファベット小文字を付加して区別している。例えば、APP831a及びAPP831dは、いずれも同じAPP831である。
この例において、APP831a及びAPP834及びMW841は、OS851上で動作するソフトウェアなので、OS851に依存している。また、APP834は、MW841を利用するので、MW841に依存している。
図5は、この実施の形態における実行システム801の部品の一例を示す図である。
計算機は、CPU、HDD、ネットワークインターフェースカード(以下「NIC」と呼ぶ。)などを有する。計算機間は、ローカルエリアネットワーク(以下「LAN」と呼ぶ。)などにより接続されている。
例えば、計算機860aは、CPU861a、HDD862a、NIC863aを有し、NIC863aを介してLAN870aに接続している。計算機860bは、2つのCPU861b,861f、HDD862b、NIC863bを有し、NIC863bを介してLAN870aに接続している。2つのCPU861b,861fは、分散処理を行う。計算機860cは、CPU861c、2つのHDD862c,862f、NIC863cを有し、NIC863cを介してLAN870bに接続している。HDD862fは、HDD862cのバックアップ用(冗長系)である。計算機860dは、CPU861d、HDD862d、NIC863dを有し、NIC863を介してLAN870bに接続している。計算機860eは、CPU861e、HDD862e、2つのNIC863e,863fを有し、NIC863eを介してLAN870aに接続し、NIC863fを介してLAN870bに接続している。計算機860eは、2つのLAN870a,870bを接続するゲートウェイである。
この例において、計算機860aにインストールされているソフトウェアは、計算機860aのハードウェアであるCPU861aやHDD862aやNIC863aに依存している。また、計算機間の通信は、LAN870a,870bやゲートウェイである計算機860eに依存している。例えば、計算機860aと計算機860bとの通信は、LAN870aに依存し、計算機860aと計算機860cとの通信は、2つのLAN870a,870b及び計算機860eに依存している。
障害影響分析装置100は、このような依存関係に基づいて、実行システム801の部品に発生した障害の影響を分析する。
図6は、この実施の形態における障害影響分析装置100の外観の一例を示す斜視図である。
障害影響分析装置100は、システムユニット910、陰極線管表示装置(以下「CRT」と呼ぶ。)や液晶表示装置(以下「LCD」と呼ぶ。)などの表示装置901、キーボード902(以下「K/B」と呼ぶ。)、マウス903、フレキシブルディスク装置(以下「FDD904」と呼ぶ。)、コンパクトディスク装置(以下「CDD905」と呼ぶ。)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、LAN942、ゲートウェイ941を介してインターネット940に接続されている。
LAN942は、実行システム801内のLAN870aやLAN870bと同一のLANであってもよいし、LAN870aやLAN870bとは異なるLANであってもよい。
図7は、この実施の形態における障害影響分析装置100のハードウェア資源の一例を示す図である。
障害影響分析装置100は、プログラムを実行するCPU911(中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、ROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、HDD920と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
HDD920には、OS921、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図8は、この実施の形態における障害影響分析装置100の機能ブロックの一例を示すブロック構成図である。
障害影響分析装置100は、構成入力部111、構成記憶部112、依存判定部115、依存記憶部116、障害検出部121、原因範囲抽出部122、障害調査部123、障害記憶部124、影響範囲抽出部131、影響範囲通知部132を有する。
構成入力部111は、入力装置を用いて、実行システム801のシステム構成を入力する。例えば、構成入力部111は、表示装置901を用いて、システム構成を入力するためのグラフィカルユーザインターフェース(以下「GUI」と呼ぶ。)画面を表示し、ユーザによるキーボード902やマウス903の操作を入力することにより、実行システム801を構成する部品や、部品間の関係などを入力する。構成入力部111は、CPU911を用いて、入力した実行システム801のシステム構成を表わすデータ(以下「構成データ」と呼ぶ。)を生成する。
構成記憶部112は、HDD920を用いて、構成入力部111が生成した構成データを記憶する。
依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データが表わす実行システム801のシステム構成に基づいて、実行システム801を構成する部品間の依存関係を判定する。依存判定部115は、CPU911を用いて、判定した依存関係を表わすデータ(以下「依存データ」と呼ぶ。)を生成する。
依存記憶部116は、HDD920を用いて、依存判定部115が生成した依存データを記憶する。
なお、依存判定部115が生成する依存データは、直接依存だけを表わすものであってもよいし、間接依存も含めたすべての依存関係を表わすものであってもよい。
障害検出部121は、CPU911を用いて、実行システム801で発生した障害を検出する。障害検出部121は、実行システム801を構成する部品について、その部品が正常に動作しているか障害が発生しているかを判定する。障害が発生していると判定した場合、障害検出部121は、CPU911を用いて、障害が発生していると判定した部品を表わすデータ(以下「障害検出データ」と呼ぶ。)を生成する。
障害発生の判定には、例えば、以下のような方式がある。
計算機860a〜860eが障害検出用のエージェントプログラムを実行し、エージェントプログラムが障害を検出した場合に送信するメッセージを受信することにより、障害検出部121が障害発生を判定する。
計算機860a〜860eに対して、サービスを提供するAPPに対する要求メッセージや探索パケット(以下「ping」と呼ぶ。)を送信し、それに対する応答を受信することにより、障害検出部121が障害の有無を判定する。
LAN870a,870bを流れるパケットや、計算機860a〜860eが定期的に送信する鼓動メッセージ(ハートビート)を監視することにより、障害検出部121が障害を検出する。
利用者からの障害報告を受けて、管理者がキーボード902などを操作して障害発生を入力することにより、障害検出部121が障害発生を判定する。
障害検出部121が障害発生を判定する部品は、実行システム801を構成するすべての部品である必要はなく、一部の部品であってもよい。例えば、部品Aと、部品Aに依存する部品Bとがある場合、部品Aに障害が発生すれば部品Bに影響が出るので、障害検出部121は、部品Bについて障害発生を判定すれば、部品Aについて障害発生を判定する必要はない。ただし、部品Aの障害による影響が部品Bに及ぶのに時間がかかり、早期に障害を発見したい場合は、部品Aについても障害判定をするほうが好ましい。また、部品Aの冗長系である部品Cや、部品Aとともに分散処理を行う部品Dがある場合、部品Aに障害が発生しても部品Cや部品Dが正常に動作していれば部品Bに影響が出ない可能性があるので、やはり、部品Aについても障害判定をするほうが好ましい。
障害影響分析装置100は、あらかじめ定められた部品について障害検出部121が障害判定をする構成であってもよい。あるいは、依存記憶部116が記憶した依存データが表わす依存関係に基づいて、障害判定をすべき部品を特定し、特定した部品について障害検出部121が障害判定をする構成であってもよい。
原因範囲抽出部122は、障害が発生していると障害検出部121が判定した場合、CPU911を用いて、依存記憶部116が記憶した依存データが表わす依存関係と、障害検出部121が生成した障害検出データが表わす部品とに基づいて、実行システム801を構成する部品のなかから、その障害の原因である障害が発生している可能性がある部品(以下「原因範囲部品」と呼ぶ。)を抽出する。原因範囲抽出部122は、CPU911を用いて、抽出した原因範囲部品を表わすデータ(以下「原因範囲データ」と呼ぶ。)を生成する。
障害検出部121が部品の障害を検出した場合、その部品自体に障害の原因がある場合と、その部品が直接的あるいは間接的に依存する他の部品に発生した障害の影響によるものである場合とがある。検出した障害の原因が他の部品にある場合であっても、原因である他の部品の障害が検出されるとは限らない。その部品について障害検出部121がそもそも障害発生の判定をしていない場合、障害の影響による遅延や欠測が生じている場合など、様々な要因がある。例えば、障害の発生によってCPU861aの負荷が大きくなったことにより、CPU861aが実行するエージェントプログラムが一時的に機能停止すると、障害を検出できなかったり、検出しても障害検出を通知するメッセージを送信できなかったりする可能性がある。
そこで、原因範囲抽出部122は、障害が検出された部品が直接的あるいは間接的に依存している他の部品をすべて洗い出す。依存記憶部116が記憶した依存データが間接依存も含めたすべての依存関係を表わすものである場合、原因範囲抽出部122は、障害検出データが表わす部品を検索キーとして依存データを検索することにより、障害が検出された部品が直接的あるいは間接的に依存する部品を抽出する。依存記憶部116が記憶した依存データが直接依存だけを表わすものである場合、原因範囲抽出部122は、障害検出データが表わす部品を基点として、依存データが表わす依存関係を辿ることにより、障害が検出された部品が直接的あるいは間接的に依存する部品を抽出する。
依存記憶部116が記憶した依存データが間接依存も含めたすべての依存関係を表わすものであるほうが、原因範囲抽出部122の処理負荷が減るので、障害発生時の影響分析にかかる時間を短縮できる。しかし、実行システム801が複雑であればあるほど、すべての依存関係を求めるのには時間がかかり、それを表わす依存データが巨大なものになるので、依存データは直接依存だけを表わすものであるほうが好ましい場合もある。
障害調査部123は、CPU911を用いて、原因範囲抽出部122が生成した原因範囲データが表わす原因範囲部品について、正常に動作しているか障害が発生しているかを調査する。障害調査部123は、CPU911を用いて、調査の結果に基づいて、障害が発生していると判定した部品を表わす障害検出データを生成する。
例えば、障害検出部121がその部品について障害発生の判定をしていない場合、障害調査部123は、その部品について障害発生の判定をする。
あるいは、障害検出部121による判定方式が、エージェントプログラムからのメッセージを受信するなど受動的な方式である場合、障害調査部123は、障害検出用のダミーメッセージを送信するなど能動的な方式で障害発生の判定をする。
障害記憶部124は、HDD920を用いて、障害検出部121及び障害調査部123が生成した障害検出データを記憶する。
影響範囲抽出部131は、CPU911を用いて、依存記憶部116が記憶した依存データが表わす依存関係と、障害記憶部124が記憶した障害検出データが表わす部品とに基づいて、実行システム801を構成する部品のなかから、検出された障害の影響を受ける可能性のある部品(以下「影響範囲部品」と呼ぶ。)を抽出する。影響範囲抽出部131は、CPU911を用いて、抽出した部品を表わすデータ(以下「影響範囲データ」と呼ぶ。)を生成する。
影響範囲通知部132は、CPU911を用いて、影響範囲抽出部131が生成した影響範囲データを、障害影響表示装置802に対して通知する。
図9は、この実施の形態における障害影響分析処理S600の流れの一例を示す全体フローチャート図である。
障害影響分析処理S600において、障害影響分析装置100は、実行システム801に発生した障害の影響を分析する。障害影響分析処理S600は、構成入力工程S601、依存判定工程S602、障害検出工程S603、影響分析工程S604、影響通知工程S605を有する。
構成入力工程S601及び依存判定工程S602は、実行システム801に障害が発生する前に実行する準備工程である。
構成入力工程S601において、構成入力部111は、入力装置を用いて、実行システム801のシステム構成を入力する。構成記憶部112は、HDD920を用いて、構成入力部111が入力したシステム構成を表わす構成データを記憶する。
依存判定工程S602において、依存判定部115は、CPU911を用いて、構成入力工程S601で構成記憶部112が記憶した構成データに基づいて、実行システム801を構成する部品の依存関係を判定する。依存記憶部116は、HDD920を用いて、依存判定部115が判定した依存関係を表わす依存データを記憶する。
障害検出工程S603において、障害検出部121は、実行システム801の部品に障害が発生しているか否かを判定する。
障害発生を検出しなかった場合、障害検出部121は、障害検出工程S603を繰り返し、障害の発生を待つ。
障害発生を検出した場合、障害検出部121は、影響分析工程S604へ進む。
影響分析工程S604において、障害影響分析装置100は、CPU911を用いて、障害検出工程S603で障害検出部121が検出した障害の影響を分析する。
影響通知工程S605において、影響範囲通知部132は、CPU911を用いて、影響分析工程S604で分析した結果を表わす影響範囲データを、障害影響表示装置802に通知する。
図10は、この実施の形態における依存判定処理S610の流れの一例を示す全体フローチャート図である。
依存判定処理S610は、依存判定工程S602で依存判定部115が実行する処理である。依存判定処理S610は、部品選択工程S611、依存処理判定工程S612、依存処理選択工程S613、2つの依存APP判定工程S614a,S614b、2つの依存APP選択工程S615a,S615b、2つの実行装置判定工程S616a,S616b、実行装置選択工程S617、通信判定工程S618、依存MW判定工程S619、依存MW選択工程S620、依存OS判定工程S621、依存OS選択工程S622、依存HW判定工程S623、依存HW選択工程S624、6つの依存記憶工程S629a〜S629fを有する。
部品選択工程S611において、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データが表わす実行システム801のシステム構成に基づいて、実行システム801を構成する部品のなかから、未選択の部品を1つ選択する。
実行システム801を構成する部品がすべて選択済であり、未選択の部品がない場合、依存判定部115は、依存判定処理S610を終了する。
未選択の部品を1つ選択した場合、依存判定部115は、CPU911を用いて、選択した部品の種類を判定する。
選択した部品が業務である場合、依存判定部115は、依存処理判定工程S612へ進む。
選択した部品が処理である場合、依存判定部115は、依存APP判定工程S614aへ進む。
選択した部品がAPPである場合、依存判定部115は、依存APP判定工程S614bへ進む。
選択した部品がMWである場合、依存判定部115は、依存OS判定工程S621へ進む。
選択した部品がそれ以外である場合、依存判定部115は、依存HW判定工程S623へ進む。
依存処理判定工程S612において、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データが表わす実行システム801のシステム構成に基づいて、実行システム801を構成する部品のなかから、部品選択工程S611で選択した部品(業務)が依存する部品(処理)を判定する。
依存処理選択工程S613において、依存判定部115は、CPU911を用いて、依存処理判定工程S612で判定した部品(処理)のなかから未選択の部品(処理)を1つ選択する。
部品選択工程S611で選択した部品(業務)が依存する部品(処理)がすべて選択済であり、未選択の部品(処理)がない場合、依存判定部115は、部品選択工程S611に戻り、次の部品を選択する。
未選択の部品(処理)を1つ選択した場合、依存判定部115は、依存記憶工程S629aへ進む。
依存記憶工程S629aにおいて、依存記憶部116は、HDD920を用いて、部品選択工程S611で依存判定部115が選択した部品(業務)が、依存処理選択工程S613で依存判定部115が選択した部品(処理)に依存することを表わす依存データを記憶する。
その後、依存判定部115は、依存処理選択工程S613に戻り、次の部品(処理)を選択する。
依存APP判定工程S614aにおいて、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データが表わす実行システム801のシステム構成に基づいて、実行システム801を構成する部品のなかから、部品選択工程S611で選択した部品(処理)が依存する部品(APP)を判定する。
依存APP選択工程S615aにおいて、依存判定部115は、CPU911を用いて、依存APP判定工程S614aで判定した部品(APP)のなかから未選択の部品(APP)を1つ選択する。
部品選択工程S611で選択した部品(処理)が依存する部品(APP)がすべて選択済であり、未選択の部品(APP)がない場合、依存判定部115は、部品選択工程S611に戻り、次の部品を選択する。
未選択の部品(APP)を1つ選択した場合、依存判定部115は、実行装置判定工程S616aへ進む。
実行装置判定工程S616aにおいて、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データに基づいて、依存APP選択工程S615aで選択したAPPがインストールされている計算機を判定する。
依存記憶工程S629bにおいて、依存記憶部116は、HDD920を用いて、部品選択工程S611で依存判定部115が選択した部品(処理)が、依存APP選択工程S615aで依存判定部115が選択したAPPに依存することを表わす依存データを記憶する。
依存判定部115は、依存APP選択工程S615aに戻り、次のAPPを選択する。
なお、実行装置判定工程S616aで依存判定部115が判定した計算機が1つである場合、依存記憶部116は、部品選択工程S611で依存判定部115が選択した部品(処理)が、実行装置判定工程S616aで依存判定部115が判定した計算機が実行するAPPに依存することを表わす依存データを記憶する。
また、実行装置判定工程S616aで依存判定部115が判定した計算機が2つ以上である場合、依存記憶部116は、実行装置判定工程S616aで依存判定部115が判定した2つ以上の計算機がそれぞれ実行するAPPに冗長依存あるいは分散依存することを表わす依存データを記憶する。
冗長依存とは、ある部品が冗長関係にある複数の部品に依存している場合をいう。冗長関係にある部品とは、複数の部品がまったく同じ機能を提供し、いずれか1つの部品が正常に動作していれば、その部品が提供する機能を完全に提供できる場合をいう。例えば、いずれかの計算機でそのAPPが正常に動作していれば、その処理を正常に実行でき、すべての計算機でそのAPPに障害が発生した場合に初めて処理ができなくなる場合、その処理はそのAPPに冗長依存している。
分散依存とは、ある部品が分散関係にある複数の部品に依存している場合をいう。分散関係にある部品とは、複数の部品がまったく同じ機能を提供し、負荷を分散することにより複数の部品が協調して機能を提供する場合をいう。いずれかの部品に障害が発生しても正常に動作している部品があればその機能を提供することはできるが、すべての部品が正常に動作している場合と比較すると性能が落ちる場合をいう。例えば、いずれかの計算機でそのAPPが正常に動作していれば、その処理を正常に実行できるが、すべての計算機でそのAPPが正常に動作している場合と比べると応答速度が落ちる場合、その処理はそのAPPに分散依存している。
複数の部品が冗長関係にあるか分散関係にあるかの区別は、実行システム801のシステム構成として構成入力部111が入力し、構成データの一部として構成記憶部112が記憶する。構成記憶部112が記憶した構成データに基づいて、冗長依存であるか分散依存であるかを依存判定部115が判定し、その判定結果を反映した依存データを依存記憶部116が記憶する。
依存APP判定工程S614bにおいて、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データが表わす実行システム801のシステム構成に基づいて、実行システム801を構成する部品(APP)のなかから、部品選択工程S611で選択した部品(APP)が依存する部品(APP)を判定する。
依存APP選択工程S615bにおいて、依存判定部115は、CPU911を用いて、依存APP判定工程S614bで判定した部品(APP)のなかから未選択の部品(APP)を1つ選択する。
部品選択工程S611で選択した部品(APP)が依存する部品(APP)がすべて選択済であり、未選択の部品(APP)がない場合、依存判定部115は、依存MW判定工程S619へ進む。
未選択の部品(APP)を1つ選択した場合、依存判定部115は、実行装置判定工程S616bへ進む。
実行装置判定工程S616bにおいて、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データに基づいて、依存APP選択工程S615bで選択したAPPがインストールされている計算機を判定する。
実行装置選択工程S617において、依存判定部115は、CPU911を用いて、実行装置判定工程S616bで判定した計算機のなかから、未選択の計算機を1つ選択する。
依存APP選択工程S615bで選択したAPPがインストールされている計算機がすべて選択済であり、未選択の計算機がない場合、依存判定部115は、依存記憶工程S629cへ進む。
未選択の計算機を1つ選択した場合、依存判定部115は、通信判定工程S618へ進む。
通信判定工程S618において、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データが表わす実行システム801のシステム構成に基づいて、部品選択工程S611で選択したAPPがインストールされている計算機と、実行装置選択工程S617で選択した計算機との間の通信をするために必要な部品を判定する。依存判定部115は、CPU911を用いて、判定した部品を実行装置選択工程S617で選択した計算機と対応づける。
依存判定部115は、実行装置選択工程S617に戻り、次の計算機を選択する。
例えば、2つの計算機が同じ計算機であれば、通信をするために必要な部品はない。2つの計算機が同じLANに接続していれば、通信をするために必要な部品は、LANである。2つの計算機が異なるLANに接続していれば、通信をするために必要な部品は、それぞれの計算機が接続しているLANおよびそのLANを接続するゲートウェイやネットワークなどである。
依存記憶工程S629cにおいて、依存記憶部116は、HDD920を用いて、部品選択工程S611で依存判定部115が選択した部品(処理)が、依存APP選択工程S615aで依存判定部115が選択したAPPおよび通信判定工程S618で依存判定部115がそのAPPを実行する計算機に対応づけた部品に依存することを表わす依存データを記憶する。
依存判定部115は、依存APP選択工程S615bに戻り、次のAPPを選択する。
なお、実行装置判定工程S616bで依存判定部115が判定した計算機が2つ以上である場合については、依存記憶工程S629bと同様である。
依存MW判定工程S619において、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データが表わす実行システム801のシステム構成に基づいて、実行システム801を構成する部品(MW)のなかから、部品選択工程S611で選択した部品(APP)が依存する部品(MW)を判定する。
依存MW選択工程S620において、依存判定部115は、CPU911を用いて、依存MW判定工程S619で判定した部品(MW)のなかから未選択の部品(MW)を1つ選択する。
部品選択工程S611で選択した部品(APP)が依存する部品(MW)がすべて選択済であり、未選択の部品(MW)がない場合、依存判定部115は、依存OS判定工程S621へ進む。
未選択の部品(MW)を1つ選択した場合、依存判定部115は、依存記憶工程S629dへ進む。
依存記憶工程S629dにおいて、依存記憶部116は、HDD920を用いて、部品選択工程S611で依存判定部115が選択した部品(APP)が、依存MW選択工程S620で依存判定部115が選択した部品(MW)に依存することを表わす依存データを記憶する。
その後、依存判定部115は、依存MW選択工程S620に戻り、次の部品(MW)を選択する。
依存OS判定工程S621において、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データが表わす実行システム801のシステム構成に基づいて、実行システム801を構成する部品(OS)のなかから、部品選択工程S611で選択した部品(APPまたはMW)が依存する部品(OS)を判定する。
依存OS選択工程S622において、依存判定部115は、CPU911を用いて、依存OS判定工程S621で判定した部品(OS)のなかから未選択の部品(OS)を1つ選択する。
部品選択工程S611で選択した部品(APPまたはMW)が依存する部品(OS)がすべて選択済であり、未選択の部品(OS)がない場合、依存判定部115は、部品選択工程S611に戻り、次の部品を選択する。
未選択の部品(OS)を1つ選択した場合、依存判定部115は、依存記憶工程S629eへ進む。
依存記憶工程S629eにおいて、依存記憶部116は、HDD920を用いて、部品選択工程S611で依存判定部115が選択した部品(APPまたはMW)が、依存OS選択工程S622で依存判定部115が選択した部品(OS)に依存することを表わす依存データを記憶する。
その後、依存判定部115は、依存OS選択工程S622に戻り、次の部品(OS)を選択する。
依存HW判定工程S623において、依存判定部115は、CPU911を用いて、構成記憶部112が記憶した構成データが表わす実行システム801のシステム構成に基づいて、実行システム801を構成する部品(ハードウェア)のなかから、部品選択工程S611で選択した部品が依存する部品(ハードウェア)を判定する。
依存HW選択工程S624において、依存判定部115は、CPU911を用いて、依存HW判定工程S623で判定した部品(ハードウェア)のなかから未選択の部品(ハードウェア)を1つ選択する。
部品選択工程S611で選択した部品が依存する部品(ハードウェア)がすべて選択済であり、未選択の部品(ハードウェア)がない場合、依存判定部115は、部品選択工程S611に戻り、次の部品を選択する。
未選択の部品(ハードウェア)を1つ選択した場合、依存判定部115は、依存記憶工程S629fへ進む。
依存記憶工程S629fにおいて、依存記憶部116は、HDD920を用いて、部品選択工程S611で依存判定部115が選択した部品が、依存HW選択工程S624で依存判定部115が選択した部品(ハードウェア)に依存することを表わす依存データを記憶する。
その後、依存判定部115は、依存HW選択工程S624に戻り、次の部品(ハードウェア)を選択する。
図11は、この実施の形態における実行システム801を構成する部品の依存関係の一例を示す図である。
長円は、実行システム801を構成する部品を表わす。なお、長円内の符号は、図2〜図5で部品に付した符号に一致させている。
矢印は、依存関係を表わし、矢印の根元に位置する部品が、矢印の先に位置する部品に依存していることを表わす。例えば、部品「831a」は、部品「851」に依存していることを表わす。
矢印の分岐点に位置する黒丸は、通常の依存関係を表わす。すなわち、矢印の根元に位置する部品は、分岐した矢印の先に位置する複数の部品それぞれに依存する。例えば、部品「811」は、部品「821」に依存し、かつ、部品「822」にも依存する。
矢印の分岐点に位置する白抜き丸は、冗長依存関係を表わす。すなわち、矢印の根元に位置する部品は、分岐した矢印の先に位置する複数の部品に冗長依存する。例えば、部品「821」は、冗長関係にある部品「831a」および部品「831d」に依存する。
矢印の分岐点に位置する十字を含む丸は、分散依存関係を表わす。すなわち、矢印の根元に位置する部品は、分岐した矢印の先に位置する複数の部品に分散依存する。例えば、部品「860b」は、分散関係にある部品「861b」および「861f」に依存する。
依存判定処理S610により、依存判定部115は、構成記憶部112が記憶した構成データから、この図に示したような依存関係を求め、求めた依存関係を表わす依存データを生成する。
図12は、この実施の形態における影響分析処理S630の流れの一例を示すフローチャート図である。
影響分析処理S630は、影響分析工程S604で障害影響分析装置100が実行する処理である。影響分析処理S630は、2つの障害選択工程S631,S641、原因範囲判定工程S632、依存先追跡工程S634、原因範囲選択工程S635、質問送信工程S636、受信判定工程S637、回答受信工程S638、経過時間判定工程S639、影響範囲判定工程S642、依存追跡工程S644を有する。
障害選択工程S631において、原因範囲抽出部122は、CPU911を用いて、障害検出工程S603で障害検出部121が生成した障害検出データに基づいて、障害が検出された部品のなかから、未選択の部品を1つ選択する。
障害が検出された部品がすべて選択済であり、未選択の部品がない場合、原因範囲抽出部122は、原因範囲選択工程S635へ進む。
未選択の部品を1つ選択した場合、原因範囲抽出部122は、原因範囲判定工程S632へ進む。
原因範囲判定工程S632において、原因範囲抽出部122は、CPU911を用いて、既に原因範囲部品として抽出した部品のなかに、障害選択工程S631で選択した部品が含まれているか否かを判定する。
既に原因範囲部品として抽出した部品のなかに、障害選択工程S631で選択した部品が含まれている場合、原因範囲抽出部122は、障害選択工程S631に戻り、次の部品を選択する。
既に原因範囲部品として抽出した部品のなかに、障害選択工程S631で選択した部品が含まれていない場合、原因範囲抽出部122は、依存先追跡工程S634へ進む。
依存先追跡工程S634において、原因範囲抽出部122は、CPU911を用いて、依存記憶部116が記憶した依存データが表わす依存関係に基づいて、障害選択工程S631で選択した部品を追跡の対象とし、その部品が依存する部品を抽出して、原因範囲部品とする。
その後、原因範囲抽出部122は、障害選択工程S631に戻り、次の部品を選択する。
原因範囲選択工程S635において、障害調査部123は、CPU911を用いて、依存先追跡工程S634で原因範囲抽出部122が抽出した原因範囲部品のなかから、未選択の部品を1つ選択する。
依存先追跡工程S634で原因範囲抽出部122が抽出した原因範囲部品がすべて選択済であり、未選択の部品がない場合、障害調査部123は、受信判定工程S637へ進む。
未選択の部品を1つ選択した場合、障害調査部123は、質問送信工程S636へ進む。
質問送信工程S636において、障害調査部123は、CPU911を用いて、原因範囲選択工程S635で選択した部品が正常に動作しているか障害が発生しているかを問い合わせるメッセージを送信する。メッセージの送信先は、その部品それ自体であってもよいし、その部品の動作を監視している実行システム801内の他の部品や実行システム801外の監視装置であってもよい。
その後、障害調査部123は、原因範囲選択工程S635に戻り、次の部品を選択する。
受信判定工程S637において、障害調査部123は、CPU911を用いて、質問送信工程S636で送信したメッセージに対する回答が返ってきたか否かを判定する。
回答が返ってきた場合、障害調査部123は、回答受信工程S638へ進む。
回答を返ってきていない場合、障害調査部123は、経過時間判定工程S639へ進む。
回答受信工程S638において、障害調査部123は、CPU911を用いて、質問送信工程S636で送信したメッセージに対する回答を受信する。障害調査部123は、CPU911を用いて、受信した回答に基づいて、問い合わせた部品が正常に動作しているか障害が発生しているかを判定する。問い合わせた部品に障害が発生していると判定した場合、障害記憶部124は、HDD920を用いて、その部品を表わす障害検出データを記憶する。
質問送信工程S636で送信したすべてのメッセージに対する回答を受信した場合、障害調査部123は、障害選択工程S641へ進む。
まだ回答を受信していないメッセージがある場合、障害調査部123は、経過時間判定工程S639へ進む。
経過時間判定工程S639において、障害調査部123は、CPU911を用いて、質問送信工程S636で最後のメッセージを送信してからの経過時間が所定の制限時間を超えたか否かを判定する。
経過時間が制限時間以下である場合、障害調査部123は、受信判定工程S637に戻り、回答が返ってくるのを待つ。
経過時間が制限時間を超えた場合、部品が正常に動作していれば制限時間内になんらかの回答が返ってくるはずなので、障害調査部123は、CPU911を用いて、まだ回答が返ってきていない部品について、障害が発生していると判定する。障害記憶部124は、障害が発生していると判定した部品を表わす障害検出データを記憶する。障害調査部123は、障害選択工程S641へ進む。
障害選択工程S641において、影響範囲抽出部131は、CPU911を用いて、障害記憶部124が記憶した障害検出データに基づいて、障害が検出された部品のなかから、未選択の部品を1つ選択する。
障害が検出された部品がすべて選択済であり、未選択の部品がない場合、影響範囲抽出部131は、影響分析処理S630を終了する。
未選択の部品を1つ選択した場合、影響範囲抽出部131は、影響範囲判定工程S642へ進む。
影響範囲判定工程S642において、影響範囲抽出部131は、CPU911を用いて、既に影響範囲部品として抽出した部品のなかに、障害選択工程S641で選択した部品が含まれているか否かを判定する。
既に影響範囲部品として抽出した部品のなかに、障害選択工程S641で選択した部品が含まれている場合、影響範囲抽出部131は、障害選択工程S641に戻り、次の部品を選択する。
既に原因範囲部品として抽出した部品のなかに、障害選択工程S641で選択した部品が含まれていない場合、影響範囲抽出部131は、依存追跡工程S644へ進む。
依存追跡工程S644において、影響範囲抽出部131は、CPU911を用いて、依存記憶部116が記憶した依存データが表わす依存関係に基づいて、障害選択工程S641で選択した部品を追跡の対象として、その部品に依存する部品を抽出して、影響範囲部品とする。
その後、影響範囲抽出部131は、障害選択工程S641に戻り、次の部品を選択する。
図13は、この実施の形態における依存先追跡処理S650の流れの一例を示すフローチャート図である。
依存先追跡処理S650は、依存先追跡工程S634で原因範囲抽出部122が実行する処理である。依存先追跡処理S650は、依存先選択工程S651、原因範囲判定工程S652、原因範囲記憶工程S653、依存先追跡工程S654を有する。
この例において、依存判定部115が生成し依存記憶部116が記憶する依存データは、直接依存だけを表わし、間接依存は表わさないものとする。
依存先選択工程S651において、原因範囲抽出部122は、CPU911を用いて、追跡の対象である部品をキーとして、依存記憶部116が記憶した依存データを検索することにより、追跡の対象である部品が直接的に依存する部品を抽出する。
原因範囲抽出部122は、CPU911を用いて、抽出した部品のなかから、未選択の部品を1つ選択する。
追跡の対象である部品が直接的に依存する部品がすべて選択済であり、未選択の部品がない場合、原因範囲抽出部122は、依存先追跡処理S650を終了する。
未選択の部品を1つ選択した場合、原因範囲抽出部122は、原因範囲判定工程S652へ進む。
原因範囲判定工程S652において、原因範囲抽出部122は、CPU911を用いて、既に原因範囲部品として抽出した部品のなかに、依存先選択工程S651で選択した部品が含まれているか否かを判定する。
既に原因範囲部品として抽出した部品のなかに、依存先選択工程S651で選択した部品が含まれている場合、原因範囲抽出部122は、依存先選択工程S651に戻り、次の部品を選択する。
既に原因範囲部品として抽出した部品のなかに、依存先選択工程S651で選択した部品が含まれていない場合、原因範囲抽出部122は、原因範囲記憶工程S653へ進む。
原因範囲記憶工程S653において、原因範囲抽出部122は、依存先選択工程S651で選択した部品を原因範囲部品とし、HDD920を用いて、原因範囲データを記憶する。
依存先追跡工程S654において、原因範囲抽出部122は、CPU911を用いて、依存先選択工程S651で選択した部品を追跡の対象として、依存先追跡処理S650を再帰的に実行する。ことにより、依存先を追跡する。
その後、原因範囲抽出部122は、依存先選択工程S651に戻り、次の部品を選択する。
図14は、この実施の形態における依存追跡処理S660の流れの一例を示すフローチャート図である。
依存追跡処理S660は、依存追跡工程S644で影響範囲抽出部131が実行する処理である。依存追跡処理S660は、依存選択工程S661、影響範囲判定工程S662、影響範囲記憶工程S663、依存追跡工程S664を有する。
この例において、依存判定部115が生成し依存記憶部116が記憶する依存データは、直接依存だけを表わし、間接依存は表わさないものとする。
依存選択工程S661において、影響範囲抽出部131は、CPU911を用いて、追跡の対象である部品をキーとして、依存記憶部116が記憶した依存データを検索することにより、追跡の対象である部品に直接的に依存する部品を抽出する。
影響範囲抽出部131は、CPU911を用いて、抽出した部品のなかから、未選択の部品を1つ選択する。
追跡の対象である部品に直接的に依存する部品がすべて選択済であり、未選択の部品がない場合、影響範囲抽出部131は、依存追跡処理S660を終了する。
未選択の部品を1つ選択した場合、影響範囲抽出部131は、影響範囲判定工程S662へ進む。
影響範囲判定工程S662において、影響範囲抽出部131は、CPU911を用いて、既に影響範囲部品として抽出した部品のなかに、依存選択工程S661で選択した部品が含まれているか否かを判定する。
既に影響範囲部品として抽出した部品のなかに、依存選択工程S661で選択した部品が含まれている場合、影響範囲抽出部131は、依存選択工程S661に戻り、次の部品を選択する。
既に影響範囲部品として抽出した部品のなかに、依存選択工程S661で選択した部品が含まれていない場合、影響範囲抽出部131は、影響範囲記憶工程S663へ進む。
影響範囲記憶工程S663において、影響範囲抽出部131は、依存選択工程S661で選択した部品を影響範囲部品とし、HDD920を用いて、影響範囲データを記憶する。
依存追跡工程S664において、影響範囲抽出部131は、CPU911を用いて、依存選択工程S661で選択した部品を追跡の対象とし、依存追跡処理S660を再帰的に実行することにより、依存する部品を追跡する。
その後、影響範囲抽出部131は、依存選択工程S661に戻り、次の部品を選択する。
図15は、この実施の形態における障害影響分析装置100の動作の一例を説明する図である。
間隔の狭い右斜め斜線によるハッチングは、障害が検出された部品を表わす。間隔の広い右斜め斜線によるハッチングは、原因範囲抽出部122が抽出した原因範囲部品を表わす。
例えば、部品「834」に障害が発生していることを障害検出部121が検出した場合、原因範囲抽出部122は、依存関係の種類を問わず、部品「834」が依存しているすべての部品を抽出し、原因範囲部品とする。
図16は、この実施の形態における障害影響分析装置100の動作の一例を説明する図である。
障害調査部123は、原因範囲抽出部122が抽出した原因範囲部品すべてについて、障害発生の有無を調査し、例えば、5つの部品「841」「860a」「861a」「833b」「842b」に障害が発生していることを検出する。
この例の場合、障害が発生している部品の分布から見て、障害の根本的な原因である一次障害は、2つの部品「861a」「842b」にあり、それ以外の障害は、一次障害の影響による二次障害であることが予測できる。
障害影響分析装置100は、更に、一次障害を判別する一次障害判別部を有する構成であってもよい。例えば、一次障害判別部は、CPU911を用いて、依存記憶部116が記憶した依存データが表わす依存関係と、障害記憶部124が記憶した障害検出データが表わす部品とに基づいて、障害が検出された部品について、その部品が直接的あるいは間接的に依存している部品に障害が検出されたか否かを判定する。その部品が直接的あるいは間接的に依存している部品に障害が検出されていない場合、一次障害判別部は、CPU911を用いて、その部品の障害が一次障害であると判定する。一次障害判別部は、CPU911を用いて、判別した結果を表わすデータ(以下「一次障害データ」と呼ぶ。)を生成する。影響範囲通知部132は、CPU911を用いて、影響範囲データとともに、一次障害判別部が生成した一次障害データを障害影響表示装置802に通知する。これにより、一次障害が発生している部品を管理者が特定するのを助けることができるので、障害からの復旧を早めることができる。
一方、障害が影響する範囲を知りたいだけであれば、一次障害と二次障害を区別する必要はない。したがって、一次障害判別部はなくてもよい。
図17は、この実施の形態における障害影響分析装置100の動作の一例を説明する図である。
交差する斜線によるハッチングは、影響範囲抽出部131が抽出した影響範囲部品を表わす。
影響範囲抽出部131は、障害検出部121あるいは障害調査部123のどちらかが障害を検出した部品について、そのいずれかの部品に依存する部品をすべて抽出し、影響範囲部品とする。この例では、障害検出部121が障害を検出した部品「834」と、障害調査部123が障害を検出した5つの部品「841」「860a」「861a」「833b」「842b」の部品とを合わせた6つの部品を基点とし、依存関係の種類を問わず、影響範囲抽出部131は、そのいずれかに依存する部品をすべて抽出する。
このように、障害影響分析装置100は、検出した障害が二次障害である可能性を考慮して、依存先方向へ探索することにより、実行システム801で発生している障害を洗い出す。障害影響分析装置100は、洗い出した障害を基点としてその影響が及ぶ範囲を特定するので、いずれの障害が一次障害であるかを判別する必要はなく、障害の影響が及ぶ範囲を正しく特定することができる。
この実施の形態における障害影響分析装置100は、複数の部品により構成される対象システム(実行システム801)について部品に発生した障害の影響を分析する。
障害影響分析装置100は、データを記憶する記憶装置(HDD920)と、データを処理する処理装置(CPU911)と、依存記憶部116と、障害検出部121と、原因範囲抽出部122と、障害調査部123と、影響範囲抽出部131とを有する。
上記依存記憶部116は、上記記憶装置を用いて、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶する。
上記障害検出部121は、上記処理装置を用いて、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出する。
上記原因範囲抽出部122は、上記処理装置を用いて、上記依存記憶部116が記憶した依存データに基づいて、障害が発生していると上記障害検出部121が判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とする。
上記障害調査部123は、上記処理装置を用いて、上記原因範囲抽出部122が抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査する。
上記影響範囲抽出部131は、上記処理装置を用いて、上記依存記憶部116が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると上記障害検出部121または上記障害調査部123が判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とする。
これにより、障害の影響が及ぶ範囲を特定するために一次障害を特定する必要がないので、限られた情報に基づいて障害の影響が及ぶ範囲を正しく特定することができる。
この実施の形態における障害影響分析装置100において、上記原因範囲抽出部122は、上記処理装置を用いて、上記依存記憶部116が記憶した依存データに基づいて、上記対象システムを構成する複数の部品間の依存関係を辿ることにより、障害が発生していると上記障害検出部121が検出した部品の動作が依存する他の部品をすべて抽出して、原因範囲部品とする。
これにより、一次障害が発生している部品が原因範囲部品に必ず含まれるので、障害の影響が及ぶ範囲を正しく特定することができる。
この実施の形態における障害影響分析装置100において、上記対象システムを構成する複数の部品は、上記対象システムによって実現される業務を含む。
上記依存記憶部116は、上記記憶装置を用いて、上記業務の実行が依存する他の部品を表わすデータを含む依存データを記憶する。
上記影響範囲抽出部131は、上記処理装置を用いて、障害が発生した部品に実行が依存する業務を含む影響範囲部品を抽出する。
これにより、対象システムで発生した障害が業務の実行に及ぼす影響を正しく分析することができる。
この実施の形態における障害影響分析装置100において、上記影響範囲抽出部131は、上記処理装置を用いて、上記依存記憶部116が記憶した依存データに基づいて、上記対象システムを構成する複数の部品間の依存関係を辿ることにより、障害が発生していると上記障害検出部121または上記障害調査部123が判定した部品に動作が依存する他の部品をすべて抽出して、影響範囲部品とする。
これにより、障害の影響が及ぶ可能性のある部品が影響範囲部品に必ず含まれるので、障害の影響が及ぶ範囲を正しく特定することができる。
この実施の形態における業務システム800は、所定の業務を実行する実行システム801と、上記実行システム801を対象システムとする障害影響分析装置100とを有する。
これにより、障害の影響が及ぶ範囲を特定するために一次障害を特定する必要がないので、実行システム801で発生した障害が業務の実行に及ぼす影響を正しく分析することができる。
この実施の形態における障害影響分析装置100が、複数の部品により構成される対象システムについて部品に発生した障害の影響を分析する障害影響分析方法は、以下の工程を有する。
上記記憶装置が、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶する。
上記処理装置が、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出する。
上記処理装置が、上記記憶装置が記憶した依存データに基づいて、障害が発生していると判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とする。
上記処理装置が、抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査する。
上記処理装置が、上記記憶装置が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とする。
これにより、障害の影響が及ぶ範囲を特定するために一次障害を特定する必要がないので、限られた情報に基づいて障害の影響が及ぶ範囲を正しく特定することができる。
実施の形態2.
実施の形態2について、図18〜図20を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態における業務システム800の全体構成、障害影響分析装置100の外観・ハードウェア資源は、実施の形態1と同様なので、説明を省略する。
図18は、この実施の形態における障害影響分析装置100の機能ブロックの一例を示すブロック構成図である。
障害影響分析装置100は、実施の形態1で説明した機能ブロックに加えて、更に、影響内容判定部133を有する。
実施の形態1で説明したように、依存判定部115が生成し、依存記憶部116が記憶する依存データには、冗長依存や分散依存など依存関係の種別を表わすデータが含まれている。
障害検出部121及び障害調査部123は、障害発生の有無を検出するだけでなく、障害が発生していると判定した場合、CPU911を用いて、その障害の種別を判定する。障害の種別には、例えば「停止」「信頼性低下」「性能低下」などがある。「停止」とは、その部品が機能を提供できない状態をいう。「信頼性低下」とは、現在はその部品が機能しているが、機能が停止する可能性が通常より高くなっている状態をいう。例えば、HDDについて、空き容量が所定の値を下回った状態である。「性能低下」とは、その部品が機能しているが、応答速度が落ちるなど、通常より処理能力が低い状態をいう。例えば、CPUについて、平均使用率が所定の値を上回った状態である。障害検出部121及び障害調査部123は、CPU911を用いて、判定した障害の種別を表わすデータを含む障害検出データを生成する。
影響内容判定部133は、依存記憶部116が記憶した依存データが表わす依存関係と、障害記憶部124が記憶した障害検出データが表わす部品及び障害の種別と、影響範囲抽出部131が生成した影響範囲データが表わす影響範囲部品とに基づいて、影響範囲部品に及ぶ影響の内容を判定する。影響の内容とは、障害の影響によりその部品にどのような種別の障害が発生するかということである。したがって、影響の内容には、障害の種別と同じく、例えば「停止」「信頼性低下」「性能低下」などがある。
影響内容判定部133は、CPU911を用いて、判定した影響の内容を表わすデータ(以下「影響内容データ」と呼ぶ。)を生成する。
例えば、影響内容判定部133は、CPU911を用いて、影響範囲抽出部131が生成した影響範囲データが表わす部品について、その部品が直接依存する部品の状態に基づいて、その部品に及ぶ影響の内容を判定する。ここで、「部品の状態」とは、その部品について、障害検出部121や障害調査部123が障害を検出した場合は、障害検出部121や障害調査部123が検出した障害の種別のことである。また、その部品について、障害検出部121や障害調査部123が障害を検出しなかった場合は、影響内容判定部133が判定した影響の内容のことである。
影響範囲通知部132は、CPU911を用いて、影響範囲抽出部131が生成した影響範囲データとともに、影響内容判定部133が生成した影響内容データを、障害影響表示装置802に対して通知する。
図19は、この実施の形態における影響内容判定部133が用いるロジックの一例を示す図である。
依存先状態511,513は、影響の内容を判定する対象である部品が直接依存する部品の状態を表わす。直接依存する部品が複数ある場合、依存先状態511は、そのなかで障害の程度が一番重い部品の状態を表わし、依存先状態513は、そのなかで障害の程度が一番軽い部品の状態を表わす。依存種別512は、依存関係の種別を表わす。影響内容514は、影響内容判定部133が判定する影響の内容を表わす。
例えば、依存種別が通常依存であれば、依存先の部品のなかで、障害の程度が最も重い部品の状態を受け継ぐ。
依存種別が冗長依存であれば、依存先の部品すべてが「停止」になった場合、その部品も「停止」になる。依存先の部品の一部または全部が「性能低下」になり、残りが「停止」になった場合、その部品は「性能低下」になる。依存先の部品の一部が「停止」になり、残りが「信頼性低下」または「正常」である場合、その部品は「信頼性低下」になる。それ以外の場合は、その部品は「正常」になる。
依存種別が分散依存であれば、依存先の部品すべてが「停止」になった場合、冗長依存のときと同様、その部品も「停止」になる。依存先の部品の一部が「停止」または「性能低下」になった場合、その部品は「性能低下」になる。それ以外の場合は、その部品は「正常」になる。
影響内容判定部133は、例えば、このようなロジックに基づいて、影響範囲部品に及ぶ障害の影響の内容を判定する。
図20は、この実施の形態における影響内容判定処理S670の流れの一例を示すフローチャート図である。
影響内容判定処理S670において、影響内容判定部133は、障害が影響範囲部品に及ぼす影響の内容を判定する。影響内容判定処理S670は、判定済判定工程S671、依存先選択工程S672、状態判定工程S673、影響内容判定工程S674を有する。
影響内容判定処理S670は、例えば、図14で説明した依存追跡処理S660において、影響範囲記憶工程S663の後、依存追跡工程S664の前に、部品選択工程S611で影響範囲抽出部131が選択した部品を判定対象として実行される。
判定済判定工程S671において、影響内容判定部133は、CPU911を用いて、判定対象の部品について、既に影響の内容を判定しているか否かを判定する。
判定対象の部品について既に影響の内容を判定している場合、影響内容判定部133は、影響内容判定処理S670を終了する。
判定対象の部品についてまだ影響の内容を判定していない場合、影響内容判定部133は、依存先選択工程S672へ進む。
依存先選択工程S672において、影響内容判定部133は、CPU911を用いて、依存記憶部116が記憶した依存データが表わす依存関係に基づいて、実行システム801を構成する部品のなかから、判定対象の部品が直接依存する部品を抽出する。影響内容判定部133は、CPU911を用いて、抽出した部品のなかから、未選択の部品を1つ選択する。
判定対象の部品が直接依存する部品がすべて選択済であり、未選択の部品がない場合、影響内容判定部133は、影響内容判定工程S674へ進む。
未選択の部品を1つ選択した場合、影響内容判定部133は、状態判定工程S673へ進む。
状態判定工程S673において、影響内容判定部133は、CPU911を用いて、依存先選択工程S672で選択した部品を判定対象として、影響内容判定処理S670を再帰的に実行することにより、依存先の部品の状態を判定する。
その後、影響内容判定部133は、依存先選択工程S672に戻り、次の部品を選択する。
影響内容判定工程S674において、影響内容判定部133は、CPU911を用いて、状態判定工程S673で判定した依存先の部品の状態に基づいて、所定のロジックにより、判定対象の部品に及ぶ影響の内容を判定する。
このように、障害影響分析装置100は、障害の影響が伝播する経路に沿って、障害の影響を追跡していくことにより、障害の影響が及ぶ範囲だけでなく、どのような影響が及ぶかを分析する。
障害影響表示装置802は、障害影響分析装置100から通知された影響範囲データと影響内容データとに基づいて、障害の影響が及ぶ範囲とその内容を表示する。
実行システム801の管理者は、障害影響表示装置802が表示した内容に基づいて、影響が比較的小さい場合に障害を放置するか否かを判断したり、逆に影響が比較的大きい場合に緊急対策を講じたりするなど、障害の影響の程度に応じた対策を講じることができる。
この実施の形態における障害影響分析装置100は、更に、依存種別記憶部(依存記憶部116)と、影響内容判定部133とを有する。
上記依存種別記憶部は、上記記憶装置(HDD920)を用いて、上記部品の動作が他の部品に依存する依存関係の種別を表わす依存種別データ(依存データ)を記憶する。
上記影響内容判定部133は、上記処理装置(CPU911)を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響範囲抽出部131が抽出した影響範囲部品に対してどのような影響が及ぶかを判定する。
これにより、障害の影響が及ぶ範囲だけでなく、どのような影響が及ぶかを判定するので、適切な対策を講じることができる。
この実施の形態における障害影響分析装置100において、上記依存種別記憶部は、上記記憶装置を用いて、上記依存関係の種別として、上記部品の動作が依存する複数の他の部品が冗長系を構成し、上記複数の他の部品のうち一部の他の部品に障害が発生しても上記部品が正常に動作し、上記複数の他の部品すべてに障害が発生した場合に上記部品が正常に動作しなくなる冗長依存関係を含む依存種別データを記憶する。
上記影響内容判定部133は、上記影響範囲抽出部131が影響範囲部品として抽出した部品を影響判定対象部品とし、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響判定対象部品の動作が冗長依存関係により依存する複数の他の部品を抽出し、抽出した複数の他の部品のうち一部の他の部品について、障害が発生していると上記障害検出部121もしくは上記障害調査部123が判定し又は影響範囲部品として上記影響範囲抽出部131が抽出した場合に、上記影響判定対象部品の動作の信頼性が低下していると判定する。
これにより、実行システム801が冗長系を含むシステムである場合も、障害の影響を正しく判定することができる。
この実施の形態における障害影響分析装置100において、上記依存種別記憶部は、上記記憶装置を用いて、上記依存関係の種別として、上記部品の動作が依存する複数の他の部品が分散処理を実行し、上記複数の他の部品のうち一部の他の部品に障害が発生した場合、上記部品の処理能力が低下する分散依存関係を含む依存種別データを記憶する。
上記影響内容判定部133は、上記影響範囲抽出部131が影響範囲部品として抽出した部品を影響判定対象部品とし、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響判定対象部品の動作が分散依存関係により依存する複数の他の部品を抽出し、抽出した複数の他の部品のうち一部の他の部品について、障害が発生していると上記障害検出部121もしくは上記障害調査部123が判定し又は影響範囲部品として上記影響範囲抽出部131が抽出した場合に、上記影響判定対象部品の動作の処理能力が低下していると判定する。
これにより、実行システム801が分散処理系を含むシステムである場合も、障害の影響を正しく判定することができる。
以上説明した障害影響分析装置100が障害の影響を分析する業務障害影響分析方式は、例えば、依存関係情報定義クライアント(構成入力部111・構成記憶部112・依存判定部115)、依存関係情報管理サーバ(依存記憶部116)、障害監視エージェント、障害監視サーバ(障害検出部121)、障害抽出サーバ(原因範囲抽出部122・障害調査部123)、業務影響分析サーバ(影響範囲抽出部131)、業務影響分析結果表示クライアント(障害影響表示装置802)を備える。
依存関係情報定義クライアントは、依存関係情報を定義する。依存関係情報定義クライアントは、例えば、入力装置、表示装置、依存関係情報定義部(依存判定部115)、依存関係情報格納部を備える。入力装置は、依存関係情報を入力する。表示装置は、依存関係情報の入力状況を表示する。依存関係情報定義部は、入力データから依存関係情報の定義を作成する。依存関係情報格納部は、依存関係情報として、業務の依存関係と、サービスの依存関係と、計算機内の依存関係と、ネットワーク機器の依存関係を保存する。
依存関係情報管理サーバは、依存関係情報を管理する。依存関係情報管理サーバは、例えば、依存関係情報インポート部、依存関係情報リポジトリ(依存記憶部116)、依存関係情報管理部を備える。依存関係情報インポート部は、依存関係情報定義クライアントから依存関係情報をインポートする。依存関係情報リポジトリは、依存関係情報(依存データ)である、業務の依存関係と、サービスの依存関係と、計算機内の依存関係と、ネットワーク機器の依存関係を保存する。依存関係情報管理部は、依存関係情報リポジトリの依存関係情報の検索や依存関係情報の入出力を行う。
障害監視エージェントは、障害の発生を検知する。障害監視エージェントは、例えば、障害通知部を備える。障害通知部は、監視対象システム(実行システム801)で発生した障害の情報を障害監視サーバに通知する。
障害監視サーバは、障害の発生を監視する。障害監視サーバは、例えば、障害監視部(障害検出部121)、障害情報格納部(障害記憶部124)を備える。障害監視部は、障害監視エージェントから障害の通知を受信する。障害情報格納部は、受信した障害情報を記録する。
障害抽出サーバは、障害の抽出を行う。障害抽出サーバは、例えば、障害内容受信部、障害抽出部(原因範囲抽出部122・障害調査部123)を備える。障害内容受信部は、障害監視サーバから障害情報を受け取る。障害抽出部は、受信した障害について、依存関係を辿って元の原因となっている障害や、他に発生している障害の抽出を行う。
業務影響分析サーバは、業務への影響分析を行う。業務影響分析サーバは、例えば、障害内容受信部、業務影響分析部(影響範囲抽出部131)、業務影響分析結果格納部を備える。障害内容受信部は、障害監視サーバから障害情報を受け取る。業務影響分析部は、受信した複数の障害情報について、依存関係を辿って影響のある業務を抽出する。業務影響分析結果格納部は、影響分析した結果、影響することが確認できた業務名と、その業務に影響を与える原因障害を記録する。
業務影響分析結果表示クライアントは、業務への影響分析結果を表示する。業務影響分析結果表示クライアントは、例えば、分析結果表示部、表示装置、入力装置を備える。分析結果表示部は、業務影響分析サーバの分析結果を受信して、業務管理者向けに結果を表示する。表示装置は、分析結果を表示するときの画面となる。入力装置は、分析結果の一覧や詳細を選択する。
業務障害影響分析方式は、依存関係を繰り返し辿ることで障害発見箇所が依存している計算機やソフトウェアを抽出する。そのとき同時に依存している計算機やソフトウェアで障害が発生していないかを確認する。そして、障害が発生している計算機やソフトウェアの集合を求める。
次に、上で求めた障害が発生している計算機やソフトウェアの集合から、それらに依存している計算機やソフトウェアを取得して、依存している業務にたどり着くまで辿る。このようにして影響を受ける業務を求めることができる。最終的に影響を受けることが判明した業務は、業務影響分析結果表示クライアントに表示する。
依存関係を表すために、業務の依存関係と、サービスの依存関係と、計算機内の依存関係と、ネットワーク機器の依存関係を定義する。業務とサービスと計算機とネットワークの依存関係は繋がっており、これらの全ての依存関係を辿ることができる。
最初に、依存関係情報定義クライアント(構成入力部111)が、依存関係情報を入力する。次に、依存関係情報管理サーバ(依存記憶部116)が、依存関係をインポートする。
その後、障害監視サーバ(障害検出部121)が、障害情報を受信する。障害抽出サーバ(原因範囲抽出部122・障害調査部123)が、原因となっている元の障害と二次的な障害を全て抽出する。業務影響分析サーバ(影響範囲抽出部131)が、業務への影響分析を実施する。分析結果を業務影響分析結果表示クライアント(障害影響表示装置802)が表示する。業務障害影響分析システム(障害影響分析装置100)が停止するまでこれを繰り返す。
依存関係情報定義クライアント(構成入力部111)は、依存関係を入力する。
依存関係には、例えば、業務の依存関係、サービスの依存関係、計算機内の依存関係、ネットワーク機器の依存関係などがある。業務の依存関係には、業務(処理)とサービス(APP)との間の依存関係を定義する。サービスの依存関係には、サービス同士の依存関係と、サービスとミドルウェアなどのソフトウェアの依存関係を定義する。計算機内の依存関係には、ミドルウェアやOSやハードウェアやネットワークデバイスの依存関係を定義する。
また、依存関係の種類には、例えば「1対1の依存関係」「1対NのOR依存関係」「1対NのAND依存関係」などがある。「1対1の依存関係」は、通常の依存関係を表わす。「1対NのORの依存関係」は、一方が冗長構成になっていて、Nの側が一つ少なくなってもシステムが正常に動作する関係を表わす。「1対NのANDの依存関係」は、一方が負荷分散の構成になっていて、Nの側が一つ少なくなると性能が低下する関係を表わす。
入力された依存関係は、一時的に依存関係情報格納部が保存する。
依存関係情報管理サーバでは、依存関係情報インポート部が依存関係情報定義クライアントから依存関係情報を取得する。取得した依存関係情報は、依存関係情報リポジトリが保存する。後で依存関係情報が追加された場合は、依存関係情報インポート部が依存関係情報定義クライアントから取得して、依存関係情報リポジトリの情報に追加する。
依存関係情報リポジトリが保存している情報は、依存関係情報管理部を通して検索することができる。検索の種類としては、指定した部位(部品。業務やサービスやミドルウェアやOSや計算機やネットワーク機器)が依存している部位の検索や、逆に指定した部位に依存している部位の検索などがある。
障害監視サーバ(障害検出部121)は、障害情報を受信する。
障害対象システム(実行システム801)には、あらかじめ障害監視エージェントを導入しておく。障害監視エージェントは、計算機やミドルウェアやアプリケーションを監視して障害の発生を検知する。障害監視エージェントでは、障害通知部が、検知した障害情報を障害監視サーバ(障害検出部121)に送信する。障害監視サーバでは、障害監視部(障害検出部121)が受信した障害情報を障害情報格納部(障害記憶部124)が記録する。同時に、障害情報を障害抽出サーバ(原因範囲抽出部122・障害調査部123)に送信する。
障害抽出サーバは、元の障害と二次的な障害を抽出する。
障害抽出サーバでは、障害内容受信部が受信した複数の障害情報から一つの障害を取り出す。取得した障害の障害発生部位について、その部位が依存する部位を、依存関係情報管理サーバの依存関係情報管理部(依存記憶部116)に問い合わせる。依存関係情報管理部は、依存関係情報リポジトリを検索して、依存する部位を全て取得し、障害抽出サーバに返す。障害抽出部(原因範囲抽出部122)は、依存部位の中で、確認済みの部位は削除して未確認の部位のみを残す。障害抽出部(障害調査部123)は、取得した依存部位の種別(計算機・ネットワーク機器か、OSか、ミドルウェアか、サービス)に応じて分岐する。部位の種別が計算機・ネットワーク機器の場合、障害抽出部は、pingとポートへの接続要求によってハードウェアの死活確認を行う。部位の種別がOSの場合、障害抽出部は、障害監視エージェントからプロセスの稼動状況情報とシステムログを取得して、OSが正常に稼動しているかを確認する。部位の種別がミドルウェアの場合、障害抽出部は、ポートへのリクエスト送信結果の確認をするとともに、障害監視エージェントからミドルウェアのプロセスやサービスの稼動状況を取得する。部位の種別がサービスの場合は、ポートへのリクエストの送信結果の確認をするとともに、監視エージェントからサービスのプロセスの稼動状況を取得する。障害抽出部は、取得した結果から、障害が発生していないかを確認して、障害発生の有無によって分岐する。障害が発生していた場合、障害抽出部は、新たな障害情報として、障害抽出サーバの障害内容受信部に追加登録するとともに、後で業務影響分析サーバで利用するため、障害情報を障害監視サーバに送信する。障害が発生していなかった場合、障害抽出部は、何もしないで次の処理に進む。障害抽出部は、障害内容受信部に登録されている障害全てについて依存部位の抽出が完了したかどうかによって分岐する。未処理の障害が残っている場合、障害抽出部は、最初に戻り、次の障害について処理を繰り返す。全ての障害の抽出が完了した場合、障害抽出部は、終了する。
業務影響分析サーバ(影響範囲抽出部131)は、業務への影響分析を実施する。
業務影響分析サーバでは、障害内容受信部が、障害監視サーバから、最初に検出された障害と、障害抽出サーバが抽出した障害を含む全ての障害情報を取得して、保持する。業務影響分析サーバは、障害内容受信部から未処理の障害情報を一つ取り出す。業務影響分析サーバは、障害情報に記述されている発生部位を参照して、その部位に依存する部位を、依存関係情報管理サーバの依存関係情報管理部(依存記憶部116)に問い合わせる。依存関係情報管理部は、依存関係情報リポジトリを検索して依存部位を全て取得し、業務影響分析サーバに返す。業務影響分析部は、取得した依存部位が、障害発生部位と同じ場合や、障害が発生していないと判定済みの部位の場合は取得したリストから削除する。業務影響分析部は、取得した依存部位が業務かどうかによって分岐する。依存部位が業務である場合、業務影響分析部は、その業務名を業務影響分析結果格納部に記録する。このとき、業務に影響した障害がどれかわかるよう、原因障害を業務影響分析結果格納部に記録する。依存部位が業務でない場合、業務影響分析部は、判定済みの部位として一時的に記録する。また、業務影響分析部は、原因障害が分かるように依存先の原因障害を伝播させて依存部位と一緒に一時的に記録する。なお、原因障害は、一つの部位に対して複数存在することがある。業務影響分析部は、新たに依存部位が抽出されたかどうかで分岐する。依存部位が抽出された場合、業務影響分析部は、さらにそれらの部位が依存する部位を依存関係情報管理サーバの依存関係情報管理部に問い合わせて、取得する。業務影響分析部は、取得した部位について処理を繰り返す。依存部位が抽出されなかった場合、業務影響分析部は、所定のロジックにしたがって、抽出された各業務の原因障害の種別に応じて、業務への影響内容を求める。業務影響分析部は、各業務の影響内容を診断結果として出力する。
業務影響分析結果表示クライアントは、業務への影響分析結果を表示する。
業務影響分析結果表示クライアントは、業務影響分析サーバから業務影響分析結果を取得する。業務影響分析結果表示クライアントでは、取得した分析結果を分析結果表示部が表示する。
これにより、死活確認を個々の計算機やOSやミドルウェアに対して行うため、冗長構成になっている計算機の一つが停止しているような場合でも、業務の信頼性が低下しているという正しい影響分析を行うことができる。例えば、サービスAが依存している計算機が冗長構成になっていて、そのうちの一つの計算機が障害で停止し、残りの正常な計算機を使用してサービスのレスポンスを返した場合であっても、サービスAは正常と判断せず、サービスAが停止する危険性が高まっており「信頼性が低下している」と、正しく解析することができる。
また、障害が発生している部位についてのみ影響分析を行うため、エルダップ(LDAP)のように多くの業務で使用している計算機やサービスが存在する場合でも、無関係な業務やサービスについて影響分析を行うことはない。
また、業務とサービスとの依存関係を定義することにより、サービスだけでなく、一般に複数のサービスにより構成される業務に対する障害の影響分析を行うことができる。
また、一次障害と二次障害との区別が難しい場合でも、一次障害を抽出することができ、障害の影響を見落とすことがない。
また、ポーリングを使用した方式と異なり、一定時間待つことがないので、直ちに依存部位に対して障害の発生状況を確認するため、影響分析を短時間に実行できる。
これにより、業務システムの障害影響を分析することができる。特に、金融分野のように、障害が発生した場合に、1分でも早く業務を復旧する必要があるシステムに対して、有効である。また、多くのサービスに依存しているような大規模な業務システムで、障害の原因と結果を見通すことが難しいシステムにおいて、障害の影響を把握することができる。
業務障害影響分析方式は、業務システムにおいて発生した障害に対して、業務への影響を特定する。障害の原因を人が特定したり、エージェントを使用して特定したりする必要はない。したがって、障害の原因を人が特定する場合と異なり、時間をかけずにすぐに影響を特定することができる。また、エージェントで原因を特定する場合と異なり、元の障害を見落とされる可能性がなく、二次的な障害から影響分析して実際の影響を過小評価してしまうことがない。
業務障害影響分析方式は、障害の原因となっている障害を抽出することで正確な影響分析を行えるようにする。また、管理者が、影響分析の結果と、元の障害を含む全ての障害とを参照して、適切な処置を行うことができる。
全体の手順は、例えば、以下のとおりである。
業務設計者が、業務連携情報定義クライアント(構成入力部111)を使用して業務連携情報を入力する。
計算機基盤設計者が、計算機基盤連携情報定義クライアント(構成入力部111)を使用して計算機内の連携情報を入力する。
ネットワーク設計者が、業務ネットワーク経路情報定義クライアント(構成入力部111)を使用してネットワーク経路情報を入力する。
構成情報管理サーバは、業務連携情報、計算機基盤連携情報、業務ネットワーク経路情報を合成してリポジトリに格納する。
障害監視エージェントは、業務影響分析サーバと障害監視サーバのシステム障害監視部に障害情報を通知する。
障害監視サーバは、障害抽出サーバの障害内容受信部に障害情報を送信する。
障害抽出サーバは、障害抽出部で元の障害と二次的な障害全てを抽出して、業務影響分析サーバの障害内容受信部に送信する。
業務影響分析サーバは、障害影響分析を実施して、結果の業務名を業務影響表示クライアントに送付する。
業務影響表示クライアントは、業務名を表示する。
障害を抽出する手順は、例えば、以下のとおりである。
障害が検知された場合、依存関係を参照して依存している装置やソフトウェアが正常に動作しているかを確認する。実際には、pingやポートへのリクエスト送信や、エージェントへの問い合わせを実行する。これを、最も下位の装置までたどり着くまで繰り返す。なお、依存している装置全てにおいて障害が発生するとは限らないため。途中で正常な装置があっても中断しないで、最も下位まで繰り返す。
これにより、検出した障害には、必ず元の障害が含まれ、元の障害と二次的な障害のすべてを抽出することができる。元の原因と二次的な障害の因果関係の分析をする必要はない。
障害に対する対処を管理者が行う場合、抽出された障害のリストを参照して、処置方法を決定する。
障害抽出部は、障害抽出サーバの障害内容受信部に登録されている複数の障害情報から障害抽出が未実施の障害を全て取り出す。なお、障害監視エージェントが複数の障害を報告する場合があるので、報告のあった障害を1つずつ処理する。障害抽出部は、取り出した障害発生部位について、構成情報リポジトリを検索して、障害発生部位が依存している部位を全て抽出する。障害抽出部は、抽出した部位を一つ取り出し、部位の種類に応じで条件分岐を行う。抽出した部位がハードウェアの場合、障害抽出部は、pingのリクエスト送信とポートへの接続要求などによってハードウェアの死活確認を行う。抽出した部位がOSの場合、障害抽出部は、監視エージェントからのプロセスの稼動状況の情報とシステムログなどを取得して、OSが正常に稼動しているかを確認する。抽出した部位がミドルウェアの場合、障害抽出部は、ポートへのリクエスト送信結果や、監視エージェントから、ミドルウェアのプロセスやサービスの稼動状況を取得する。抽出した部位がアプリケーションの場合、障害抽出部は、ポートへのリクエスト送信結果や、監視エージェントからアプリケーションのプロセスの稼動状況を取得する。確認の結果、抽出した部位が正常かどうかで分岐する。障害が発生していることを検知した場合、障害抽出部は、障害抽出サーバの障害内容受信部に追加登録する。障害抽出部は、抽出した部位に依存している部位がそれ以上存在するか否かを判断する。依存する部位がある場合、障害抽出部は、抽出部位に依存している部位を構成情報リポジトリから抽出し、その部位について処理をする。依存する部位がない場合、障害抽出部は、障害抽出の結果として抽出された障害情報(複数の場合もある)を出力する。このなかには、原因となった障害と、二次的な障害の両方が含まれる。また、場合によっては、同時に発生した別の障害の情報が含まれることもある。
業務影響分析部は、複数の障害を扱える。業務影響分析部は、複数の障害が依存している部位を抽出する。同じ部位が抽出された場合、業務影響分析部は、重複しないように削除する。これにより、元の障害と二次的な障害すべてについて、業務への影響を調べる。
100 障害影響分析装置、111 構成入力部、112 構成記憶部、115 依存判定部、116 依存記憶部、121 障害検出部、122 原因範囲抽出部、123 障害調査部、124 障害記憶部、131 影響範囲抽出部、132 影響範囲通知部、133 影響内容判定部、511,513 依存先状態、512 依存種別、514 影響内容、800 業務システム、801 実行システム、802 障害影響表示装置、811,812 業務、821〜824 処理、831〜835 APP、841〜845 MW、851〜855 OS、860 計算機、861 CPU、862 HDD、863 NIC、870 LAN、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 HDD、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (9)

  1. 複数の部品により構成される対象システムについて部品に発生した障害の影響を分析する障害影響分析装置において、
    データを記憶する記憶装置と、データを処理する処理装置と、依存記憶部と、障害検出部と、原因範囲抽出部と、障害調査部と、影響範囲抽出部とを有し、
    上記依存記憶部は、上記記憶装置を用いて、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶し、
    上記障害検出部は、上記処理装置を用いて、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出し、
    上記原因範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、障害が発生していると上記障害検出部が判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とし、
    上記障害調査部は、上記処理装置を用いて、上記原因範囲抽出部が抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査し、
    上記影響範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると上記障害検出部または上記障害調査部が判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とすることを特徴とする障害影響分析装置。
  2. 上記原因範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、上記対象システムを構成する複数の部品間の依存関係を辿ることにより、障害が発生していると上記障害検出部が検出した部品の動作が依存する他の部品をすべて抽出して、原因範囲部品とすることを特徴とする請求項1に記載の障害影響分析装置。
  3. 上記障害影響分析装置は、更に、依存種別記憶部と、影響内容判定部とを有し、
    上記依存種別記憶部は、上記記憶装置を用いて、上記部品の動作が他の部品に依存する依存関係の種別を表わす依存種別データを記憶し、
    上記影響内容判定部は、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響範囲抽出部が抽出した影響範囲部品に対してどのような影響が及ぶかを判定することを特徴とする請求項1または請求項2に記載の障害影響分析装置。
  4. 上記依存種別記憶部は、上記記憶装置を用いて、上記依存関係の種別として、上記部品の動作が依存する複数の他の部品が冗長系を構成し、上記複数の他の部品のうち一部の他の部品に障害が発生しても上記部品が正常に動作し、上記複数の他の部品すべてに障害が発生した場合に上記部品が正常に動作しなくなる冗長依存関係を含む依存種別データを記憶し、
    上記影響内容判定部は、上記影響範囲抽出部が影響範囲部品として抽出した部品を影響判定対象部品とし、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響判定対象部品の動作が冗長依存関係により依存する複数の他の部品を抽出し、抽出した複数の他の部品のうち一部の他の部品について、障害が発生していると上記障害検出部もしくは上記障害調査部が判定し又は影響範囲部品として上記影響範囲抽出部が抽出した場合に、上記影響判定対象部品の動作の信頼性が低下していると判定することを特徴とする請求項3に記載の障害影響分析装置。
  5. 上記依存種別記憶部は、上記記憶装置を用いて、上記依存関係の種別として、上記部品の動作が依存する複数の他の部品が分散処理を実行し、上記複数の他の部品うち一部の他の部品に障害が発生した場合、上記部品の処理能力が低下する分散依存関係を含む依存種別データを記憶し、
    上記影響内容判定部は、上記影響範囲抽出部が影響範囲部品として抽出した部品を影響判定対象部品とし、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響判定対象部品の動作が分散依存関係により依存する複数の他の部品を抽出し、抽出した複数の他の部品のうち一部の他の部品について、障害が発生していると上記障害検出部もしくは上記障害調査部が判定し又は影響範囲部品として上記影響範囲抽出部が抽出した場合に、上記影響判定対象部品の動作の処理能力が低下していると判定することを特徴とする請求項3または請求項4に記載の障害影響分析装置。
  6. 上記対象システムを構成する複数の部品は、上記対象システムによって実現される業務を含み、
    上記依存記憶部は、上記記憶装置を用いて、上記業務の実行が依存する他の部品を表わすデータを含む依存データを記憶し、
    上記影響範囲抽出部は、上記処理装置を用いて、障害が発生した部品に実行が依存する業務を含む影響範囲部品を抽出することを特徴とする請求項1乃至請求項5のいずれかに記載の障害影響分析装置。
  7. 上記影響範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、上記対象システムを構成する複数の部品間の依存関係を辿ることにより、障害が発生していると上記障害検出部または上記障害調査部が判定した部品に動作が依存する他の部品をすべて抽出して、影響範囲部品とすることを特徴とする請求項1乃至請求項6のいずれかに記載の障害影響分析装置。
  8. 所定の業務を実行する実行システムと、上記実行システムを対象システムとする請求項1乃至請求項7のいずれかに記載の障害影響分析装置とを有することを特徴とする業務システム。
  9. データを記憶する記憶装置とデータを処理する処理装置とを有する障害影響分析装置が、複数の部品により構成される対象システムについて部品に発生した障害の影響を分析する障害影響分析方法において、
    上記記憶装置が、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶し、
    上記処理装置が、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出し、
    上記処理装置が、上記記憶装置が記憶した依存データに基づいて、障害が発生していると判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とし、
    上記処理装置が、抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査し、
    上記処理装置が、上記記憶装置が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とすることを特徴とする障害影響分析方法。
JP2009266349A 2009-11-24 2009-11-24 障害影響分析装置及び業務システム及び障害影響分析方法 Pending JP2011113122A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009266349A JP2011113122A (ja) 2009-11-24 2009-11-24 障害影響分析装置及び業務システム及び障害影響分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009266349A JP2011113122A (ja) 2009-11-24 2009-11-24 障害影響分析装置及び業務システム及び障害影響分析方法

Publications (1)

Publication Number Publication Date
JP2011113122A true JP2011113122A (ja) 2011-06-09

Family

ID=44235437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009266349A Pending JP2011113122A (ja) 2009-11-24 2009-11-24 障害影響分析装置及び業務システム及び障害影響分析方法

Country Status (1)

Country Link
JP (1) JP2011113122A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013073389A (ja) * 2011-09-27 2013-04-22 Nec Corp 障害分析装置、障害分析方法、およびプログラム
WO2013190694A1 (ja) * 2012-06-22 2013-12-27 株式会社日立製作所 計算機の復旧方法、計算機システム及び記憶媒体
WO2015140843A1 (ja) * 2014-03-20 2015-09-24 日本電気株式会社 情報処理装置、影響過程抽出方法および記録媒体
CN104969195A (zh) * 2013-01-23 2015-10-07 日本电气株式会社 信息处理设备和影响确定方法
JP2020077233A (ja) * 2018-11-08 2020-05-21 株式会社デンソー 通信装置
JP2020088718A (ja) * 2018-11-29 2020-06-04 ソフトバンク株式会社 システム構造解析装置、システム構造解析方法、及びシステム構造解析プログラム
US10868744B2 (en) 2017-05-30 2020-12-15 Fujitsu Limited Influence range identification method and influence range identification apparatus

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013073389A (ja) * 2011-09-27 2013-04-22 Nec Corp 障害分析装置、障害分析方法、およびプログラム
WO2013190694A1 (ja) * 2012-06-22 2013-12-27 株式会社日立製作所 計算機の復旧方法、計算機システム及び記憶媒体
US9529656B2 (en) 2012-06-22 2016-12-27 Hitachi, Ltd. Computer recovery method, computer system, and storage medium
CN104969195A (zh) * 2013-01-23 2015-10-07 日本电气株式会社 信息处理设备和影响确定方法
WO2015140843A1 (ja) * 2014-03-20 2015-09-24 日本電気株式会社 情報処理装置、影響過程抽出方法および記録媒体
JPWO2015140843A1 (ja) * 2014-03-20 2017-04-06 日本電気株式会社 情報処理装置、影響過程抽出方法およびプログラム
US10887331B2 (en) 2014-03-20 2021-01-05 Nec Coporation Information processing apparatus and influence-process extraction method
US10868744B2 (en) 2017-05-30 2020-12-15 Fujitsu Limited Influence range identification method and influence range identification apparatus
JP2020077233A (ja) * 2018-11-08 2020-05-21 株式会社デンソー 通信装置
JP7077920B2 (ja) 2018-11-08 2022-05-31 株式会社デンソー 通信装置
JP2020088718A (ja) * 2018-11-29 2020-06-04 ソフトバンク株式会社 システム構造解析装置、システム構造解析方法、及びシステム構造解析プログラム

Similar Documents

Publication Publication Date Title
US10462027B2 (en) Cloud network stability
US10459780B2 (en) Automatic application repair by network device agent
Zheng et al. Co-analysis of RAS log and job log on Blue Gene/P
US11789760B2 (en) Alerting, diagnosing, and transmitting computer issues to a technical resource in response to an indication of occurrence by an end user
US8799446B2 (en) Service resiliency within on-premise products
JP2011113122A (ja) 障害影響分析装置及び業務システム及び障害影響分析方法
US10489232B1 (en) Data center diagnostic information
US20120174112A1 (en) Application resource switchover systems and methods
US9152487B2 (en) Service outage details in an error message
US9058230B1 (en) Online expert system guided application installation
US20060195731A1 (en) First failure data capture based on threshold violation
JP4999670B2 (ja) 計算機装置
US20060230122A1 (en) Method and system for managing programs in data-processing system
US20070168201A1 (en) Formula for automatic prioritization of the business impact based on a failure on a service in a loosely coupled application
US7469287B1 (en) Apparatus and method for monitoring objects in a network and automatically validating events relating to the objects
JP5147216B2 (ja) コンピューティング・システムのオートノミック能力を測定するための方法、システム及びコンピュータ・プログラム
US10977108B2 (en) Influence range specifying method, influence range specifying apparatus, and storage medium
Li et al. Fighting the fog of war: Automated incident detection for cloud systems
JP5208324B1 (ja) 情報システム管理装置及び情報システム管理方法及びプログラム
US9021078B2 (en) Management method and management system
US8554908B2 (en) Device, method, and storage medium for detecting multiplexed relation of applications
Yang et al. Characterizing and mitigating anti-patterns of alerts in industrial cloud systems
US20140164650A1 (en) System, method and computer program product for monitoring and alerting the health of sub-system connectors
JP2018169920A (ja) 管理装置、管理方法及び管理プログラム
JP2014178832A (ja) サービス提供システム、サーバ装置、クライアント端末、障害検知方法、及びプログラム