説明

情報処理システム運用管理装置、運用管理方法及び運用管理プログラム

【課題】
並列分散処理システム、例えばMapReduce方式のように、複数の情報処理装置から取得した監視データを基に障害検知を行おうとしても、どの装置の間に相関関係が生じるかが事前に決定できない。また、稼働中に相関関係が生じる組み合わせが変化するようなシステムにおいて、障害の検知を行う。
【解決手段】
複数の情報処理装置が協調して動作する情報処理システムを運用管理する情報処理システム運用管理装置であって、前記情報処理装置を、その特性によって分類し、2つの前記情報処理装置の間の典型的な関係を各々の前記特性の組をキーとして記憶し、記憶された前記典型的な関係を用いて前記情報処理装置の状態を判定する。

【発明の詳細な説明】
【技術分野】
【0001】
情報処理システムの運用管理装置、運用管理方法及び運用管理プログラムに関し、特にシステムの稼働状況を監視し、システムの障害の発生を検知する情報処理システムの運用管理装置、運用管理方法及び運用管理プログラムに関する。
【背景技術】
【0002】
近年、情報処理システムが企業活動や社会インフラの基盤としてますます重要な位置を占めるようになるにつれ、高い処理能力と高い信頼性を兼備した情報処理システムへの要請はかつてないほど高くなっている。
【0003】
そうした高度な情報処理システムの実現様態として、多数の情報処理装置をデータセンタ等に設置し、それらを協調動作させることによってシステムとしての目的を達成せしめる並列分散処理システムが普及しつつある。
【0004】
こうした並列分散処理システムを運用管理するにあたって課題となるのは、システムで発生する障害の検知と対応である。多数の情報処理装置の協調により動作するという特性上、装置の障害の発生はシステム全体の動作に影響を及ぼす。多くのシステムは、このような障害の発生に対する耐性を具備しており、システム全体の停止は回避されるが、それでも性能の劣化や資源の利用効率の低下は避けられない。また、システムが大規模になり、使用する装置の数が増加するに従い、装置の障害発生の頻度は看過できないほどに大きくなる。
【0005】
こうした障害発生の検知に関わる背景技術として、例えば特許文献1では、「複数の情報処理装置が協調して動作する情報処理システムの性能を監視する性能運用管理装置であって、前記複数の情報処理装置の稼働状況、及び、前記複数の情報処理装置間を接続する各通信回線のデータ通信状況を監視する監視手段と、前記監視手段による監視データに基づいて、前記情報処理システムに現在発生している障害を検知」する装置が開示されている。
【0006】
また非特許文献1では、仮想化されたシステムにおいて、あるアプリケーションが動作する複数のインスタンスの間で計測データの相関関係を抽出し、その相関の低下によって障害の発生を検知する方法が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−327261号公報
【非特許文献】
【0008】
【非特許文献1】Hui Kang, Haifeng Chen, and Guofei Jiang. 2010、 PeerWatch: a fault detection and diagnosis tool for virtualized consolidation systems、 In Proceeding of the 7th international conference on Autonomic computing (ICAC '10). ACM, New York, NY, USA, 119-128.
【発明の概要】
【発明が解決しようとする課題】
【0009】
さて、前述のような並列分散処理システムが普及した理由として、情報処理装置の低廉化により大量に設置、運用が可能になったこと、それら装置の単体性能が著しく向上したことが挙げられる。加えて、そうした情報処理装置の群をひとまとまりとして協調動作させ(こうした群をクラスタと呼称する)、任意の目的のシステムとして活用せしめるにあたり必要となるソフトウェアを、容易に記述できるプログラミング技法が開発されたことが挙げられる。
【0010】
そうした技法のひとつがMapReduce方式である。MapReduce方式においては、ジョブを多数のタスクに分割し、それぞれのタスクを、クラスタを構成する多数の情報処理装置に分散させて実行するため、並列効果により大幅な実行時間の短縮を期待できる。また、タスクを大きくMapタスクとReduceタスクの2種類に分割し、複数のMapタスク、あるいは複数のReduceタスクそれぞれの間に、処理対象とするデータの相互依存をなくすようになっているため、タスク間の処理の同期を明示してプログラミングする必要がなくなり、タスクスケジューリングを簡素化したのも特徴である。 このMapReduce方式を活用することで、並列分散処理を活用した多種多様な応用システムが実現可能となり、例えば公共交通機関における電子乗車券の使用履歴から得られるデータを活用した人流分析や、送配電網上に設置されたセンサから得られる電力消費量データを活用した電力需要分析等の応用が考えられる。
【0011】
並列分散処理システムにおいては、情報処理装置の障害の発生が、システム全体の動作に影響を及ぼすことは前に述べた。MapReduce方式は、こうした状況への対策としても有効である。クラスタを構成する情報処理装置のうちひとつに障害が発生し、当該装置で実行中であったタスクが正常に終了しなかったとしよう。その場合でも、別の装置で同じタスクを再実行することで、ジョブ全体の実行は停止させずに完遂することができる。これは、MapReduce方式においてはタスク間の相互依存が最小限にとどめられているため、一つのタスクを再実行しても、他のタスクへの影響が極めて少ないためである。
【0012】
しかしながら、かかる特性を備えたMapReduce方式のクラスタにおいても、障害の発生を完全に無視できるわけではない。タスク間の相互依存が極小化されているとは言え、タスクの再実行はジョブ全体の実行を遅延せしめる。
【0013】
また、ある種の障害によっては、タスクが異常終了しないまでも、その実行が本来期待されるものより遅延するという事態が発生しうる。これは例えば、情報処理装置でのスラッシングといった現象の発生によるものがある。このような場合、MapReduce方式では、こうしたタスクの実行遅延が発生していることを認識し、同じタスクを別の装置でも実行を開始する。こうした処理を投機的実行と呼称し、開始されるタスクをバックアップタスクと呼ぶ。そして、より先に正常に実行が終了したタスクの出力を処理結果として採用し、そのタスクより遅延しているタスクは強制終了させる。
【0014】
こうしたバックアップタスク方式は一定の有効性を持つが、それでもなおジョブ全体の実行が遅延することには変わりはない。
【0015】
また、タスクの異常終了であれ実行遅延であれ、こうした障害が頻発する情報処理装置は、計算資源の浪費を引き起こすものであり、早急に修理・交換を行うことが求められる。
【0016】
よって、MapReduce方式を採用した並列分散処理システムを対象とした障害検知の方法が必要となるが、公知の方法では必ずしも十全とは言えない。
【0017】
例えば前記特許文献1にて開示される発明においては、複数の情報処理装置から、それぞれ複数種類の監視データを取得し、そこから相関関係を算出することで障害の発生を検知する技術が開示されている。しかし、そうした相関関係を抽出すべき監視データをいかに選択するか、その指針は示していない。該文献に例示されている監視データは、DBサーバにおけるトランザクションのスループットとディスクI/O量といったように、監視対象であるシステムの構成やダイナミクスについて一定の知識を有する者であれば、そこに相関が存在することを見出せるものであるが、つまり障害監視を実行するにあたって、当該システムについてのアプリオリな知識を必要とするものである。
【0018】
しかるに前述のようなMapReduce方式の並列分散処理システムにてこの発明を適用しようとすると困難に直面するであろう。なぜならば、MapReduce方式においては、ジョブをタスクに分割した後、どのタスクをどの情報処理装置で実行するかは実行時にならないと決定しないからである。この性質ゆえに、MapReduce方式はタスクスケジューリングの柔軟さと計算資源の利用効率の向上という利点を得ることができたのであるが、上記のような監視データを基にした障害検知技術の適用を図ろうとすると、どの装置間で相関関係を算出すればよいのか判然としないという問題がある。
【0019】
また、プログラミング技法としてのMapReduce方式の利点が、容易に多種多様な並列分散ソフトウェアを構築しうるという点にあるのであれば、MapReduce方式の並列分散処理システムは特定少数の応用システムのためのみならず、多様な応用システムのアプリケーションに供用されることも考えられる。その場合、当該クラスタが実行するジョブは、プロセッサ資源を多用するもの、ディスクI/Oを多用するもの等の特質の差異が生じ、装置にもたらす負荷も多様になるであろう。この結果、上記のようなアプローチによる障害検知技術の適用を図ろうとすると、装置から取得しうる多数の監視データの中から、相関関係算出の対象とすべきものを抽出することが困難となるという問題がある。
【0020】
さらに、並列分散処理システムが有効に活用されればされるほどに、その規模を拡大するために、新たな情報処理装置が追加導入されることであろう。その結果、近年のように装置の性能面での進歩が急速な時代においては、クラスタを構成する情報処理装置のそれぞれについて、その具備する計算資源が不均一なものとなると考えられる。この点もまた、上記のようなアプローチによる障害検知技術の適用を困難とする。
【0021】
すなわち、監視データの相関関係を分析することによって障害検知を行うというアプローチでは、どの情報処理装置の、どの監視データを選択しペアとして分析すべきかという問題に対して回答する必要がある。
【0022】
例えば、前記非特許文献1にて開示される技術においては、正準相関分析(Canonical Correlation Analysis)という統計手法を活用することで、多様な監視データをひとまとまりとして分析の対象としている。この方法は、装置の監視データからどれを選択するかという課題を解決する一例である。しかしながら、前記のような、どの装置の間で相関があるとみなすべきかを判断する問題に対する解とはなっていない。
【0023】
このように、公知の技術は、並列分散処理システムにおいて障害検知が重要であるにもかかわらず対応できていない。例えば、MapReduce方式のクラスタのように、複数の情報処理装置でそれぞれ取得した監視データを基に障害検知を行おうとしても、どの装置の間に相関関係が生じるかが事前に決定せず、またシステムの稼働中に相関関係が生じる組み合わせが変化するようなシステムに対応できていない。
【0024】
そこで、並列分散処理システムにおいて、障害検知を行う方法、プログラム、装置、システムを提供する。これは例えば、ジョブの多様性や、ジョブの実行スケジューリングの非決定性や、稼働中のシステム構成の変更にも関わらず、障害検知を行うものである。
【課題を解決するための手段】
【0025】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
【0026】
本願は上記課題を解決する手段を複数含んでいるが、その一例は以下のような構成を有する。
ジョブを複数の情報処理装置で協調して実行する情報処理システムの運用管理装置であって、運用管理装置は、複数の情報処理装置各々から情報を取得するデータ収集部と、複数の情報処理装置に関するデータを記憶する記憶部と、記憶部に記憶されたデータを用いて複数の情報処理装置の状態を評価する評価部を有する。複数の情報処理装置は各々、所定の複数の特性の内のいずれか一の特性を有しており、
データ収集部は、複数の情報処理装置各々から性能情報を取得して前記記憶部に格納する。記憶部は更に、二の情報処理装置がとり得る特性の組み合わせ各々について、当該二の情報処理装置の性能情報の相関関係についての閾値を記憶している。評価部は、複数の情報処理装置のうち一の評価対象の情報処理装置について当該評価対象の情報処理装置の状態を評価する場合に、当該評価対象の情報処理装置以外の複数の情報処理装置各々について、当該評価対象の情報処理装置との性能情報の相関値を算出すると共に当該評価対象の情報処理装置との特性の組み合わせを特定し、特定された特性の組み合わせについて記憶部に格納されている閾値と算出された相関値とを比較し、比較の結果に基づいて評価対象の情報処理装置の状態を評価する。
【発明の効果】
【0027】
並列分散処理システムにおいて障害検知が可能となる。例えば、多様なジョブが実行される並列分散処理システムにおいても、障害検知が可能となる。
【0028】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0029】
【図1】情報処理装置の構成の一例を示す図である。
【図2】並列分散処理システムの全体構成の一例を示す図である。
【図3】MapReduceクラスタの構成の一例を示す図である。
【図4】MapReduce方式の処理の実行フローの一例を示す図である。
【図5】タスクトラッカのスロット数の概念の一例を示す図である。
【図6A】監視エージェントの構成の一例を示す図である。
【図6B】監視エージェントの処理手順の一例を示す図である。
【図7A】監視マネージャの構成の一例を示す図である。
【図7B】監視エージェントの処理手順の一例を示す図である。
【図8】監視マネージャのデータベースが格納しているテーブル群の一例を示す図である。
【図9】管理対象ホスト一覧テーブルの一例を示す図である。
【図10A】OS性能情報を格納するテーブルの一例であるプロセッサ性能情報テーブルの例を示す図である。
【図10B】OS性能情報を格納するテーブルの一例であるメモリ性能情報テーブルの例を示す図である。
【図10C】OS性能情報を格納するテーブルの一例であるディスク性能情報テーブルの例を示す図である。
【図11A】MapReduceスケジューリング情報の例であるジョブリストの一例を示す図である。
【図11B】MapReduceスケジューリング情報の例であるタスクリストの一例を示す図である。
【図11C】MapReduceスケジューリング情報の例であるアテンプトリストの一例を示す図である。
【図11D】MapReduceスケジューリング情報の例であるデータ転送トレースの一例を示す図である。
【図12】稼働状況評価処理手順の一例を示す図である。
【図13】仮想グループ生成の処理手順の一例を示す図である。
【図14A】仮想グループテーブルの一例を示す図である。
【図14B】仮想グループノード一覧テーブルの例を示す図である。
【図15】仮想グループの概念の一例を示す図である。
【図16】ノード特性判定の処理手順の一例を示す図である。
【図17A】ノード特性判定に用いるテーブルの例を示す図である。
【図17B】ノード特性判定に用いるテーブルの他の例を示す図である。
【図17C】ノード特性判定に用いるテーブルの設定に用いる画面表示の一例を示す図である。
【図18】クラスタマップ生成の処理手順の一例を示す図である。
【図19】クラスタマップテーブルの一例を示す図である。
【図20】クラスタマップの概念の一例を示す図である。
【図21】ノード性能行列生成の処理手順の一例を示す図である。
【図22】ノード性能行列テーブルの一例を示す図である。
【図23】相関算出の処理手順の一例を示す図である。
【図24】ジョブプロファイルテーブルの一例を示す図である。
【図25】イベント通知の処理手順の一例を示す図である。
【図26】イベント通知の画面表示の一例を示す図である。
【図27】管理対象ホスト稼働状況表示の処理手順の一例を示す図である。
【図28A】監視コンソールの画面表示の一例を示す図である。
【図28B】監視コンソールの画面表示の他の一例を示す図である。
【図29A】監視コンソールの画面表示の一例を示す図である。
【図29B】監視コンソールの画面表示の他の一例を示す図である。
【図30】第2の実施形態による並列分散処理システムの全体構成の一例を示す図である。
【図31】第2の実施形態による監視マネージャとリモートモニタの構成の一例を示す図である。
【図32】第3の実施形態によるノード性能行列生成の処理手順の一例を示す図である。
【図33】第3の実施形態による管理対象ホスト一覧テーブルの一例を示す図である。
【図34A】第4の実施形態によるジョブプロファイルテーブルの一例を示す図である。
【図34B】第4の実施形態による分析アルゴリズムテーブルの一例を示す図である。
【図35】第4の実施形態による相関算出の処理手順の一例を示す図である。
【図36】第4の実施形態による分析アルゴリズム設定に用いる画面表示の一例を示す図である。
【図37A】第4の実施形態による分析アルゴリズム自動判定方法の概念の一例を示す図である。
【図37B】第4の実施形態による分析アルゴリズム自動判定方法の概念の他の一例を示す図である。
【図38】第4の実施形態による分析アルゴリズム自動判定の処理手順の一例を示す図である。
【図39】第4の実施形態による障害検知方法の概念の一例を示す図である。
【発明を実施するための形態】
【0030】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、以後説明される図面においては、同一部には同一符号を付し、その繰り返しの説明は省略または簡略化される。
【実施例1】
【0031】
まず、第一の実施例として、障害検知の機能を備えるシステム運用管理装置の例を説明する。
【0032】
図1は、情報処理装置の構成の一例を示す図である。
【0033】
情報処理装置100はプロセッサ101、メモリ102、ストレージ103、ネットワークI/F104、コンソール105から構成されている。プロセッサ101はメモリ102、ストレージ103、ネットワークI/F104、コンソール105と接続されている。ネットワークI/F104は、ネットワーク106と接続されている。
【0034】
情報処理装置100は、例えばラックマウントサーバ、ブレードサーバ、パーソナルコンピュータ等である。また情報処理装置100は、プロセッサ101、メモリ102、ストレージ103、ネットワークI/F104、コンソール105を、いずれも複数を備えることがある。また、ストレージ103は、例えばハードディスクドライブ(HDD)や、ソリッドステートドライブ(SSD)等であり、またはこれらを複数台組み合わせたものである。また、ネットワーク106は、例えばイーサネット(登録商標)や、IEEE802.11規格に基づく無線ネットワーク等である。
【0035】
ストレージ103は、データを不揮発的に記録し、また読み出すことができる。ネットワークI/F104は、それが接続するネットワーク106を経由して、他の情報処理装置100が有するネットワークI/F104と通信することができる。コンソール105は、ディスプレイ装置を用いてテキスト情報、グラフィカル情報等を表示し、また接続されたヒューマンインタフェースデバイスから情報を受信することができる。
【0036】
情報処理装置100は、メモリ102にユーザプロセス200、オペレーティングシステム(OS)210を実装している。ユーザプロセス200、オペレーティングシステム210は、いずれもプログラムであって、情報処理装置100の有するプロセッサ101で実行され、これによって情報処理装置100はメモリ102やストレージ103へデータを読み書きし、ネットワークI/F104とネットワーク106を経由して、他の情報処理装置100のメモリ200に実装されているユーザプロセス200やオペレーティングシステム210と通信を行い、コンソール105に情報を表示し受信することができる。
【0037】
本実施例で示すシステム運用管理装置、あるいは並列分散処理システムは図1に示す情報処理装置100と同様の構成を有する。
【0038】
図2は、並列分散処理システムの全体構成の一例を示す図である。
【0039】
監視サーバ110、クライアント120、マスタノード130、ワーカノード140は、いずれも情報処理装置100にそれぞれ特徴のあるユーザプロセス200を実装したものである。例えば、監視サーバ110はユーザプロセスとして監視マネージャ201を実装する。クライアント120はユーザプロセスとして監視コンソール202を実装する。マスタノード130はユーザプロセスとしてジョブトラッカ203、ネームノード204、監視エージェント205を実装する。ワーカノード140はユーザプロセスとしてタスクトラッカ206、データノード207、監視エージェント205を実装する。また、これら情報処理装置は、ネットワーク106を経由して相互に通信が可能である。
【0040】
MapReduceクラスタ300は、マスタノード130の1台と、ワーカノード140の1台以上を含む。
【0041】
並列分散処理システムは、監視サーバ110、クライアント120を複数含むことがある。並列分散処理システムは、MapReduceクラスタ300を複数含むことがある。
【0042】
本実施例におけるシステム運用管理装置とは、監視サーバ110と監視マネージャ201に加えて、クライアント120と監視コンソール202、または監視エージェント205のいずれかまたは両方から構成される。監視サーバ110がクライアント120を兼ねることもありうる。情報処理装置とそこに実装されるユーザプロセスの対応関係には自由度があり、本実施例はその多数の組み合わせの中の一例であることは留意されたい。
【0043】
並列分散処理システムの運用管理担当者は、クライアント120が実装する監視コンソール202が、コンソール105を経由して表示する情報を基にして並列分散処理システムの監視を行う。また監視コンソール202は、運用管理担当者がコンソール105を経由して入力する情報を受信して監視マネージャに送信し、監視マネージャはその情報を基に動作を変更する。こうした、監視コンソールを介した運用管理担当者とシステム運用管理装置との相互作用の例は後述される。
【0044】
図3は、MapReduceクラスタ300を構成するマスタノード130とワーカノード140の関係の一例を示す図である。
【0045】
マスタノード130のジョブトラッカ203は、ジョブ301を実行する。ジョブ301は、1つ以上のタスク302の集合である。タスク302はユーザプロセス200の一様態であり、ワーカノード140では1つ以上のタスク302が実行可能である。ジョブトラッカ203は、ワーカノード140のタスクトラッカ206と通信を行う。すなわち、ジョブトラッカ203はタスクトラッカ206に、タスク302の実行を指示する。1つのジョブ301を構成するタスク302の群を、複数のワーカノード140に分散させて並列に実行することによって、処理効率の向上を図るのがMapReduce方式の主眼である。
【0046】
MapReduceクラスタの利用者は、実行すべきジョブ301をジョブトラッカ203に指示する。指示はマスタノード130のコンソール105を使用して行ってもよいし、他の情報処理装置100からネットワーク106を経由した通信を行うことで行ってもよい。ジョブトラッカ203は、そのジョブ301を構成するタスク302の群を、その管理下にあるタスクトラッカ206に分配し、タスクトラッカ206は、分配されたタスク302を実行する。
【0047】
またMapReduceクラスタ300は、ワーカノード140のストレージ103にデータを格納する分散ファイルシステムの機能を備える。これはタスク302がその処理に必要とするデータを格納するものである。マスタノード130のネームノード204は、あるデータがどのワーカノード140に格納されているかという情報(メタデータ)を持っている。あるデータを必要とするタスク302は、ネームノード204と通信を行う。すなわち、タスク302はネームノード204からその必要とするデータに対応するメタデータを取得し、しかる後にそのデータが格納されているワーカノード140で動作するデータノード207と通信を行い、目的のデータを要求する。データノード207は、データをデータブロック303の群に分割してストレージ103に格納しており、要求されたデータをタスク302に転送する。
【0048】
図4は、MapReduce方式のジョブ301の実行フローを示す図である。
【0049】
ジョブ301が、1つ以上のタスク302の集合であることは先に述べた。タスク302は、Mapタスク305とReduceタスク307の2つの種別からなる。Mapタスク305は、分散ファイルシステムに置かれた入力ファイルであるスプリット304を読み、何らかの処理を行った上で中間ファイル306を生成し、これをワーカノード140のストレージ103に書き込む。この中間ファイル306は、キー・バリュー形式のファイルであり、このキーによって、そのデータがどのReduceタスク307の入力となるかが決まる。すなわちファイル306のバリューにはマップタスク305による処理の結果が書き込まれ、キーにはバリューとして書き込まれた値を入力すべきReduceタスク307を指定する値が書き込まれる。タスクトラッカ206は、Reduceタスク307を実行するワーカノード140に、中間ファイル306の群から特定のキーを持つデータを転送する。タスクトラッカ206は、転送されたデータをソートしたうえでReduceタスク307に入力する。Reduceタスク307はそのデータに何らかの処理を行い、その結果を分散ファイルシステム上の出力ファイル308として生成する。
【0050】
図5は、タスクトラッカ206のスロット数の概念を示す図である。
【0051】
タスクトラッカ206には「スロット数」の設定がある。これは、ワーカノード140において1つのタスクトラッカ206が同時に実行するタスク数の上限値であり、Mapタスク305とReduceタスク307毎に設定できる。図ではスロット数として各4が設定された状態を示す。これらの値は上限値であり、常にこの値と同数のタスクを実行しているわけではない。タスクトラッカ206は、スロット数の設定情報をジョブトラッカ203に送り、ジョブトラッカ203は、その情報を基に各タスクトラッカ206で実行すべきタスクを指定する。
【0052】
図6は、監視エージェント205の構成の一例と、その処理手順の一例を示す図である。
【0053】
図6Aは監視エージェント205の構成の一例を示す。監視エージェント205は、監視データ取得部2051、監視データ送信部2054から構成される。監視データ取得部2051は、OS性能情報取得部2052、MapReduceスケジューリング情報取得部2053を有する。監視エージェント205は、多様な監視対象から監視データを取得できるよう、監視データ取得部2051は、監視対象に応じた監視データ取得のための機能をプラグインとして使用するように構成されている。本実施例では、監視データ取得部2051は、オペレーティングシステム(OS)210からOS性能情報を取得するためのOS性能情報取得部2052、ジョブトラッカ203とデータノード207からMapReduceスケジューリング情報を取得するためのMapReduceスケジューリング情報取得部2053を、それぞれプラグインとして使用する。
【0054】
監視データ送信部2054は、監視データ取得部2051とそのプラグインが取得した監視データを、監視マネージャ201に送信する。送信する手段は、ユニキャストでもマルチキャストでもよい。
【0055】
図6Bは監視エージェント205の処理手順の一例を示す。監視エージェント205は、OS性能情報を取得し(S601)、MapReduceスケジューリング情報を取得し(S602)、取得した監視データを監視マネージャ201に送信し(S603)、しかる後に一定の時間ウェイトし(S604)、再びステップS601を開始する。このように、監視エージェント205の処理手順は1つのループ処理であり、稼働している間は一定間隔で監視データを監視マネージャ201に送信し続けることになる。
【0056】
図7は、監視マネージャ201の構成の一例と、その処理手順の一例を示す図である。 図7Aは監視マネージャ201の構成の一例を示す。監視マネージャ201は、監視データ収集部2011、監視データ格納部2012、データベース2013、稼働状況評価部2014、イベント通知部2015から構成される。監視データ収集部2011は、監視エージェント205が送信する監視データを収集する。監視データ格納部2012は、収集された監視データをデータベース2013に格納する。本実施例では、前述の監視エージェント205が送信するMapReduceスケジューリング情報とOS性能情報を格納する。稼働状況評価部2014は、データベース2013に格納された監視データの情報を基に、並列分散処理システムの稼働状況評価を行い、障害の発生を検知した場合は、イベント通知部2015が監視コンソール202に対してイベント通知を行う。
【0057】
図7Bは監視マネージャ201の処理手順の一例を示す。監視マネージャ201の処理は、2つのループ処理からなる。第1のループは、監視エージェント205が送信した監視データを受信し(S701)、MapReduceスケジューリング情報をデータベースに格納し(S702)、OS性能情報を同じくデータベースに格納する(S703)。第2のループは、データベース2013から得られる情報を基に稼働状況評価を行い(S704)、もし障害の発生を検知したならば(S705)、監視コンソール202に対してイベント通知を行い(S706)、しかる後に一定時間ウェイトする(S707)。このうちステップS704、S706については、より詳細な手順を後述する。
【0058】
上記のように、監視エージェント205と監視マネージャ201は、定期的に監視データのやりとりのために通信を行う。本実施例では、監視エージェント205が監視データを送信するステップS603の実行をもって、その通信の開始の契機を制御している様態となっているが、該通信の様態はこれに限定されるものではなく、例えば監視マネージャ201が定期的に監視エージェント205に対して監視データの送信を要求する等もありうる。
【0059】
図8は、監視マネージャ201のデータベース2013がその内部に格納しているテーブル群の一例を示す図である。データベース2013は、管理対象ホスト一覧のテーブル401を格納する。また、OS性能情報のテーブル群402をホスト毎に格納する。また、MapReduceスケジューリング情報のテーブル群403をクラスタ毎に格納する。
【0060】
図9は、管理対象ホスト一覧のテーブル401の一例を示す図である。管理対象ホストとは、監視マネージャ201が稼働状況判定の対象とする情報処理装置101である。本実施例においては、典型的にはワーカノード140の一群であるが、他の情報処理装置101もまた管理対象ホストになりうる。
【0061】
該テーブルの1レコードは1つの管理対象ホストに対応する。該テーブルに管理対象ホストが追加される契機としては、運用管理担当者の操作によるもの、監視エージェント205からの通知処理によるもの、監視マネージャ201のディスカバリ処理によるもの等が考えられる。
【0062】
図9では、該テーブルのフィールドのうち、説明に必要なもののみを挙げている。ホスト名フィールド4011は、管理対象ホストのホスト名を記録する。代表IPアドレスフィールド4012は、管理対象ホストのネットワークI/F104のうち1つに付与されたIPアドレスを記録する。クラスタ名フィールド4013は、管理対象ホストが属するMapReduceクラスタ300を記録する。障害検知フラグフィールド4014は、管理対象ホストで障害の発生が検知されているかを示すフラグを格納する。該テーブルには、監視マネージャの処理にとって必要な情報を記録するための他のフィールドも存在しうることは留意されたい。
【0063】
図10は、OS性能情報のテーブル群402の一例を示す図である。OS性能情報は、監視エージェント205がオペレーティングシステム210から取得し、監視マネージャ201に送信する監視データである。監視マネージャ201は、受信したOS性能情報を、データベース2013内のテーブル群402に格納する。
【0064】
本実施例では、OS性能情報のテーブルの個別の例として、プロセッサ性能情報テーブル4021、メモリ性能情報テーブル4022、ディスク性能情報テーブル4023を示す。各テーブルに共通するのは、レコードそれぞれに当該情報を取得した時刻と、情報を取得するインターバルを含むことである。プロセッサやディスクの場合、インターバルは、何秒間の値を累積し算出したものかを示す。
【0065】
プロセッサ性能情報の場合は、累積値からさらに使用率を算出し記録する。ディスク性能情報の場合は、累積値から単位時間当たりのI/O量を算出し記録する。一方メモリ性能情報の場合は、取得した値はその取得した時点でのスナップショットであり、インターバルは文字通り、情報の取得間隔の意味である。そして、各レコードはさらに詳細な性能情報の項目を複数含む。この項目それぞれをメトリックと呼ぶ。
【0066】
情報処理装置101は、プロセッサ101や、ストレージ103を構成するディスクを複数搭載することがある。監視エージェント205は、オペレーティングシステム210からそれらを別個の監視データとして取得し、監視マネージャ201がOS性能情報のテーブル群402に記録する際には別個のレコードとして記録し、それぞれがプロセッサIDやデバイス名で区別特定される。
【0067】
本実施例では、OS性能情報の代表的なものとして上記の3つを取り上げたが、これに限定されるものではなく、他にもオペレーティングシステム210から取得できる統計情報は、同様にOS性能情報のテーブル群402の1つとなりうる。
【0068】
図11は、MapReduceスケジューリング情報のテーブル群403の一例を示す図である。MapReduceスケジューリング情報は、監視エージェント205がジョブトラッカ203とデータノード207から取得し、監視マネージャ201に送信する監視データである。監視マネージャ201は、受信したMapReduceスケジューリング情報を、データベース2013内のテーブル群403に格納する。
【0069】
本実施例では、MapReduceスケジューリング情報のテーブルとして、ジョブリスト404、タスクリスト405、アテンプトリスト406、データ転送トレース407がある。
【0070】
MapReduce方式におけるジョブ301とタスク302の関係については図3で説明したとおりである。ジョブリスト404は、ジョブ1つにつき1レコードを記録する。ジョブはジョブIDフィールドに記録されるジョブIDにより一意に特定される。タスクリスト405は、タスク1つにつき1レコードを記録する。タスクはタスクIDフィールドに記録されるタスクIDにより一意に特定され、ジョブIDフィールドに記録されるジョブIDにより、該タスクが属するジョブが特定される。
【0071】
MapReduce方式におけるタスク302の実行をアテンプトと呼ぶ。アテンプトリスト406は1アテンプトにつき1レコードを記録する。アテンプトはアテンプトIDフィールドに記録されるアテンプトIDにより一意に特定され、タスクIDフィールドに記録されるタスクIDにより、該アテンプトの元となるタスクが特定される。通常は1タスクにつき1アテンプトのみが記録されるが、タスクの実行が失敗した場合等にタスクの再実行が行われ、同一のタスクが複数回実行されることがある。この場合は、アテンプトリスト406に、同一のタスクIDに対して複数回のアテンプトが記録されることになる。アテンプトリスト406の実行ノードフィールドには、当該アテンプトを実行したワーカノード140のホスト名が記録される。
【0072】
MapReduceクラスタ300が分散ファイルシステムを備えることは前述した。データ転送トレース407は、データノード207が転送したデータについて記録する。データ転送1回につき1レコードを記録する。
【0073】
図12は、監視マネージャの処理手順のうち、稼働状況評価の処理手順(ステップS704)の一例を示す図である。この図を基に、まず稼働状況評価の処理手順を概説し、それに続いてより詳細な手順を説明する。
【0074】
稼働状況評価部2014は、まずデータベース2013から、MapReduceスケジューリング情報403のうち、ジョブリスト404、タスクリスト405、アテンプトリスト406を取得する。この3テーブルのうち、ジョブリスト404とタスクリスト405はいずれもジョブIDのフィールドを含み、タスクリスト405とアテンプトリスト406はいずれもタスクIDのフィールドを含むことが分かる。また、アテンプトリスト406は実行ノードのフィールドを含む。よって、これらのフィールドをもって3つのテーブルを結合することで、あるジョブの実行に使用されたワーカノード140の群が判別できる。このワーカノード群を抽出する処理が仮想グループの生成(S1201)である。
【0075】
次に稼働状況評価部2014は、データベース2013から管理対象ホスト一覧テーブル401を取得する。そして管理対象ホスト毎に、先のタスクリスト405とアテンプトリスト406を使い、該管理対象ホストで実行されていたタスクのタスク種別を求める。次に、データ転送トレース407を取得し、そこから得られる該管理対象ホストから転送したデータの情報を加えて、各管理対象ホストのノード特性を判定する(S1202)。 次に稼働状況評価部2014は、先に生成した仮想グループと、各管理対象ホストのノード特性を併合しクラスタマップを生成する(S1203)。
【0076】
そしてクラスタマップを生成すると、次に各管理対象ホストについて、そのOS性能情報402からノード性能行列を生成し(S1204)、そのノード性能行列を用いて正準相関係数の算出による相関分析を行う(S1205)。稼働状況評価部2014は、その相関分析の結果によって、障害の発生を検知する。もし障害の発生を検知した場合には、処理はイベント通知部2015によるイベント通知の処理手順(ステップS706)に移行する。
【0077】
以下、上記の各ステップについて詳細な手順を説明する。
【0078】
図13は、稼働状況評価の処理手順のうち、仮想グループ生成の処理手順(ステップS1201)の一例を示す図である。まず稼働状況評価部は、ジョブリスト404を取得し(S1301)、そこからステータスがRUNNINGであるジョブ、または終了時刻が記録されていないジョブを抽出する(S1302)。これで現在実行中のジョブが抽出される。これらのジョブ群をカレントジョブと呼ぶ。
【0079】
次にタスクリスト405を取得し(S1303)、そこからカレントジョブのジョブIDを含むレコードを抽出する(S1304)。さらにステータスがRUNNING、または終了時刻が記録されていないタスクを抽出する(S1305)。これにより、現在実行中のタスクが抽出される。
【0080】
次にアテンプトリスト406を取得し(S1306)、そこから実行中のタスクのタスクIDを含むレコードを抽出し(S1307)、さらにステータスがRUNNING、または終了時刻が記録されていないアテンプトを抽出する(S1308)。
【0081】
ここまでで抽出されたレコードのうち、タスクリストから抽出されたレコードにはスプリットのフィールドが、アテンプトリストから抽出されたレコードには実行ノードのフィールドがある。そこで、カレントジョブの各々について、これらの対応関係をそれぞれ仮想グループテーブルに記載する(S1310、S1311)。
【0082】
図14Aは、この仮想グループテーブル501の一例を示す図である。
【0083】
スプリットを含む、または、実行ノードである全ノードを、あるジョブの仮想グループとする(S1312)。すなわち、カレントジョブ1つにつき仮想グループ1つができる。 図14Bは、仮想グループノード一覧テーブル502の一例を示す図である。これは仮想グループテーブル501から、ジョブID、ジョブ名、ノード名を取り出したテーブルである。このテーブルにより、ある仮想グループに属するノードを一覧することができる。
【0084】
稼働状況評価部2014は、これら仮想グループテーブル501および仮想グループノード一覧テーブル502を、後々の処理に供するため監視サーバ110のメモリ102に保存する。または、データベース2013に格納してもよい。
【0085】
図15は、上記の仮想グループの概念を示す図の一例である。仮想グループ503には、あるジョブについて、タスク302の実行ノードおよびスプリット(Mapタスクの入力ファイル)304を含むノードが所属することになる。
【0086】
図16は、ノード特性判定の処理手順(ステップS1202)の一例を示す図である。 ノード特性の判定とは、ノードが仮想グループにおいてどのような役割を果たしているかを判定するものである。この役割をノード特性と呼称する。判定の材料となるのは、仮想グループ生成のときに作成した、対応関係を記したテーブルと、データ転送トレースである。データ転送トレースの転送先フィールドを参照することで、そのノードが含むスプリットがどこに転送されるものなのかを判定することができる。
【0087】
ノード特性の判定は、管理対象ホスト毎に行う。まず管理対象ホストが仮想グループに属するかを、仮想グループノード一覧テーブル502に基づき判定する(S1601)。仮想グループに属する場合は処理を継続するが、属しない場合は稼働状況評価対象外として処理を終了する(S1607)仮想グループに属する場合、仮想グループテーブル501の情報を用いて実行ノードであるかを判定する(S1602)。実行ノードである場合は、そのタスク種別を判定する(S1603)。次に仮想グループテーブル501の情報を用いてスプリットを含むかを判定する(S1604)。スプリットを含む場合は、データ転送トレースの情報を用い、そのスプリットの転送先を判定する(S1605)。これらの処理、特にタスク種別の判定S1603と転送先の判定S1605によって得られる情報と、次に示すテーブルを用いてノード特性の判定を行う(S1606)。
【0088】
図17は、ノード特性の判定に使用するテーブルの例と、それらの設定に用いる画面表示の例を示す図である。
【0089】
まず図17Aは、もっとも単純なノード特性の分類の例である。この例では、1ノードが1スロット(同時に1タスクしか実行できない)という設定であり、タスク種別はMap、Reduce、None(実行ノードでない)のいずれか、スプリットの転送先はローカル、リモート、転送なしのいずれかである。
【0090】
先のステップS1603、S1605によって得られる情報から、該管理対象ホストがこのテーブル504のどの欄に該当するかを判定できる。その欄に記された記号(ML、MR等)が、すなわちその管理対象ホストのノード特性である。このテーブル504に記されたこれらの記号は、複数のノード特性を区別するために便宜的に定められた記号であり、その用をなすものであればどのような記号の体系を用いても構わない。
【0091】
図17Bは、いくぶん複雑なノード特性の分類の例である。管理対象ホストは、スプリットを複数含み、それらを様々な転送先に転送することもあるであろう。データ転送トレースの情報から、管理対象ホストがスプリットを転送した転送先とバイト数を得ることができる。これをローカル転送(L)とリモート転送(R)に分け、さらにその転送量の比率で6段階に分類する。また、1ノードに複数スロットが設定されている場合、実行されているタスクのタスク種別がMapタスク(M)であるかReduceタスク(R)であるか、その数の比率に応じて5段階で、あるいは実行しているタスクがない状態(None)を加えて6段階で分類する。
【0092】
こうしたノード特性の判定に使用するテーブルは様々なものが考えうるが、どういったテーブルが適切であるかは、並列分散処理システムによって異なるであろう。そこで、並列分散処理システムの運用管理担当者が、どのようなテーブルを使用するかを監視マネージャに指示できるようにする。
【0093】
図17Cは、これらノード特性の判定に使用するテーブルを設定するプリファレンス画面の例を示す図である。プリファレンス画面601は、監視コンソール202が監視コンソールスクリーン600に表示する画面であり、ノード特性使用チェックボックス6011、ノード特性自動判定チェックボックス6012、プリセットメソッド使用チェックボックス6013、メソッド選択ドロップダウンボックス6014、カスタムメソッド作成チェックボックス6015、カスタムメソッドテーブル6016を備える。カスタムメソッドテーブル6016は、複数のエントリにより構成され、エントリそれぞれはメトリクス使用チェックボックス6017、メトリクス名6018を備える。また、プリファレンス画面601は、OK/Cancelボタン6019を備える。
【0094】
運用管理担当者は、監視コンソール202が実装されているクライアント120のコンソール105に表示される監視コンソールスクリーン600と、同じくコンソール105のヒューマンインタフェースデバイスを用いて、ノード特性の判定に使用するテーブルを指定する。ノード特性使用チェックボックス6011をチェックすることで、稼働状況評価にノード特性を適用するよう指示することができる。ノード特性自動判定チェックボックス6012をチェックすることで、監視マネージャがノード特性を自動的に判定するよう指示することができる。このノード特性自動判定チェックボックス6012をチェックすることで、以下のノード特性判定方法に関わる操作が可能になる。
【0095】
プリセットメソッド使用チェックボックス6013をチェックすることで、あらかじめ監視マネージャに登録されているノード特性判定方法を使用するよう指示することができる。プリセットメソッド使用チェックボックス6013をチェックすると、メソッド選択ドロップダウンボックス6014が使用できるようになる。このメソッド選択ドロップダウンボックス6014を操作することで、あらかじめ登録されているノード特性判定方法のうちどれを使用するかを選択し指示することができる。例えば、管理対象ホストがMapReduceクラスタを構成するノードである場合に適切なノード特性判定方法として「MapReduce」という名称の判定方法が登録されていれば、これを選択する。
【0096】
監視マネージャにあらかじめ登録されているノード特性判定方法では適切ではないと運用管理担当者が判断した場合は、カスタムメソッド作成チェックボックス6015をチェックし、カスタム化されたノード特性判定方法を使用するよう指示することができる。カスタムメソッド作成チェックボックス6015をチェックすると、カスタムメソッドテーブル6016の操作が可能になる。
【0097】
カスタムメソッドテーブル6016は、監視マネージャが監視エージェントから収集する様々な監視データを列挙し、それらのうちどれを用いてノード特性の判定を行うかを指示するものである。監視データはカスタムメソッドテーブル6016のエントリとして一覧表示され、多数に及ぶ場合にはスクロールバーによりその一部のみを表示する。各エントリに対応する監視データの名称をメトリクス名6018に表示する。各エントリが備えるメトリクス使用チェックボックス6017をチェックすると、該エントリに対応する監視データをノード特性判定に使用するよう指示することができる。
【0098】
運用管理担当者が、カスタムメソッドテーブル6016のメトリクス使用チェックボックスのうち適切と判断するものをいくつか選択のうえチェックし、OK/Cancelボタン6019のうちOKボタンを押下すると、監視コンソールはそれら選択されたメトリクスの情報を監視マネージャに送信する。監視マネージャはその情報に基づき、ノード特性判定に使用するテーブルを構築し、監視サーバ110のメモリ102に保存する。または、データベース2013に格納してもよい。
【0099】
図18は、クラスタマップ生成の処理手順(ステップS1203)の一例を示す図である。
【0100】
クラスタマップは、仮想グループに属するノードをノード特性で分類したものである。まずノード特性判定結果を取得する(S1801)。次に、仮想グループはカレントジョブ1つにつき1つであるので、まずジョブIDにてソートする(S1802)。次にノード特性でソートする(S1803)ことで、ノード特性ごとにノードを分類することができる。
【0101】
図19は、クラスタマップテーブルの一例を示す図である。
【0102】
クラスタマップテーブル506は、図14Bで示した仮想グループノード一覧テーブル502にノード特性判定結果を追記し、ノード特性でソートしたものであると言える。
【0103】
図20は、クラスタマップの概念を示す図の一例である。
【0104】
クラスタマップ503は、ジョブIDとジョブ名で識別されるジョブを単位として、そのジョブの実行に関わるノードをノード種別により分類したものである。あるノード特性を備えるノード140は、同じノード特性を備えるノードと共にノード特性グループ507に属する。
【0105】
図21は、ノード性能行列生成の処理手順(ステップS1204)の一例を示す図である。
【0106】
管理対象ホスト毎に、まずデータベースに該ホストのOS性能情報があるかを判定する(S2101)。もしなければ、稼働状況評価の対象外とする(S2105)。もしあれば、そのOS性能情報から一定のタイムフレームのデータを取得し(S2102)、全てのメトリックを連結し(S2103)、ノード性能行列を生成する(S2104)。
【0107】
この手順で示されるように、ノード性能行列とは、そのノードから取得したOS性能情報を連結したものであり、OS性能情報がデータベースに記録されているホストについて、そのホストの特性をあるタイムフレーム内の資源の使用状況から特徴づけるものである。ここではメトリックを単純に連結したものをノード性能行列として使用しているが、他の例も考えられる。例えば、過去のOS性能情報もデータベースに記録されていることを利用し、指数加重移動平均を算出した上で連結するといった方法も可能である。
【0108】
また、このホストの特性を特徴づけるという目的から、タイムフレームを決定する。OS性能情報には情報取得のインターバルが記録されている。稼働状況評価の処理一回につき各ホストで共通のタイムフレームであれば、どのようなものを使うにせよ、メトリック毎にデータを複数含むようなタイムフレームを選択することが必要である。
【0109】
図22は、ノード性能行列テーブルの一例を示す図である。ノード性能行列テーブルは、ノード性能行列を格納するテーブルであり、稼働状況評価の対象となるノード毎に生成される。上記ステップS2103で連結したとおり、テーブルの列方向にはOS性能情報の各メトリックが列挙され、テーブルの縦方向には各メトリックのタイムフレーム内のデータが取得時刻順に配置される。この例ではテーブルの最初の行に各メトリックの名称、左端の列にデータの取得時刻を含むが、これはテーブルの内容をわかりやすく示すために記載したものであり、実際のテーブルには必ずしも含む必要はない。
【0110】
図23は、相関分析の処理手順(ステップS1205)の一例を示す図である。
【0111】
相関分析は、管理対象ホスト毎に行う。まず管理対象ホストが仮想グループに属するかを判定する(S2301)。もし仮想グループに属していないとすれば、該管理対象ホストはどのカレントジョブの実行にも関与していないということであり、稼働状況評価の対象外とする(S2314)。次に管理対象ホストのノード性能行列が存在するかを判定する(S2302)。もしOS性能情報が取得されていない等の理由でノード性能行列が生成されず、該管理対象ホストのノード性能行列テーブルが存在しない場合は、稼働状況評価の対象外とする(S2314)。
【0112】
次からの処理は、管理対象ホストが属する仮想グループに注目して行う。まず該仮想グループに存在するノード特性を抽出し(S2303)、それらノード特性毎に、該ノード特性を備えるノードを抽出し(S2304)、そしてそれらノード毎に相関係数の算出の処理を行う(S2305)。これらの処理に必要な、ノードとノード特性の情報はクラスタマップテーブル506から抽出することができる。
【0113】
このように、ある管理対象ホストから見て、ノード特性が自身のそれと同一であるか異なるかに関わらず、自身の属する仮想グループに存在する全てのノード属性との間で相関係数算出の処理を行うことにより、該仮想グループに属するノード特性の構成がいかようであっても対応することができる。
【0114】
さて、ステップS2305にてあるノード特性を備えるノード群から1ノードを選択した後、次に該ノードのノード性能行列Vnを取得する(S2306)。そして、管理対象ホストのノード性能行列Vpと、該ノードのノード性能行列Vnとの間の正準相関係数を算出する(S2307)。正準相関係数は、1つ以上の相関係数ρ1〜ρnとして表わされる。
【0115】
この正準相関係数のうち、ある閾値より高いものの数が、カレントジョブのその2つのノード間の関係を示す情報である。この数が、該ジョブの正常時における同一組のノード特性間のそれより小さい場合、当該ノード間の相関が低くなったことを意味する。そして、他の全ノードに対してその現象が観測された場合、管理対象ホストについての障害の検知とみなす。この処理を実行するためには、あるジョブの正常時におけるノード特性間の正準相関係数についての情報が必要であり、そうした情報を既定正準相関データと呼称する。この情報を格納するテーブルをジョブプロファイルテーブルと呼称し、後述される。 相関分析の処理手順の説明に戻る。正準相関係数ρ1〜ρnを算出したのち、管理対象ホストと選択したノードのノード特性の組をキーとして、ジョブプロファイルテーブルから該ノード特性間の既定正準相関データを取得する(S2308)。次に、ρ1〜ρnのうち、ある閾値より高いものを選出し(S2309)、そしてその数が既定正準相関データの数より小さいと判定した場合は(S2310)、カウンタをインクリメントする(S2311)。こうして、正準相関係数の算出と既定正準相関データとの比較を、仮想グループ内の全ノード特性とそれに属するノード群、すなわち仮想グループ内の全ノードに対して行い、結果カウンタの値が仮想グループの(現在注目している管理対象ホストを除いた)ノード数に等しくなった場合(S2312)、当該管理対象ホストでは障害が発生していると判定し、管理対象ホスト一覧のテーブルの該レコードについて障害検知フラグを1に設定する(S2313)。
【0116】
この処理において必要となる閾値は、1つのクラスタ、あるいは1つのシステム運用管理装置において一貫したものであれば、任意のものを設定できる。また、障害発生の判定に使用するカウンタについて、仮想グループのノード数と等しくなったときに限らず、例えば仮想グループのノード数の半数を超えた場合に障害発生とみなす等、その判定の基準は任意のものを設定できる。こうした自由度は、並列分散処理システムの複雑さ、あるいは情報処理装置で発生する障害の多様さに適応するために必要なものである。
【0117】
図24は、ジョブプロファイルテーブルの一例を示す図である。
【0118】
ジョブプロファイルテーブル509は、ジョブ名で特定されるジョブについて、そのジョブの実行に関わるノードをノード特性で分類した上で、正常時のそれらのノード同士でノード性能行列の正準相関係数を算出した結果から、既定の閾値より大きい値を記録したもの、すなわち既定正準相関データを、ジョブ名およびノード特性の組をキーとして検索できるよう記録したものである。稼働状況評価部2014は、ジョブプロファイルテーブルに既定正準相関データを記録する。この際、前述したようにある閾値より大きい値のみを記録してもよいし、あるいは算出した正準相関係数を全て記録しておき、相関算出の処理を実行するに際して閾値より大きい値のみを取得するようにしてもよい。また、同一のノード特性を持つノードの組は複数の組み合わせがありうるが、それぞれから算出される正準相関係数のうち最も小さい値のものを既定正準相関データとして採用してもよいし、平均値や中央値を算出して採用してもよい。稼働状況評価部2014は、ジョブプロファイルテーブル509を、後々の相関分析の処理に供するため監視サーバ110のメモリ102に保存する。または、データベース2013に格納してもよい。
【0119】
図25は、監視マネージャの処理手順のうち、イベント通知の処理手順(S706)の一例を示す図である。
【0120】
イベント通知は、管理対象ホストのうち、相関算出の結果障害検知フラグフィールド4014が1に設定されたものを抽出し、監視コンソールに当該ホストの情報を通知する処理である。イベント通知部は、まず管理対象ホスト一覧のテーブル401を取得し(S2501)、該テーブルの各レコードにつき障害検知フラグフィールド4014を調べる(S2502)。そして、該フィールドが1である場合は、そのレコードからホスト名フィールド4011を抽出し、監視コンソールに通知する(S2503)。また他のフィールド、例えばクラスタ名フィールド4013を、ホスト名フィールドと併せて通知することもできる。
【0121】
図26は、監視コンソールにおけるイベント通知の画面表示の一例を示す図である。
【0122】
監視マネージャ201のイベント通知部2015からの通知を受信した監視コンソール202は、クライアント120のコンソール105に監視コンソールスクリーン600およびイベント通知画面602を表示することで、運用管理担当者に障害の発生を通知する。
【0123】
イベント通知画面602は、クラスタ名表示6021と、該クラスタに属するノードのノード名表示6022とノードステータス表示6023の組により構成される。監視マネージャが送信したイベント通知がクラスタ名フィールドを含む場合には、監視コンソールスクリーンにノードをクラスタ別に分類して表示することで、運用管理担当者は障害が影響する範囲を容易に把握することができる。このために、クラスタ名表示6021が用意される。イベント通知が含むホスト名は、ノード名表示6022に表示する。ノードステータス表示6023には、監視マネージャが該ノードにおける障害の発生を検知したことを運用管理担当者が認識できるような方法で、それを表示する。例えば文字による表示、色調の変化による表示、あるいはこれらの組み合わせによる表示等の方法がある。また、運用管理担当者が障害への対応を実施するにあたって有用な情報を、併せて表示することができる。
【0124】
このイベント通知画面に示されるように、本実施例のシステム運用管理装置は、その管理対象ホストにおける障害の発生を、コンソール105を経由した情報表示にて運用管理担当者に通知するが、他にも電子メールの送信による通知や、ブザーの鳴動や回転警告灯の点灯による通知等、様々な方法がありうる。
【0125】
図27は、監視コンソールが管理対象ホストの稼働状況を画面表示する処理手順の一例を示す図である。監視コンソール202は、監視マネージャ201からのイベント通知処理に依らずとも、管理対象ホストの稼働状況をクライアント120のコンソール105に表示させることができる。これにより、管理対象ホストにおける障害の発生の有無に関わらず、運用管理担当者は管理対象ホストの稼働状況を監視することができる。
【0126】
まず監視コンソール202は、管理対象ホスト一覧のテーブル401を取得する(S2701)。管理対象ホスト一覧のテーブルは、監視マネージャ201のデータベース2013に格納されているものを、監視マネージャとの通信によって取得する。次いで、取得した管理対象ホスト一覧から表示対象ホストを抽出する(S2702)。表示対象ホストは、管理対象ホスト一覧のサブセットであり、その抽出には様々な基準を適用しうるが、例えば監視マネージャが監視サーバのメモリにテーブルとして保存している情報を使用することが考えられる。その例は後述される。しかる後に、表示対象ホストの一覧を画面表示に適した表形式に整形し(S2703)、クライアント120のコンソール105を経由して画面表示を行う(S2704)。
【0127】
監視コンソール202は、上記のように管理対象ホスト一覧のテーブルや、監視マネージャがメモリに保存しているテーブルを監視マネージャとの通信によって取得するが、これらの処理を管理対象ホストの稼働状況を画面表示する都度実行する必要があるわけでは必ずしもない。監視コンソールは、取得したテーブルをクライアント120のメモリ102に保存しておき、複数回の画面表示の処理でこれらメモリに保存されたテーブルを再使用することで監視マネージャとのデータ転送量を削減することができる。この場合、クライアントのメモリに保存されたテーブルと、監視サーバのメモリに保存ないしはデータベースに格納されたテーブルとの間で、その内容に齟齬が生じないよう配慮する必要があるが、そのために必要な処理は一般にキャッシュ制御と呼ばれ、当業者には周知のものであろう。
【0128】
図28は、監視コンソールが管理対象ホストの稼働状況を画面表示する一例として、仮想グループノード一覧テーブルの情報を基に表示対象ホストを抽出する画面表示の例を示す図である。
【0129】
監視コンソールが仮想グループを画面表示するにあたって、例えば図15に示すような図を模して表示することも可能であるが、より一覧性の高い例も考えられる。
【0130】
図28Aは監視コンソールスクリーン600に、あるMapReduceクラスタのクラスタ表示画面603を、仮想グループノード一覧テーブル502の情報を基にして表示する例である。仮想グループノード一覧テーブルは、監視マネージャ201の稼働状況評価部2014が生成するものであり、監視マネージャは図14Bに示すテーブルとして監視サーバ110のメモリに保存している。管理対象ホスト一覧のテーブルとこのテーブルの情報を基に、監視コンソールが仮想グループを単位とした管理対象ホストの稼働状況を監視コンソールスクリーンに画面表示するとすれば、クラスタ名表示6031、仮想グループ6032、ノード6033、を表示する。
【0131】
図28Bは、監視コンソールスクリーン600に、あるMapReduceクラスタのクラスタ表示画面603を、仮想グループノード一覧テーブル502の情報を基にして表示する別の例である。この例では、クラスタ名表示6031、ノード6033、該ノードが実行に関わるジョブ名6034、を表示する。監視コンソールが、こうした監視コンソールスクリーン600をクライアント120のコンソール105に表示することで、運用管理担当者は管理対象ホストの稼働状況を知ることができる。
【0132】
図29は、監視コンソールが管理対象ホストの稼働状況を画面表示する別の例として、クラスタマップテーブルの情報を基に表示対象ホストを抽出する画面表示の例を示す図である。
【0133】
監視コンソールがクラスタマップを画面表示するにあたって、例えば図20に示すような図を模して表示することも可能であるが、より一覧性の高い例も考えられる。
【0134】
図29Aは監視コンソールスクリーン600に、あるMapReduceクラスタのクラスタ表示画面603を、クラスタマップテーブル506の情報を基にして表示する例である。クラスタマップテーブルは、監視マネージャ201の稼働状況評価部2014が生成するものであり、監視マネージャは図19に示すテーブルとして監視サーバ110のメモリに保存している。管理対象ホスト一覧のテーブルとこのテーブルの情報を基に、監視コンソールが仮想グループを単位とした管理対象ホストの稼働状況を監視コンソールスクリーンに画面表示するとすれば、クラスタ名表示6031、仮想グループ6032、ノード6033、ノード属性6035、を表示する。
【0135】
図29Bは、監視コンソールスクリーン600に、あるMapReduceクラスタのクラスタ表示画面603を、クラスタマップテーブル506の情報を基にして表示する別の例である。この例では、クラスタ名表示6031、ノード6033、該ノードが実行に関わるジョブ名6034、該ノードのノード属性ラベル6036を表示する。
【0136】
以上の説明においては、ジョブ301が、Mapタスク305とReduceタスク307の2つの種別のタスクを有する場合を例示した。しかしジョブが複数のMapタスクを有し、Reduceタスクを含まない場合にも本発明は上記説明に従って実施可能である。この場合、ノード特性はスプリットの転送先(すなわちデータファイルの特性)によって判定される(図16)。
【実施例2】
【0137】
次に、本発明を適用した第二の実施例を説明する。第一の実施例で示した障害検知の機能を備えるシステム運用管理装置は、管理対象ホストからOS性能情報やMapReduceスケジューリング情報を収集するために、各管理対象ホストに監視エージェントを実装していた。このような監視エージェントは、多くの場合、運用管理担当者が該ホストにインストールするものである。つまり管理対象ホスト数が増加するほど、作業が煩雑になるであろう。また、監視エージェントが該ホストのメモリをいくばくか消費することについて、懸念する向きもあるであろう。
【0138】
そこで本実施例では、監視エージェントを使用せずに障害検知を行う例を説明する。基本的な構成は第一の実施例と同一であるため、差異となる部分のみを説明する。
【0139】
図30は、第二の実施例による並列分散処理システムの一例を示す図である。図2に示す、第一の実施例による並列分散処理システムとの差異は、マスタノード130やワーカノード140が監視エージェントを実装せず、代わりに監視サーバ110がリモートモニタ208を実装する点である。
【0140】
図31は、第二の実施例における監視マネージャとリモートモニタのブロック構成を示す図の一例である。
【0141】
リモートモニタ208は、リモート監視データ取得部2081、監視データ送信部2084から構成される。
【0142】
リモート監視データ取得部2081は、OS性能情報取得部2082、MapReduceスケジューリング情報取得部2083を有する。リモートモニタ208は、多様な監視対象から監視データを取得できるよう、リモート監視データ取得部2081が、監視対象に応じた監視データ取得のための機能をプラグインとして使用するように構成されている。本実施例では、リモート監視データ取得部2081は、オペレーティングシステム(OS)210からOS性能情報を取得するためのOS性能情報取得部2082、ジョブトラッカ203とデータノード207からMapReduceスケジューリング情報を取得するためのMapReduceスケジューリング情報取得部2083を、それぞれプラグインとして使用する。
【0143】
監視データ送信部2084は、リモート監視データ取得部2081とそのプラグインが取得した監視データを、監視マネージャ201に送信する。監視マネージャ201の監視データ収集部2011は、リモートモニタ208が送信する監視データを収集する。
【0144】
プラグインは、それぞれの方法で情報を取得する。その例として、OS性能情報の場合は、SSH(登録商標)とOSコマンド、あるいはSNMPを使うといった方法がある。MapReduceスケジューリング情報の場合は、SSHでジョブトラッカやデータノードのログファイルを収集するといった方法がある。いずれにしても、取得する情報については第一の実施例における監視エージェントの実装するプラグインと変わりはない。
【0145】
監視データ送信部2084が、監視マネージャ201に監視データを送信する方法としては、例えばソケット、RPC、HTTPといったプロセス間通信の方法によるものがある。
【0146】
以上説明したような方法で、第二の実施例は監視エージェントを実装せずに、本発明を並列分散処理システムに適用する。
【実施例3】
【0147】
次に、本発明を適用した第三の実施例を説明する。第一の実施例では、ノード性能行列生成において管理対象ホストから収集されるOS性能情報の監視データを使用した。第三の実施例では、これに加えて、管理対象ホストのノード性能指標を使用する。ノード性能指標とは、情報処理装置の備えるプロセッサ、メモリといった計算資源の個別の性能を数値によって表現したものである。例えばプロセッサについては、ある管理対象ホストが備えるプロセッサの個数、動作周波数といったものがノード性能指標である。本実施例は、この情報を使用することで、その具備する計算資源において多様性のある情報処理装置により構成される並列分散処理システムを対象にした障害検知をより効果的に行うことを狙いとするものである。以下、基本的な構成は第一の実施例と同一であるため、差異となる部分のみを説明する。
【0148】
図32は、第三の実施例におけるノード性能行列生成の処理手順の一例を示す図である。図21に示す処理手順に加えて、ステップS3203が追加される。監視マネージャ201の稼働状況評価部2014は、ステップS3203において、管理対象ホストのノード性能指標を取得する。典型的には、ノード性能指標は管理対象ホスト一覧テーブル401に記録されており、これを取得する。そしてステップS3204において、OS性能情報から取得した一定のタイムフレームのデータに含まれるメトリックに加えて、ノード性能指標の数値を列挙したものを連結し、ノード性能行列を生成する(S3205)。
【0149】
図33は、第三の実施例における管理対象ホスト一覧のテーブル401の一例を示す図である。図9に示す管理対象ホスト一覧テーブル401の内容に加えて、プロセッサ数を記録するフィールド4015、プロセッサの動作周波数を記録するフィールド4016が追加される。これらのフィールドは、ノード性能指標として典型的なものとして例示されているのであって、他にも搭載するメモリの量といった計算資源に関わる情報も同様にノード性能指標として活用しうることは留意されたい。
【実施例4】
【0150】
次に、本発明を適用した第四の実施例を説明する。第一の実施例では、正準相関分析、すなわち二つのノード性能行列からその正準相関係数を算出することにより、障害を検知した。第四の実施例では、正準相関分析に限定せず、様々な統計手法を用いて障害検知を行う。
【0151】
そもそも本発明の要諦は、情報処理装置より取得した監視データからノード性能行列を生成し、統計手法を用いてそれらの相関を分析するところにある。そして、このような目的に供することのできる統計手法は正準相関分析に限定されるものではない。一般に統計手法の中でも多変量解析として知られる分野では、複数の変数からなるデータ群を対象として、データの分類、次元圧縮、特徴抽出を行う統計手法が研究されてきた。例えば、主成分分析、ユークリッド距離を距離関数とするクラスタ分析、といった手法が知られており、正準相関分析もまたその一例である。
【0152】
こうした様々な手法を、監視データを基にした障害検知に適用するにあたっては、ある種の適性が存在する。例えばあるジョブの実行において同一のノード特性を持つノード群について、それらの監視データを時系列データとして捉えてみると、大局的には変動が少ない一方で、局所的にはノード間で互いに同期しない微細な変動を呈する場合がある。このような場合には、例えばノード性能行列についてペアワイズでユークリッド距離を求め、群平均法によってノード間の距離を判定することで、様々に変動する監視データ群から異常なものを検知することができる。
【0153】
こうした統計手法は、情報処理装置のメモリ上ではアルゴリズムを実装するプログラムとして実現される。そして、それら様々なアルゴリズム群からジョブの性質に応じて適切なものを選択する方法として、例えば監視データを時系列データのグラフとして監視コンソールスクリーンに図示し、運用管理担当者がその振る舞いを観察し、適切なアルゴリズムを判断、設定するといった方法が考えられる。また、こうしたプロセスをプログラムで自動化することも考えられる。
【0154】
他にも、ジョブの性質に応じてアルゴリズムの適性を判定する方法は様々なものが考えられるが、本発明で注目するのは、監視データの分析に基づく障害検知に適用するアルゴリズムについて、様々なものを適宜使い分けることで、より効果的な障害検知を実現し得るという点である。そこで本実施例では、ジョブ、あるいはジョブの中でのノード特性の組によって、それぞれ適用する分析アルゴリズムを選択することで、より効果的に障害検知を行う構成と処理手順を示す。以下、基本的な構成、処理手順は第一の実施例と同一であるため、差異となる部分のみを説明する。
【0155】
図34は、第四の実施例において稼働状況評価部2014が使用するテーブルの一例を示す図である。
【0156】
図34Aは、第四の実施例における分析アルゴリズム付きジョブプロファイルテーブルの一例を示す図である。図24に示すジョブプロファイルテーブル509では、あるノード特性とその比較対象に適用する分析アルゴリズムは暗黙のうちに仮定されていた。一方、図34Aに示すジョブプロファイルテーブル510は、分析アルゴリズムフィールド5101と、閾値データフィールド5102を含む。すなわちジョブプロファイルテーブル510は、分析アルゴリズムと閾値データを、ジョブ名およびノード特性の組をキーとして検索できるよう記録したものである。
【0157】
分析アルゴリズムを記録する分析アルゴリズムフィールド5101は、特定のアルゴリズムと一意に対応するIDを含む。このアルゴリズムIDを記録するテーブルは後述される。
【0158】
閾値データを含む閾値データフィールド5102は、分析アルゴリズムが障害の発生を判定するために使用するデータを含む。第一の実施例におけるジョブプロファイルテーブル509は既定正準相関データを記録していたが、これはその名前が示す通り、正準相関分析に基づく障害検知の処理において必要なデータであった。一方、本実施例にて閾値データを記録する閾値データフィールド5102は、分析アルゴリズムフィールド5101が含みうる様々な分析アルゴリズムに対応する閾値データを含む。なお、該閾値データは、第一の実施例で相関分析の処理(図23のステップS2309)に用いた閾値とは異なる構成要素であることには留意されたい。
【0159】
図34Bは、分析アルゴリズムテーブルの一例を示す図である。分析アルゴリズムテーブル511は、アルゴリズムIDフィールド5111、アルゴリズムIDに対応する分析アルゴリズムの名称を記録するアルゴリズム名フィールド5112、該分析アルゴリズムを実装する関数へのポインタを記録する分析関数ポインタフィールド5113、該分析関数の出力である相関値と閾値データを比較する関数へのポインタを記録する閾値判定関数ポインタフィールド5114を含む。関数へのポインタとは、監視マネージャ201と同様に監視サーバ110のメモリ102に実装されるプログラムを指示するアドレスであり、例えば分析関数プログラム512のメモリ空間上のアドレスである。すなわち分析アルゴリズムテーブル511は、アルゴリズムIDをキーとして、該アルゴリズムIDと一意に対応するある分析アルゴリズムを実装するプログラム、および該分析アルゴリズムが算出する相関値と閾値データを比較するプログラムを検索できるよう記録したものである。アルゴリズム名フィールド5112に記録された分析アルゴリズムの名称は、監視コンソール202を介した運用管理担当者への情報の提示において使用する。
【0160】
前記の関数ポインタは必ずしもメモリ空間上のアドレスである必要はなく、例えば分析関数プログラム512は、監視マネージャとはまた異なるユーザプロセス200として実装され、該プログラムと監視マネージャがプロセス間通信を行うためのエンドポイントをもって関数ポインタと見做してもよい。こうしたプログラムの相互呼び出しに関する多様な技術の中から当業者にとって好適なものを選択してよい。
【0161】
ジョブプロファイルテーブル510の分析アルゴリズムフィールド5101は、システム運用管理装置の動作中に任意のタイミングで書き換えることができる。また、分析アルゴリズムテーブル511の関数ポインタを記録するフィールド5113および5114と、該ポインタが指示するメモリ空間内のアドレスに格納されるプログラムは、同じく任意のタイミングで書き換えることができる。もちろん、監視サーバ110のメモリに複数のプログラムを実装しておき、分析アルゴリズムテーブル511のフィールドに記録された関数ポインタを、あるプログラムのアドレスから別のプログラムのアドレスへと切り替えることもできる。つまり、並列分散処理システムの稼働中に、適用する分析アルゴリズムを様々に変更することができる。こうした自由度は、並列分散処理システムの複雑さ、あるいは情報処理装置で発生する障害の多様さに適応するために必要なものである。こうしたフィールドの書き換えを行うタイミングの例は後述される。
【0162】
稼働状況評価部2014は、ジョブプロファイルテーブル510および分析アルゴリズムテーブル511を、相関分析の処理に供するため監視サーバ110のメモリ102に保存する。または、データベース2013に格納してもよい。
【0163】
図35は、相関分析の処理手順(ステップS1205)の別の一例を示す図である。図23で示した相関分析の処理手順では、分析アルゴリズムとして正準相関分析を用いることを前提とした処理であったが、ここでは、複数の分析アルゴリズムを使い分ける処理を示す。なお、便宜上「相関」という呼称を用いて説明するが、統計学におけるその語義は本実施例で適用する統計手法を限定するものではなく、「相関係数」の上位概念としての「類似度」、あるいは任意の距離空間における「距離」といった概念を含む、より広義のものとして捉えられるべきものである。
【0164】
相関分析の処理手順において、仮想グループへの所属の判定から、ノード性能行列の取得まで(ステップS3501〜ステップS3506)は、第一の実施例と共通である。すなわち相関分析は管理対象ホスト毎に行い、まず管理対象ホストが仮想グループに属するかを判定し(S3501)、もし仮想グループに属していないとすれば、該管理対象ホストはどのカレントジョブの実行にも関与していないということであり、稼働状況評価の対象外とする(S3513)。次に管理対象ホストのノード性能行列が存在するかを判定し(S3502)、もしOS性能情報が取得されていない等の理由でノード性能行列が生成されず、該管理対象ホストのノード性能行列テーブルが存在しない場合は、稼働状況評価の対象外とする(S3513)。
【0165】
次からの処理は、管理対象ホストが属する仮想グループに注目して行う。まず該仮想グループに存在するノード特性を抽出し(S3503)、それらノード特性毎に、該ノード特性を備えるノード群を抽出し(S3504)、そしてそれらノード群から順に1ノードを選択して相関の算出の処理を行う(S3505)。これらの処理に必要な、ノードとノード特性の情報はクラスタマップテーブル506から抽出することができる。次いで、ステップS3505のループにて選択した1ノードについて、該ノードのノード性能行列Vnを取得する(S3506)。これ以降の処理が、第一の実施例の差異となる。
【0166】
まず、管理対象ホストのノード性能行列Vpと、ステップS3506にて取得したノード性能行列Vnとを引数として関数f1を実行し、その解rを得る(S3507)。関数f1は、ジョブプロファイルテーブル510を管理対象ホストと選択したノードのノード特性の組をキーとして検索してアルゴリズムIDを取得し、さらに該アルゴリズムIDをキーとして分析アルゴリズムテーブル511を検索することで取得できる、分析関数ポインタの指示する分析関数プログラムである。典型的には、該分析関数f1はVnおよびVpを引数に取り、その戻り値をrとする。このrは、先に説明した「相関」の値であり、二つのノード性能行列間の類似度あるいは距離を意味する。
【0167】
次にジョブプロファイルテーブル510を、管理対象ホストと選択したノードのノード特性の組をキーとして検索することで閾値データtを取得する(S3508)。この閾値tは、相関値rと比較することを目的としたデータである。
【0168】
次にrおよびtを引数として関数f2を実行し、その解として真偽値を得(S3509)、もし真であれば閾値を超過していると見做し、カウンタをインクリメントする(S3510)。もし偽であれば閾値を超過していないと見做す。関数f2は、関数f1と同様、ジョブプロファイルテーブル510を管理対象ホストと選択したノードのノード特性の組をキーとして検索してアルゴリズムIDを取得し、さらに該アルゴリズムIDをキーとして分析アルゴリズムテーブル511を検索することで取得できる、閾値判定関数ポインタの指示する閾値判定関数プログラムである。典型的には、該閾値判定関数f2はrおよびtを引数に取り、真偽値を戻り値とする。
【0169】
こうして、相関値の算出と閾値データとの比較を、仮想グループ内の全ノード特性とそれに属するノード群、すなわち仮想グループ内の全ノードに対して行い、結果カウンタの値が仮想グループの(現在注目している管理対象ホストを除いた)ノード数に等しくなった場合(S3511)、当該管理対象ホストでは障害が発生していると判定し、管理対象ホスト一覧のテーブルの該レコードについて障害検知フラグを1に設定する(S3512)。このカウンタの値について、仮想グループのノード数と等しくなったときに限らず、例えば仮想グループのノード数の半数を超えた場合に障害発生とみなす等、その判定の基準として任意のものを設定できるのは第一の実施例と同様である。
【0170】
閾値判定関数f2は、rおよびtについて、そのスカラ値としての大小を比較するものとは限らない。例えば、関数f1として正準相関分析を採用する場合であれば、rは正準相関係数ρ1〜ρnの配列であり、tは並列分散処理システムの正常時において一定以上の値である正準相関係数の配列であり、関数f2は配列rの要素のうち一定以上の値であるものの要素数n1と配列tの要素数n2を比較し、n1<n2である場合に真を、それ以外の場合に偽を返却するものとなろう。また同様に、tをシステム正常時の正準相関係数の配列と、前記の「一定以上の値」を判定する閾値とを格納する構造体としてもよい。これらの例は第一の実施例における正準相関分析に基づいた処理と実質的に同一のものであるが、このように二つの関数f1、f2、そして閾値データtによって抽象化することで、様々な分析アルゴリズムを適用することができる。
【0171】
もしジョブプロファイルテーブル510の分析アルゴリズムフィールド5101にアルゴリズムIDが記録されていない場合は、デフォルトの分析アルゴリズムを使用するように構成してもよい。このようなデフォルトの分析アルゴリズムは、固定されていてもよいし、運用管理担当者が指定してもよい。
【0172】
さて、並列分散処理システムの動作中に、任意のタイミングで適用する分析アルゴリズムを変更できることは前述した。どの分析アルゴリズムを適用するかの判断について、これを運用管理担当者の裁量によって行ってもよいし、システム運用管理装置がプログラムによって行ってもよい。本実施例では、まず運用管理担当者が、監視コンソールを介して障害検知に使用する分析アルゴリズムをシステム運用管理装置に指示できるようにする方法の一例を示す。続いて、システム運用管理装置がプログラムによって、障害検知に使用する分析アルゴリズムを判定する方法の一例を示す。
【0173】
図36は、障害検知に使用する分析アルゴリズムを設定する画面の例を示す図である。分析アルゴリズム設定画面604は、監視コンソール202が監視コンソールスクリーン600に表示する画面であり、デフォルト分析アルゴリズム選択ドロップダウンボックス6041、マルチ分析アルゴリズム使用チェックボックス6042、分析アルゴリズム自動判定ラジオボタン6043、分析アルゴリズム手動設定ラジオボタン6044、カスタム分析アルゴリズム設定テーブル6045、カスタム分析アルゴリズム設定ボタン6048を備える。カスタム分析アルゴリズム設定テーブル6045は、複数のエントリにより構成され、エントリそれぞれは関連付け使用チェックボックス60451、ジョブ名60452、ノード特性の組名60453、分析アルゴリズム名60454の各フィールドを備える。また、分析アルゴリズム設定画面604は、分析アルゴリズムリスト表示リンク6046、OK/Cancelボタン6047を備える。
【0174】
運用管理担当者は、監視コンソール202が実装されているクライアント120のコンソール105に表示される監視コンソールスクリーン600と、同じくコンソール105のヒューマンインタフェースデバイスを用いて、障害検知に使用する分析アルゴリズムを監視マネージャ201に対して指定することができる。
【0175】
デフォルト分析アルゴリズム選択ドロップダウンボックス6041は、システム運用管理装置にプログラムとしてインストールされ、相関分析の処理に適用可能となっている分析アルゴリズムの名称を選択肢として表示し、これを操作することでデフォルトの分析アルゴリズムを選択し監視マネージャに対して指示することができる。デフォルトの分析アルゴリズムは、他に分析アルゴリズムを選択する契機が存在しない場合に適用する。これは例えば、複数種類の分析アルゴリズムを使用するよう指示されていない場合や、初めて実行するジョブであったり、分析アルゴリズムの自動判定を実行する前提となる情報が未だ十分に蓄積されていなかったりといった理由により適用する分析アルゴリズムの自動判定が行われなかった場合や、使用する分析アルゴリズムが手動で設定されていない場合等に、デフォルトの分析アルゴリズムを適用する。また、システム運用管理装置にプログラムとしてインストールされた分析アルゴリズムが1つのみ存在する場合には、デフォルト分析アルゴリズム選択ドロップダウンボックス6041は選択肢としてその分析アルゴリズムの名称のみを表示し、デフォルトの分析アルゴリズムとして適用する。
【0176】
マルチ分析アルゴリズム使用チェックボックス6042をチェックすることで、複数種類の分析アルゴリズムを障害検知に適用するよう指示することができる。マルチ分析アルゴリズム使用チェックボックス6042をチェックすることで、以下の分析アルゴリズム設定に関する操作が可能になる。
【0177】
分析アルゴリズム自動判定ラジオボタン6043を選択すると、監視マネージャに対して、適用する分析アルゴリズムを運用管理担当者による指定に依らずとも判定するよう指示することができる。一方、分析アルゴリズム手動設定ラジオボタン6044を選択すると、監視マネージャに対して、運用管理担当者による設定に基づき適用する分析アルゴリズムを変更するよう指示することができる。この二つのラジオボタンは排他関係にあり、同時には選択できないよう構成してある。以降、監視マネージャが前者の指定に従った処理を行うモードを自動判定モード、後者の指定に従った処理を行うモードを手動設定モードと呼称する。
【0178】
監視マネージャは自動判定モードに設定されると、収集した監視データとクラスタマップテーブルの情報に基づいて、適用する分析アルゴリズムを判定する。この処理の例は後述される。
【0179】
一方、監視マネージャが手動設定モードに設定されると、運用管理担当者の指示に基づいて分析アルゴリズムを適用する。すなわち、分析アルゴリズム手動設定ラジオボタン6044を選択すると、カスタム分析アルゴリズム設定テーブル6045の操作が可能になる。カスタム分析アルゴリズム設定テーブル6045は、ジョブプロファイルテーブル510に記録されているジョブ名およびノード特性の組を列挙し、それらに対してどの分析アルゴリズムを適用するかの関連付けを指示するものである。これら関連付けの情報は、カスタム分析アルゴリズム設定テーブルのエントリとして一覧表示され、多数に及ぶ場合はスクロールバーによりその一部のみを表示する。
【0180】
エントリの先頭にある関連付け使用チェックボックス60451をチェックすると、該エントリに属する各フィールドの内容に基づく関連付けを有効にする。このチェックボックスを操作することにより、関連付けの適用を一時的に抑止したり、また有効化したり、といった操作が可能になる。
【0181】
ジョブ名フィールド60452とノード特性の組名フィールド60453に対して、適用したい分析アルゴリズムを分析アルゴリズム名フィールド60454で選択する。1つのジョブ名に対して、ノード特性の組は1つ以上が存在し得るが、設定がない場合はデフォルトの分析アルゴリズムが適用される。この関連付けは運用管理担当者の明示的な指示がなくとも設定および表示されており、例えば、ノード特性の組名として「Default」を、分析アルゴリズム名として、前述のデフォルトの分析アルゴリズムの名称を、いずれも斜体で表示する。
【0182】
分析アルゴリズム名フィールドはドロップダウンボックスを兼用しており、関連付けを設定したい分析アルゴリズムを選択できる。表示されている分析アルゴリズムの名称が、デフォルトの分析アルゴリズムである場合にはそれと判別できるよう表示する。例えば、分析アルゴリズム名を斜体で表示する。
【0183】
アルゴリズムリスト表示リンク6046を選択すると、システム運用管理装置にプログラムとしてインストールされ相関分析の処理に適用可能となっている分析アルゴリズムの名称の一覧を監視コンソールスクリーン600に表示する。典型的には、このリストは分析アルゴリズム設定画面604とは別の画面として表示し、運用管理担当者がカスタム分析アルゴリズム設定テーブルの操作を行うに当たって参考となるよう、分析アルゴリズムの名称、特徴、過去の使用実績等の情報を表示する。また同様の情報は、ヘルプウィンドウ、ツールチップ等、監視コンソール202の操作性の観点から見てより好適な手段を選択して表示してもよい。
【0184】
カスタム分析アルゴリズム設定ボタン6048を押下すると、ジョブ名、ノード特性の組名について分析アルゴリズムとの関連付けを追加する画面を表示する。この画面は、カスタム分析アルゴリズム設定テーブルと同様に、ジョブ名、ノード特性の組を表示するが、クラスタマップテーブル506に記録されている監視マネージャにとって既知のジョブとそのノード特性の組を全てエントリとして表示する。そのエントリ群の中から、分析アルゴリズムとの関連付けを設定したいエントリを選択すると、カスタム分析アルゴリズム設定テーブルに該エントリが追加され、分析アルゴリズムとの関連付けの設定が可能となる。この操作で追加したエントリは、ノード特性の組名フィールドに「Default」ではなく選択したノード特性の組が表示され、分析アルゴリズム名フィールドは関連付けを設定したい分析アルゴリズムを選択できるようドロップダウンボックスを兼用する。
【0185】
監視マネージャは、運用管理担当者が関連付けを設定するにあたって参考になる情報を表示してもよい。これは例えば、後述される分析アルゴリズムの自動判定に用いる方法から得られた自動判定結果を表示したり、ノード特性毎にその代表的な監視データの情報を時系列データのグラフとして表示したり、といった様々な方法を含む。
【0186】
運用管理担当者が、OK/Cancelボタン6047のうちOKボタンを押下すると、監視コンソールは分析アルゴリズムの関連付けに関する情報を監視マネージャに送信する。これは典型的には、デフォルトの分析アルゴリズムの名称、複数種類の分析アルゴリズム使用の可否、自動判定モードと手動設定モードの別、ジョブ名およびそのノード特性の組名とそれに関連付けられた分析アルゴリズムの名称、といった情報であるが、分析アルゴリズム設定画面の操作の前後で変更された情報の差分のみを送信する等、処理効率を鑑みつつ好適な方法を選択してよい。
【0187】
監視マネージャは監視コンソールより受信した情報に基づき、ジョブプロファイルテーブル510の分析アルゴリズムフィールド5101に分析アルゴリズムIDを記録する。併せて閾値データフィールド5102に、該分析アルゴリズムに対応する閾値データを記録する。適用する分析アルゴリズムによって、それぞれ対応する閾値データが必要となるが、過去に使用した閾値データを再利用することもあるであろう。そこで、閾値データをメモリに保存、あるいはデータベースに格納しておき、適宜ジョブプロファイルテーブルの閾値データフィールドに複製したり、あるいは該閾値データのメモリ空間上のアドレスやデータベース上の検索キーをもって閾値データフィールドの記録内容としたりしてもよい。
【0188】
さて、監視マネージャが自動判定モードに設定されると、収集した監視データとクラスタマップテーブルの情報に基づいて、適用する分析アルゴリズムを判定すると先に述べた。この自動判定の処理の一例について、まずその概念を示し、続いて処理手順を示す。
【0189】
図37は、ある管理対象ホストから収集したOS性能情報を、時系列データとしてグラフに描画した例を示す。横軸は時間の推移であり、縦軸は当該OS性能情報が含むメトリックの1つ、例えばプロセッサの使用率の変化である。
【0190】
図37Aは、あるノード特性Aを備えるノードのメトリックの変動を示すグラフの例である。当該メトリックの変動を、例えば区間701で観察すると、その区間での最大値は702、最小値は703である。一方、図37Bは、また別のノード特性Bを備えるノードのメトリックの変動を示す別の例である。同じく区間701で観察すると、その区間での最大値は704、最小値は705である。ここで702と703の差α、704と705の差βに注目すると、α》βである。いずれのグラフにおいても、メトリックは微細なレベルで変動しているが、大局的な変動には顕著な違いがある。
【0191】
これが意味するところは、図37Aに示すようなメトリックの変動を特徴とするノード特性Aと、図37Bに示すようなメトリックの変動を特徴とするノード特性Bにおいては、適用すべき分析アルゴリズムが異なるということである。なぜならば、ノード特性Aのようなメトリック変動の特徴を備えるノード同士では、その大局的な変動を相関として適切に検出することができるが、一方ノード特性Bのようなメトリック変動の特徴を備えるノード同士の場合、典型的な相関分析のアルゴリズムでは相関が検出されないか、よしんば相関を検出したとしても、障害発生時にその相関の変化、典型的には相関の低下によって、それを検出できない可能性が無視できなくなるためである。
【0192】
このような理由により、OS性能情報の変動の特徴を用いた分析アルゴリズムの自動判定が必要となる。前者のようなノード特性に対しては、正準相関分析を一例とする分析アルゴリズム、後者のようなノード特性に対しては、ノード間でのメトリックの相対的な比較に基づく分析アルゴリズムが有効である。
【0193】
このような、メトリック変動の特徴に注目した分析アルゴリズム自動判定の方法として、例えば自己相関分析による方法が考えられるが、ここではより簡易な例として、最大値と最小値を用いる方法を示す。
【0194】
図38は、分析アルゴリズム自動判定の処理手順の一例を示す図である。この処理は、監視マネージャが自動判定モードに設定された状態である場合に、任意のタイミングで実行する。
【0195】
分析アルゴリズムの自動判定は、典型的には仮想グループ毎に行う。自動判定モードにある監視マネージャは、まずクラスタマップテーブル506に記録されているある仮想グループを選択し、さらにその仮想グループからあるノード特性Cを備えるノード群を抽出する(S3801)。次に、該ノード群の中からランダムに1つを抽出する(S3802)。この抽出されたノードのOS性能情報を取得し(S3803)、OS性能情報が含む複数のメトリックの各々について(S3804)、一定のタイムフレームのデータを取得し、その区間内での最大値と最小値を求める(S3805)。次いで最大値と最小値の差、すなわち変動の幅をある一定の閾値と比較し(S3806)、もし変動の幅が閾値を超える場合は、カウンタAをインクリメントし(S3807)、一方、変動の幅が閾値内に収まる場合は、カウンタBをインクリメントする(S3808)。
【0196】
この変動幅と閾値との比較を全メトリックについて行った後、カウンタAの値とカウンタBの値を比較する(S3809)。比較の結果、カウンタAの方が大きい場合は分析アルゴリズムAの適用を判定し(S3810)、カウンタBの方が大きい場合には分析アルゴリズムBの適用を判定する(S3811)。典型的には、分析アルゴリズムAは正準相関分析を一例とし、分析アルゴリズムBは後述されるようなメトリックの平均値に注目するアルゴリズムを一例とする。
【0197】
分析アルゴリズムが判定されると、監視マネージャは、ジョブプロファイルテーブル510から該仮想グループが実行に関与するジョブ名とノード特性C同士の組のレコードを検索し、判定した分析アルゴリズムを該レコードの分析アルゴリズムフィールド5101に記録し、以降の相関分析の処理に適用する。
【0198】
また、あるジョブのあるノード特性について適用する分析アルゴリズムを判定した後、まだ他のノード特性について自動判定の処理が行われていなかった場合、当該分析アルゴリズムを他のノード特性の組に適用する分析アルゴリズムとして併せて記録してもよい。これにより、あるノード特性1つについて適用する分析アルゴリズムを判定すれば、それをデフォルトの分析アルゴリズムに代えて当該ジョブの分析アルゴリズムとして適用することができる。
【0199】
さて、前記の自動判定方法は、あるメトリックについて、その最大値と最小値に注目する方法であった。この2つの値は、障害検知のための分析にも活用できる。すなわち変動の少ないメトリックしか得られない場合に適用する分析アルゴリズムの一例を示す。
【0200】
図39は、あるノード特性を備える3つの管理対象ホストから収集したOS性能情報を、時系列データとしてグラフに描画した例を示す。横軸は時間の推移であり、縦軸は当該OS性能情報が含むメトリックの1つ、例えばプロセッサの使用率の変化である。
【0201】
図39において、前記の分析アルゴリズム自動判定の処理を実行することで得られた、あるノード特性Cの管理対象ホストにおけるプロセッサ使用率の最大値を706、最小値を707で示す。また、ノード特性Cを備えるある2つの管理対象ホストのプロセッサ使用率を、それぞれ平均値を708、709で示す。平均値708、709は、前記706と707で夾叉される範囲内に収まっていることがわかる。
【0202】
一方で、同じくノード特性Cを備える、別の管理対象ホストのプロセッサ使用率の平均値を算出してみたところ、710であったとしよう。この平均値710は、前記706と707の範囲を逸脱している。これを持って、平均値710を呈する当該管理対象ホストでは障害が発生していると判定する。
【0203】
この分析アルゴリズムは、ノード毎に平均値の算出とその閾値判定を行うだけであり、前述した相関分析の処理手順より単純であるが、ジョブによっては実用的なレベルで障害検知が可能である。
【0204】
以上のようにして、並列分散処理システムの稼働中に、監視マネージャの稼働状況評価部201が障害検知に適用する分析アルゴリズムを、運用管理担当者の手動設定によっても、監視マネージャの自動判定によっても、様々に変更することができる。
【0205】
また、監視マネージャはその稼働中に、自動判定モードと手動設定モードを相互に遷移することもできる。この場合、モード遷移前にジョブプロファイルテーブル510に記録した分析アルゴリズムや閾値データを維持することが望ましいが、モード遷移後に、各々決められた処理に基づいてこれらのデータに変更を加えることは妨げられない。
【0206】
以上説明した方法により、第四の実施例は、様々な契機に複数の分析アルゴリズムから1つを選択して適用することで、より効果的な障害検知を実現する。
【0207】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0208】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、HDD、SSD等の記憶装置、またはSDカード、DVD−ROM等の記憶媒体に置くことができる。
【0209】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0210】
100 情報処理装置
110 監視サーバ
120 クライアント
130 マスタノード
140 ワーカノード
200 ユーザプロセス
201 監視マネージャ
202 監視コンソール
203 ジョブトラッカ
204 ネームノード
205 監視エージェント
206 タスクトラッカ
207 データノード
208 リモートモニタ
300 MapReduceクラスタ
301 ジョブ
302 タスク
303 データブロック
304 スプリット
305 Mapタスク
306 中間ファイル
307 Reduceタスク
308 出力ファイル
309 Mapスロット
310 Reduceスロット
401 管理対象ホスト一覧テーブル
402 OS性能情報
403 MapReduceスケジューリング情報
404 ジョブリスト
405 タスクリスト
406 アテンプトリスト
407 データ転送トレース
501 仮想グループテーブル
502 仮想グループノード一覧テーブル
503 仮想グループ
504 ノード特性テーブル
505 多相ノード特性テーブル
506 クラスタマップテーブル
507 ノード特性グループ
508 ノード性能行列テーブル
509 ジョブプロファイルテーブル
510 分析アルゴリズム付きジョブプロファイルテーブル
511 分析アルゴリズムテーブル
600 監視コンソールスクリーン
601 プリファレンス設定画面
602 イベント通知画面
603 クラスタ表示画面
604 分析アルゴリズム設定画面

【特許請求の範囲】
【請求項1】
ジョブを複数の情報処理装置で協調して実行する情報処理システムの運用管理装置であって、
前記複数の情報処理装置各々から情報を取得するデータ収集部と、
前記複数の情報処理装置に関するデータを記憶する記憶部と、
前記記憶部に記憶されたデータを用いて前記複数の情報処理装置の状態を評価する評価部を有しており、
前記複数の情報処理装置は各々、所定の複数の特性の内のいずれか一の特性を有しており、
前記データ収集部は、前記複数の情報処理装置各々から性能情報を取得して前記記憶部に格納し、
前記記憶部は更に、二の情報処理装置がとり得る特性の組み合わせ各々について、当該二の情報処理装置の性能情報の相関関係についての閾値を記憶しており、
前記評価部は、
前記複数の情報処理装置のうち一の評価対象の情報処理装置について当該評価対象の情報処理装置の状態を評価する場合に、
当該評価対象の情報処理装置以外の前記複数の情報処理装置各々について、当該評価対象の情報処理装置との性能情報の相関値を算出すると共に当該評価対象の情報処理装置との特性の組み合わせを特定し、特定された特性の組み合わせについて前記記憶部に格納されている閾値と算出された前記相関値とを比較し、
前記比較の結果に基づいて前記評価対象の情報処理装置の状態を評価することを特徴とする運用管理装置。
【請求項2】
請求項1記載の運用管理装置であって、前記ジョブは複数のタスクおよび複数のデータファイルから構成されており、
前記所定の複数の特性は、情報処理装置が実行するタスクの種別および前記情報処理装置が入出力するデータファイルの特性に基づいて定まる特性であることを特徴とする運用管理装置。
【請求項3】
請求項2記載の運用管理装置であって、前記ジョブはMapReduce方式のジョブであって、当該ジョブはMapタスクとReduceタスクとを有しており、
前記所定の複数の特性は、情報処理装置が実行するタスクがMapタスクとReduceタスクのいずれであるか、および当該タスクの実行に伴うデータファイルの転送の種別に基づいて定まる特性であることを特徴とする運用管理装置。
【請求項4】
請求項2記載の運用管理装置であって、
前記データ収集部は、前記情報処理システムで実行されるジョブ毎に、当該ジョブを実行する複数の情報処理装置各々について、当該情報処理装置が実行するタスクの種別および当該情報処理装置が入出力するデータファイルの特性を取得し、
前記評価部は、前記データ収集部が収集したタスクの種別およびデータファイルの特性に基づいて、前記複数の情報処理装置各々の特性を特定することを特徴とする運用管理装置。
【請求項5】
請求項1記載の運用管理装置であって、
前記記憶部に格納される閾値は、前記データ収集部が前記複数の情報処理装置から収集した性能情報を用いて前記評価部が算出した値であることを特徴とする運用管理装置。
【請求項6】
請求項5記載の運用管理装置であって、
前記性能情報には、前記情報処理装置を構成する計算資源の性能指標が含まれることを特徴とする運用管理装置。
【請求項7】
請求項1記載の運用管理装置であって、
前記評価部は、前記記憶部に格納されている閾値と算出された前記相関値との比較に基づいて、前記情報処理装置における異常の発生を判定することを特徴とする運用管理装置。
【請求項8】
請求項1記載の運用管理装置であって、前記ジョブは複数のタスクおよび複数のデータファイルから構成されており、
前記所定の複数の特性は、前記情報処理装置が入出力するデータファイルの特性に基づいて定まる特性であることを特徴とする運用管理装置。
【請求項9】
請求項1記載の運用管理装置であって、
前記記憶部は前記二の情報処理装置がとり得る特性の組み合わせ各々について、当該二の情報処理装置の性能情報の相関値を算出する相関値算出手段と、前記相関値算出手段を用いて算出される相関値と前記閾値を比較する閾値判定手段とを記憶しており、
前記評価部は、前記相関値算出手段を用いて前記性能情報の相関値を算出し、前記閾値判定手段を用いて前記相関値と前記閾値を比較することを特徴とする運用管理装置。
【請求項10】
請求項9記載の運用管理装置であって、
前記記憶部は、複数の前記相関値算出手段と、複数の前記閾値判定手段とを記憶しており、
前記評価部は、前記複数の情報処理装置のうち一の評価対象の情報処理装置について当該評価対象の情報処理装置の状態を評価する場合に、
当該評価対象の情報処理装置から収集した性能情報の最大値と最小値を算出し、
前記最大値と前記最小値の差に基づいて、前記相関値算出手段と、前記閾値判定手段とをそれぞれ切り替えることを特徴とする運用管理装置。
【請求項11】
請求項10記載の運用管理装置であって、
前記記憶部は、前記性能情報の最大値と最小値を記憶しており、
前記評価部は、
前記複数の情報処理装置のうち一の評価対象の情報処理装置について当該評価対象の情報処理装置の状態を評価する場合に、当該評価対象の情報処理装置から収集した性能情報の平均値を算出し、
前記平均値と、前記最大値と前記最小値それぞれとの比較に基づいて異常の発生を判定することを特徴とする運用管理装置。
【請求項12】
所定の複数の特性の内のいずれか一つの特性を有する複数の情報処理装置でジョブを協調して実行する情報処理システムの運用管理方法であって、
前記複数の情報処理装置と通信可能に接続された運用管理装置が、
前記複数の情報処理装置のうち二の情報処理装置がとり得る特性の組合せ各々について、当該二の情報処理装置の性能情報の相関関係についての閾値を記憶し、
前記複数の情報処理装置各々から性能情報を取得し、
前記複数の情報処理装置のうち一の評価対象の情報処理装置について当該評価対象の情報処理装置の状態を評価する場合に、
当該評価対象の情報処理装置以外の前記複数の情報処理装置各々について、当該評価対象の情報処理装置との性能情報の相関値を算出し、
当該評価対象の情報処理装置との特性の組み合わせを特定して、特定された特性の組み合わせについて前記閾値と算出された前記相関値とを比較し、
前記比較の結果に基づいて前記評価対象の情報処理装置の状態を評価する
ことを含むことを特徴とする運用管理方法。
【請求項13】
所定の複数の特性の内のいずれか一つの特性を有する複数の情報処理装置でジョブを協調して実行する情報処理システムの前記情報処理装置と通信可能に接続された運用管理装置に、
前記複数の情報処理装置のうち二の情報処理装置がとり得る特性の組合せ各々について、当該二の情報処理装置の性能情報の相関関係についての閾値を記憶させる手順と、
前記複数の情報処理装置各々から性能情報を取得させる手順と、
前記複数の情報処理装置のうち一の評価対象の情報処理装置について当該評価対象の情報処理装置の状態を評価させる場合に、
当該評価対象の情報処理装置以外の前記複数の情報処理装置各々について、当該評価対象の情報処理装置との性能情報の相関値を算出させる手順と、
当該評価対象の情報処理装置との特性の組み合わせを特定させ、特定させた特性の組み合わせについて前記閾値と算出させた前記相関値とを比較させる手順と、
前記比較の結果に基づいて前記評価対象の情報処理装置の状態を評価させる手順と
を実行させることを特徴とする運用管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図10C】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図11C】
image rotate

【図11D】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図17C】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28A】
image rotate

【図28B】
image rotate

【図29A】
image rotate

【図29B】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34A】
image rotate

【図34B】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37A】
image rotate

【図37B】
image rotate

【図38】
image rotate

【図39】
image rotate


【公開番号】特開2013−41574(P2013−41574A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2012−130375(P2012−130375)
【出願日】平成24年6月8日(2012.6.8)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】