説明

性能監視装置、性能監視方法及びプログラム

【課題】様々な形態で発生する事象に対して、最も的確な対策を選択・策定することを可能とする。
【解決手段】モニタ部101は、AC環境及び非AC環境の状態に係る状態情報を取得し、分析部103又はモデル診断部106は、取得された状態情報に基づいて、AC環境の装置の状態を判定する。シミュレーション部108は、その判定結果に対応する対策リストを参照し、対策リストに含まれる少なくとも一つの対策夫々によるシミュレーション処理を実行し、各対策の効果を評価する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、対象となる外部装置の状態をコンピュータが管理する所謂自律型コンピューティングに適用可能な性能監視装置、性能監視方法及びプログラムに関するものである。
【背景技術】
【0002】
人間によるコンピュータ管理の負荷を軽減するためにコンピュータが自ら管理する仕組み、所謂自律型コンピューティングが実現しつつある。自律型コンピューティングでは、コンピュータは所定の運用指針に基づいて、自律的に自己の障害を修復する(例えば、非特許文献1参照)。この自己管理は、以下のような手順を繰り返すことで実現されている。
(1)先ず、コンピュータシステムを監視してハードウェア、ソフトウェアの挙動をログデータとして集約
(2)集約したものを分析して状況を把握
(3)目的達成のための対策を立てる
(4)計画を実行・制御する
【0003】
例えば、CPUの利用率を監視し(1)、利用率が急激に高まったときに(2)、他のリソースに負荷分散するという対策を立て(3)、実際に一部の処理を他のマシンに振り分ける(4)という処理をコンピュータが自律的に実行する。
【0004】
ところで、今日提案されている自律型コンピューティングの技術では上記(1)〜(4)のサイクルで運用されるが、(3)のプランニングの処理は元々人間が設定した運用指針に沿うように仕向けられている。従って、自律型コンピューティングを実装する上で設計者は予想でき得る事象について様々な運用指針を用意しておく。コンピュータは当初設定した運用指針を守って動作し続けることができるかどうかを判断して必要なアクションを起こすようになっている。また、以後本文中の前記自律型コンピューティングを、非特許文献1中のオートノミック・コンピューティング(AC)と同義として説明する。
【0005】
【非特許文献1】「オートノミック・コンピューティングアーキテクチャに関するブループリント」、インターネット<URL:http://www-6.ibm.com/jp/autonomic/pdf/acbp2_2005-06_v7.pdf>
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、コンピュータシステムでは日常的に発生しうる事象、例えば負荷が高まったりすることは想定しやすいが、システム構成が途中から変更されたり、人為的ミスによる障害など予想しがたい事象が発生することがある。また、現時点で問題が発生していなくとも、将来発生しうる問題の兆候が潜んでいることもある。そもそも、当初設定したポリシーが間違っているということも無いわけではない。
【0007】
このように、運用指針が適用しづらい事象が発生したり、現時点で異常が表れていないので通常の運用指針に基づいた運用が行われたり、本当は変更した方が良い運用指針が潜在したまま運用を続けると、間違えた運用指針に基づいてコンピュータが自律的制御を行ってしまうなど、オートノミック・コンピューティング本来の目的である"自律的に最適な処理を行うことで、人間が介在せずに変化に対応する"ことが達成できなくなってしまう。
【0008】
そこで、本発明の目的は、様々な形態で発生する、又は、将来発生しうる事象に対して、最も的確な対策を選択・策定することを可能とすることにある。
【課題を解決するための手段】
【0009】
本発明の性能監視装置は、少なくとも一つの外部装置と通信回線を介して接続される性能監視装置であって、前記外部装置の状態に係る状態情報を取得する取得手段と、前記取得手段により取得される前記状態情報に基づいて、前記外部装置の状態を判定する判定手段と、前記判定手段による判定結果に対応する対策リストを参照し、前記対策リストに含まれる少なくとも一つの対策情報夫々による前記外部装置の状態に係るシミュレーション処理を実行し、前記各対策情報により示される対策の効果を評価するシミュレーション手段とを有することを特徴とする。
本発明の性能監視方法は、少なくとも一つの外部装置と通信回線を介して接続される性能監視装置による性能監視方法であって、前記外部装置の状態に係る状態情報を取得する取得ステップと、前記取得ステップにより取得される前記状態情報に基づいて、前記外部装置の状態を判定する判定ステップと、前記判定ステップによる判定結果に対応する対策リストを参照し、前記対策リストに含まれる少なくとも一つの対策情報夫々による前記外部装置の状態に係るシミュレーション処理を実行し、前記各対策情報により示される対策の効果を評価するシミュレーションステップとを含むことを特徴とする。
本発明のプログラムは、前記性能監視方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【0010】
本発明においては、外部装置の状態情報、又は後述する状態情報により作成したモデルに基づいて、外部装置の現在・将来の状態を分析・診断(判定)し、その判定結果に対応する対策リストに含まれる各対策によるシミュレーション処理を行って、対策リストに含まれる各対策情報に示される対策の効果を評価するように構成している。即ち、本発明は、外部装置が様々な事象の状態に陥っても、その状態に対応する対策リストによるシミュレーションを行って各対策の効果を評価することができる。
従って、本発明によれば、その評価結果に基づいて、様々な形態で発生する外部装置の事象に対して、最も的確な対策を選択・策定することが可能となる。
【発明を実施するための最良の形態】
【0011】
先ず、本発明の実施形態について説明する前に、以下の説明で用いる文言の定義を行う。
「ポリシー」とは、後述するオートノミック・コンピューティング環境(以下AC環境とする)の運用に関する指針である。ポリシーの一例としては、「CPU使用率が0〜10%であれば余剰である、CPU使用率が11〜80%であれば正常である、CPU使用率が81%以上であれば過負荷である」、「CPU使用率が過負荷の場合は、シミュレーションを実行して最適な結果を残した対策を選択する」、「システムの応答がない場合は、即座に再起動する」等が挙げられる。
「対策リスト」とは、AC環境内の装置に生じ得る各事象に紐つけられる対策の集合であり、事象と対策とはm:nで対応付けられている。なお、m=nであってもよく、m≠nであってもよい。対策リストの一例としては、「CPU使用率が閾値を超えている」という事象に対して「対策1.CPUを1つ追加、対策2.CPUを2つ追加、対策3.サーバ追加による負荷分散」で構成された対策リスト等が挙げられる。
「モデル」とは、AC環境及び後述する非AC環境から取得する監視データに基づいて、AC環境内の各装置について特徴を抽出したものである。その一例として、AC環境内におけるAPサーバからCPU使用率を示す監視データを取得した場合には、その線形近似式を求めることによってCPU使用率の時系列変化を表す以下のモデルが抽出できる。
f(t)=at+b
f(t):CPU使用率、t:時間、a,b:実値
【0012】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0013】
図1は、本発明の実施形態に係るAC性能監視装置100の機能的な構成を示すブロック図である。図1に示すように、本実施形態に係るAC性能監視装置100は、サーバ類1001、ストレージ類1002及びネットワーク(NW)装置類1003等から構成される情報処理システムであるAC環境、及び、非AC環境とLAN(Local Area Network)等の通信回線で接続され、この通信回線を介して各装置の状態を監視することが可能である。
【0014】
なお、AC環境とは、本実施形態におけるオートノミック・コンピューティングの技術を適用する環境であり、図1の例では、サーバ類1001、ストレージ類1002及びネットワーク装置類1003である。これに対し、非AC環境とは、本実施形態におけるオートノミック・コンピューティングの技術の適用外となる環境であり、この非AC環境から取得される監視データはAC環境に対するオートノミック・コンピューティングに利用することも可能である。
【0015】
また、上述したサーバ類1001とは、WebサーバやAPサーバ等の各種サーバのことであり、ストレージ類1002とは、DB等の情報を記録可能な装置類である。ネットワーク装置類1003とは、サーバ類1001及びストレージ類1002の各装置間を接続するLAN等の通信ネットワークである。
【0016】
モニタ部101は、AC環境及び非AC環境の各装置の状態を示す以下の監視データを取得する。AC環境のWebサーバ、APサーバ及びDBサーバからは、監視データとして、メモリの使用量を示すデータ及びCPUの使用率を示すデータ等のリソース使用状況データ、AC環境の各装置の処理履歴を示すログデータ等を取得する。また、モニタ部101は、AC環境におけるWebサーバ、APサーバ及びDBサーバ間を接続する各通信回線(ネットワーク装置)からは、監視データとして、それらの通信回線で通信されるトランザクションのスループット、処理名等を示すトランザクションデータを取得する。モニタ部101は、取得した監視データを標準的なフォーマットに変換して後述するイベント情報蓄積部102に蓄積する。標準フォーマットへの変換は、必ずしも必要とはならないが、多種多様な情報を効率的に分析・診断(判定)するために行っている。以下では代表的な標準フォーマットであるCBE(Common Base Event)を用いた実施形態のみについて説明するが、処理を行う為の標準化に用いるフォーマットであればCBEに限定する必要が無い事は言うまでも無い。
【0017】
さらに、モニタ部101は、非AC環境からも監視データを取得する。非AC環境の装置から取得する監視データとしては、例えば、AC環境に対してアクセスを行う非AC環境の装置を監視し、AC装置の各装置に対して行われるアクセス数を監視データとして取得したり、AC環境内の温度を計測する非AC環境内の装置である温度計から温度データを監視データとして取得することが挙げられる。その他にも、AC環境内の装置に対するアクセス数が急激増加することが予測される時期情報を非AC環境内の装置から監視データとして取得することもできる。以下では、AC環境から取得する監視データのみを用いたオートノミック・コンピューティングについて説明するが、これらの非AC環境から取得できる監視データを更に加味することによってより精度の高いオートノミック・コンピューティングを実現することが可能となる。
【0018】
分析部103は、モニタ部101が変換したCBEデータに問題がないかを、知識情報蓄積部104から読み込んだポリシー1041に基づいて分析する。例えば、CBEデータによって示されるCPUの使用率が80%を越えている場合、ポリシー1041に基づいて、CPU使用率が過負荷な状態であるという事象が分析される。ポリシー1041の一例を上記の説明で挙げたが、例えば上記のようにCPU使用率に関して分析する場合、分析対象となるCBEデータが示す数値に一番近いポリシー、「CPUの使用率が閾値の80%を越えたら過負荷な状態である」旨のポリシー1041が知識情報蓄積部104から読み込まれる。
【0019】
また例えば、分析対象となるCBEデータがメモリの使用量であり、CBEデータが90%を示す場合、この分析対象に一番近いデータに該当するポリシー「メモリに使用率が閾値の85%を越えるとメモリが過度に消費された状態にある」旨のポリシー1041が知識情報蓄積部104から読み込まれ、この場合CBEデータによって示されるメモリの使用率が85%を越えている為、メモリが過度に消費された状態であるという事象が分析される。
【0020】
また例えば、分析対象となるCBEデータがスループットを示すトランザクションデータであり、CBEデータが120トランザクション/秒を示す場合、この分析対象に一番近いデータに該当するポリシー「スループットが100トランザクション/秒未満であればサービスレベルが所定の範囲に収まる、スループットが100トランザクション/秒以上であればサービスレベルが所定の範囲内に収まらない」旨のポリシー1041が読み込まれ、この場合CBEデータによって示されるスループットが100トランザクション/秒を越えている為、システムが過負荷な状態であるという事象が分析される。
【0021】
イベント情報蓄積部102は、モニタ部101によって変換されたCBEデータを蓄積する。また、イベント情報蓄積部102は、蓄積したCBEデータに対して定期的に統計処理を行って蓄積するCBEデータ量を削減する。統計処理の例としては、一定期間中に蓄積したCBEデータの最大/最小値を求める方法や、一定期間中に蓄積したCBEデータの平均値を求める方法等が挙げられる。
【0022】
イベント情報蓄積部102に蓄積される情報としては、上述したリソース使用情報データ、ログデータ及びトランザクションデータ等の他、構成情報が蓄積される。構成情報とは、監視対象としたい情報処理システムの構成を示す情報(例えば、監視対象の情報処理システムは6台のWebサーバと2台のAPサーバと1台のDBサーバから構成される等)、情報処理システムを構成する各装置間がどのように接続され、そして、各装置間を接続するためのネットワークはどれほどの転送レートを持ったものであるかを示す情報、各装置内のハードウェア及びソフトウェアのスペックを示す情報等が含まれる。各ハードウェア及びソフトウェアのスペックとしては、単に購入時のスペックだけでなく、ファームウェアやソフトウェアのバージョン等も登録しておくとよい。なお、蓄積される構成情報は例えばオペレータ等によって入力される方法のみならず、ネットワークを介してAC性能監視装置100が取得して入力するようにしてもよい。
【0023】
モデル抽出部105は、イベント情報蓄積部102に蓄積されたCBEデータに基づいて、該当するAC環境の装置のモデル1042を抽出する。例えば、モデル抽出部105はAC環境における或る装置のCPU使用率を示すCBEデータを逐次取得し、それを線形近似することによってCPU使用率の時系列変化を表すモデル1042を抽出することができる。
【0024】
また、モデル抽出部105はAC環境における或る装置のスループットを示すCBEデータを逐次取得し、それを線形近似することによってスループットの時系列変化を表すモデル1042を抽出することができる。
【0025】
さらに、モデル抽出部105は、上記のように、CPU使用率及びスループットの時系列変化を線形近似したモデル1042を抽出した場合には、それらのモデル1042からCPU使用率とスループットとの相関関係を示すモデル1042を抽出することもできる。このようなモデル1042の抽出方法については後に詳述する。抽出した各モデル1042は、知識情報蓄積部104に蓄積する。
【0026】
モデル診断部106は、知識情報蓄積部104に蓄積されるモデル1042と当該モデル1042に該当するポリシー1041とを参照し、ポリシー1041に基づいてモデル1042の診断を行う。
【0027】
例えば、参照したモデル1042がCPU使用率の時系列変化を表すモデルであれば、当該モデル1042に該当するポリシー1041として、「CPU使用率が0〜10%であれば余剰である、CPU使用率が11〜80%であれば正常である、CPU使用率が81%以上であれば過負荷である」というポリシー1041が参照される。将来の或る時点における予測値が所定の閾値を越えると予測される場合には、CPU使用率に関して将来問題が生じる可能性があるという事象が診断される。
【0028】
図6を用いて問題の事象がモデル診断部106によって診断される例を具体的に説明する。CPU使用率の時系列変化を表すモデルがfa(x)=αx+βであり、そのモデルに紐付けられるポリシーが「CPU使用率が0〜10%であれば余剰である、CPU使用率が11〜80%であれば正常である、CPU使用率が81%以上であれば過負荷である」である場合、図6に示すように、1カ月後におけるCPU使用率fa(x)の値は80%を越えている。このような場合、モデル診断部106は、1カ月後にはCPU使用率が過負荷の為、問題が生じる可能性があると診断する。
【0029】
また、参照したモデル1042がスループットの時系列変化を表すモデルであれば、当該モデル1042に該当するポリシー1041として、「スループットが100トランザクション/秒以上であればサービスレベルが所定の範囲に収まる、スループットが100トランザクション/秒以上であればサービスレベルが所定の範囲内に収まらない」というポリシー1042が参照される。将来の或る時点における予測値が所定の閾値を越えると予測される場合には、スループットに関して将来問題が生じる可能性があるという事象が診断される。
【0030】
図7を用いて問題の事象がモデル診断部106によって診断される他の例を具体的に説明すると、処理A及び処理Bのスループットの時系列変化を表すモデルが夫々、fA(x)=α1x+β1、fB(x)=α2x+β2であり、それらのモデルに紐付けられるポリシーが「スループットが100トランザクション/秒未満であればサービスレベルが所定の範囲に収まる、スループットが100トランザクション/秒以上であればサービスレベルが所定の範囲内に収まらない」である場合、図7に示すように、1カ月後における処理AのスループットfA(x)の値は100トランザクション/秒を越えている。このような場合、モデル診断部106は、1カ月後には処理Aのスループットに問題が生じる可能性があると診断する。一方、1カ月後までの処理BのスループットfB(x)の値は100トランザクション/秒を下回っているため、1カ月後までに処理Bのスループットに問題が生じる可能性があると診断されない。
【0031】
さらに、参照したモデル1042がCPU使用率とスループットとの相関関係を示すモデルであれば、当該モデル1042に該当するポリシー1041として、「CPU使用率とスループットとの相関関係が前後1日において誤差10%以内に収めるべきである」というポリシー1041が参照される。将来の或る時点におけるCPU使用率とスループットとの相関関係が所定の均衡を保てていないことが予測される場合には、それらの相関関係に将来問題が生じる可能性があるという事象が分析される。
【0032】
図8を用いて問題の事象がモデル診断部106によって診断される更に他の例を具体的に説明すると、処理aのCPU使用率とスループットとの相関関係を示すモデルが夫々、fTA(x)=ρ1x+θ1、fTB(x)=ρ2x+θ2であり、fTA(x)は2006/01/01のデータを、fTB(x)は2006/01/02のデータに基づいて作成したモデルである。それらのモデルに紐付けられるポリシーが「CPU使用率とスループットとの相関関係が前後1日において誤差10%以内に収めるべきである」である場合、図8に示すように、fTA(x1)とfTB(x1)の間に10%以上の誤差があれば、CPU使用率とスループットとのバランスが崩れてシステムが異常な状態にあると診断する。
【0033】
計画部107は、分析部103によるCBEデータに対する分析の結果、問題があると分析された事象、又は、モデル診断部106により将来問題が生じる可能性があると診断された事象に紐付けられた対策リスト1043を知識情報蓄積部104から選択し、その対策リスト1043に含まれる各対策によるシミュレーション処理を後述のシミュレーション部108に対して依頼する。
【0034】
例えば、対象となる事象が「1カ月後におけるCPU使用率が80%を越える」ような事象の場合、その事象に紐付けられる対策リスト1043の例として以下の(1)〜(6)に示すような対策リスト1043が挙げられる。
(1)CPUを1つ追加
(2)CPUを2つ追加
(3)サーバ追加による負荷分散(処理分散パターンA)
(4)サーバ追加による負荷分散(処理分散パターンB)
(5)サーバ追加による負荷分散(処理分散パターンC)
(6)サーバ追加による負荷分散(処理分散パターンD)
【0035】
なお、図5(a)に示すように、処理分散パターンAとは、本来、2種類の処理Aと処理Bとを1つのサーバで処理していたが、そのサーバと追加したサーバとで処理Aと処理Bとを一つずつ分散させて処理させる処理分散パターンである。
【0036】
処理分散パターンBとは、図5(b)に示すように、本来、2種類の処理Aと処理Bとを1つのサーバで処理していたが、そのサーバには同様に処理Aと処理Bとを実行させるとともに、追加サーバにも処理Aを実行させ、元々処理させていたサーバの処理Aに関する処理負担を軽減する処理分散パターンである。
【0037】
処理分散パターンCとは、図5(c)に示すように、本来、2種類の処理Aと処理Bとを1つのサーバで処理していたが、そのサーバには同様に処理Aと処理Bとを実行させるとともに、追加サーバにも処理Bを実行させ、元々処理させていたサーバの処理Bに関する処理負担を軽減する処理分散パターンである。
【0038】
処理分散パターンDとは、図5(d)に示すように、本来、2種類の処理Aと処理Bとを1つのサーバで処理していたが、そのサーバには同様に処理Aと処理Bとを実行させるとともに、追加サーバにも処理Aと処理Bとの両方を実行させ、元々処理させていたサーバの処理A及び処理Bに関する処理負担を軽減する処理分散パターンである。
【0039】
シミュレーション部108は、計画部107によって選択された対策リスト1043を知識情報蓄積部104から参照し、その対策リスト1043によるシミュレーション処理を実行する。
【0040】
なお、シミュレーション部108は、装置(又は、複数の装置から成るシステム)の構成変更の効果を定量化するためのシミュレータと呼ばれるツールによって構成することができる。シミュレータは、装置(又はシステム)構成や処理の特徴が入力されることによって性能値を予測することができる。ここで、装置(又はシステム)構成として入力される情報としては、例えば、サーバ数、CPU数等が挙げられる。処理の特徴として入力される情報としては、例えば、各処理のCPUにおける処理時間、各処理の発生頻度等が挙げられる。性能値として予測される情報としては、CPU使用率、各処理に対する応答時間等が挙げられる。これらの入力データは、知識情報蓄積部104から読み出したモデルに基づいて算出して得られる情報であるため、モデルをパラメータとしてシミュレータに与えてもよい。
【0041】
例えば、対象となる事象が上述した「1カ月後におけるCPU使用率が80%を越える」ような事象の場合、上記の(1)〜(6)の対策を含む対策リスト1043についてシミュレーション処理が実行され、以下のように各対策を実施した際の効果が定量化される。
対策(1)の結果:CPU使用率85%
対策(2)の結果:CPU使用率なし(実現不可能な構成と判断されたため)
対策(3)の結果:CPU使用率40%
対策(4)の結果:CPU使用率55%
対策(5)の結果:CPU使用率55%
対策(6)の結果:CPU使用率65%
【0042】
また、対象となる事象が、例えば分析部103によって現在のCPU使用率が既に80%を越えていると分析されたような事象であれば、同じく、その事象に対応する対策リスト1043が参照され、シミュレーション処理によって当該対策リスト1043内の対策毎に効果が定量化されることになる。
【0043】
計画部107は、当該事象に該当するポリシー1041を知識情報蓄積部104から参照し、シミュレーション部108によるシミュレーション処理の評価結果のうちポリシー1041を満たす結果を導いた対策を決定する。例えば、当該事象に該当するポリシー1041が「CPU使用率が過負荷の場合は、シミュレーションを実行して最適な結果を残した対策を選択する」というポリシー1041であれば、上記の例の場合、対策(3)が決定されることになる。計画部107は、このように対策を決定すると、例えば、対策(3)を1週間後に実行する等、対策の実行をスケジューリングする。
【0044】
計画実行部109は、計画部107によって作成されたスケジュールに従って対策を実行する。
【0045】
対策探索部110は、シミュレーション部108によるシミュレーション処理の全ての結果が、当該事象に該当するポリシー1041を満たさない場合、知識情報蓄積部104に蓄積される対策のうち当該事象に紐付けられていない対策を選択し、選択された対策によるシミュレーション処理をシミュレーション部108に対して依頼する。シミュレーション部108は、選択された対策を知識情報蓄積部104から参照し、各対策についてシミュレーション処理を実行し、各対策を実施した際の効果を定量化する。
【0046】
対策探索部110は、このように当該事象に紐付けられていない対策に対するシミュレーション処理の結果のうち、上記ポリシー1041を満たす結果を導いた対策が存在する場合、知識情報蓄積部104内においてその対策を当該事象に紐付けられた対策リスト1043に追加させるとともに、上記ポリシー1041を満たす結果に対応する対策を計画部107に渡す。
【0047】
このように対策探索部110によってポリシーを満たす対策が発見され、対策探索部110によって当該対策が渡された場合、計画部107は、同様に当該対策の実行をスケジューリングする。
【0048】
図2は、AC性能監視装置100のハードウェア構成を示すブロック図である。CPU201は、システムバスに接続される各デバイスやコントローラを統括的に制御する。ROM203又はHD207には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラムや、AC性能監視装置100が実行する例えば図3−1及び図3−2に示す処理のプログラム等が記憶されている。
【0049】
なお、図2の例では、ハードディスク(HD)207はAC性能監視装置100の内部に配置された構成としているが、他の実施形態としてHD207に相当する構成がAC性能監視装置外部に配置された構成としてもよい。また、本実施形態に係る例えば図3−1及び図3−2に示す処理を行なうためのプログラムは、フレキシブルディスク(FD)206やCD−ROM等、コンピュータ読み取り可能な記録媒体に記録され、それらの記録媒体から供給される構成としてもよいし、インターネット等の通信媒体を介して供給される構成としてもよい。
【0050】
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。
【0051】
ディスクコントローラ205は、HD207やFD206等の外部メモリへのアクセスを制御する。通信IFコントローラ204は、インターネットやLANと接続し、例えばTCP/IPによって外部との通信を制御するものである。
【0052】
ディスプレイコントローラ208は、ディスプレイ209における画像表示を制御する。
【0053】
KB(キーボード)コントローラ210は、キーボード(KB)211からの操作入力を受け付け、CPU201に対して送信する。なお、図示していないが、キーボード211の他に、マウス等のポインティングデバイスもユーザの操作手段として本実施形態に係るAC性能監視装置100に適用可能である。
【0054】
モニタ部101、分析部103、モデル抽出部105、モデル診断部106、計画部107、シミュレーション部108、計画実行部107及び対策探索部110は、例えばHD207内に記憶され、必要に応じてRAM202にロードされるプログラム及びそれを実行するCPU201に相当する構成である。
【0055】
また、知識情報蓄積部104及びイベント情報蓄積部102は、例えばHD207又はRAM202内の一部記憶領域に相当する構成である。なお、知識情報蓄積部104及びイベント情報蓄積部102は、AC性能監視装置100内部に備える構成の他、外部に備えた構成としてもよい。
【0056】
次に、本実施形態に係るAC性能監視装置100の動作を、図3−1、図3−2、図10及び図11のフローチャートを参照しながら説明する。
【0057】
先ず、図10を用いてモニタ部101による監視データの取得処理からイベント情報蓄積部102へのCBEデータの蓄積処理について説明する。図10において、モニタ部101は、AC環境及び非AC環境の各装置から監視データを取得し、取得した監視データをCBEデータに変換する(ステップS1001、S1002)。次に、モニタ部101は、当該CBEデータをイベント情報蓄積部102に蓄積させる(ステップS1003)。このようにモニタ部101は、ステップS1001〜ステップS1003の処理を繰り返し実行してCBEデータをイベント情報蓄積部102に対して蓄積していく。なお、イベント情報蓄積部102内では、例えば所定期間毎に、蓄積されるCBEデータの最大/最小値や平均値等を算出し、その値のみを保持するようにすることで蓄積するデータ量の削減が図られる。
【0058】
次に、図3−1及び図3−2を用いて、イベント情報蓄積部102に蓄積されたCBEデータに基づくモデルによってAC環境の診断処理を行い、診断結果に問題がある場合には対策を実行するまでの処理について説明する。図3−1において、モデル抽出部105は、AC環境及び非AC環境の各装置に対応するCBEデータをイベント情報蓄積部102から取得し、モデル1042を抽出する(ステップS301、S302)。
【0059】
ここで、モデル1042の抽出方法を、図4を参照しながら具体的に説明する。
先ず、図4(a)において、前回モデル1042を抽出した時点(時間2)から所定時間が経過し、モデル抽出部105は、時間1及び時間2の監視データとともに、新たに時間3の監視データを今回取得する。ここで取得する監視データは、図4(a)に示すように、CPU使用率を示す監視データとスループットを示す監視データとであるものとする。
【0060】
次に、モデル抽出部105は、時間に対するCPUの使用率の関係を表す座標系において、時間1〜時間3の監視データをプロットし、プロットした各監視データの線形近似式(fa(x)=αx+β)を求めることによって、CPU使用率の時系的変化を表すモデル1042を抽出する。モデル抽出部105は、抽出したモデル1042を知識情報蓄積部104に対して蓄積する。
【0061】
また、モデル抽出部105は、図4(b)に示すように、時間に対するスループットの関係を表す座標系において、処理A及び処理B夫々に関するスループットを示す時間1〜時間3の監視データをプロットし、処理Aと処理Bとの夫々について各監視データの線形近似式(fA(x)=α1x+β1、fB(x)=α2x+β2)を求めることによって、スループットの時系的変化を表すモデル1042を抽出する。モデル抽出部105は、抽出したモデル1042を知識情報蓄積部104に対して蓄積する。
【0062】
次に、モデル抽出部105は、これらの2つのモデル1042に対して相関分析及び多変量解析を行うことで、図4(c)に示すように、処理Aと処理Bとの夫々について、CPU使用率とスループットとの相関を表す線形近似式(fTA(x)=ρ1x+θ1、fTB(x)=ρ2x+θ2)を求め、CPU使用率とスループットとの相関を示すモデル1042を抽出する(ステップS303)。モデル抽出部105は、抽出したモデル1042を知識情報蓄積部104に対して蓄積する。
【0063】
続いて、モデル診断部106は、知識情報蓄積部104に蓄積される複数のモデル1042と各モデル1042に該当するポリシー1041を夫々参照し、各モデル1042に対して該当するポリシー1041に基づく診断を実行する(ステップS304)。例えば、CPU使用率の時系列変化を表すモデル1042に対しては、「CPU使用率が0〜10%であれば余剰である、CPU使用率が11〜80%であれば正常である、CPU使用率が81%以上であれば過負荷である」というポリシー1041が適用される。そして、今回抽出したモデル1042から将来のCPU使用率を予測することもできる。今回抽出したモデル1042の傾向でCPU使用率が増加していき、例えば1カ月後のCPU使用率が80%を越えることが予測される場合には、CPU使用率に将来(1カ月後)に問題が生じる可能性があると診断する。
【0064】
また、例えば、スループットの時系列変化を表すモデル1042に対しては、「スループットが100トランザクション/秒以上であればサービスレベルが所定の範囲に収まる、スループットが100トランザクション/秒以上であればサービスレベルが所定の範囲内に収まらない」というポリシー1041が適用される。同じく今回抽出したモデル1042からスループットを予測することもできる。今回抽出したモデル1042の傾向でスループットが増加していき、例えば3週間後にスループットが100トランザクション/秒を越えることが予測される場合には、スループットに将来(3週間後)に問題が生じる可能性があると診断する。
【0065】
また、例えば、CPU使用率とスループットとの相関を表すモデル1042に対しては、「CPU使用率とスループットとの相関関係が前後1日において誤差10%以内に収めるべきである」というポリシー1041が適用される。このモデル1042からはCPU使用率に対するスループットの傾向を判定することができるため、例えば、上記ポリシー1401に基づきCPU使用率に対してスループットが1年前と比較して10%以上低い(又は、高い)と判定される場合には、問題があると診断される。
【0066】
なお、ここでは、CPU使用率の時系的変化を示すモデル1042とスループットの時系的変化を示すモデル1042とを抽出した後、CPU使用率とスループットとの相関を示すモデル1042を抽出する流れのみについて説明しているが、CPU使用率の時系列変化を示すモデル1042、スループットの時系的変化を示すモデル1042、CPU使用率とスループットとの相関を示すモデル1042の抽出処理は夫々独立して行なうことができる。つまり、本実施形態におけるモデル抽出処理は、図3−1に示す流れには限られず、それぞれのモデルの抽出処理は任意のタイミングで行なわれる。また、CPU使用率の時系列変化を示すモデル1042、スループットの時系的変化を示すモデル1042及びCPU使用率とスループットとの相関を示すモデル1042の全てを抽出せずに、そのうちの一部のモデルを抽出することもできる。即ち、CPU使用率とスループットとの相関を示すモデル1042は抽出せずにCPU使用率の時系列変化を示すモデル1042及びスループットの時系的変化を示すモデル1042の2つのモデルだけを抽出することもできるし、CPU使用率の時系列変化を示すモデル1042とスループットの時系的変化を示すモデル1042との何れか一方の1つのモデルのみを抽出することもできる。
【0067】
続いて、計画部107は、モデル診断部106によりモデル1042に問題があると診断された場合、知識情報蓄積部104においてその問題の事象に紐付けられる対策リスト1043を選択する(ステップS305/YES、S306)。例えば、対象となる事象が1カ月後におけるCPU使用率が80%を超過するという事象の場合、上述した(1)〜(6)の対策を含む対策リスト1043が選択されることになる。
【0068】
ここで、計画部107は、当該ポリシー1041に基づいてシミュレーション部108にシミュレーション処理を依頼するか否かを判断する(ステップS307)。例えば、当該ポリシー1041が「システムの応答がない場合は、即座に再起動する」である場合には、シミュレーション部108に対してシミュレーション処理を依頼せず、即座に対策の実行をスケジューリングする(ステップS307/NO、S312)。また、対象となる事象が緊急の対処を要するものであるとして予めポリシー1041において定められている場合には、その問題がある事象の内容と当該事象に紐付けられている対策リスト1043をユーザに対して報知してもよい。これによって、ユーザは報知された対策リスト1043のうちから所望の対策を選択し、対策の実行を行うことができる。
【0069】
一方、例えば、当該ポリシー1041が「CPU使用率が過負荷の場合は、シミュレーションを実行して最適な結果を残した対策を選択する」である場合、計画部107は、対策リスト1043に含まれる各対策のシミュレーション処理をシミュレーション部108に対して依頼する(ステップS307/YES、S308)。シミュレーション部108は、計画部107によって選択された対策リスト1043を参照し、その対策リスト1043に含まれる各対策のシミュレーション処理を実行する(ステップS309)。
【0070】
続いて、計画部107は、当該事象に該当するポリシー1041を知識情報蓄積部104から参照し、シミュレーション部108によるシミュレーション処理の結果のうち、参照したポリシー1041を満たす結果を導いた対策が存在するか否かを判定する(ステップS310)。
【0071】
ポリシー1041を満たす結果を導いた対策が一つのみ存在する場合、計画部107は、その対策の実行を決定し、当該対策の実行をスケジューリングする(ステップS310/YES、S311、S312)。また、ポリシー1041を満たす結果を導いた対策が複数存在する場合には、計画部107は、ポリシー1041「CPU使用率が過負荷の場合は、シミュレーションを実行して最適な結果を残した対策を選択する」に基づいてその複数の対策のうち最適な結果を導いた対策の実行を決定し、当該対策の実行をスケジューリングする(ステップS310/YES、S311、S312)。
【0072】
計画実行部109は、計画部107によって作成されたスケジュールに従って対策を実行する(ステップS313)。計画部107によって例えば「1カ月後に1つCPUを追加する」という対策のスケジュールが作成された場合、計画実行部109は、計画部107によって上記計画が作成された日から1カ月後に対象となるAC環境の装置に対してCPUを1つ追加するように制御する。
【0073】
一方、シミュレーション部108によるシミュレーション処理の結果のうち、ポリシー1041を満たす結果を導いた対策が存在しないと判定された場合(当該事象に紐つけられる対策リスト1043にポリシー1041を満たす結果を導く対策が含まれない場合)、対策探索部110は、当該対策リスト1043以外の対策を知識情報蓄積部104から参照し、参照した対策に対するシミュレーション処理をシミュレーション処理部108に順次依頼する(ステップS310/NO、S314)。
【0074】
シミュレーション処理部108は、対策探索部110によって依頼された対策のシミュレーション処理を実行する(ステップS315)。
【0075】
続いて、対策探索部110は、当該対策リスト1043以外の対策の全てについてのシミュレーション処理を依頼すると、シミュレーション部108による各対策に対するシミュレーション処理の結果と上記ポリシー1041とを照らし合わせ、ポリシー1041を満たす結果を導いた対策が存在するか否かを判断する(ステップS316/NO、S317)。なお、本実施形態では、対策探索部110は、知識情報蓄積部104内に蓄積される上記対策リスト以外の対策全てを探索する全探索手法を用いているが、他の実施形態として、上記対策リスト以外の対策をランダムに探索するランダム探索手法や一定のポリシー(条件)を満たす対策が発見された時点で探索を止める最適化方法論等を利用することもできる。
【0076】
ポリシー1041を満たす結果を導いた対策が一つのみ存在する場合、対策探索部110は、その対策の実行を決定し、当該対策の実行のスケジューリングを計画部107に対して依頼する(ステップS317/YES、S318)。また、ポリシー1041を満たす結果を導いた対策が複数存在する場合、対策探索部110は、その複数の対策のうち最適な結果を導いた対策の実行を決定し、当該探索の実行のスケジューリングを計画部107に対して依頼する(ステップS317/YES、S318)。一方、ポリシー1041を満たす結果を導いた対策が存在しない場合(ステップS317/NO)、ステップS301の処理に戻る。
【0077】
続いて、対策探索部110は、計画部107に対してスケジューリングを依頼した対策を、当該事象の対策リスト1043に追加して紐つける(ステップS319)。このように対策探索部110によって今回探索された対策が対策リスト1043に追加される。従って、次回、同じ事象が分析部103によって分析、又は、モデル診断部106によって診断された場合、ステップS314〜ステップS319を行うことなく、今回探索された対策についてのシミュレーション処理を行うことが可能となる。
【0078】
続いて、計画部107は、対策探索部110から依頼された対策の実行をスケジューリングする(ステップS312)。
【0079】
計画実行部109は、計画部107によって作成されたスケジュールに従って対策を実行する(ステップS313)。
【0080】
次に、図10及び図3−2を用いて、モニタ部101から直接得られるCBEデータを分析し、分析結果に問題がある場合には対策を実行するまでの処理について説明する。なお、図3−2は、上述したように、AC環境の診断処理を含む流れを説明する上でも用いている。以下に説明する分析処理を含む流れにおいても図3−2と同様の処理が行なわれるため、図3−2に該当する処理については適宜説明を省略する。
【0081】
図11において、分析部103は、モニタ部101からCBEデータを取得し、当該CBEデータに該当するポリシー1041を知識情報蓄積部104から参照し、参照したポリシー1041に基づいて当該CBEデータに問題がないかを分析する(ステップS1101、S1102)。上述したように、CBEデータがCPUの使用率を示すデータであって、且つ、「CPU使用率が0〜10%であれば余剰である、CPU使用率が11〜80%であれば正常である、CPU使用率が81%以上であれば過負荷である」というポリシー1041であれば、CBEデータにより示されるCPUの使用率が80%を越えていたらCBEデータに問題があると分析され、反対にCBEデータにより示されるCPUの使用率が80%未満である場合には、CBEデータには問題がないと分析される。
【0082】
続いて、計画部107は、分析部103によりCBEデータに問題があると分析された場合、知識情報蓄積部104においてその問題の事象に紐付けられる対策リスト1043を選択する(ステップS1102/YES、S1103)。
【0083】
次に、計画部107は、当該ポリシー1041に基づいてシミュレーション部108にシミュレーション処理を依頼するか否かを判断する。例えば、当該ポリシー1041が「システムの応答がない場合は、即座に再起動する」である場合には、シミュレーション部108に対してシミュレーション処理を依頼せず、即座に対策の実行をスケジューリングする(ステップS1104/NO、S312)。また、対象となる事象が緊急の対処を要するものであるとして予めポリシー1041において定められている場合には、その問題がある事象の内容と当該事象に紐付けられている対策リスト1043をユーザに対して報知してもよい。これによって、ユーザは報知された対策リスト1043のうちから所望の対策を選択し、対策の実行を行なうことができる。なお、ステップS312以降の処理は、AC環境の診断処理を含む流れと同様であるため、説明を省略する。
【0084】
一方、例えば、当該ポリシー1041が「CPU使用率が過負荷の場合は、シミュレーションを実行して最適な結果を残した対策を選択する」である場合、計画部107は、対策リスト1043に含まれる各対策のシミュレーション処理をシミュレーション部108に対して依頼する(ステップS1104/YES、S308)。シミュレーション部108は、計画部107によって選択された対策リスト1043を参照し、その対策リスト1043に含まれる各対策のシミュレーション処理を実行する(ステップS309)。なお、ステップS310以降の処理は、AC環境の診断処理を含む流れと同様であるため、説明を省略する。
【0085】
以上のように、本実施形態においては、監視データ(CBEデータ)に対応するポリシーから現在の問題の事象を分析(判定)し、又は、監視データ(CBEデータ)の履歴からモデルを抽出して当該モデルとそのモデルに対応するポリシーから現在・将来の問題の事象を診断(判定)し、上記判定結果に基づいてその事象に対応する対策リストによるシミュレーション処理を行って、各対策の効果を評価するようにしている。即ち、本実施形態は、AC環境内における各装置が様々な事象に陥った場合でも、その事象に対応する対策リストによるシミュレーション処理によって各対策の効果を評価することができる。
【0086】
従って、本実施形態によれば、各対策の効果に関する評価結果に基づいて、AC環境内における各装置の様々な事象に対して最も的確な対策を選択・策定することが可能である。
【0087】
また、本実施形態では、計画部107が最適な効果を導いた対策の決定及び対策の実行のスケジューリングを行い、計画実行部109によってそのスケジューリングに従って対策を自動的に実行することが可能である。
【0088】
さらに、本実施形態では、仮に或る事象に対応する対策リストから最適な対策が発見できなかった場合でも、その他の対策を探索することによって、当該事象に適用する対策の幅を事前の対策リストから更に広げることが可能である。
【0089】
以上では、CPU使用率の時系列変化、スループットの時系列変化及びCPU使用率とスループットとの相関関係を表すモデルを抽出した場合について説明を行った。これら以外にも、例えば、図9に示すように、前後1日において処理Aのスループットと処理Bのスループットとの監視データを取得し、それらに基づいて処理Aのスループットと処理Bのスループットとの相関関係を表すモデルfTAB1(x)=ρAB1x+θAB1、fTAB2(x)=ρAB2x+θAB2を抽出して問題の事象を診断することも可能である。即ち、それらのモデルに紐付けられるポリシーが「処理Aのスループットと処理Bのスループットとの相関関係が前後1日において誤差10%以内に収めるべきである」である場合、図9に示すように、fTAB1(x1)とfTAB2(x1)の間に10%以上の誤差があれば、処理Aのスループットと処理Bのスループットとのバランスが崩れる可能性があると分析又は診断する。その後は同様に、この問題の事象に対応する対策リストによるシミュレーション処理が実行され、最適な結果を導いた対策が実行される。
【0090】
本発明は、以上に述べたモデル以外にもAC環境から取得し得る監視データに基づいて、種々のモデルを抽出できることは勿論である。また、同一の装置から得られた監視データだけでなく、異なる複数の装置から監視データを得て、装置間の監視データの相関関係を表すモデル等の抽出を行うことも可能である。
【図面の簡単な説明】
【0091】
【図1】本発明の実施形態に係るAC性能監視装置の機能的な構成を示すブロック図である。
【図2】AC性能監視装置のハードウェア構成を示すブロック図である。
【図3−1】本発明の実施形態に係るAC性能監視装置の動作を示すフローチャートである。
【図3−2】本発明の実施形態に係るAC性能監視装置の動作を示すフローチャートである。
【図4】モデルの抽出方法を具体的に説明するための図である。
【図5】複数の処理分散パターンを説明するための図である。
【図6】問題の事象が分析部によって分析又はモデル診断部によって診断される例を具体的に説明するための図である。
【図7】問題の事象が分析部によって分析又はモデル診断部によって診断される例を具体的に説明するための図である。
【図8】問題の事象が分析部によって分析又はモデル診断部によって診断される例を具体的に説明するための図である。
【図9】他のモデルの抽出例及びそのモデルに基づく問題の事象の分析又は診断例を説明するための図である。
【図10】本発明の実施形態に係るAC性能監視装置の動作を示すフローチャートである。
【図11】本発明の実施形態に係るAC性能監視装置の動作を示すフローチャートである。
【符号の説明】
【0092】
100:AC性能監視装置
101:モニタ部
102:イベント情報蓄積部
103:分析部
104:知識情報蓄積部
105:モデル抽出部
106:モデル診断部
107:計画部
108:シミュレーション部
109:計画実行部
110:対策探索部
1001:サーバ類
1002:ストレージ類
1003:ネットワーク装置類
1004:非AC環境
1041:ポリシー
1042:モデル
1043:対策リスト

