JPWO2014162595A1 - 管理システム及び管理プログラム - Google Patents
管理システム及び管理プログラム Download PDFInfo
- Publication number
- JPWO2014162595A1 JPWO2014162595A1 JP2015509840A JP2015509840A JPWO2014162595A1 JP WO2014162595 A1 JPWO2014162595 A1 JP WO2014162595A1 JP 2015509840 A JP2015509840 A JP 2015509840A JP 2015509840 A JP2015509840 A JP 2015509840A JP WO2014162595 A1 JPWO2014162595 A1 JP WO2014162595A1
- Authority
- JP
- Japan
- Prior art keywords
- plan
- cause
- event
- rule
- expansion
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0769—Readable error formats, e.g. cross-platform generic formats, human understandable formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3031—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
管理システムは、複数の管理対象デバイスを有する計算機システムの管理を行う。管理システムの記憶デバイスは、1以上のルールと、プラン情報と、プラン履歴情報とを記憶する。管理システムの制御デバイスは、1以上のルールに基づいて、複数の管理対象デバイスのいずれかで発生したイベントの原因の候補となる第1の原因イベントを特定し、プラン情報に基づいて、第1の原因イベントが原因である場合に実施し得る複数の第1のプランを特定し、プラン履歴情報に基づいて、複数の第1のプランのそれぞれについて、当該プランを実施した場合の障害回復に成功する可能性を示す指標値を計算し、指標値に基づいて決定した表示形態に従って、複数の第1のプランのうちのいずれか1以上のプランを示すデータを表示する。
Description
本発明は、例えば、ホストコンピュータ、ネットワーク装置、及びストレージ装置等の管理対象装置を含む計算機システムを管理する技術に関する。
計算機システムの管理において、イベントコリレーション(Event Correlation)技術等のイベントベースでの障害原因を特定する技術を用いることで、計算機システムの管理者は、計算機システムにおいて発生した障害の原因を検出することが可能となっている(特許文献1参照)。
例えば、特許文献2は、管理対象装置において発生した複数の障害等のイベントの因果関係を解析するための解析エンジンが、事前に定められた条件文と結論文とからなる汎用ルールを、管理対象装置に関するイベント、例えば性能値が所定の閾値を超過することのイベントに適用することで、性能低下の原因となる原因イベントと、それによって引き起こされている条件イベント群を含む展開ルールを生成し、生成した展開ルールに基づいて障害の原因の特定を行う技術を開示している。
近年の計算機システムには、障害に対する回復策(障害からの復旧、すなわち障害回復を行うための方策)として実施可能な有用な方策が数多く存在しており、例えば、システムリソース(仮想マシン、データ)の配置にあたり、適切なデータ移動を行うことによって障害からの復旧を行うという方策等が存在する。データ移動を行う技術として、例えば、物理的なホストコンピュータの上で複数の仮想的なホストコンピュータ(仮想マシンのことであり、以下「VM」という)を動作させている環境において、VMの性能を示す情報やリソースの利用情報に従って、VMの動作を或る物理的なホストコンピュータから別の物理的なホストコンピュータに引き継がせる技術(第1のVM移動)や、或る記憶領域に格納されているVMを別の記憶領域へ移動させる技術(第2のVM移動)が知られている。ここで、VMは記憶領域に格納されるデータの一種であり、VM移動(第1のVM移動及び第2のVM移動)は記憶領域間のデータ移動の一種である。また、ストレージ装置のデータ記憶領域(ボリューム)間でデータ移動を行う技術として、ボリュームマイグレーションが知られている(特許文献3参照)。
非特許文献1は、障害に対する回復策を実施した後に、その回復策により障害が改善されたかどうかを検査し、改善されていない場合は事前に定義された別の回復策を自動的に実施する技術を開示している。
また、特許文献4は、障害に対して過去にどのような回復策が実施されたかを記録しておき、回復策を選択する際にその記録した情報を利用する技術を開示している。
工藤裕、森村知弘、増岡義政、薦田憲久:"情報システムの運用自動化に向けたポリシー記述形式とポリシー実行スケジューリング方式"、電気学会C部門論文誌、Vol.131、No.10、2011.
特許文献1や特許文献2のようなイベントコリレーション技術により特定された障害に対応する場合、管理者が具体的にどのような回復策を実施して障害回復を行えばよいかがわからず、障害から復旧するまでにコストがかかるという課題がある。障害原因と障害原因に対する回復策とのマッピングを取った上で、そのマッピングに基づいて障害原因に対する回復策を生成することができたとしても、実際の運用管理現場で、障害からの復旧作業を行う管理者の意図に沿って作業を実施するためにどの回復策を優先的に選択すればよいのかは、管理者にとって不明である。言い換えれば、障害原因及びその障害原因に対する回復策を管理者に提示する際、管理者の意図(障害回復に要する人的或いは経済的コストや、復旧作業の対象となる装置の重要性に基づく優先度判断等)によって、或る程度限定された回復策しか選択しないことがあるとしても、推論できるいくつもの回復策が管理者に提示されるため、どの回復策を選択すればよいのか、管理者には選択が困難になる。
非特許文献1に開示された技術を利用すると、選択された回復策が実施されることにより障害が改善されたかどうかを検査し、改善されていない場合は事前に定義された別の回復策を自動的に実施できる。これにより、回復策の実施後に問題個所が残った場合は、さらに別の回復策を実施できる。しかし、過去に同じような障害が発生している場合において、管理者によって過去にどのような回復策が実施されたかを考慮していないため、管理者の意図しない回復策を優先的に提示又は実施してしまう場合があり、管理者が回復策を選択する際のコストの増加を招くことがあり得る。
第1の観点に係る管理システムは、複数の管理対象デバイスを有する計算機システムの管理を行う。管理システムの記憶デバイスは、複数の管理対象デバイスのいずれかに関する原因イベントと、原因イベントが原因となることの条件となる、複数の管理対象デバイスのいずれかに関する1以上の条件イベントとの対応関係を示す1以上のルールと、ルールと当該ルールの原因イベントが原因である場合に実施し得る回復策であるプランとの対応関係を示すプラン情報と、プランが実施されるごとに、当該プランの実施による障害回復の成否を示すプラン履歴情報とを記憶する。管理システムの制御デバイスは、1以上のルールに基づいて、複数の管理対象デバイスのいずれかで発生したイベントの原因解析を行い、発生したイベントの原因の候補となる第1の原因イベントを特定し、プラン情報に基づいて、第1の原因イベントが原因である場合に実施し得る複数の第1のプランを特定し、プラン履歴情報に基づいて、複数の第1のプランのそれぞれについて、当該プランを実施した場合の障害回復に成功する可能性を示す指標値を計算し、指標値に基づいて決定した表示形態に従って、複数の第1のプランのうちのいずれか1以上のプランを示すデータを表示する。なお、「データを表示する」とは、管理システムが有する表示デバイスにデータを表示することであっても良いし、管理システムに接続され表示デバイスを有する遠隔のコンピュータに表示のためにデータを送信することであっても良い。
本発明によると、障害に対処する管理者を支援するための技術を提供できる。
以下、本発明の実施形態を図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。これらの図面において、複数の図を通じて同一の符号は同一の構成要素を示している。なお、以後の説明では「aaa表」等の表現にて本発明の情報を説明するが、これら情報は表等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaa表」等について「aaa情報」、「aaaデータ」と呼ぶことがある。さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名前」、「ID」という表現を用いるが、これらについては互いに置換が可能である。
以後の説明では「プログラム」又は「モジュール」を主語として説明を行う場合があるが、プログラム(モジュール)はプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(管理ポート、I/Oポート)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は、管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては、専用ハードウェアによって実現されてもよい。プロセッサ又はプロセッサとそのような専用ハードウェアとを含んだデバイスが「制御デバイス」と呼ばれてよい。また、各種プログラムは、プログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
以後、計算機システムを管理し、本発明の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理サーバが表示用情報を表示する場合は管理サーバが管理システムである、また、管理サーバと表示用計算機(例えば、WEBブラウザ起動サーバ)との組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理サーバと同等の処理を実現してもよく、この場合は当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機も含め)が管理システムである。
(1)第1の実施形態
第1の実施形態は、管理ソフトウェア(例えば、管理サーバ内のプログラム)による障害原因の候補の表示処理に関する。
<システム構成>
図1は、第1の実施形態に係る計算機システムの一例の構成図である。
計算機システムは、1以上のストレージ装置20000と、1以上のホストコンピュータ10000と、管理サーバ30000と、WEBブラウザ起動サーバ35000とを有し、それらが、1以上のネットワーク装置、例えばIPスイッチ40000、図示しないルータ等によって構成される通信ネットワーク45000によって接続される構成となっている。
ホストコンピュータ10000は、例えば、図示しないクライアントコンピュータからファイルのI/O(入出力)要求を受信し、受信したI/O要求に基づいてストレージ装置20000へのアクセスを行う。また、管理サーバ30000は、計算機システム全体の運用を管理する。
WEBブラウザ起動サーバ35000は、通信ネットワーク45000を介して、管理サーバ30000のGUI表示処理モジュールと通信し、WEBブラウザによって表示されるブラウザ画面上に各種情報を表示する。管理者は、WEBブラウザ起動サーバ35000上のブラウザ画面に表示された情報を参照することで、計算機システム内の各装置を管理する。ただし、管理サーバ30000と、WEBブラウザ起動サーバ35000は1台のサーバから構成されていてもよい。
以下、計算機システムに含まれる装置のうち、管理サーバ30000が管理の対象とする装置を「管理対象装置」と呼ぶ。本実施形態において、管理対象装置は、ホストコンピュータ10000、ストレージ装置20000、及びIPスイッチ40000等のネットワーク装置であるが、その他の装置、例えば、NAS(Network Attached Storage)、プリンタ等が管理対象装置として含まれてもよい。また、管理対象装置が有するデバイスのうち、管理サーバ30000が管理の対象とするデバイスを「管理対象デバイス」と呼ぶ。
<ホストコンピュータの内部構成>
図2は、第1の実施形態に係るホストコンピュータの一例の構成図である。
ホストコンピュータ10000は、通信ネットワーク45000に接続するためのポート11000と、プロセッサ12000と、メモリ13000とを有し、これらは内部バス等の回路を介して相互に接続される構成となっている。なお、ホストコンピュータ10000は、例えばディスク(磁気ディスク)等の二次記憶デバイスを含んでいてもよい。
メモリ13000は、業務アプリケーション13100と、オペレーティングシステム(OS)13200とを記憶する。業務アプリケーション13100は、オペレーティングシステム13200から提供された記憶領域を使用し、当該記憶領域に対しデータの入出力(I/O)を行う。オペレーティングシステム13200は、通信ネットワーク45000を介してホストコンピュータ10000に接続されたストレージ装置20000上の論理ボリュームを、記憶領域として業務アプリケーション13100に認識させるための処理を実行する。
図2の例において、ポート11000は、ストレージ装置20000とiSCSI(Internet Small Computer System Interface)により通信を行うためのI/Oポートと、管理サーバ30000がホストコンピュータ10000内の管理情報を取得するための管理ポートとを含む単一のポートとして表記されているが、それらが別々のポートとして分かれていてもよい。
<ストレージ装置の内部構成>
図3は、第1の実施形態に係るストレージ装置の一例の構成図である。
ストレージ装置20000は、通信ネットワーク45000を介してホストコンピュータ10000に接続するためのI/Oポート21000と、通信ネットワーク45000を介して管理サーバ30000に接続するための管理ポート21100と、各種管理情報を格納するための管理メモリ23000と、ユーザデータを格納するためのRAID(Redundant Arrays of Inexpensive Disks)グループ24000と、ユーザデータや管理メモリ内の管理情報を制御するためのコントローラ25000とを有し、これらが内部バス等の回路を介して相互に接続される構成となっている。なお、本実施形態において、RAIDグループ24000が他のデバイスと接続されているとは、RAIDグループ24000を構成するディスク24200が他のデバイスと接続されていることを意味する。
管理メモリ23000は、ストレージ装置20000を管理するための管理プログラム23100を記憶する。管理プログラム23100は、管理ポート21100を経由して管理サーバ30000と通信し、管理サーバ30000に対してストレージ装置20000の構成情報を提供する。
RAIDグループ24000は、1以上のディスク24200によって構成される。RAIDグループ24000が複数のディスク24200によって構成されている場合、それら複数のディスク24000は、RAID構成を組んでいてもよい。また、ストレージ装置20000には、RAIDグループ24000内の記憶領域に基づいて、1以上の論理ボリューム24100が形成される。
なお、論理ボリューム24100は、1以上のディスク24200の記憶領域を用いて構成されるのであれば、RAID構成を組まなくてもよい。また、論理ボリューム24100に対応する記憶領域を提供するデバイスとして、ディスク24200に代えて又は加えて、フラッシュメモリ等他の種類の記憶媒体が採用されてもよい。
コントローラ25000は、その内部に、ストレージ装置20000の制御を行うプロセッサと、ホストコンピュータ10000との間でやりとりするデータを一時的に格納するキャッシュメモリとを有する。コントローラ25000は、I/Oポート21000とRAIDグループ24000との間に介在し、両者の間でデータの受け渡しを行う。
なお、ストレージ装置20000は、何れかのホストコンピュータ10000に対して論理ボリューム24100を提供し、I/O要求を受信し、受信したI/O要求に応じて記憶デバイス(本実施形態では、ディスク24200)への読み書きを行うストレージコントローラ(本実施形態では、コントローラ25000)と、記憶領域を提供する記憶デバイスとを含めば、図3以外の構成でもよく、例えば、ストレージコントローラと記憶領域を提供する記憶デバイスとがそれぞれ別の筐体に存在していてもよい。また、図3の例では、管理メモリ23000とコントローラ25000とが別個のデバイスとして設けられているが、コントローラ25000が管理メモリ23000を含む構成としてもよい。また、ストレージコントローラと記憶デバイスとが同じ筐体に存在する場合と別の筐体に存在する場合との両者を含む表現として、「ストレージ装置」を例えば「ストレージシステム」と呼び変えてもよい。
<管理サーバの内部構成>
図4は、第1の実施形態に係る管理サーバの一例の構成図である。
管理サーバ30000は、通信ネットワーク45000に接続するための管理ポート31000と、プロセッサ31100と、記憶デバイスの一種であるキャッシュメモリ等のメモリ32000と、記憶デバイスの一種であるHDD(ハードディスクドライブ)等の二次記憶デバイス33000と、処理結果を出力するためのディスプレイ等の出力デバイス31200と、管理者が指示を入力するためのキーボード等の入力デバイス31300とを有し、これらが内部バス等の回路を介して相互に接続される構成となっている。
メモリ32000は、プログラム制御モジュール32100、構成管理情報取得モジュール32200、装置性能取得モジュール32300、GUI表示処理モジュール32400、イベント解析処理モジュール32500、ルール展開モジュール32600、プラン展開モジュール32700、プラン実行後リスク抽出モジュール32800、プラン提示モジュール32900、プラン実行モジュール32910、プラン実行結果確認モジュール32920、プラン実行履歴抽出モジュール32930、及びプラン評価モジュール32940のコンピュータプログラムを記憶する。なお、本実施形態において、各モジュールは、メモリ32000のソフトウェアモジュールとして提供されるが、ハードウェアモジュールとして提供されてもよい。また、各モジュールが行う処理が、1以上のプログラムコードとして提供されてもよく、モジュール間の明確な境界が存在しなくてもよい。モジュールは、プログラムと読み替えてもよい。
二次記憶デバイス33000は、装置性能管理表33100、ボリュームトポロジ管理表33200、イベント管理表33300、汎用ルールリポジトリ33400、展開ルールリポジトリ33500、解析結果管理表33600、汎用プラン表33700、1以上の展開プラン表33800、ルール・プラン対応管理表33900、及びプラン実行履歴管理表33950を記憶する。汎用ルールリポジトリ33400には、1以上の汎用ルールが格納される。展開ルールリポジトリ33500には、1以上の展開ルールが格納される。汎用ルール及び展開ルールは、計算機システムを構成する管理対象デバイスで発生し得る1以上の条件イベントの組み合わせと、その1以上の条件イベントの組み合わせに対して障害の原因とされる原因イベントとの対応関係を示す情報である。なお、二次記憶デバイス33000は、例えば、半導体メモリ及びディスク、又は半導体メモリ及びディスクのいずれか一方から構成される。
GUI表示処理モジュール32400は、入力デバイス31300を介した管理者からの要求に応じ、取得した構成管理情報を出力デバイス31200を介して表示する。なお、入力デバイス31300及び出力デバイス31200は、それぞれが別々のデバイスでもよく、1つのまとまったデバイスでもよい。
なお、管理サーバ30000は、例えば、入力デバイス31300としてキーボード、ポインタデバイス等を有し、出力デバイス31200としてディスプレイ、プリンタ等を有しているが、これ以外の装置であってもよい。また、入出力デバイスの代替としてシリアルインターフェースやイーサーネットインターフェースを用い、当該インタフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力デバイスでの入力及び表示を代替してもよい。
<装置性能管理表の構成>
図5は、第1の実施形態に係る装置性能管理表の一例の構成図である。
装置性能管理表33100は、管理対象装置の識別子(以下「装置ID」という)を格納するためのフィールドである装置ID33110と、管理対象デバイスの識別子(以下「デバイスID」という)を格納するためのフィールドであるデバイスID33120と、管理対象デバイスに関する性能値の種類を示すメトリック名称を格納するためのフィールドであるメトリック33130と、性能値の閾値異常が検知された管理対象装置のOSの種別を示すデータを格納するためのフィールドである機器OS33140と、管理対象デバイスの性能値を当該デバイスを含む管理対象装置から取得して格納するためのフィールドである性能値33150と、管理対象デバイスの性能値の正常範囲の上限又は下限の閾値(以下「アラート実行閾値」という)を、ユーザからの入力を受けて格納するためのフィールドであるアラート実行閾値33160と、アラート実行閾値が正常範囲の上限であるのか下限であるのかを示すデータを格納するためのフィールドである閾値種別33170と、性能値が正常値であるか異常値であるかを示すデータを格納するためのフィールドであるステータス33180とを含む。
例えば、図5の上から1つ目のエントリは、ストレージ装置「SYS1」(装置IDが「SYS1」であるストレージ装置20000のことであり、以下、装置IDを用いて管理対象装置を特定する場合に同様の表記をする)内のコントローラ「CTL1」(デバイスIDが「CTL1」であるコントローラ25000のことであり、以下、デバイスIDを用いて管理対象デバイスを特定する場合に同様の表記をする)に関するエントリである。このエントリから、コントローラ「CTL1」について、プロセッサの稼働率が20%を超えた場合に管理サーバ30000によって過負荷であると判断されること、すなわちコントローラ「CTL1」についてのアラート実行閾値が20%であることが分かる。また、このエントリから、コントローラ「CTL1」についての現時点のプロセッサの稼働率が40%であり、本性能値が異常値であると判断されていることが分かる。
なお、図5では、管理対象デバイスの性能値として、プロセッサの稼働率(図面では単に「稼働率」と表記)、単位時間当たりのI/O量、及びレスポンスタイムを例として挙げているが、これら以外の性能値の種類が採用されてもよい。
<ボリュームトポロジ管理表の構成>
図6は、第1の実施形態に係るボリュームトポロジ管理表の一例の構成図である。
ボリュームトポロジ管理表33200は、計算機システム内の複数の管理対象デバイス間の接続関係を管理するための情報(接続情報)である。ボリュームトポロジ管理表33200は、ストレージ装置20000の装置IDを格納するためのフィールドである装置ID33210と、ストレージ装置20000が有する論理ボリューム24100についてのストレージ装置20000内で利用される識別子(以下「ボリュームID」という)を格納するためのフィールドであるボリュームID33220と、ホストコンピュータ10000が論理ボリューム24100を認識するための論理ボリューム24100の識別子(以下「LU番号」という)を格納するためのフィールドであるLU番号33230と、ホストコンピュータ10000が論理ボリューム24100にアクセスする際に使用されるコントローラ25000のデバイスIDを格納するためのフィールドであるコントローラ名32340と、論理ボリューム24100にアクセスするホストコンピュータ10000の装置IDを格納するためのフィールドである接続先ホストID33250と、論理ボリューム24100が実体となるホストコンピュータ10000内のボリューム(ドライブ)のデバイスIDを格納するためのフィールドである接続先ドライブ名33260とを含む。
例えば、図6の上から1つ目のエントリから、ストレージ装置「SYS1」の論理ボリューム「VOL1」が、「LU1」というLU番号で示される論理ユニット(LU)としてホストコンピュータ「HOST1」に提供されており、ホストコンピュータ「HOST1」は、コントローラ「CTL1」を介して論理ボリューム「VOL1」にアクセスし、ホストコンピュータ「HOST1」上で論理ボリューム「VOL1」がドライブ「/var」として認識されていることが分かる。なお、本実施形態において、論理ボリューム24100のデバイスIDとして、ボリュームIDを用いる場合と、LU番号を用いる場合とがある。例えば、論理ボリューム「VOL1」を論理ボリューム「LU1」と表記する場合もあるが、いずれも同じ論理ボリューム24100を指している。
<イベント管理表の構成>
図7は、第1の実施形態に係るイベント管理表の一例の構成図である。イベント管理表33300は、後述する障害原因解析処理(図16)において適宜参照される。
イベント管理表33300は、障害等のイベントに付された識別子(以下「イベントID」という)を格納するためのフィールドであるイベントID33310と、イベントの発生した管理対象装置の装置IDを格納するためのフィールドである装置ID33320と、イベントの発生した管理対象デバイスのデバイスIDを格納するためのフィールドである装置部位ID33330と、閾値異常が検知された性能値に関するメトリック名称を格納するためのフィールドであるメトリック33340と、閾値異常が検知された管理対象装置のOSの種別を示すデータを格納するためのフィールドである機器OS33350と、イベントの発生した管理対象デバイスのイベント発生時の状態を示すデータを格納するためのフィールドであるステータス33360と、イベントがイベント解析処理モジュール32500によって解析済みかどうかを示すデータを格納するためのフィールドである解析済フラグ33370と、イベントが発生した日時を示すデータを格納するためのフィールドである発生日時33380とを含む。
例えば、図7の上から1つ目のエントリから、管理サーバ30000が、ストレージ装置「SYS1」のコントローラ「CTL1」におけるプロセッサの稼働率の閾値異常を検知し、その閾値異常に対応するイベントのイベントIDが「EV1」であることが分かる。
<汎用ルールの構成>
図8は、第1の実施形態に係る汎用ルールの一例の構成図である。
汎用ルールは、複数の管理対象デバイスのいずれかに関する原因イベントと、原因イベントが障害の原因となることの条件となる、複数の管理対象デバイスのいずれかに関する1以上の条件イベントとの対応関係を示すルールであって、原因イベント及び条件イベントに関係する管理対象デバイスを当該管理対象デバイスの種別で表したルールである。一般的に、障害解析において原因を特定するためのイベント伝播モデルは、或る障害(原因)によって発生することが予想されるイベントの組み合わせと、その原因とが“IF−THEN”形式で記載される。なお、汎用ルールは、図8に挙げられたものに限られず、さらに多くのルールがあっても構わない。
汎用ルールは、汎用ルールの識別子(以下「汎用ルールID」という)を格納するためのフィールドである汎用ルールID33430と、“IF−THEN”形式で記載した汎用ルールのIF部に相当する観測事象、すなわち、1以上の条件イベントのそれぞれを示すデータを格納するためのフィールドである条件部33410と、“IF−THEN”形式で記載した汎用ルールのTHEN部に相当する原因事象、すなわち、原因イベントを示すデータを格納するためのフィールドである結論部33420と、汎用ルールを実システムに展開し、展開ルールを生成する際に参照されるトポロジ情報(接続情報)を示すデータを格納するためのフィールドである適用トポロジ33440とを含む。また、条件部33410は、条件イベントごとに、条件イベントに付された番号(以下「条件イベント番号」という)を格納するためのフィールド33450を含む。条件部33410が示す1以上の条件イベントが検知された場合、結論部33420が示す原因イベントが障害の原因と判定される。結論部33420のステータスが正常になれば、条件部33410の問題も解決されることが期待される。図8の例では、条件部33410には2つの条件イベントが記述されているが、条件イベントの数に制限はない。
例えば、図8に例示した汎用ルール、すなわち、汎用ルール「Rule1」(汎用ルールIDが「Rule1」である汎用ルールのことであり、以下、識別子を用いてルールを特定する場合に同様の表記をする)は、観測事象として、ホストコンピュータ10000のドライブにおけるレスポンスタイムの閾値異常と、ストレージ装置20000の論理ボリューム24100(LU)における単位時間のI/O量の閾値異常とが検知されたときに、ストレージ装置20000の論理ボリューム24100における単位時間のI/O量の閾値異常が原因であると結論付けられることを示している。また、この汎用ルールに基づいて展開ルールを生成する際には、ボリュームトポロジ管理表33200がトポロジ情報として参照される。なお、観測事象に含まれる条件イベントとして、或る条件が正常であることを定義してもよい。
<展開ルールの構成>
図9Aは、第1の実施形態に係る展開ルールの第1の例を示す図である。図9Bは、第1の実施形態に係る展開ルールの第2の例を示す図である。図9Cは、第1の実施形態に係る展開ルールの第3の例を示す図である。図9Dは、第1の実施形態に係る展開ルールの第4の例を示す図である。
展開ルールは、汎用ルールを計算機システムの実構成に依存する形式に展開したルールである。すなわち、展開ルールは、複数の管理対象デバイスのいずれかに関する原因イベントと、原因イベントが障害の原因となることの条件となる、複数の管理対象デバイスのいずれかに関する1以上の条件イベントとの対応関係を示すルールであって、原因イベント及び条件イベントに関係する管理対象デバイスを特定の管理対象デバイスを示すデータで表したルールである。展開ルールは、汎用ルールにおける条件イベント及び原因イベントのそれぞれに関係する管理対象装置の種別及び管理対象デバイスの種別を、ボリュームトポロジ管理表33200で定義されている特定の管理対象装置の装置ID及び特定の管理対象デバイスのデバイスIDに置き換えることによって生成される。
以下、図9Aを参照して展開ルールの構成を説明する。展開ルールは、展開ルールの識別子(以下「展開ルールID」という)を格納するためのフィールドである展開ルールID33530と、展開ルールの基となった汎用ルールの汎用ルールIDを格納するためのフィールドである展開前汎用ルールID33540と、“IF−THEN”形式で記載した展開ルールのIF部に相当する観測事象、すなわち、1以上の条件イベントのそれぞれを示すデータを格納するためのフィールドである条件部33510と、“IF−THEN”形式で記載した展開ルールのTHEN部に相当する原因事象、すなわち、原因イベントを示すデータを格納するためのフィールドである結論部33520とを含む。また、条件部33510は、条件イベントごとに、条件イベントに付された条件イベント番号を格納するためのフィールド33550を含む。
例えば、図9Aに例示した展開ルールは、図8に示す汎用ルール「Rule1」における条件イベント及び原因イベントのそれぞれに関係する管理対象装置の種別及び管理対象デバイスの種別を、ボリュームトポロジ管理表33200で定義されている特定の管理対象装置(ホストコンピュータ「HOST1」、ストレージ装置「SYS1」)の装置ID及び特定の管理対象デバイス(ドライブ「/var」、論理ボリューム「LU1」)のデバイスIDに置き換えることによって生成される。そして、図9Aから、展開ルール「ExRule1−1」が、汎用ルール「Rule1」を基に展開され、観測事象として、ホストコンピュータ「HOST1」のドライブ「/var」におけるレスポンスタイムの閾値異常と、ストレージ装置「SYS1」の論理ボリューム「LU1」における単位時間のI/O量の閾値異常とが検知されたときに、ストレージ装置「SYS1」の論理ボリューム「LU1」における単位時間のI/O量の閾値異常が原因であると結論付けられることが分かる。
<解析結果管理表の構成>
図10は、第1の実施形態に係る解析結果管理表の一例の構成図である。
解析結果管理表33600は、障害原因解析処理において障害原因の候補と判断されたイベント(以下「原因候補イベント」という)(第1の原因イベント)に関係する管理対象装置の装置IDを格納するためのフィールドである原因装置ID33610と、原因候補イベントに関係する管理対象デバイスのデバイスIDを格納するためのフィールドである原因部位ID33620と、原因候補イベントの種別を示すデータ、すなわち、原因候補イベントに関係する性能値に関するメトリック名称を格納するためのフィールドであるメトリック33630と、原因候補イベントが根本原因であることの確からしさを示す値(確信度)を格納するためのフィールドである確信度33640と、原因候補イベントを原因イベントとして含む展開ルール、すなわち、原因候補イベントを障害原因の候補と判断した根拠となる展開ルールの展開ルールIDを格納するためのフィールドである展開ルールID33650と、原因候補イベントを原因イベントとして含む展開ルールの1以上の条件イベントのうちの実際に発生したイベントのイベントIDを格納するためのフィールドである受信イベントID33660と、解析結果を元に管理者が実際に障害対応を行ったかどうかを示すデータを格納するためのフィールドである対応済フラグ33670と、イベントの発生に伴う障害解析処理を開始した日時を示すデータを格納するためのフィールドである解析実行日時33680とを含む。なお、本実施形態において、確信度は、過去一定期間内における条件イベントの発生割合である。
例えば、図10の上から1つ目のエントリから、展開ルール「ExRule1−1」に基づき、管理サーバ30000が、ストレージ装置「SYS1」の論理ボリューム「LU1」における単位時間のI/O量の閾値異常を障害原因の候補として判断したこと、イベントIDが「EV3」、「EV6」で示されるイベントが発生したことが当該判断の根拠とされたこと、及び、確信度、すなわち条件イベントの発生割合が100%(2/2×100)であることが分かる。
<汎用プランの構成>
図11は、第1の実施形態に係る汎用プラン表の一例の構成図である。
汎用プラン表33700は、汎用プランの一覧を示す情報である。ここで、汎用プランとは、計算機システムにおいて実施可能な障害に対する回復策(以下「プラン」という)であって計算機システムの実構成に依存しない形式で示したプランのことをいう。汎用プラン表33700は、汎用プランID33710、及びプラン33720のフィールドを含む。汎用プランID33710には、汎用プランの識別子(以下「汎用プランID」という)が格納される。プラン33720には、計算機システムにおいて実行可能な汎用プランを示すデータ、例えば、汎用プランの名称が格納される。汎用プランとしては、例えば、ホストコンピュータ10000のリブート、IPスイッチ40000の設定変更、ストレージ装置20000におけるボリュームマイグレーション、VM移動等がある。なお、汎用プランは、図11に挙げられたものに限られない。
<展開プランの構成>
図12は、第1の実施形態に係る展開プラン表の一例の構成図である。
展開プラン表33800は、1以上の展開プランを管理するための情報である。展開プランは、汎用プランを計算機システムの実構成に依存する形式に展開したプランである。展開プラン表33800は、プラン展開モジュール32700によって、展開ルール、汎用プラン表33700、ボリュームトポロジ管理表33200、及び装置性能管理表33100に基づいて生成される。
展開プラン表33800は、プラン詳細33810、汎用プランID33820、展開ルールID33823、及び汎用ルールID33825のフィールドを含む。汎用プランID33820には、展開プランの基となった汎用プランの汎用プランIDが格納される。展開ルールID33823には、展開されたプランが、どの障害原因に対するプランなのかを識別するための情報として、展開プランに対応する展開ルールの展開ルールIDが格納される。すなわち、展開プラン表33800内の各展開プランは、展開ルールID33823の展開ルールIDによって示される展開ルールの原因イベントが障害原因である場合に実施し得るプラン(当該障害原因に対するプラン)である。つまり、展開プラン表33800は、展開ルールと、当該展開ルールに対応する1以上の展開プランとの対応関係を管理するための情報であるとも言える。本実施形態では、展開プラン表33800は、展開ルールと汎用プランとの組み合わせごとに作成されるが、例えば展開ルールごとに作成される等、別の形態が採用されてもよい。展開プラン表33800は、ルールと、当該ルールの原因イベントが原因である場合に実施し得るプランとの対応関係を示す情報(プラン情報)に対応する。汎用ルールID33825には、展開プランに対応する展開ルールの基となった汎用ルールの汎用ルールIDが格納される。
プラン詳細33810には、展開された1以上の展開プランのそれぞれについての具体的な処理内容及び展開プラン実行後の状態情報が格納される。プラン詳細33810は、展開プランID33830、プラン対象33840、及びリスク箇所33890のフィールドを含む。展開プランID33830には、展開プランの識別子(以下「展開プランID」という)が格納される。プラン対象33840には、展開プランに関係する構成要素(デバイス)を示す情報、プラン実行後の情報等が格納される。リスク箇所33890には、プラン実行後にも潜在的に残されたままになる問題個所(以下「リスク箇所」という)を示すデータが格納される。
図12に例示した展開プラン表33800は、汎用プランIDが「Plan1」である汎用プランに基づく展開プラン、すなわちボリュームマイグレーションに関する展開プランを管理する。ボリュームマイグレーションに関する展開プランの場合、プラン対象33840は、例えば、移動対象ボリューム33850、移動元装置33860、及び移動先装置33870のフィールドを含む。移動対象ボリューム33850は、ボリュームマイグレーションの対象となる論理ボリューム24100(以下「移動対象ボリューム」という)のデバイスIDを格納するためのフィールドであるボリュームID33850Aと、ボリュームマイグレーション実行後の、移動対象ボリュームに対するI/Oのレスポンスタイムの予測値を格納するためのフィールドであるI/O ResponseTime予測33850Bとを含む。移動元装置33860は、移動対象ボリュームを有しているストレージ装置20000(以下「移動元装置」という)の装置IDを格納するためのフィールドである装置ID33860Aと、ボリュームマイグレーション実行後の、移動元装置に対するI/Oのレスポンスタイムの予測値を格納するためのフィールドであるI/O ResponseTime予測33860Bとを含む。移動先装置33870は、移動対象ボリュームのデータの移動先となるストレージ装置20000(以下「移動先装置」という)の装置IDを格納するためのフィールドである装置ID33870Aと、ボリュームマイグレーション実行後の、移動先装置に対するI/Oのレスポンスタイムの予測値を格納するためのフィールドであるI/O ResponseTime予測33870Bとを含む。
ボリュームID33850A、装置ID33860A、及び装置ID33870Aの各情報は、プラン展開モジュール32700が、ボリュームトポロジ管理表33200から情報を取得し、格納する。また、各I/O ResponseTime予測33850B、33860B、及び33870Bに格納される値の算出方法としては、任意の方法を採用してもよい。例えば、各I/O ResponseTime予測33850B、33860B、及び33870Bの値を、例えば、プラン展開モジュール32700が、装置性能管理表33100から、移動対象ボリューム、移動元装置、及び移動先装置の単位時間当たりのI/O量を取得し、移動対象ボリュームの単位時間当たりのI/O量の値を、移動元装置の単位時間当たりのI/O量から減算し、移動先装置の単位時間当たりのI/O量に加算して、ボリュームマイグレーション実行後の移動元装置及び移動先装置のI/O量を予測し、その逆数を取ることで得られる値(I/Oのレスポンスタイム)としてもよい。なお、図12の例では、プラン詳細33810の内容として、性能情報が格納される例を記載したが、プランに関するコスト情報やプランを実行した際における障害によるシステムのダウンタイム時間情報等が格納されてもよい。
また、図12は、ボリュームマイグレーションに関する展開プランの例を示しているが、汎用プラン表33700に含まれるその他の汎用プランに対応する展開プランも同様に生成される。その他の汎用プランを展開プランに展開する場合においても、プラン展開モジュール32700が、例えば、ボリュームトポロジ管理表33200を参照して、プランに関係するデバイスを列挙し、装置性能管理表33100を参照して、性能情報、容量情報、コスト情報、ダウンタイム情報等の、プラン実行後の状態情報をシミュレートすることによって、プランに関係するデバイスに関する、プラン実行後の性能値の予測値を計算する。
<ルール・プラン対応管理表の構成>
図13は、第1の実施形態に係るルール・プラン対応管理表の一例の構成図である。
ルール・プラン対応管理表33900は、汎用ルールと、当該汎用ルールに対応する1以上の汎用プラン、すなわち、当該汎用ルールの原因イベントが原因である場合に実施し得る1以上の汎用プランとの対応関係を管理するための情報である。ルール・プラン対応管理表33900は、ルールと、当該ルールの原因イベントが原因である場合に実施し得るプランとの対応関係を示す情報(プラン情報)に対応する。ルール・プラン対応管理表33900は、汎用ルールと、その汎用ルールを適用して障害の原因を特定した場合に実施可能な汎用プランのリストと、各汎用プランを実行した場合に未解決状態のまま残るイベント(以下「未解決イベント」という)との対応関係を示す。
ルール・プラン対応管理表33900は、汎用ルールID33910、汎用プランID33920、及び未解決イベントID33930のフィールドを含む。汎用ルールID33910には、汎用ルールの汎用ルールIDが格納される。汎用プランID33920には、汎用プランの汎用プランIDが格納される。未解決イベントID33930には、各汎用プランを実行した場合に未解決状態のまま残るイベント(未解決イベント)の識別子(以下「未解決イベントID」という)が格納される。未解決イベントIDは、汎用ルールの条件部33410のフィールド33450に格納される条件イベント番号に対応している。未解決イベントID33930には、例えば、未解決イベントが存在しない場合に「NONE」が格納され、条件イベント及び原因イベントの全てが未解決イベントとして残る場合に「ALL」が格納される。
<プラン実行履歴管理表の構成>
図14は、第1の実施形態に係るプラン実行履歴管理表の一例の構成図である。
プラン実行履歴管理表33950は、計算機システムにおいて実行された展開プラン、例えばプラン実行モジュール32910が実行した展開プランについての実行結果(障害回復の成否)を管理するための情報(プラン履歴情報)である。プラン実行履歴管理表33950は、展開ルールID33960、展開プランID33970、実行成否33980、及び実施日時33990のフィールドを含む。展開ルールID33960には、展開ルールの展開ルールIDが格納される。展開プランID33970には、展開プランの展開プランIDが格納される。実行成否33980には、展開プランの実行による障害回復の成否を示すデータ、すなわち、展開プランID33970の展開プランIDが示す展開プランの実行によって、展開ルールID33960の展開ルールIDが示す展開ルールの原因イベントを障害原因とする障害の回復に成功したか否かを示すデータが格納される。例えば、実行成否33980には、障害回復に成功した場合に「OK」が格納され、障害回復に失敗した場合に「NG」が格納される。実施日時33990には、展開プランが実行された日時を示すデータが格納される。
なお、図14の例では、プラン実行履歴管理表33950の各エントリ(履歴要素)は、障害原因(正確には、障害原因の候補)と特定された原因イベントを含む展開ルールと、当該障害原因に対して実行された展開プランと、当該展開プランの実行による障害回復の成否とを対応付けて示しているが、プラン実行履歴管理表33950の構成は、これに限られない。各エントリが、障害原因と、当該障害原因に対して実行された展開プランと、当該展開プランの実行による障害回復の成否とを対応付けて示し得る構成であればよい。例えば、各エントリが、障害原因と特定された原因イベントと、当該障害原因に対して実行された展開プランと、当該展開プランの実行による障害回復の成否とを対応付けて示すように構成されてもよい。
次に、管理サーバ30000が実行する各処理について説明する。
<構成管理情報の取得処理、及びボリュームトポロジ管理表の更新処理>
プログラム制御モジュール32100は、例えばポーリング処理によって、構成管理情報取得モジュール32200に対し、計算機システム内の管理対象装置、本実施形態ではストレージ装置20000、ホストコンピュータ10000、及びIPスイッチ40000から、構成管理情報を定期的に取得するよう指示する。
構成管理情報取得モジュール32200は、ストレージ装置20000、ホストコンピュータ10000、及びIPスイッチ40000から構成管理情報を取得するとともに、取得した構成管理情報に基づいてボリュームトポロジ管理表33200内のデータを更新する。
<装置性能情報取得処理及びイベント解析処理>
図15は、第1の実施形態に係る性能情報取得処理のフローチャートである。
プログラム制御モジュール32100は、例えば、プログラムの起動時或いは前回の性能情報取得処理から一定時間経過するたびに、装置性能取得モジュール32300に対して、性能情報取得処理の実行を指示する。なお、当該実行指示を繰り返し出す場合は、厳密に一定期間ごとである必要は無く、繰り返しさえしていればよい。
装置性能取得モジュール32300は、各管理対象装置に対し、以下の一連の処理を繰り返す。
装置性能取得モジュール32300は、まず、各管理対象装置に対して、性能情報の送信を指示する(ステップ61010)。
装置性能取得モジュール32300は、管理対象装置から応答があったか否かを判定する(ステップ61020)。管理対象装置から応答があった場合、すなわち管理対象装置から性能情報を受信した場合(ステップ61020:Yes)、装置性能取得モジュール32300は、受信した性能情報に基づいて装置性能管理表33100の性能値33150の値を更新する(ステップ61030)。一方、管理対象装置から応答がなかった場合(ステップ61020:No)、装置性能取得モジュール32300は、性能情報取得処理を終了する。
次に、装置性能取得モジュール32300は、装置性能管理表33100に格納された各管理対象デバイスの性能値を参照し、各性能値に対してステップ61050からステップ61070までの処理を繰り返す(ステップ61040)。
装置性能取得モジュール32300は、性能値がアラート実行閾値を超過しているか否かを確認し、その確認結果に基づいて装置性能管理表33100のステータス33180の値を更新する(ステップ61050)。そして、装置性能取得モジュール32300は、性能値の状態が変化したか否か、すなわち性能値が正常値から異常値に或いは異常値から正常値に変化したか否かを判定する(ステップ61060)。状態が変化している場合(ステップ61060:Yes)、装置性能取得モジュール32300は、イベント管理表33700に、その性能値の状態の変化に対応するイベントに関するエントリを登録する(ステップ61070)。一方、状態が変化していない場合(ステップ61060:No)、装置性能取得モジュール32300は、全ての性能値に対する状態確認処理(ステップ61050からステップ61070までの処理)が終わっていなければ、処理をステップ61040へ進める。
全ての性能値に対する状態確認処理が終了した後、装置性能取得モジュール32300は、イベント管理表33700に新規に登録されたイベント(イベントに関するエントリ)があるか否かを判定する(ステップ61080)。新規に登録されたイベントがある場合(ステップ61080:Yes)、装置性能取得モジュール32300は、イベント解析処理モジュール32500に対して、障害原因解析処理(図16参照)の実行を指示する(ステップ61090)。一方、新規に登録されたイベントがない場合(ステップ61080:No)、装置性能取得モジュール32300は、性能情報取得処理を終了する。
<障害原因解析処理の詳細>
図16は、第1の実施形態に係る障害原因解析処理のフローチャートである。障害原因解析処理は、図15のステップ61090の処理に対応する。
イベント解析処理モジュール32500は、イベント管理表33300から、解析済フラグ33370の値が「Yes」になっていないイベントに関するエントリを取得する(ステップ62010)。
次に、イベント解析処理モジュール32500は、展開ルールリポジトリ33500内の各展開ルールに対して、ステップ62030の処理を繰り返す(ステップ62020)。イベント解析処理モジュール32500は、処理対象の展開ルールについての確信度(処理対象の展開ルールの原因イベントについての確信度)、すなわち、処理対象の展開ルールに含まれる1以上の条件イベントの過去一定期間内の発生割合を算出する(ステップ62030)。
続いて、イベント解析処理モジュール32500は、イベント管理表33300におけるステップ62010で取得したエントリの解析済フラグ33370を「Yes」に設定する(ステップ62050)。そして、イベント解析処理モジュール32500は、展開ルールリポジトリ33500内の展開ルールのうちの、ステップ62030で計算した確信度が0でない展開ルールのそれぞれについて、当該展開ルールの原因イベントを障害原因の候補(第1の原因イベント)とする解析結果管理表33600のエントリを生成し、生成したエントリを解析結果管理表33600に登録する(ステップ62060)。
次に、イベント解析処理モジュール32500は、展開ルールリポジトリ33500内の各展開ルールに対して、ステップ62070からステップ62100までの処理を繰り返す(ステップ62070)。イベント解析処理モジュール32500は、処理対象の展開ルールについてのステップ62030で計算した確信度が一定値を超えているか否かを判定する(ステップ62080)。
確信度が一定値を超えている場合(ステップ62080:Yes)、イベント解析処理モジュール32500は、プラン展開モジュール32700に対して、処理対象の展開ルールについてのプラン展開処理の実行を指示する(ステップ62090)。このプラン展開処理により、処理対象の展開ルールに対応する展開プラン、すなわち、処理対象の展開ルールの原因イベントが障害原因である場合のその障害原因に対する展開プランが生成される。
一方、確信度が一定値を超えていない場合(ステップ62080:No)、イベント解析処理モジュール32500は、処理対象の展開ルールについてのステップ62090の処理は行わない。
展開ルールリポジトリ33500内の各展開ルールに対してステップ62070からステップ62100までの処理を終えた後、イベント解析処理モジュール32500は、障害原因解析処理を終了する。
例えば、図9Aに示す展開ルール「ExRule1−1」の条件イベントは、ホストコンピュータ「HOST1」のドライブ「/var」におけるレスポンスタイムの閾値異常に対応するイベント(以下「イベントA」という)と、ストレージ装置「SYS1」の論理ボリューム「LU1」における単位時間のI/O量の閾値異常に対応するイベント(以下「イベントB」という)との2つである。
そして、イベント管理表33300にイベントB(図7の例では「EV3」のイベントIDを持つイベント)に関するエントリが登録されると、イベント解析処理モジュール32500は、一定時間待機した後にイベント管理表33300を参照し、過去一定期間に発生したイベントを特定する。
次に、イベント解析処理モジュール32500は、展開ルール「ExRule1−1」についての確信度(過去一定期間内における条件イベントの発生割合)を算出する。その結果、イベントA(図7の例では「EV6」のイベントIDを持つイベント)も過去一定期間に発生していることから、展開ルール「ExRule1−1」についての確信度は、100%(2/2×100)となる。
以上のようにして算出された確信度が一定値を超過している場合、イベント解析処理モジュール32500は、プラン展開モジュール32700に対して、プラン展開処理の実行を指示し、障害回復のための展開プランの生成を行わせる。例えば、上記一定値を30%とした場合、展開ルール「ExRule1−1」についての確信度は100%であり30%を超えているので、展開ルール「ExRule1−1」に対応する展開プランが生成されることになる。
<プラン展開処理の詳細>
図17は、第1の実施形態に係るプラン展開処理のフローチャートである。プラン展開処理は、図16のステップ62090の処理に対応する。
まず、プラン展開モジュール32700は、解析結果管理表33600から、新規に登録された解析結果管理表33600のエントリ(以下「新規登録エントリ」という)を取得する(ステップ63010)。プラン展開モジュール32700は、取得した新規登録エントリのそれぞれに対して、以下のステップ63030からステップ63090までの処理を実施する(ステップ63020)。
プラン展開モジュール32700は、解析結果管理表33600の処理対象の新規登録エントリから、展開ルールID33650に格納されている展開ルールIDを取得する。以下、ここで取得した展開ルールIDが示す展開ルールを「処理対象の展開ルール」と呼ぶ。そして、プラン展開モジュール32700は、処理対象の展開ルールの展開前汎用ルールID33540に格納されている汎用ルールIDを取得する(ステップ63030)。ここで取得した汎用ルールIDが示す汎用ルールは、処理対象の展開ルールの基となった汎用ルールである。
次に、プラン展開モジュール32700は、ルール・プラン対応管理表33900を参照し、処理対象の展開ルールの基となった汎用ルールに対応する1以上の汎用プランを特定する。また、プラン展開モジュール32700は、ルール・プラン対応管理表33900を参照し、処理対象の展開ルールの基となった汎用ルールと、特定した汎用プランとの組み合わせに対応する未解決イベントを特定する(ステップ63040)。
次に、プラン展開モジュール32700は、ボリュームトポロジ管理表33200を参照し、ステップ63040で特定した汎用プランに基づく、処理対象の展開ルールに対応する1以上の展開プランを生成し、生成した展開プランに関する情報を展開プラン表33800に追加する(ステップ63050)。例えば、ボリュームマイグレーションの汎用プランを展開する場合、プラン展開モジュール32700は、移動先装置となり得るストレージ装置20000の全てを、ボリュームトポロジ管理表33200を参照して特定する。
続いて、プラン展開モジュール32700は、ステップ63050で生成した各展開プランに対して、ステップ63070及びステップ63080の処理を繰り返し実行する(ステップ63060)。プラン展開モジュール32700は、装置性能管理表33100を参照し、プラン実行後の状況をシミュレートすることによってプラン実行後の性能値の予測値を算出し、シミュレートの結果情報に基づいて、処理対象の展開プランのプラン対象33840の値を更新する(ステップ63070)。次に、プラン展開モジュール32700は、プラン実行後リスク抽出モジュール32800に対して、プラン実行後リスク抽出処理(図18参照)の実行を指示する(ステップ63080)。この際、プラン展開モジュール32700は、処理対象の展開プランに関する未解決イベント、すなわち、処理対象の展開ルールの基となった汎用ルールと、処理対象の展開プランの基となった汎用プランとの組み合わせに対応する未解決イベント、の未解決イベントIDをプラン実行後リスク抽出モジュール32800に入力する。
プラン展開モジュール32700は、取得した新規登録エントリの全てに対してステップ63030からステップ63090までの処理を終えた後、プラン提示モジュール32900に対して、プラン提示処理(図19参照)の実行を指示する(ステップ63110)。その後、プラン展開モジュール32700は、プラン展開処理を終了する。
本実施形態では、性能情報、特にI/Oのレスポンスタイムの予測値を取り上げ、シミュレートを実施してI/Oのレスポンスタイムの予測値を算出し、シミュレートによって得られた予測値を展開プラン表33800のプラン対象33840に格納している。この予測値は、例えば、展開プラン「ExPlan1−1」が実行された場合、論理ボリューム「LU2」のデータがストレージ装置「SYS1」からストレージ装置「SYS2」へ移動されるが、装置性能管理表33100から得られる現在の移動対象ボリューム(論理ボリューム「LU2」)、移動元装置(ストレージ装置「SYS1」)、及び移動先装置(ストレージ装置「SYS2」)のそれぞれのI/Oのレスポンスタイムに基づいて算出される。ここでは、シミュレート方法の一例を示したが、展開プラン表33800に格納する値としては、プランの特徴を表す指標となり得る値であれば、性能値以外でもよい。管理サーバ30000は、例えば、プラン実行にかかるコストの情報やプラン実行に要する時間等の情報をボリュームトポロジ管理表33200又は装置性能管理表33100に格納しておく等して、性能値と同様にシミュレートを行ってもよい。
<プラン実行後リスク抽出処理の詳細>
図18は、第1の実施形態に係るプラン実行後リスク抽出処理のフローチャートである。プラン実行後リスク抽出処理は、図17のステップ63080の処理に対応する。
まず、プラン実行後リスク抽出モジュール32800は、プラン展開モジュール32700から受信した未解決イベントIDを利用して、解析結果管理表33600における新規登録エントリの受信イベントID33660に登録されている実際に発生した条件イベントの中から、解消できないイベントを抽出する(ステップ64010)。ここで、解消できないイベントとは、実際に発生した条件イベントのうちの、未解決イベントIDが示す条件イベントに対応するイベントのことをいう。
次に、プラン実行後リスク抽出モジュール32800は、イベント管理表33300、及び処理対象の展開ルールを参照し、ステップ64010で抽出した解消できないイベントの発生個所(発生元の装置及びデバイス)を特定する(ステップ64020)。次に、プラン実行後リスク抽出モジュール32800は、ボリュームトポロジ管理表33200を参照し、解消できないイベントの発生個所、及び解消できないイベントの発生個所とI/Oパス上の関連を持つ箇所(装置及びデバイス)のうちのいずれか1以上をリスク箇所として抽出する(ステップ64030)。
ステップ64030においてリスク箇所が抽出された場合(ステップ64040:Yes)、プラン実行後リスク抽出モジュール32800は、展開プラン表33800における処理対象の展開プランのリスク箇所33890に、抽出したリスク箇所を示すデータを格納し(ステップ64040)、プラン実行後リスク抽出処理を終了する。一方、ステップ64030においてリスク箇所が抽出されなかった場合(ステップ64040:No)、プラン実行後リスク抽出モジュール32800は、プラン実行後リスク抽出処理を終了する。
図12の展開プラン表33800のリスク箇所33890には、リスク箇所が抽出されなかったためにリスク箇所を示すデータが格納されていないが、リスク箇所としては、例えば、ボリュームトポロジ管理表33200のエントリが示すI/Oパス上の箇所、例えば、ホストコンピュータ10000のドライブ、ストレージ装置20000のコントローラ25000、ストレージ装置20000の論理ボリューム24100等が抽出され得る。
<プラン提示処理の詳細>
図19は、第1の実施形態に係るプラン提示処理のフローチャートである。プラン提示処理は、図17のステップ63110の処理に対応する。
まず、プラン提示モジュール32900は、解析結果管理表33600から、障害原因の候補を示す情報及び障害原因の候補についての確信度、すなわち、原因装置ID33610、原因部位ID33620、メトリック33630、及び確信度33640の値を取得する(ステップ65010)。
次に、プラン提示モジュール32900は、解析結果管理表33600の各新規登録エントリに対して、ステップ65030の処理を実施する。プラン提示モジュール32900は、展開プラン表33800から、処理対象の新規登録エントリが示す障害原因(正確には、障害原因の候補)に対する1以上の展開プラン、すなわち、処理対象の新規登録エントリが示す展開ルールに対応する1以上の展開プラン(障害回復における候補となる展開プラン)(第1のプラン)に関する情報を取得する(ステップ65030)。なお、新規登録エントリが示す展開ルールとは、当該新規登録エントリの展開ルールID33650に格納されている展開ルールIDが示す展開ルールのことである。
全ての新規登録エントリに対してステップ65030の処理を終えた後、プラン提示モジュール32900は、解析結果管理表33600の各新規登録エントリに対して、ステップ65060からステップ65080までの処理を実施する。プラン提示モジュール32900は、処理対象の新規登録エントリが示す障害原因(処理対象の障害原因)に対する1以上の展開プランのそれぞれについて、ステップ65070の処理を実施する。
ステップ65070において、プラン提示モジュール32900は、プラン実行履歴管理表33950が示す過去に実行された展開プランの実行結果に基づいて、処理対象の障害原因に対する処理対象の展開プランについてのスコア値を算出する。ここで、スコア値とは、展開プランを実行した場合の障害回復に成功する可能性を示す指標値、すなわち、障害が改善される見込み値のことをいう。例えば、プラン提示モジュール32900は、プラン実行履歴管理表33950から、処理対象の新規登録エントリが示す展開ルールと処理対象の展開プランとの組み合わせに対応するエントリを全て取得する。そして、プラン提示モジュール32900は、取得した1以上のエントリのそれぞれの障害回復の成否を示すデータに基づいて、処理対象の障害原因に対して処理対象の展開プランを実行した場合の成功率、具体的には、取得したエントリの総数に対する、取得したエントリのうちの実行成否33980に「OK」が格納されているエントリの数の割合を、スコア値として算出する。
なお、本実施形態では、成功率をそのままスコア値としているが、例えば、式1によって得られる値(s)をスコア値としてもよい。式1は、プラン実行履歴管理表33950内の実行結果を所定の期間ごとに分け、期間ごとに算出した成功率(Ri)をその期間に基づく重み値(1/2i)で重み付けし、重み付け後の成功率(Ri/2i)の総和をスコア値とする式である。式1では、より現在に近い期間の成功率により大きな重み値が付され、より直近に成功しているほど値が高くなるようにスコア値が算出される。式1において、Riは、i時間前から(i+n)時間前(nは所定値、例えば1)までの期間の成功率を示している。
s=Σ(Ri/2i)・・・(式1)
s=Σ(Ri/2i)・・・(式1)
なお、スコア値は、成功率及び重み付け後の成功率に限られず、これら以外の値がスコア値とされてもよい。例えば、成功率に加えて展開プランの実行回数、すなわちプラン実行履歴管理表33950内の実行結果の数が考慮された値がスコア値とされてもよいし、展開プランの実行回数がそのままスコア値とされてもよい。成功率に加えて展開プランの実行回数を考慮する場合の例として、例えば、成功率が同等である場合に実行回数が多いほど値が高くなるようにスコア値が決定されてもよい。また、例えば、展開プランが実行されて障害が改善されてから現在までの期間がより長く、且つその期間内に障害が再発していない場合ほど、値が高くなるようにスコア値が決定されてもよい。また、管理サーバ30000は、複数種類のスコア値の算出方法をあらかじめ用意しておき、所定のポリシーに基づいて、実行時の状態に応じてスコア値の算出方法を切り替えるようにしてもよい。
全ての新規登録エントリに対してステップ65060からステップ65080までの処理を終えた後、プラン提示モジュール32900は、ステップ65070の処理(スコア値の算出処理)の対象とされた障害原因と展開プランとの組み合わせの中から、過去に所定回数以上実行され、且つスコア値が所定値以上である障害原因と展開プランとの組み合わせを抽出する(ステップ65100)。この際、プラン提示モジュール32900は、例えば、プラン実行履歴管理表33950内の実行結果の数が明らかに有意に多い障害原因と展開プランとの組み合わせを抽出してもよく、管理者の展開プランの特徴を表せる方法であれば、抽出方法は限定しない。
次に、プラン提示モジュール32900は、抽出した障害原因と展開プランとの組み合わせの中に、その障害原因についての確信度が100%である組み合わせが存在するかを判定する(ステップ65110)。
確信度が100%である組み合わせが存在しない場合(ステップ65110:No)、プラン提示モジュール32900は、ステップ65010で取得した障害原因の候補を示す情報及び障害原因の候補についての確信度、ステップ65030で取得した候補となる展開プランに関する情報、並びに、ステップ65070で算出した各展開プランについてのスコア値に基づいて、プラン提示画面(図20参照)を生成し、生成したプラン提示画面を出力デバイス31200に表示する(ステップ65120)。例えば、プラン提示画面において、候補となる展開プランのうちの1以上の展開プラン(以下「提示プラン」という)が、スコア値が高いプランから順に並べて表示される。提示プランは、例えば、候補となる展開プランのうちのスコア値が所定値以上の展開プランである。その後、プラン提示モジュール32900は、プラン提示処理を終了する。
一方、確信度が100%である組み合わせが存在する場合(ステップ65110:Yes)、プラン提示モジュール32900は、確信度が100%である組み合わせのうちのスコア値が最も高い組み合わせに含まれる展開プラン、すなわち、確信度が100%である障害原因に対する展開プランのうちのスコア値が最も高い展開プランを特定する。そして、プラン提示モジュール32900は、特定した展開プランについてのプラン実行処理(図21参照)の実行を、プラン実行モジュール32910に指示する(ステップ65130)。このプラン実行処理により、確信度が100%である障害原因に対する展開プランのうちのスコア値が最も高い展開プランが自動的に実行される。その後、プラン提示モジュール32900は、プラン提示処理を終了する。
なお、本実施形態では、管理サーバ30000が、確信度が100%である障害原因が存在する場合に、その確信度が100%である障害原因に対する、スコア値が最も高い展開プランを自動的に実行するが、この自動実行を行うか否かの判定基準は、確信度が100%であることに限られない。例えば、管理サーバ30000は、確信度が所定値(例えば、100%に近い値)以上である場合に、その確信度が所定値以上である障害原因に対する、スコア値が最も高い展開プラン(第2のプラン)を自動的に実行してもよい。また、例えば、管理サーバ30000は、確信度が所定値以上であり、且つ、その確信度が所定値以上である障害原因に対する複数の展開プランのそれぞれについてのスコア値の最大値(第2のプランについてのスコア値)が所定値以上である場合に、その最大のスコア値を持つ展開プラン(第2のプラン)を自動的に実行してもよい。また、管理サーバ30000は、自動実行を行う前に、自動実行を行ってもよいか否かについて管理者に承認を求めてもよい。管理サーバ30000は、自動実行を行う前又は行った後に、ステップ65120の処理を行ってプラン提示画面を表示してもよい。
図20は、第1の実施形態に係るプラン提示画面の一例の構成図である。
プラン提示画面は、計算機システムにおいて障害が発生した場合に、管理者がその原因を追究して対策を実施する際に参照する情報、具体的には、障害原因の候補と、その障害原因の候補に対して実行し得る展開プラン(候補となる展開プランのうちの1以上の展開プラン、すなわち提示プラン)のリストとの対応関係を表示するための表示領域71010と、展開プランの実行を指示するためのプラン実行ボタン71020とを有する。
障害原因の候補と展開プランとの対応関係を表示する表示領域71010には、障害原因の候補を示す情報として、例えば、障害原因の候補に対応するイベントに関係する管理対象装置の装置ID、障害原因の候補に対応するイベントに関係する管理対象デバイスのデバイスID、障害原因の候補に対応するイベントの種別、及び、障害原因の候補についての確信度、すなわち条件イベントの総数に対する実際に発生した条件イベントの数の割合が表示される。これらの値は、例えば、プラン提示モジュール32900が、図19のステップ65010において、解析結果管理表33600から取得する。
また、表示領域71010には、障害原因の候補に対する展開プラン(提示プラン)に関する情報として、展開プランの内容を示す情報、展開プランの実行にかかるコスト、展開プランの実行に要する時間、すなわち障害が残り続ける時間(ダウンタイム)、及び、リスク箇所を示す情報が表示される。これらの値は、例えば、プラン提示モジュール32900が、図19のステップ65030において、展開プラン表33800から取得する。
ここで、障害原因の候補に対する複数の展開プランは、ステップ65070で算出されたスコア値が高い展開プランから順番に並べて表示される。なお、複数の展開プランを、展開プランの実行にかかるコストが少ないものから順番に並べたり、展開プランの実行に要する時間の短いものから順番に並べたり、リスク箇所が存在しないものから順番に並べたりする等、展開プランの特徴に基づいて並べ替えを行えるようにしてもよい。並べ替えの方法としては、例えば、表示領域71010における「Cost($)」をクリックすることで、コストが少ないものから順番に並べるようにする等、どのような方法が採用されてもよい。
プラン実行ボタン71020は、選択された展開プランの実行を指示するためのボタンであり、当該ボタンが押下されると、管理サーバ30000は、選択された展開プランに相当する機能を提供するプログラムに対して、展開プランの実行指示を出す。展開プランの実行指示を受けたプログラムは、選択された展開プランを実行することとなる。ここで、展開プランを実行するプログラムは、例えば、管理サーバ30000のメモリ32000内のプログラムであり、例えば、ボリュームマイグレーションプログラム(図示しない)や、VM移動プログラム(図示しない)等である。
なお、表示領域71010において、展開プラン表33800のプラン対象33840に格納されている、展開プラン実行前の性能値及び展開プラン実行後の性能値の予測値をあわせて表示してもよく、性能値及び性能値の予測値がトレンド情報としてグラフ形式で表示されてもよい。
図20は、プラン提示画面の一例であり、展開プランの実行にかかるコスト、展開プランの実行に要する時間以外の展開プランの特徴を表す情報、例えば、ステップ65070で算出されたスコア値等が表示領域71010にあわせて表示されてもよく、他の表示態様が採用されてもよい。
<プラン実行処理の詳細>
図21は、第1の実施形態に係るプラン実行処理のフローチャートである。
プラン提示画面において、表示領域71010から一つの展開プランが選択され、プラン実行ボタン71020が押下されると、プラン実行モジュール32910は、プラン実行処理の実行を開始する。
まず、プラン実行モジュール32910は、選択された展開プランに相当する機能を提供するプログラムに対して、選択された展開プランの実行を指示する(ステップ67010)。ここで、展開プランを実行するプログラムは、例えば、ボリュームマイグレーションプログラム、VM移動プログラム等であり、これらが行う処理は、引用文献等に開示されている従来技術の処理と同様である。また、プラン実行モジュール32910は、これらの処理を実施する際に、実行順序制御や競合回避を行うための一般的な機構を利用して競合状態を回避してもよい。
次に、プラン実行モジュール32910は、展開プラン表33800の展開ルールID33823を参照して、選択された展開プランに対応する展開ルールを特定する(ステップ67020)。そして、プラン実行モジュール32910は、特定した展開ルールの条件イベントの中から、選択された展開プランに関する未解決イベントに対応しない条件イベントを抽出する(ステップ67030)。ここで、プラン実行モジュール32910は、ルール・プラン対応管理表33900を参照して、特定した展開ルールの基となった汎用ルールと、選択された展開プランの基となった汎用プランとの組み合わせに対応する未解決イベントを、選択された展開プランに関する未解決イベントとして特定する。
プラン実行モジュール32910は、抽出した各条件イベントに対して、ステップ67050及び67060の処理を実施する。まず、プラン実行モジュール32910は、プラン実行結果確認モジュール32920に対して、障害が改善されたか否かの確認処理の実施を指示する。確認処理の実施の指示を受けたプラン実行結果確認モジュール32920は、処理対象の条件イベントの発生元の管理対象装置に対して、処理対象の条件イベントに対応する障害が改善されたか否か、すなわち処理対象の条件イベントが発生していない状態となったか否かを問い合わせる(ステップ67050)。
処理対象の条件イベントが発生していない状態となっている場合(ステップ67060:Yes)、プラン実行結果確認モジュール32920は、未だ確認処理の対象とされていない条件イベントについて確認処理を実施する。ステップ67030で抽出された条件イベントの全てが発生していない状態となっている場合、プラン実行モジュール32910は、選択された展開プランが実行されたこと及び実行結果が成功であることを示すエントリをプラン実行履歴管理表33950に登録する(ステップ67080)。ここで登録されるエントリの展開ルールID33960には、ステップ67020で特定された展開ルールの展開ルールIDが格納され、展開プランID33970には、選択された展開プランの展開プランIDが格納され、実行成否33980には、「OK」が格納され、実施日時33990には、例えば現在の日時を示すデータが格納される。その後、プラン実行モジュール32910は、プラン実行処理を終了する。
少なくとも1つの条件イベントが発生したままの状態となっている場合(ステップ67060:No)、プラン実行モジュール32910は、選択された展開プランが実行されたこと及び実行結果が失敗であることを示すエントリをプラン実行履歴管理表33950に登録する(ステップ67090)。ここで登録されるエントリの展開ルールID33960には、ステップ67020で特定された展開ルールの展開ルールIDが格納され、展開プランID33970には、選択された展開プランの展開プランIDが格納され、実行成否33980には、「NG」が格納され、実施日時33990には、例えば現在の日時を示すデータが格納される。その後、プラン実行モジュール32910は、プラン実行処理を終了する。
なお、本実施形態では、管理サーバ30000は、展開プランに対応する展開ルールに含まれる条件イベントのうちの、展開プランの実行によって解決すると見込まれたイベント(未解決イベントに対応しないイベント)の全てが解決された場合に成功と判定しているが、展開プランの実行結果の判定方法はこの限りではなく、管理サーバ30000は、例えば、展開プランの実行によりサービスレベルがどの程度改善したか(所定のサービスレベルが満たされたかどうか)や、解決すると見込まれたイベントの総数に対する実際に解決したイベントの数の割合が一定値以上に達したかどうかによって成功か失敗かを判定してもよい。また、障害が改善されたか否かの確認処理において、非特許文献1において述べられている障害が回復しているかどうかを検査する手段が利用されてもよい。
第1の実施形態によれば、管理サーバ30000は、展開プランの実行後にその実行による障害回復の成否を示すデータを履歴として蓄積しておく。そして、管理サーバ30000は、障害発生時に障害原因とその障害原因に対する展開プランとを導出し、導出した展開プランの過去の実行成否状況に応じて展開プランをスコア付けする。管理サーバ30000は、障害原因についての確信度とスコア値とに応じて、自動的な対処が可能かどうかを判断し、可能な場合はスコア値の最も高い展開プランを自動的に実行することで障害回復を行うことができる。なお、管理サーバ30000は、展開プランを自動的に実行する前に管理者からの承認を得てもよい。また、自動的な対処が不可能な場合は、管理サーバ30000は、障害原因に対する複数の展開プランを示すデータを、スコア値が高い展開プランから順に並べて表示して管理者に提示する。これにより、管理者は、障害回復に成功する可能性の高い展開プランを容易に知ることができ、障害回復に成功する可能性の高い展開プランを、実行する展開ルールとして迅速に選択できるようになり、障害回復のための運用管理コストを削減できる。
例えば、或るホストコンピュータ10000上で動作しているアプリケーションサーバの実行パフォーマンスが低下している場合において、管理者が、そのアプリケーションサーバの実行パフォーマンスの低下という障害に対して実施する展開プランを選択する場合を想定する。例えば、障害に対して過去にどのような展開プランが実施されたかを記録しておき、展開プランを選択する際にその記録した情報を利用するという技術(特許文献4に開示された技術)を採用した場合において、過去に(1)アプリケーションサーバのプロセスの再起動と(2)ホストコンピュータ10000の再起動とが展開プランとして実施されている場合、管理サーバ30000は、過去に実施された展開プラン、すなわち(1)の展開プランと(2)の展開プランとを同等に管理者に推薦する。例えば、ホストコンピュータ10000上で多くの他のプロセスが起動されていることが障害原因であった場合は(1)の展開プランが実施されても障害を解決できない可能性があるが、この場合でも、管理サーバ30000は、(1)の展開プランと(2)の展開プランとを同等に管理者に推薦する。これに対し、本実施形態では、管理サーバ30000は、過去に実施された展開プランのその実施による障害回復の成否に基づいてスコア値を算出し、候補となる複数の展開プランを示すデータを、スコア値が高い展開プランから順に並べて表示して管理者に提示する。従って、例えば、(1)の展開プランの過去の実施において障害回復に失敗しており、(2)の展開プランの過去の実施において障害回復に成功している場合は、(2)の展開プランについてのスコア値は(1)の展開プランについてのスコア値よりも高くなるため、管理サーバ30000は、(2)の展開プランを(1)の展開プランよりも上位に表示して(2)の展開プランを(1)の展開プランよりも優先的に管理者に提示する。従って、管理者は、過去に障害回復に成功しており、障害回復に成功する可能性が高いと考えられる展開プランである(2)の展開プランを容易に知ることができ、実行する展開ルールとして(2)の展開プランを迅速に選択できる。
(2)第2の実施形態
次に、第2の実施形態について説明する。以下の説明では、第1の実施形態との差異を中心に説明し、同等の構成要素や、同等の機能を持つプログラム、同等の項目を持つ表については、記載を省略する。
第1の実施形態では、管理サーバ30000は、障害原因に対する展開プランとして複数の展開プランが存在する際に、過去の実行履歴を参照して算出したスコア値に基づいて、管理サーバ30000又は管理者が適切な展開プランを迅速に選択できるように支援している。しかしながら、展開プランの過去の実行回数が少なくプラン実行履歴管理表33950内に蓄えられている過去の実行結果の数が少ない場合、スコア値の妥当性を担保するための履歴データが十分であるとはいえず、このような場合にスコア値に基づいて展開プランが選択されたとしても選択された展開プランが最適かどうかは不明である。また、スコア値が低い展開プランについては、選択される可能性が低いため、スコア値が低い展開プランについて履歴データが増える可能性は低い。例えば、候補となる展開プランとして2つの展開プラン(展開プランA及び展開プランB)があり、いずれも過去に1回だけ実行されている場合において、展開プランAが障害回復に成功し展開プランBが障害回復に失敗している場合、展開プランAについてのスコア値は、展開プランBについてのスコア値よりも高くなるため、展開プランAが選択される可能性が高い。しかし、展開プランA及び展開プランBの過去の実行回数は1回にすぎず、展開プランAがたまたま障害回復に成功し展開プランBがたまたま障害回復に失敗していた可能性も考えられるため、必ずしも展開プランAが最適であるとは言えない。そして、選択される可能性の低い展開プランBについては、履歴データが増える可能性が低くその後にスコア値が高くなる可能性は低いため、結果として、それ以降は常に展開プランAが優先的に選択されることとなってしまう。
第2の実施形態では、管理サーバ30000が、実行回数の少ない展開プランに関するテストケースを抽出し、管理サーバ30000又は管理者が、抽出したテストケースに基づいて、実行回数の少ない展開プランについてテスト環境で例えば運用開始前にテストを実行し、その展開プランについての履歴データを生成する。
図22は、第2の実施形態に係る管理サーバの一例の構成図である。
管理サーバ30000のメモリ32000は、さらにテストケース抽出モジュール32950のコンピュータプログラムを記憶する。また、管理サーバ30000の二次記憶デバイス33000は、さらにテストケースリポジトリ34100を記憶する。
図23は、第2の実施形態に係るテストケースリポジトリの一例の構図である。
テストケースリポジトリ34100は、障害イベント情報34110、展開ルールID34120、及び展開プランID34130のフィールドを含む。障害イベント情報34110には、展開ルールID34120の展開ルールIDが示す展開ルールに含まれるイベント(条件イベント及び原因イベント)に関する情報が格納される。展開ルールID34120には、テスト対象の障害原因に対応するイベントを原因イベントとする展開ルールの展開ルールIDが格納される。展開プランID34130には、テスト対象の展開プランの展開プランIDが格納される。
図24は、第2の実施形態に係るテストケース抽出処理のフローチャートである。
まず、テストケース抽出モジュール32950は、展開ルールリポジトリ33500に含まれる全ての展開ルールについて、ステップ68020の処理を実施する。ステップ68020において、テストケース抽出モジュール32950は、処理対象の展開ルールに含まれるイベント(条件イベント及び原因イベント)を抽出する。
テストケース抽出モジュール32950は、ステップ68020で抽出した各イベントに対して、ステップ68040からステップ68090までの処理を実施する。
まず、テストケース抽出モジュール32950は、展開ルールリポジトリ33500から処理対象のイベントを含む展開ルールを抽出する(ステップ68050)。そして、テストケース抽出モジュール32950は、図17のステップ63030から63090までの処理を実施することによって、抽出した展開ルールに対応する展開プラン、すなわち、抽出した展開ルールの原因イベントが障害原因である場合のその障害原因に対する展開プランを生成する(ステップ68060)。
その後、テストケース抽出モジュール32950は、プラン実行履歴管理表33950から、ステップ68050で抽出した展開ルールと、ステップ68060で生成した展開プランとの組み合わせに対応するエントリを全て取得する。そして、テストケース抽出モジュール32950は、取得したエントリの数が一定数以上であるか否かを判定する(ステップ68070)。
取得したエントリの数が一定数以上でない場合(ステップ68070:No)、テストケース抽出モジュール32950は、ステップ68050で抽出した展開ルールと、ステップ68060で生成した展開プランとの組み合わせによって示されるテストケースに関する、テストケースリポジトリ34100のエントリを生成し、生成したエントリをテストケースリポジトリ34100に追加する。このエントリの障害イベント情報34110には、ステップ68050で抽出された展開ルールの1以上の条件イベント及び原因イベントのそれぞれに関する情報が格納される。このエントリの展開ルールID34120には、ステップ68050で抽出された展開ルールの展開ルールIDが格納される。このエントリの展開プランID34130には、ステップ68060で生成された展開プランの展開プランIDが格納される。
ステップ68020で抽出した各イベントに対して、ステップ68040からステップ68090までの処理を終えた後、テストケース抽出モジュール32950は、テストケース抽出処理を終了する。
本実施形態に係る管理サーバ30000又は管理者は、例えば運用開始前に、テストケースリポジトリ34100に登録されているテストケースのそれぞれについて、当該テストケースに対応するテストを実施する。そして、管理サーバ30000又は管理者は、テスト結果、すなわち展開プランの実行結果をプラン実行履歴管理表33950に登録する。例えば、展開ルール「ExRule1−1」と展開プラン「ExPlan1−1」との組み合わせによって示されるテストケースがテストケースリポジトリ34100に登録されている場合、管理サーバ30000又は管理者は、例えば、展開ルール「ExRule1−1」の条件イベント又は原因イベントを擬似的に発生させる等して疑似的に障害状況(展開ルール「ExRule1−1」の原因イベントを障害原因とする障害状況)を作り、その状況下で展開プラン「ExPlan1−1」を実行する。そして、管理サーバ30000又は管理者は、その実行結果、すなわち、展開プラン「ExPlan1−1」の実行によって、展開ルール「ExRule1−1」の原因イベントを障害原因とする障害の回復に成功したか否かを示すデータをプラン実行履歴管理表33950に登録する。本実施形態では、テストによって得られた展開プランの実行結果も、スコア値の算出の際に利用される。
第2の実施形態によれば、管理サーバ30000は、履歴データが十分でない展開ルールと展開プランとの組み合わせをテストケースとして、テストケースリポジトリ34100に追加する。そして、管理サーバ30000又は管理者は、例えば管理サーバ30000の導入時に、テストケースリポジトリ34100に登録されているテストケースに対応するテストを実施し、テスト結果をプラン実行履歴管理表33950に登録する。これにより、全ての展開プランについて十分な履歴データが確保され、展開プラン間の実施履歴の偏りを防止することができる。また、スコア値が、十分な履歴データに基づいて算出され、その妥当性が担保されるので、管理サーバ30000又は管理者は、スコア値に基づいてより適切な展開プランを選択できるようになる。
(3)第3の実施形態
次に、第3の実施形態について説明する。以下の説明では、第1の実施形態との差異を中心に説明し、同等の構成要素や、同等の機能を持つプログラム、同等の項目を持つ表については、記載を省略する。
第2の実施形態で述べたように、履歴データが不足している場合、スコア値に基づいて最適な展開プランが選択されるかどうかは不明であり、また、スコア値が低い展開プランについては、履歴データが増える可能性が低いため、最初にスコア値が高く算出された展開プランがそれ以降常に選択されてしまう可能性がある。第3の実施形態では、計算機システムが複数のサブシステム(管理サーバ30000の管理単位であり、以下「ドメイン」という)から構成されており、ドメインごとに管理サーバ30000が設けられている場合を想定する。他のドメインに存在する他の管理対象装置群において発生した同様の障害に対して、他のドメインの管理者が別の展開プランを実施することが多いのであれば、その展開プランがより適切であるということも考えられる。そこで、本実施形態では、複数のドメインのそれぞれの管理サーバ30000間で通信を行い、同様の障害に対する展開プランの履歴が一定数以上存在する場合に、そのことをも加味してスコア値が算出される。
図25は、第3の実施形態に係る計算機システムの一例の構成図である。
第3の実施形態に係る計算機システムは、複数のドメインのそれぞれを管理する複数の管理サーバ30000と、複数の管理サーバ30000のそれぞれの表示用計算機である複数のWEBブラウザ起動サーバ35000とを有する。複数の管理サーバ30000は、それぞれ異なる管理者によって利用されている。
図26は、第3の実施形態に係る管理サーバの一例の構成図である。
管理サーバ30000のメモリ32000は、さらに履歴送受信モジュール32950のコンピュータプログラムを記憶する。また、管理サーバ30000の二次記憶デバイス33000は、さらに管理サーバ一覧表34200を記憶する。
図27は、第3の実施形態に係るプラン実行履歴管理表33950の一例の構成図である。
第3の実施形態に係るプラン実行履歴管理表33950は、第1の実施形態に係るプラン実行履歴管理表33950の各フィールドに加えて、さらに、他のドメインの管理サーバ30000から受信した履歴データであるか否かを示すデータを格納するためのフィールドである外部受信33995と、他のドメインの管理サーバ30000から受信した履歴データについてその履歴データの送信元の管理サーバ30000を示すデータを格納するためのフィールドである送信元サーバ33997とを含む。例えば、エントリが示す履歴データが他のドメインの管理サーバ30000から受信した履歴データ、すなわち、他のドメインにおいて展開プランが実行されて得られた履歴データである場合、外部受信33995には「Yes」が格納される。また、エントリが示す履歴データが他のドメインの管理サーバ30000から受信した履歴データでない場合、すなわち、当該プラン実行履歴管理表33950を有する管理サーバ3000が管理するドメイン(自ドメイン)において展開プランが実行されて得られた履歴データである場合、外部受信33995にはNULLが格納される。
図28は、第3の実施形態に係る管理サーバ一覧表の一例の構成図である。
管理サーバ一覧表34200は、計算機システム内の複数の管理サーバ30000のそれぞれを示すデータ(以下「サーバID」という)を格納するためのフィールドであるサーバID34210と、計算機システム内の複数の管理サーバ30000のそれぞれに割り当てられているIPアドレスを格納するためのフィールドであるIPアドレス34200とを含む。
図29は、第3の実施形態に係るプラン実行履歴交換処理のフローチャートである。
図29において、ステップ69010から69060までの処理が、送信側の管理サーバ30000の履歴送受信モジュール32950(以下「送信側モジュール」という)の処理に対応し、ステップ69070から69075までの処理が、受信側の管理サーバ30000の履歴送受信モジュール32950(以下「受信側モジュール」という)の処理に対応している。
送信側モジュールは、定期的又は不定期的に、送信側の管理サーバ30000のプラン実行履歴管理表33950から外部受信フィールド33995が「Yes」ではない1以上のエントリを抽出する(ステップ69010)。そして、送信側モジュールは、抽出した1以上のエントリを1以上のエントリ群に分類する(ステップ69020)。ここで、エントリ群とは、展開ルールID33960と展開プランID33970との値の組み合わせが一致する1以上のエントリのことをいう。
送信側モジュールは、1以上のエントリ群のそれぞれに対して、ステップ69030から69060までの処理を実施する。
ステップ69040において、送信側モジュールは、処理対象のエントリ群に含まれるエントリの数が一定数以上であるか否かを判定する。処理対象のエントリ群に含まれるエントリの数が一定数以上である場合(ステップ69040:Yes)、送信側モジュールは、処理対象のエントリ群の各エントリが示すデータ(履歴データ)を全て含むデータ(以下「外部履歴データ」という)を、管理サーバ一覧表34210に登録されている他の全ての管理サーバ30000に対して送信する(ステップ69050)。
1以上のエントリ群のそれぞれに対して、ステップ69030から69060までの処理を終えた後、送信側モジュールは、プラン実行履歴交換処理を終了する。
外部履歴データを受信した各管理サーバ30000の受信側モジュールは、外部履歴データに含まれる履歴データを示す各エントリに対して、ステップ69071からステップ69075までの処理を実施する。
まず、受信側モジュールは、処理対象のエントリと、展開ルールID33960と展開プランID33970との値の組み合わせが一致する1以上のエントリを、受信側の管理サーバ30000のプラン実行履歴管理表33950(以下「受信側履歴管理表」という)から抽出する(ステップ69072)。
次に、受信側モジュールは、抽出した1以上のエントリの中に、送信元サーバID33997と実施日時33990との値の組み合わせが処理対象のエントリと一致するエントリが含まれるか否かを判定する(ステップ69073)。一致するエントリが含まれなかった場合(ステップ69073:No)、受信側モジュールは、処理対象のエントリを受信側履歴管理表に登録する(ステップ69074)。この際、登録されるエントリの外部受信33995には、「Yes」が格納され、登録されるエントリの送信元サーバ33997には、管理サーバ一覧表34200で管理されている送信側の管理サーバ30000のサーバIDが格納される。一方、一致するエントリが含まれる場合(ステップ69073:Yes)、受信側モジュールは、処理対象のエントリの受信側履歴管理表への登録は行わない。
外部履歴データに含まれる履歴データを示す各エントリに対してステップ69071からステップ69075までの処理を終えた後、受信側モジュールは、プラン実行履歴交換処理を終了する。
本実施形態に係る管理サーバ30000は、図19のステップ65070においてスコア値を算出する際、自ドメインにおいて得られた履歴データに加えて、プラン実行履歴交換処理によってプラン実行履歴管理表33950に登録された履歴データ、すなわち他のドメインの管理サーバ30000から受信した履歴データをも利用してスコア値を算出する。なお、管理サーバ30000は、他のドメインの管理サーバ30000から受信した履歴データを、自ドメインにおいて得られた履歴データと同様に扱ってスコア値を算出してもよいし、他のドメインの管理サーバ30000から受信した履歴データと自ドメインにおいて得られた履歴データとを区別してスコア値を算出してもよい。また、管理サーバ30000は、複数の他のドメインの管理サーバ30000のうちの特定の管理サーバ30000、例えば、運用形態が異なるドメインの管理サーバ30000から受信した履歴データについては、スコア値の算出に利用しないようにしてもよい。
図30は、第3の実施形態に係るプラン提示画面の一例の構成図である。
第3の実施形態に係るプラン提示画面は、第1の実施形態に係るプラン提示画面(図20)の表示領域71010に、さらに、展開プランごとにその展開プランについての実行履歴に関するデータが表示される。実行履歴に関するデータには、例えば、自ドメインにおいて得られた実行履歴と他のドメインの管理サーバ30000から受信した実行履歴とを含めた実行履歴の総数、実行履歴の総数のうちの他のドメインの管理サーバ30000から受信した実行履歴の数、及び、実行履歴を送信した他のドメインの管理サーバ30000の数が含まれる。例えば、1番目の展開プラン(「#」が「1」の展開プラン)についての実行履歴に関するデータから、この展開プランが全部で100回実行されており、そのうちの20回が他の3つのドメインにおいて実行されていることが分かる。なお、実行履歴に関するデータには、例えば、提示されている展開プランが具体的にどのドメインの管理サーバ30000で実行されたかを示す情報が含まれてもよい。図30は、プラン提示画面の一例であり、実行履歴の内訳がどの程度であるかを管理者が理解できる画面であれば、表示形態は図30が示す形態に限られない。
第3の実施形態によれば、管理サーバ30000は、自ドメインにおいて得られた履歴データに加えて、他のドメインの管理サーバ30000から受信した履歴データをも利用して展開プランをスコア付けする。管理サーバ30000は、障害原因についての確信度とスコア値とに応じて、自動的な対処が可能かどうかを判断し、可能な場合はスコア値の最も高い展開プランを自動的に実行することで障害回復を行うことができる。なお、管理サーバ30000は、展開プランを自動的に実行する前に管理者からの承認を得てもよい。また、自動的な対処が不可能な場合は、管理サーバ30000は、障害原因に対する複数の展開プランを示すデータを、スコア値が高い展開プランから順に並べて表示して管理者に提示する。これにより、管理サーバ30000又は管理者は、自ドメインにおいて得られた履歴データだけではなく他のドメインで得られた履歴データをも利用して算出されたスコア値に基づき、過去の実績に応じて適切な展開プランを迅速に選択できるようになり、障害回復のための運用管理コストを削減できる。
なお、本発明は、以上説明した実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
10000:ホストコンピュータ
20000:ストレージ装置
30000:管理サーバ
35000:WEBブラウザ起動サーバ
40000:IPスイッチ
45000:通信ネットワーク
20000:ストレージ装置
30000:管理サーバ
35000:WEBブラウザ起動サーバ
40000:IPスイッチ
45000:通信ネットワーク
Claims (15)
- 複数の管理対象デバイスを有する計算機システムの管理を行う管理システムを構成するコンピュータに、
前記複数の管理対象デバイスのいずれかに関する原因イベントと、前記原因イベントが原因となることの条件となる、前記複数の管理対象デバイスのいずれかに関する1以上の条件イベントとの対応関係を示す1以上のルールに基づいて、前記複数の管理対象デバイスのいずれかで発生したイベントの原因解析を行わせ、前記発生したイベントの原因の候補となる第1の原因イベントを特定し、
前記ルールと、前記ルールの原因イベントが原因である場合に実施し得る回復策であるプランとの対応関係を示すプラン情報に基づいて、前記第1の原因イベントが原因である場合に実施し得る複数の第1のプランを特定し、
前記プランが実施されるごとに、当該プランの実施による障害回復の成否を示すプラン履歴情報に基づいて、前記複数の第1のプランのそれぞれについて、当該プランを実施した場合の障害回復に成功する可能性を示す指標値を計算し、
前記指標値に基づいて決定した表示形態に従って、前記複数の第1のプランのうちのいずれか1以上のプランを示すデータを表示する
ことを実行させる管理プログラム。 - 前記複数の第1のプランの中から、前記指標値が所定値以上の1以上のプランを抽出させ、当該抽出した1以上のプランを示すデータを表示する
ことを前記コンピュータに実行させる請求項1に記載の管理プログラム。 - 前記抽出した1以上のプランを前記指標値が高いプランから順に並べて表示する
ことを前記コンピュータに実行させる請求項2に記載の管理プログラム。 - 前記発生したイベントの原因解析において、1以上のルールのそれぞれの原因イベントについて、当該原因イベントが原因であることの確からしさを示す確信度を計算し、前記確信度に基づいて前記第1の原因イベントを特定し、
前記第1の原因イベントについての前記確信度が所定値以上である場合に、前記複数の第1のプランのうちの前記指標値が最も高い第2のプランを実施する
ことを前記コンピュータに実行させる請求項3に記載の管理プログラム。 - 前記第1の原因イベントについての前記確信度が所定値以上であり、且つ、前記第2のプランについての前記指標値が所定値以上である場合に、前記第2のプランを実施する
ことを前記コンピュータに実行させる請求項4に記載の管理プログラム。 - 前記複数の第1のプランのうちの一のプランが実施された後、前記一のプランの実施による障害回復の成否を示すデータを前記プラン履歴情報に追加する
ことを前記コンピュータに実行させる請求項5に記載の管理プログラム。 - 前記プラン履歴情報は、過去に原因の候補と特定された原因イベントを含むルールと、当該ルールの原因イベントが原因の候補と特定された際に実施されたプランと、当該プランの実施による障害回復の成否とを対応付けて示す履歴要素を複数含み、
前記コンピュータに、
前記プラン情報、及び前記プラン履歴情報に基づいて、1以上のルールのうちの一のルールと当該ルールに対応する一のプランとの組み合わせごとに、当該組み合わせに関する履歴要素が、前記プラン履歴情報に所定数以上含まれているか否かを判定し、
履歴要素が所定数以上含まれていない組み合わせについて、当該組み合わせを構成するルールの原因イベントを原因とする障害状況下において、当該組み合わせを構成するプランを実施するテストを行ない、当該テストの結果に基づく当該組み合わせに関する履歴要素を生成し、生成した履歴要素を前記プラン履歴情報に追加する
ことを実行させる請求項6に記載の管理プログラム。 - 前記プラン履歴情報は、過去に原因の候補と特定された原因イベントを含むルールと、当該ルールの原因イベントが原因の候補と特定された際に実施されたプランと、当該プランの実施による障害回復の成否とを対応付けて示す履歴要素を複数含み、
前記コンピュータに、
前記プラン履歴情報に含まれる第1の履歴要素が示すルールと前記第1の履歴要素が示すプランとの組み合わせに関する履歴要素が、前記プラン履歴情報に所定数以上含まれている場合、当該組み合わせに関する履歴要素を含むデータを、前記計算機システムとは異なる計算機システムを管理する管理システムへ送信し、
前記計算機システムとは異なる計算機システムを管理する管理システムから履歴要素を含むデータを受信した場合、前記受信したデータに含まれる履歴要素を前記プラン履歴情報に追加する、
ことを実行させる請求項7に記載の管理プログラム。 - 前記ルールには、前記原因イベント及び前記条件イベントに関係する管理対象デバイスを当該管理対象デバイスの種別で表した汎用ルールと、前記原因イベント及び前記条件イベントに関係する管理対象デバイスの種別を特定の管理対象デバイスを示すデータで表した展開ルールとがあり、
前記プランには、前記計算機システムの実構成に依存しない形式の回復策である汎用プランと、前記汎用プランを前記計算機システムの実構成を考慮して展開した回復策である展開プランとがあり、
前記プラン情報は、前記汎用ルールと、前記汎用ルールの原因イベントが原因である場合に実施し得る汎用プランとの対応関係を示し、
前記プラン履歴情報は、前記展開プランが実施されるごとに、当該展開プランの実施による障害回復の成否を示し、過去に原因の候補と特定された原因イベントを含む展開ルールと、当該展開ルールの原因イベントが原因の候補と特定された際に実施された展開プランと、当該展開プランの実施による障害回復の成否とを対応付けて示す履歴要素を複数含み、
前記コンピュータに、
前記複数の管理対象デバイス間の接続関係を示す接続情報、及び前記汎用ルールに基づいて、前記展開ルールを複数生成し、
前記発生したイベントの原因解析において、前記生成した複数の展開ルールのそれぞれの原因イベントについて計算した前記確信度に基づいて、前記第1の原因イベントを特定し、
前記プラン情報に基づいて、前記第1の原因イベントを含む展開ルールの基となる汎用ルールに対応する汎用プランを特定し、当該特定した汎用プランを展開することにより生成した複数の展開プランのそれぞれを前記第1のプランとして特定する
ことを実行させる請求項8に記載の管理プログラム。 - 複数の管理対象デバイスを有する計算機システムの管理を行う管理システムであって、
記憶デバイスと、
前記記憶デバイスに接続された制御デバイスと
を有し、
前記記憶デバイスは、
前記複数の管理対象デバイスのいずれかに関する原因イベントと、前記原因イベントが原因となることの条件となる、前記複数の管理対象デバイスのいずれかに関する1以上の条件イベントとの対応関係を示す1以上のルールと、
前記ルールと、前記ルールの原因イベントが原因である場合に実施し得る回復策であるプランとの対応関係を示すプラン情報と、
前記プランが実施されるごとに、当該プランの実施による障害回復の成否を示すプラン履歴情報と
を記憶し、
前記制御デバイスは、
前記1以上のルールに基づいて、前記複数の管理対象デバイスのいずれかで発生したイベントの原因解析を行い、前記発生したイベントの原因の候補となる第1の原因イベントを特定し、
前記プラン情報に基づいて、前記第1の原因イベントが原因である場合に実施し得る複数の第1のプランを特定し、
前記プラン履歴情報に基づいて、前記複数の第1のプランのそれぞれについて、当該プランを実施した場合の障害回復に成功する可能性を示す指標値を計算し、
前記指標値に基づいて決定した表示形態に従って、前記複数の第1のプランのうちのいずれか1以上のプランを示すデータを表示する
管理システム。 - 前記制御デバイスは、前記複数の第1のプランのうちのいずれか1以上のプランを前記指標値が高いプランから順に並べて表示する
請求項10に記載の管理システム。 - 前記制御デバイスは、
前記発生したイベントの原因解析において、1以上のルールのそれぞれの原因イベントについて、当該原因イベントが原因であることの確からしさを示す確信度を計算し、前記確信度に基づいて前記第1の原因イベントを特定し、
前記第1の原因イベントについての前記確信度が所定値以上である場合に、前記複数の第1のプランのうちの前記指標値が最も高いプランを実施する
請求項10に記載の管理システム。 - 前記プラン履歴情報は、過去に原因の候補と特定された原因イベントを含むルールと、当該ルールの原因イベントが原因の候補と特定された際に実施されたプランと、当該プランの実施による障害回復の成否とを対応付けて示す履歴要素を複数含み、
前記制御デバイスは、
前記プラン情報、及び前記プラン履歴情報に基づいて、1以上のルールのうちの一のルールと当該ルールに対応する一のプランとの組み合わせごとに、当該組み合わせに関する履歴要素が、前記プラン履歴情報に所定数以上含まれているか否かを判定し、
履歴要素が所定数以上含まれていない組み合わせについて、当該組み合わせを構成するルールの原因イベントを原因とする障害状況下において、当該組み合わせを構成するプランを実施するテストを行い、当該テストの結果に基づく当該組み合わせに関する履歴要素を生成し、生成した履歴要素を前記プラン履歴情報に追加する
請求項10に記載の管理システム。 - 前記プラン履歴情報は、過去に原因の候補と特定された原因イベントを含むルールと、当該ルールの原因イベントが原因の候補と特定された際に実施されたプランと、当該プランの実施による障害回復の成否とを対応付けて示す履歴要素を複数含み、
前記制御デバイスは、
前記プラン履歴情報に含まれる第1の履歴要素が示すルールと前記第1の履歴要素が示すプランとの組み合わせに関する履歴要素が、前記プラン履歴情報に所定数以上含まれている場合、当該組み合わせに関する履歴要素を含むデータを、前記計算機システムとは異なる計算機システムを管理する管理システムへ送信し、
前記計算機システムとは異なる計算機システムを管理する管理システムから履歴要素を含むデータを受信した場合、当該受信したデータに含まれる履歴要素を前記プラン履歴情報に追加する
請求項10に記載の管理システム。 - 前記ルールは、前記原因イベント及び前記条件イベントに関係する管理対象デバイスを当該管理対象デバイスの種別で表した汎用ルールであり、
前記プラン情報は、前記汎用ルールと、前記汎用ルールの原因イベントが原因である場合に実施し得る回復策であって前記計算機システムの実構成に依存しない形式の回復策である汎用プランとの対応関係を示し、
前記プラン履歴情報は、前記汎用プランを前記計算機システムの実構成を考慮して展開した回復策である展開プランが実施されるごとに、当該展開プランの実施による障害回復の成否を示し、
前記記憶デバイスは、前記複数の管理対象デバイス間の接続関係を示す接続情報をさらに記憶し、
前記制御デバイスは、
前記接続情報及び前記汎用ルールに基づいて、前記原因イベント及び前記条件イベントに関係する管理対象デバイスの種別を特定の管理対象デバイスを示すデータで表した複数の展開ルールを生成し、
前記発生したイベントの原因解析において、1以上の汎用ルールに基づいて生成した複数の展開ルールに基づいて、前記第1の原因イベントを特定し、
前記プラン情報に基づいて、前記第1の原因イベントを含む展開ルールの基となる汎用ルールに対応する汎用プランを特定し、当該特定した汎用プランを展開することにより生成した複数の展開プランのそれぞれを前記第1のプランとして特定する
請求項10に記載の管理システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/060506 WO2014162595A1 (ja) | 2013-04-05 | 2013-04-05 | 管理システム及び管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014162595A1 true JPWO2014162595A1 (ja) | 2017-02-16 |
JP6114818B2 JP6114818B2 (ja) | 2017-04-12 |
Family
ID=51657921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015509840A Active JP6114818B2 (ja) | 2013-04-05 | 2013-04-05 | 管理システム及び管理プログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US9619314B2 (ja) |
EP (1) | EP2887222B1 (ja) |
JP (1) | JP6114818B2 (ja) |
CN (1) | CN104583968B (ja) |
IN (1) | IN2015DN01974A (ja) |
WO (1) | WO2014162595A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346862B2 (en) | 2013-10-08 | 2019-07-09 | Accenture Global Solutions Limited | Migration system to migrate users to target services |
US9516119B2 (en) * | 2013-10-08 | 2016-12-06 | Accenture Global Services Limited | Service provider network migration |
US9703624B2 (en) * | 2015-10-12 | 2017-07-11 | Bank Of America Corporation | Event correlation and calculation engine |
US10235227B2 (en) | 2015-10-12 | 2019-03-19 | Bank Of America Corporation | Detection, remediation and inference rule development for multi-layer information technology (“IT”) structures |
US9578063B1 (en) * | 2015-11-20 | 2017-02-21 | International Business Machines Corporation | Application self-service for assured log management in cloud environments |
CN105867289A (zh) * | 2016-04-07 | 2016-08-17 | 高必红 | 一种堆料机抱闸故障的分析处理方法 |
US10346201B2 (en) * | 2016-06-15 | 2019-07-09 | International Business Machines Corporation | Guided virtual machine migration |
US10289854B1 (en) * | 2016-09-23 | 2019-05-14 | Amdocs Development Limited | Apparatus, computer program, and method for generating an intermediate entitlement specification for controlling access to service or content |
US10355913B2 (en) * | 2017-05-04 | 2019-07-16 | Servicenow, Inc. | Operational analytics in managed networks |
US11210158B2 (en) * | 2017-11-29 | 2021-12-28 | Riverbed Technology, Inc. | Automated problem diagnosis on logs using anomalous telemetry analysis |
JP6684850B2 (ja) * | 2018-05-16 | 2020-04-22 | 株式会社日立製作所 | 分散台帳システム、分散台帳サブシステム、および、分散台帳ノード |
JP2020071570A (ja) * | 2018-10-30 | 2020-05-07 | ファナック株式会社 | データ作成装置、デバッグ装置、データ作成方法及びデータ作成プログラム |
US11194591B2 (en) | 2019-01-23 | 2021-12-07 | Salesforce.Com, Inc. | Scalable software resource loader |
US10802944B2 (en) * | 2019-01-23 | 2020-10-13 | Salesforce.Com, Inc. | Dynamically maintaining alarm thresholds for software application performance management |
US10922095B2 (en) | 2019-04-15 | 2021-02-16 | Salesforce.Com, Inc. | Software application performance regression analysis |
US10922062B2 (en) | 2019-04-15 | 2021-02-16 | Salesforce.Com, Inc. | Software application optimization |
CN110516931A (zh) * | 2019-08-12 | 2019-11-29 | 国家电网公司华东分部 | 多维度调控交互模式与全事件优化聚合的方法和存储介质 |
JP7077285B2 (ja) * | 2019-09-19 | 2022-05-30 | ヤフー株式会社 | 表示制御装置、表示制御方法および表示制御プログラム |
JP6882802B1 (ja) * | 2020-01-21 | 2021-06-02 | 株式会社Eco‐Pork | 畜産情報管理システム、畜産情報管理サーバ、畜産情報管理方法、及び畜産情報管理プログラム |
US20210294713A1 (en) * | 2020-03-20 | 2021-09-23 | 5thColumn LLC | Generation of an identification evaluation regarding a system aspect of a system |
US11403165B2 (en) * | 2020-04-29 | 2022-08-02 | Kyndryl, Inc. | Cognitive disaster recovery workflow management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0296201A (ja) * | 1988-09-30 | 1990-04-09 | Mazda Motor Corp | シーケンス制御方式機械装置の異常復旧装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5528516A (en) * | 1994-05-25 | 1996-06-18 | System Management Arts, Inc. | Apparatus and method for event correlation and problem reporting |
US7107185B1 (en) | 1994-05-25 | 2006-09-12 | Emc Corporation | Apparatus and method for event correlation and problem reporting |
US5680640A (en) | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
US6487677B1 (en) * | 1999-09-30 | 2002-11-26 | Lsi Logic Corporation | Methods and systems for dynamic selection of error recovery procedures in a managed device |
JP2003108377A (ja) * | 2001-10-01 | 2003-04-11 | Seiko Epson Corp | 知識ルール変換装置、エキスパートシステム、知識ルール変換プログラムおよびエキスパートシステムの構築方法 |
US7536370B2 (en) * | 2004-06-24 | 2009-05-19 | Sun Microsystems, Inc. | Inferential diagnosing engines for grid-based computing systems |
US7734945B1 (en) | 2005-04-29 | 2010-06-08 | Microsoft Corporation | Automated recovery of unbootable systems |
EP2998894B1 (en) * | 2005-07-11 | 2021-09-08 | Brooks Automation, Inc. | Intelligent condition monitoring and fault diagnostic system |
JP4896573B2 (ja) * | 2006-04-20 | 2012-03-14 | 株式会社東芝 | 障害監視システムと方法、およびプログラム |
CN101369241A (zh) * | 2007-09-21 | 2009-02-18 | 中国科学院计算技术研究所 | 一种机群容错系统、装置及方法 |
US8112378B2 (en) * | 2008-06-17 | 2012-02-07 | Hitachi, Ltd. | Methods and systems for performing root cause analysis |
JP5237034B2 (ja) | 2008-09-30 | 2013-07-17 | 株式会社日立製作所 | イベント情報取得外のit装置を対象とする根本原因解析方法、装置、プログラム。 |
US8069374B2 (en) * | 2009-02-27 | 2011-11-29 | Microsoft Corporation | Fingerprinting event logs for system management troubleshooting |
EP2455863A4 (en) * | 2009-07-16 | 2013-03-27 | Hitachi Ltd | MANAGEMENT SYSTEM FOR PROVIDING INFORMATION DESCRIBING A RECOVERY METHOD CORRESPONDING TO A FUNDAMENTAL CAUSE OF FAILURE |
CN101833497B (zh) * | 2010-03-30 | 2015-01-21 | 浪潮电子信息产业股份有限公司 | 一种基于专家系统方法的计算机故障管理系统 |
JP5419819B2 (ja) * | 2010-07-16 | 2014-02-19 | 株式会社日立製作所 | 計算機システムの管理方法、及び管理システム |
US20120030346A1 (en) * | 2010-07-29 | 2012-02-02 | Hitachi, Ltd. | Method for inferring extent of impact of configuration change event on system failure |
JP5432867B2 (ja) * | 2010-09-09 | 2014-03-05 | 株式会社日立製作所 | 計算機システムの管理方法、及び管理システム |
JP5658417B2 (ja) * | 2012-02-27 | 2015-01-28 | 株式会社日立製作所 | 監視システム及び監視プログラム |
WO2014033945A1 (ja) * | 2012-09-03 | 2014-03-06 | 株式会社日立製作所 | 複数の監視対象デバイスを有する計算機システムの管理を行う管理システム |
GB2524434A (en) * | 2013-09-18 | 2015-09-23 | Hitachi Ltd | Management system for managing computer system and management method thereof |
-
2013
- 2013-04-05 JP JP2015509840A patent/JP6114818B2/ja active Active
- 2013-04-05 IN IN1974DEN2015 patent/IN2015DN01974A/en unknown
- 2013-04-05 WO PCT/JP2013/060506 patent/WO2014162595A1/ja active Application Filing
- 2013-04-05 US US14/427,958 patent/US9619314B2/en active Active
- 2013-04-05 CN CN201380045071.7A patent/CN104583968B/zh active Active
- 2013-04-05 EP EP13880796.1A patent/EP2887222B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0296201A (ja) * | 1988-09-30 | 1990-04-09 | Mazda Motor Corp | シーケンス制御方式機械装置の異常復旧装置 |
Non-Patent Citations (1)
Title |
---|
永井崇之ほか: "ITシステム向け障害対処プラン自動生成システムの検討", 電子情報通信学会技術研究報告, vol. 112, no. 492, JPN6016036344, 7 March 2013 (2013-03-07), JP, pages 125 - 130, ISSN: 0003402666 * |
Also Published As
Publication number | Publication date |
---|---|
IN2015DN01974A (ja) | 2015-08-14 |
WO2014162595A1 (ja) | 2014-10-09 |
EP2887222A1 (en) | 2015-06-24 |
US20160004582A1 (en) | 2016-01-07 |
JP6114818B2 (ja) | 2017-04-12 |
US9619314B2 (en) | 2017-04-11 |
CN104583968A (zh) | 2015-04-29 |
CN104583968B (zh) | 2017-08-04 |
EP2887222B1 (en) | 2020-07-15 |
EP2887222A4 (en) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6114818B2 (ja) | 管理システム及び管理プログラム | |
JP5719974B2 (ja) | 複数の監視対象デバイスを有する計算機システムの管理を行う管理システム | |
JP5684946B2 (ja) | イベントの根本原因の解析を支援する方法及びシステム | |
US10599506B2 (en) | Methods and systems for identifying action for responding to anomaly in cloud computing system | |
US9130850B2 (en) | Monitoring system and monitoring program with detection probability judgment for condition event | |
US10489232B1 (en) | Data center diagnostic information | |
JP5432867B2 (ja) | 計算機システムの管理方法、及び管理システム | |
JP6009089B2 (ja) | 計算機システムを管理する管理システム及びその管理方法 | |
JP6190468B2 (ja) | 管理システム、プラン生成方法、およびプラン生成プログラム | |
US20160188373A1 (en) | System management method, management computer, and non-transitory computer-readable storage medium | |
US10360614B1 (en) | Assessing and rating deployments of resources | |
US9021078B2 (en) | Management method and management system | |
JP5419819B2 (ja) | 計算機システムの管理方法、及び管理システム | |
JP6722345B2 (ja) | 予兆検知装置及び予兆検知方法 | |
US20160004584A1 (en) | Method and computer system to allocate actual memory area from storage pool to virtual volume | |
JP5993052B2 (ja) | 複数の監視対象デバイスを有する計算機システムの管理を行う管理システム | |
Shahab et al. | Fault Tolerance in Service Function Chains: A Taxonomy, Survey and Future Directions | |
Luo | Cost-Based Automatic Recovery Policy in Data Centers | |
Wang | Reliability Assessment for Cloud Applications | |
US20170124470A1 (en) | Sequence of causes estimation device, sequence of causes estimation method, and recording medium in which sequence of causes estimation program is stored |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170317 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6114818 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |