説明

リソース監視方法および装置

【課題】本発明の目的は、監視対象となる計算機上で発生する様々な要因によるリソース不足を問題が顕在化する前に検知すること、およびリソース不足が予想される場合に適切な対処を自動的に行うことにある。
【解決手段】本発明では、監視対象コンピュータ上で発生する事象をイベントとして通知する機能を持ち、受信したイベントを契機として、リソース使用情報の取得を行い、取得した情報を蓄積および解析する機能を持ち、上記解析結果から、イベント発生後のリソース使用量を予測する手段と、予測したリソース消費量が予め設定した閾値または計算機上の空きリソースを越えるようであれば、追加リソースの割り当てや別の計算機に処理を分散するなどのアクションを実行する手段を持つことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は計算機のリソース使用量を監視する技術に関する。
【背景技術】
【0002】
システム構築時に各サービスに対するリソースの見積りを行っても、実際の運用においては、処理の集中や処理データ量などの要因により、リソース不足が発生し、サービスレベルを維持できないなどの問題が発生することがある。
【0003】
そのため、近年では仮想化技術により動的にリソースを確保することで、刻々と変化する状況に対し、リソース不足の問題を解決する方法が示されている(例えば、特許文献1、特許文献2)。
【0004】
【特許文献1】特開2005−99973号公報
【特許文献2】特開2005−128866号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1および特許文献2では、リソース使用量予測にユーザーリクエストの内容によりリソース使用量を予測するため、
Webシステムなど特定のシステムを監視する場合には有効であるが、集計業務やバックアップ業務といったユーザ要求を伴わない形態の業務システムを監視することができないという問題があった。
【0006】
また、システム構成の変更や、実行するアプリケーションの変更が発生した場合、新たに分類テーブルを更新する作業が必要になるという問題があった。
【0007】
さらには、リソース不足が発生する要因は、ユーザリクエストや業務量の変化のみではなく、ソフトウェア障害やハードウェア障害といった予測不可能な事象やこれらのリカバリー処理が原因となる場合もある。
【0008】
本発明の目的は、計算機システム上で発生する様々な事象発生後のリソース使用量の変化を予測することで、リソース不足を事前に検知し、適切な対処を自動的に行うことにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明では、監視対象コンピュータ上で発生する事象をイベントとして通知する機能を持ち、受信したイベントを契機として、リソース使用情報の取得を行い、取得した情報を事象ごとに自動的に分類して蓄積および解析する機能を持ち、上記解析結果から、イベント発生後のリソース使用量を予測する手段と、予測したリソース消費量が予め設定した閾値または計算機上の空きリソースを越えるようであれば、追加リソースの割り当てや別の計算機に処理を分散するなどのアクションを実行する手段を持つことを特徴とする。
【発明の効果】
【0010】
本発明によれば、計算機システム上で発生する様々な事象発生後のリソース使用量を予測することができ、またリソース使用量の予測にはイベントの持つ情報を利用することでより精度の高い予測をすることができ、リソース不足が予想される場合に適切なリソースを割り当てるなどの対処ができるようになる。
【発明を実施するための最良の形態】
【0011】
図1は、監視システム全体の構成を表す図である。
【0012】
監視コンピュータ100と監視対象コンピュータ130がLANなどのネットワーク120を介して接続されている。
【0013】
監視コンピュータ100と監視対象コンピュータ130は、一般的なコンピュータ(計算機)である。
【0014】
また、監視対象コンピュータ130は複数台存在しても良い。
【0015】
監視コンピュータ100は、メモリ101、ディスク制御装置106、CPU107、通信装置108を持っている。
【0016】
また、ストレージなどの補助記憶装置110は、ディスク制御装置106により接続されている。
【0017】
メモリ101上に、イベント受信部102、リソース使用量予測部103、稼動データ取得部104、アクション指示部105が展開されている。
【0018】
また、データとして、補助記憶装置109上に、イベント分類テーブル110、リソース監視設定テーブル111、リソース管理テーブル112、アクション定義DB113をそれぞれ持つ。
【0019】
これらのデータは、メモリ上に持っても良い。
【0020】
監視対象コンピュータ130は、メモリ131、CPU136、通信装置137を持ち、メモリ131上に業務や各種アプリケーションのプログラム132、イベント送信部133、稼動データ収集部134、アクション実行部135が展開されている。
【0021】
プログラム132は複数並列に実行することができ、プログラム132に埋め込まれたコードからイベント送信部133の機能により、監視コンピュータ100にプログラムで発生した事象や、プログラムが監視プログラムの場合は、監視対象となる機器やプログラムで発生した事象をイベントとして発行することができる。
【0022】
イベントとして送信される情報の例を図2に示す。
【0023】
イベントとして送信される情報には、事象が発生したコンピュータを識別するために発生コンピュータ201を持つ。また、イベントには、計算機上で発生した事象を一意に識別するための情報として、イベントID202を持つ。
【0024】
その他にメッセージ203や複数の属性204を持ってもよい。
【0025】
イベント受信部102の処理フローを図3に示す。
【0026】
監視対象コンピュータで発生した事象は、イベント送信部133からイベントとして送信され、管理サーバ100のイベント受信部102で受信する(S101)。
【0027】
受信したイベントの発生コンピュータ201およびイベントID202から、イベント分類テーブル110を検索する(S102)。
【0028】
イベント分類テーブル110を図4に示す。
【0029】
イベント分類テーブル110は、イベントを分類する条件として分類条件401、分類条件を一意に識別するためのIDとしてグループID402で構成されている。
【0030】
分類条件401は、発生コンピュータ403、イベントID404などの複数の条件を持ってよい。また、条件として使用する項目にはメッセージや属性などを追加してもよい。
【0031】
イベント分類テーブルの分類条件401を検索し、一致する分類条件のグループIDが取得できた場合(S103:Yes)は、リソース使用量予測部103を呼び出す(S104)。
【0032】
一致する分類条件が無かった場合(S103:No)は、新たにグループIDを設定し、受信したイベントに含まれる情報をイベント分類テーブルに設定し(S105)、リソース使用量予測部103を呼び出す(S104)。
【0033】
図5にリソース使用量予測部を示す。
【0034】
リソース使用量予測部103は、リソース使用量予測処理501、リソース使用量監視処理502、リソース使用量予測値登録処理503からなる。これらの処理は、必ずしもリソース使用量予測部内にある必要は無く、それぞれ独立していてもよい。
【0035】
図6にリソース使用量予測部103の処理フローを示す。
【0036】
リソース使用量予測部103は、順にリソース使用量予測処理501(S201)、リソース使用量監視処理502(S202)、リソース使用量予測値登録処理503(S203)を呼び出す。
【0037】
リソース使用量予測処理502(S201)の処理フローを図7に示す。
【0038】
イベントの情報に含まれる発生コンピュータ202に対し、稼動データ取得部104からリソース情報収集指示を出す(S301)。
【0039】
収集するリソースおよび収集間隔などの設定情報は、リソース監視設定テーブル111に予め設定しておく。
【0040】
リソース監視設定テーブル111を図8に示す。
【0041】
リソース監視設定テーブル111は、管理対象コンピュータ801、収集するリソース802、閾値803、収集間隔804、収集完了条件805、リソース使用量が閾値を超えたときに実行するアクションを示すアクションID806を持つ。
【0042】
この例では、管理対象コンピュータごとに収集するリソースやしきい値を設定しているが、全てのコンピュータに対して同じ条件を設定してもよい。
【0043】
また、しきい値は、リソースの最大値(最大量)であってもよい。
【0044】
この場合、稼動データ収集部134を通じて、リソース最大値を得ることもできる。
【0045】
リソース使用量予測部では、イベントを受信時に検索したイベント分類テーブル110のグループID402から、対応するグループIDのリソース使用量増分予測値をリソース管理テーブル112から取得する(S102)。
【0046】
リソース管理テーブル112を図9に示す。
【0047】
リソース管理テーブルは、イベント分類テーブルのグループID402と対応付けたグループID901、リソース使用量増分予測値902を持つ。リソース使用量増分予測値902には、収集するリソースを持つ。例では、CPU使用率903およびメモリ使用量904を持つ。
【0048】
リソース管理テーブル112に一致するグループID901が存在しない場合は、新たにデータを追加し、処理を終了する(S303:No)。データの初期値には0を設定する。
【0049】
リソース管理テーブル112からリソース使用量予測データを取得できた場合(S303:Yes)は、管理対象コンピュータの現在のリソース使用量にリソース使用量予測データの値を加算し、その結果がリソース監視設定テーブル111のしきい値803を超えていないか判断する。
【0050】
しきい値を超えていない場合(S305:Yes)は、処理を終了する。
【0051】
しきい値を超えた場合(S305:No)は、リソース監視設定テーブル111のアクションID806に指定されたIDを、アクション定義テーブル114のアクションIDと照合し、合致したアクションを実行し、処理を終了する。
【0052】
アクション定義テーブルを図10に示す。
【0053】
アクション定義テーブル113には、アクションID1001とアクションの実行コマンド1002、コマンドを実行するときに渡す実行引数1003が定義されている。
【0054】
実行時に渡す引数には、変数を使用することができ、変数に不足するリソース量などを設定することで、不足分のリソースを動的に割り当てることができる。
【0055】
リソース使用量監視処理503(S202)の処理フローを図11に示す。
【0056】
該当するリソース監視設定テーブル111の情報を取得し、収集するリソース402と収集間隔404を基に定期的に発生コンピュータ302のリソース情報を収集する(S401)。管理対象コンピュータのリソース使用量情報は、稼動データ取得部104により稼動データ収集部134を通じて行われる。
【0057】
ここで、取得したリソース使用量が予め設定した閾値803を超えていないか確認し、閾値を超えた場合(S402:No)は、アクションを実行する(S404)ように設定してもよい。閾値を超えていない場合は、S403に進む(S402:Yes)。
【0058】
次の処理(S403)では収集完了条件の確認を行う。収集完了条件805を満たした場合(S403:Yes)は、取得したデータをリソース使用量履歴テーブル112に更新し(S405)、処理を終了する。
【0059】
リソース使用量履歴テーブル112を図12に示す。
【0060】
リソース使用量履歴テーブルは、グループIDごとに存在し、属性1202およびリソース使用量増分1203を記録する。属性が複数ある場合は、属性1(1203)、属性2(1204)のように複数定義できる。また、リソース使用量増分1203についても、収集するリソースごとにCPU使用率1205、メモリ使用量1206のように複数定義してよい。
【0061】
リソース使用量予測値登録処理504(S203)の処理フローを図13に示す。
【0062】
リソース使用量予測値登録処理では、リソース使用量履歴テーブル112を参照し、存在する属性値の数だけ、繰り返し処理を行う。まず初期値としてn=0を設定する(S501)。次に、nに1を加算する(S502)。
【0063】
属性nが存在する場合(S503:Yes)で属性nが数値データの場合(S504)、属性nとリソース使用量の相関関係を計算するために近似式を求める(S505)。
【0064】
近似式は、最小二乗法などを用いて行うことができる。
【0065】
また、数値データで無い場合は、S502に進み、次の属性n+1について検証を行う。
【0066】
次に、求めた近似式と実測値の誤差を計算し、誤差が予め規定した範囲内に収まっている場合は相関関係があるとし(S506:Yes)、求めた近似式をリソース管理テーブル113のリソース使用量増分予測値902に登録する。登録する式は、例えば「0.3×$属性2」($属性2は変数としての属性2を表す)のように登録する(S507)。登録した値をリソース使用量予測処理のS302で使用する場合は、属性2の値を代入することにより、リソース使用量予測値を求める。
【0067】
また、相関関係がない場合はS502に進み、次の属性n+1について検証を行う。
【0068】
すべての属性を検証しても相関関係がなかった場合や、属性が無い場合(S503:No)は、リソース使用量の履歴から最大値をリソース管理テーブル113のリソース使用量増分予測値902に登録する。登録する値は、最大値ではなく平均値としてもよい。
【図面の簡単な説明】
【0069】
【図1】監視システム全体の構成を表す図。
【図2】イベントとして送信される情報の一例を表す図。
【図3】イベント受信部の処理フローを表す図。
【図4】イベント分類テーブルを表す図。
【図5】リソース使用量予測部の構成を表す図。
【図6】リソース使用量予測部の処理フローを表す図。
【図7】リソース使用量予測処理の処理フローを表す図。
【図8】リソース監視設定テーブルを表す図。
【図9】リソース管理テーブルを表す図。
【図10】アクション定義テーブルを表す図。
【図11】リソース使用量監視処理の処理フローを表す図。
【図12】リソース使用量履歴テーブルを表す図。
【図13】リソース使用量予測値登録処理の処理フローを表す図。
【符号の説明】
【0070】
100…管理コンピュータ、101、131…メモリ、102…イベント受信部、103…リソース使用量予測部、104…稼動データ取得部、105…アクション指示部、106…ディスク制御装置、107、136…CPU、108…通信装置、109、137…補助記憶装置、110…イベント分類テーブル、111…リソース監視設定テーブル、112…リソース使用量履歴テーブル、113…リソース管理テーブル、114…アクション定義テーブル、120…ネットワーク、130…管理対象コンピュータ、132…プログラム、133…イベント送信部、134…稼動データ収集部、135…アクション実行部。

【特許請求の範囲】
【請求項1】
監視対象コンピュータをイベントにより監視する監視システムにおいて、
イベントを契機として、監視対象コンピュータのリソース使用量を測定する手段と、イベントの持つ情報によりイベントをグループ分けし、グループごとに測定したリソース使用量を蓄積する手段を持つことを特徴とするリソース監視装置。
【請求項2】
請求項1のリソース監視システムにおいて、
イベントを受信したときに、イベント受信後に使用するリソース量を予測する手段を持つことを特徴とするリソース監視装置。
【請求項3】
請求項2のリソース監視システムにおいて、
監視対象コンピュータのリソース量の最大値および現在のリソース使用状況を取得する手段と、イベントを受信したときに、イベント受信後に使用するリソース量を予測する手段を持ち、予測したリソース使用量が最大値を超えることが予測される場合に、予め定義したアクションを実行する機能を持つリソース監視装置。
【請求項4】
請求項3のリソース監視システムにおいて、
アクションとして、不足するリソースの割り当てを行う場合に、予測したリソース量をパラメータとして渡すことで、必要となるリソースを確保することを特徴とするリソース監視装置。
【請求項5】
請求項2のリソース監視システムにおいて、予測の際に、イベントの持つ属性情報から、属性情報とリソース使用量の相関関係を計算し、属性情報を加味したリソース使用量予測を行うことを特徴とするリソース監視装置。

【図1】
image rotate

【図2】
image rotate

【図3】
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

【図12】
image rotate

【図13】
image rotate