【特許請求の範囲】
【請求項1】
少なくとも一つの外部装置と通信回線を介して接続される性能監視装置であって、
前記外部装置の状態に係る状態情報を取得する取得手段と、
前記取得手段により取得される前記状態情報に基づいて、前記外部装置の状態を判定する判定手段と、
前記判定手段による判定結果に対応する対策リストを参照し、前記対策リストに含まれる少なくとも一つの対策情報夫々による前記外部装置の状態に係るシミュレーション処理を実行し、前記各対策情報により示される対策の効果を評価するシミュレーション手段とを有することを特徴とする性能監視装置。
【請求項2】
前記取得手段により取得される前記状態情報を外部又は内部の記録媒体内に蓄積する蓄積手段と、
前記記録媒体内に蓄積される前記状態情報の履歴に基づいて、前記外部装置の状態を表すモデル情報を抽出するモデル抽出手段とを更に有し、
前記判定手段は、前記モデル情報に基づいて前記外部装置の状態を判定することを特徴とする請求項1に記載の性能監視装置。
【請求項3】
前記判定手段は、前記モデル情報と、更に前記状態情報の種類に応じた前記外部装置の運用に係るポリシー情報とに基づいて、前記外部装置の状態を判定することを特徴とする請求項2に記載の性能監視装置。
【請求項4】
前記シミュレーション手段による前記各対策の効果の評価結果に基づいて、前記対策リストから一つの対策情報を決定する対策決定手段を更に有することを特徴とする請求項1乃至3の何れか1項に記載の性能監視装置。
【請求項5】
前記対策決定手段により前記評価結果に基づいて前記対策リストから一つの対策情報を決定することができなかった場合、前記対策リストに含まれない他の対策情報を探索する探索手段を更に有し、
前記シミュレーション手段は、前記他の対策情報による前記外部装置の状態に係るシミュレーション処理を実行し、前記他の対策情報により示される対策の効果を評価することを特徴とする請求項4に記載の性能監視装置。
【請求項6】
前記探索手段は、前記対策決定手段が前記他の対策情報により示される対策の効果の評価結果に基づいて前記他の対策情報を決定した場合、前記他の対策情報を前記判定結果に対応付けることを特徴とする請求項5に記載の性能監視装置。
【請求項7】
少なくとも一つの外部装置と通信回線を介して接続される性能監視装置による性能監視方法であって、
前記外部装置の状態に係る状態情報を取得する取得ステップと、
前記取得ステップにより取得される前記状態情報に基づいて、前記外部装置の状態を判定する判定ステップと、
前記判定ステップによる判定結果に対応する対策リストを参照し、前記対策リストに含まれる少なくとも一つの対策情報夫々による前記外部装置の状態に係るシミュレーション処理を実行し、前記各対策情報により示される対策の効果を評価するシミュレーションステップとを含むことを特徴とする性能監視方法。
【請求項8】
請求項7に記載の性能監視方法をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3−1】
image rotate

【図3−2】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2007−207117(P2007−207117A)
【公開日】平成19年8月16日(2007.8.16)
【国際特許分類】
【出願番号】特願2006−27622(P2006−27622)
【出願日】平成18年2月3日(2006.2.3)
【出願人】(000191076)新日鉄ソリューションズ株式会社 (136)
【Fターム(参考)】