図1は、関連技術を使用して性能の問題を検知する場合の例について説明するための図である。図1において、縦軸は、監視対象のシステムを示す。また、横軸は、時間を示す。
図1内の“異常(システム3)”は、上記関連技術により蓄積すべき性能データが間引かれて残らなかった様子を示す。図1内の“異常(システム9)”は、蓄積するべき性能データが正しく残る様子を示す。
“異常(システム3)”と“異常(システム9)”以外のシステムでは、運用上問題のない範囲の一時的なアラートが多発し、多くの性能データが間引かれずに残ることを示す。
データ量を削減する場合、ファイル圧縮技術を使った削減方法も考えられるが、以下の問題があるため除外する。
・可逆性圧縮(完全に元のデータと同じデータに戻ることを保証)の技術(例:ZIP)は、1/10程度の圧縮率であり、データセンターに集約された数千台の管理対象サーバの詳細な性能データを1年間分蓄積するには、膨大なディスク(数TB以上)が必要となる。
高圧縮率な非可逆性圧縮(元のデータと同じデータに戻ることを保証しない)の技術(例:JPEG)は、圧縮率は高いが、圧縮の結果、データ値が0以外の場合に0になったり、値が0の場合に0以上になったりして性能データの詳細な値を完全に復元できない。そのため、トラブルシューティング時にその圧縮データを利用することができない。
・また、圧縮技術を利用して性能データを圧縮した場合、トラブルシューティング時にデータを復元する必要があり、データが大量になると復元時間が増大し、緊急を要するトラブルシューティングに利用できない。また、大量のデータを一時的に復元するためのディスクの容量の問題が発生する。
また、性能トラブル発生時は、調査資料採取や回避のためのリブートなど、運用者がIT(information technology)システムに対して何らかの操作を実施する。そのため、この特性を活かして、運用者によるITシステムへの端末からの操作をキャッチアップし、性能トラブル発生を検知する技術が考えられる。端末からの操作をキャッチアップし、操作内容を識別してデータに対する保存操作などを実現する技術がある(例えば、第1技術)。
図2は、第1技術を使用した場合に、データの間引きの結果、不要なデータが残る場合について説明するための図である。図2において、縦軸は、監視対象のシステムを示す。また、横軸は、時間を示す。
図2に示す事例では、各システムにおいて以下の定期リブートを実施している。
システム1:毎週日曜日、システム2:毎週土曜日
システム3:各週土曜日、システムn:毎月第一日曜日
しかし第1技術を用いて問題を解決しようとすると、例えば毎週末の定期リブート操作の度に性能トラブル発生と誤認し、不要なデータ(蓄積対象とされた性能データ)を保存してしまう。
そこで、本実施形態では、性能問題発生時のシステム管理者が行うシステムへのオペレーション特性を利用して問題が発生したかどうかを判別し、問題が発生した場合に行われるオペレーションと判別した場合、必要な性能データを残す。
図3は、本実施形態に係るデータ管理装置の一例を示す。データ管理装置1は、動作情報取得部2、第1記憶部3、動作情報特定部4、第2記憶部5、ログ取得部6、期間特定部7を含む。
動作情報取得部2は、監視対象の情報処理手段から、所定の動作に関する動作情報を取得する。動作情報取得部2の一例として、検出部18が挙げられる。監視対象の情報処理手段の一例として、監視対象サーバ41のホストサーバ42または仮想サーバ43が挙げられる。
第1記憶部3は、所定の動作と登録動作パターンとを対応づけた動作パターン情報を記憶する。第1記憶部3の一例として、管理DB23が挙げられる。
動作情報特定部4は、動作パターン情報に基づいて、取得した動作情報より、登録動作パターンに対応する動作情報を特定する。動作情報特定部4の一例として、決定部19が挙げられる。
第2記憶部5は、情報処理手段のログを記憶する。第2記憶部5の一例として、性能データを格納する性能情報DB22が挙げられる。
ログ取得部6は、ログのうち登録動作パターンに許容されない動作情報が行なわれた時期のログを取得する。ログ取得部6の一例として、間引き部20が挙げられる。
期間特定部7は、取得したログによって示される性能値に基づき抽出するログの期間を特定する。期間特定部7の一例として、間引き部20が挙げられる。
このように構成することにより、蓄積された監視対象のログから、異常が発生している期間に対応するログを抽出することができる。
期間特定部7は、取得したログによって示される性能値が所定の範囲から外れる期間のログを特定する。すなわち、ログ取得部6は、第2記憶部5から、登録動作パターンに許容されない動作情報が行なわれた日と一致する前記ログを取得する。このとき、期間特定部7は、取得したログによって示される性能値の標準偏差を算出し、性能値が該標準偏差から外れる期間に対応するログを特定する。
このように構成することにより、異常があった監視対象の性能データから、異常状態になっていた期間の性能データを抽出することができる。
期間特定部7は、性能値が、標準偏差の範囲内から外れる時期の所定時間前までにあるログの性能値の平均を算出し、平均した性能値についてのログを特定する。
このように構成することにより、異常が発生する直前の性能データを抽出することができる。
ここで、動作パターン情報は、監視対象の情報処理手段における所定のプログラムの再起動、監視対象の情報処理手段に対して発行される所定のコマンド、監視対象の情報処理手段のリソースの変動、または監視対象の情報処理手段が仮想マシンの場合における仮想マシンの仮想環境の移行に関するパターン情報である。
このように構成することにより、定期的に行なうオペレーション等、正常時に行なうオペレーションをパターン情報を用いることにより、異常時に実際に行なったオペレーションを区別することができる。
図4は、本実施形態における監視システムのブロック図を示す。監視システム10は、管理サーバ11、1以上のサーバ41を含む。管理サーバ11と1以上のサーバ41とは、通信ネットワークで接続されている。
各サーバ41は、物理サーバで稼動するシステム(1,2,・・,n)に含まれるサーバをいう。具体的には、各サーバ41は、ホストOS(Operating System)に基づくサーバ(ホストサーバまたは物理サーバ)42、及び仮想計算機(VM:Virtual Machine)で稼動するゲストOSに基づくサーバ(仮想サーバ)43を含む。
ホストサーバ(物理サーバ)42のホスト環境は、仮想化技術により仮想化された環境である。ホスト環境では、複数のVMが動作する。したがって、仮想化技術により、各VM(ゲスト環境)でOSを稼動させることができる。これにより、各ゲスト環境で、仮想サーバ(VM)が動作する。
各サーバ(物理サーバ及びVM)41には、監視ソフトウェア(エージェント)44がインストールされている。監視ソフトウェア(エージェント)44はエージェント処理部45を含む。エージェント処理部45は、自身がインストールされているサーバ41を監視対象として、監視対象の動作に関する性能データ及び所定のオペレーションに関する情報、及びその他の情報を収集し、監視ソフトウェア(マネージャ)13に送信する。
管理サーバ11は、1以上のサーバ41を監視して、各時刻におけるサーバ41の性能(例えば、メモリ使用率、CPU使用率等)についての監視による計測情報(性能データ)を取得し、蓄積する。管理サーバ11は、制御部12、格納部21を含む。格納部21は、性能情報データベース(以下、データベースを「DB」と称する)22、管理DB23を含む。
性能情報DB22には、各監視対象サーバ41に対する監視による各監視対象サーバ41の動作に関する時系列の性能データが格納される。
管理DB23には、OS再起動情報31、常駐プロセス一覧情報32、コマンド一覧33、再起動プロセス一覧34、モジュール一覧35、VM資源割当変更パターン36、VM構成一覧37、性能情報収集定義38等が格納される。
OS再起動情報31は、監視対象サーバ41の定期的なOSの再起動のタイミングについての情報を示す。常駐プロセス一覧情報32は、監視対象サーバ41において常駐しているプロセスについての情報である。VM資源割当変更パターン33は、VM毎の資源の割当のための操作に関する情報である。コマンド一覧34は、性能情報取得系コマンド(top、ps、vstatなど)を保持する。再起動プロセス一覧35は、停止状態から再起動されたプロセスについての一覧情報である。モジュール一覧36は、製品インストール時または改訂モジュールインストール時におけるモジュールを管理する一覧情報である。VM構成一覧37は、システム内(ホストサーバ)に存在するVMの構成情報を保持する。性能情報収集定義38は、性能データを収集するための定義を保持する。
また、処理進行に応じて、OS再起動情報31、常駐プロセス一覧情報32、VM資源割当変更パターン33の作業用テーブルがメモリに形成される。
制御部12は、格納部21より本実施形態に係るプログラムを含む監視ソフトウェア(マネージャ)13を読み出して実行すると、表示制御部14、収集部15、蓄積制御部16、抽出部17、検出部18、決定部19、間引き部20として機能する。
表示制御部14は、監視対象サーバ41の監視結果を表示部(不図示)に表示する制御を行なう。収集部15は、性能情報収集定義38に基づいて、各監視対象サーバ41から監視結果を収集する。蓄積制御部16は、各監視対象サーバ41より収集した監視結果を性能情報DB22に格納する。
抽出部17は、監視対象サーバ41を一定期間モニタリングして、監視対象サーバ41から各種の情報を収集し、その収集した情報から、ユーザの操作(オペレーション)のうち所定のオペレーションを検出するために用いる情報を抽出する。所定のオペレーションを検出するために用いる情報とは、例えば、各監視対象サーバ41から取得したイベントログ/システムログ情報、プロセス一覧、ハイパーバイザのログ等の情報である。
検出部18は、抽出部17で抽出した情報から、性能問題発生時に行なわれるオペレーションを検出する。
決定部19は、抽出部17で抽出した情報に基づいて、検出部18で検出したオペレーションが性能問題発生時に行う以外の他の目的で使用されていないかを判定し、性能問題発生時でのみ使用されたオペレーションを特定する。
間引き部20は、性能情報DBから、決定部19で特定されたオペレーションが時期の性能データを取得し、取得した性能データによって示される性能値が所定の範囲に含まれるデータを間引き(削除し)、その残りのデータ(所定の範囲から外れる期間に対応する性能データ)を取得する。すなわち、間引き部20は、取得した性能データによって示される性能値が所定の範囲から外れる期間に対応する性能データを抽出する。
図5は、本実施形態におけるOS再起動情報及びOS再起動情報(作業用)の一例を示す。図5(A)に示すOS再起動情報31は、「サーバ情報」、「再起動曜日」、「再起動時刻」のデータ項目を含む。
「サーバ情報」には、IP(Internet Protocol)アドレス等のサーバを識別するための情報が格納される。「再起動曜日」には、サーバを再起動する曜日が格納される。「再起動時刻」には、サーバを再起動する時刻が格納される。
図5(B)に示すOS再起動情報(作業用)31aは、処理中に一時的に作成されるテーブルであり、OS再起動情報31に、データ項目「登録済み」が追加されている。「登録済み」には、初期値としてOFF(未登録)が設定されており、OS再起動情報(作業用)31aに新たにレコードを登録する場合において、既に同じレコードが登録されている場合、ON(登録済み)が設定される。
図6は、本実施形態における常駐プロセス一覧情報及び常駐プロセス一覧情報(作業用)の一例を示す。図6(A)に示す常駐プロセス一覧情報32は、「サーバ情報」、「プロセス名」を含む。「サーバ情報」には、IPアドレス等のサーバを識別するための情報が格納される。「プロセス名」には、プロセスの名称が格納される。
図6(B)に示す常駐プロセス一覧情報(作業用)32aは、処理中に一時的に作成されるテーブルであり、「プロセスID」、「プロセス名」、「プロセスの起動時刻」のエータ項目が格納される。
「プロセスID」には、プロセスを識別する情報が格納される。「プロセス名」には、プロセスの名称が格納される。「プロセスの起動時刻」には、プロセスが起動する時刻が格納される。
図7は、本実施形態におけるVM資源割当変更パターン及びVM資源割当変更パターン(作業用)の一例を示す。VM資源割当変更パターン33は、「VM情報」、「資源割当操作内容」、「再起動曜日」、「再起動時刻」のデータ項目を含む。
「VM情報」には、仮想サーバ(VM)のIPアドレス等の仮想マシンを識別する情報が格納される。「資源割当操作内容」には、VMへのCPUの割当の増減等、仮想マシンへのリソースの割り当ての操作内容が格納される。「再起動曜日」には、VMを再起動する曜日が格納される。「再起動時刻」には、仮想サーバを再起動する時刻が格納される。
図7(B)に示すVM資源割当変更パターン(作業用)33aは、処理中に一時的に作成されるテーブルであり、OS再起動情報31に、データ項目「登録済み」が追加されている。「登録済み」には、初期値としてOFF(未登録)が設定されており、VM資源割当変更パターン(作業用)33aに新たにレコードを登録する場合において、既に同じレコードが登録されている場合、ON(登録済み)が設定される。
図8は、本実施形態におけるコマンド一覧の一例を示す。コマンド一覧34には、性能情報取得系コマンド(top、ps、vstatなど)が格納される。
図9は、本実施形態における再起動プロセス一覧の一例を示す。再起動プロセス一覧35は、停止状態から再起動されたプロセスについての一覧を示す。作成再起動プロセス一覧35は、「プロセス名」、「モジュール名」、「作成日時」、「サイズ」、「VL」のデータ項目を含む。
「プロセス名」には、停止状態から再起動されたプロセスの名称が格納される。「モジュール名」には、そのプロセスで用いるモジュールの名称が格納される。「作成日時」には、そのモジュールの作成日時が格納される。「サイズ」には、モジュールのサイズが格納される。「VL」には、そのモジュールの改訂番号(バージョン)が格納される。
図10は、本実施形態におけるモジュール一覧の一例を示す。モジュール一覧36は、製品インストール時または改訂モジュールインストール時におけるモジュールを管理する一覧を示す。モジュール一覧36は、「フォルダ」、「モジュール名」、「作成日時」、「サイズ」、「VL」のデータ項目を含む。
「フォルダ」には、そのモジュールの格納先が格納される。「モジュール名」には、そのモジュールの名称が格納される。「作成日時」には、そのモジュールの作成日時が格納される。「サイズ」には、モジュールのサイズが格納される。「VL」には、そのモジュールの改訂番号(バージョン)が格納される。
図11は、本実施形態におけるVM構成一覧の一例を示す。VM構成一覧37は、各システムを構成する仮想サーバ(VM)の一覧を示す。VM構成一覧37は、「システム名」、「VM数」、「VM情報」のデータ項目を含む。
「システム名」には、システムの名称が格納される。「VM数」には、そのシステムで稼動するVM数が格納される。「VM情報」には、VMのIPアドレス等の仮想マシンを識別する情報が格納される。
図12は、本実施形態における全体処理のフローを示す。まずは、テスト環境・本番環境での事前準備処理として、排除オペレーション判断情報抽出(テスト環境または本番環境でのモニタリング)が行なわれる(S1)。S1では、テスト環境または本番環境(テスト環境がない場合)において、エージェント処理部45は、業務サーバを一定期間(例えば、1か月等)モニタリングして、後述するS3で使用する情報を生成し、管理サーバ11へ送信する。
S1で生成される情報としては、以下に示すように、例えば、定期的なOS再起動のサイクル情報、常駐プロセス一覧、定期的な仮想環境での資源の動的変更のサイクル情報がある。
(S1−1)定期的なOS再起動のサイクル情報抽出
エージェント処理部45は、管理対対象サーバ41のモニタリング期間中、各サーバ41において、サーバのイベントログ/システムログ情報からOS再起動の契機を識別する情報を取得する。
エージェント処理部45は、モニタリング期間中に、サーバのイベントログ/システムログ情報から取得した複数のOS再起動契機(日時)から、サイクル・時刻のパターンを導出し、OS再起動情報31(図5(A))を作成する。
(S1−2)常駐プロセス一覧の抽出
エージェント処理部45は、モニタリング期間中、各サーバ41において、所定の間隔(例えば、10分間隔)でプロセス一覧を取得する。エージェント処理部45は、その取得したプロセス一覧からプロセス情報(プロセスID・プロセス名・プロセスの起動時刻)を常駐プロセス一覧情報(作業用)32a(図6)に保存する。エージェント処理部45は、初回取得時には、全プロセス情報を常駐プロセス一覧情報(作業用)32aに保存する。
エージェント処理部45は、2回目以降のプロセス一覧の取得時は、以下の処理を実施する。すなわち、エージェント処理部45は、常駐プロセス一覧情報(作業用)32aに存在しないプロセスの情報を常駐プロセス一覧情報(作業用)32aに追加する。または、エージェント処理部45は、常駐プロセス一覧情報(作業用)32aに存在し、今回取得したプロセス一覧にも存在するプロセスに対しては、何も処理を実施しない。または、エージェント処理部45は、常駐プロセス一覧情報(作業用)32aに存在し、今回取得したプロセス一覧には存在しないプロセスに対しては、当該プロセスの起動時刻と現在時刻を比較する。その結果、存在期間が例えば4時間未満のプロセスの場合は、エージェント処理部45は、常駐プロセス一覧情報(作業用)32aから当該プロセス情報を削除する。
次に、エージェント処理部45は、モニタリング期間終了時に常駐プロセス一覧情報(作業用)32aに残っているプロセス情報一覧を、常駐プロセス一覧情報32(図6(A))に保存する。
(S1−3)定期的な仮想環境での資源(CPUやメモリ等)の動的変更のサイクル情報抽出
抽出部17は、モニタリング期間中、各ハイパーバイザ(仮想環境を管理するサーバ)において、ハイパーバイザのログから、VMに対する資源割当操作情報を取得する。
抽出部17は、モニタリング期間中に取得した複数の資源割当操作情報から、資源操作内容・曜日・時刻のパターンを導出し、VM資源割当変更パターン33(図7(A))を作成する。
次に、本番環境での監視処理として、性能問題発生時に行われるオペレーションが行われたか否かが検知される(S2)。ここでは、性能問題発生時にシステム管理者は、以下のようなオペレーションを実施する。
(S2−1)一時的な回避行動:OSの再起動
(S2−2)一時的な回避行動:ミドルウェアやアプリケーションの再起動
(S2−3)性能情報取得行動:コマンド実行(top、ps、vstatなど)
(S2−4)仮想環境での資源(CPUやメモリ)の動的変更(追加/削除)
(S2−5)仮想環境でのライブマイグレーション
(S2−1)〜(S2−5)のオペレーションは、以下の方法で検出することができる。
(S2−1)OSの再起動についての情報は、検出部18により、イベントログ/システムログから検出できる。
(S2−2)ミドルウェアやアプリケーションの再起動は、検出部18により、イベントログ/システムログから検出できる。
(S2−3)コマンドの発行(コマンド実行)はOSのログなどで確認できる場合もあるが、全てのコマンド情報は確認できない。そのため、検出部18は、図8に示すように、性能情報取得系コマンド(top、ps、vstatなど)のコマンド一覧34を作成し、そのプロセスを特定し、コマンドの発行を検出する。
(S2−4)仮想環境での資源(CPUやメモリ)の動的変更は、検出部18により、仮想化ソフトウェア(VMwareなど)のログから検出できる。
(S2−5)仮想環境でのライブマイグレーションは、仮想化ソフトウェアのログから検出できる。
次に、排除するオペレーションが判定される(S3)。性能問題発生時におけるサーバ41へのオペレーションは、性能問題発生の確認・検証及び復旧等の目的以外の“他の目的”でも実行される場合がある。そのため、S3では、決定部19は、サーバ41へのオペレーションから、“他の目的”による以下のような正常時に行なうオペレーションを排除して、性能問題発生時(異常時)に行なわれるオペレーションを特定する。
(S3−1)定期的なOSの再起動
(S3−2)改訂/修正プログラムの適用によるミドルウェアやアプリケーションプログラムの再起動
(S3−3)監視対象サーバが定期的に実行する性能情報取得系コマンド
(S3−4)定期的な仮想環境での資源(CPUやメモリ)の動的変更
(S3−5)自システムの問題以外の理由で実行されたライブマイグレーション
上記の”他の目的”(正常時)によるオペレーションは、以下の方法で確認することができる。
(S3−1)決定部19は、S2−1で検出した本番環境におけるOS再起動についての情報と、モニタリング期間に作成したOS再起動情報31と比較する。そして、決定部19は、該当サーバ41の再起動曜日と再起動時刻が一致していれば、S2−1で検出した本番環境におけるOS再起動が定期的なOS再起動であると判断できる。ここで、例えば、前後1時間のずれは“一致”とみなすことにする。
(S3−2)イベントログ/システムログから検出した再起動内容からは、その再起動が改訂/修正プログラムの適用によるものか判断できない。そのため、決定部19は、再起動したプロセスについての再起動プロセス一覧35(図9)を作成する。決定部19は、再起動プロセス一覧35と、製品インストール時または前回リリースされた改訂/修正プログラムの適用時に作成したモジュール一覧36(図10)の作成日付、サイズ、VLを比較し、今回、改訂/修正プログラムが適用されたか否かを判定する。なお、モジュール一覧の作成日付、サイズ、VLは改訂/修正プログラム適用後に更新される。
(S3−3)決定部19は、本番環境で取得した各サーバ41のプロセス一覧と、モニタリング期間に作成した常駐プロセス一覧情報32の情報と比較する。決定部19は、該当サーバのプロセス名が一致していれば、監視対象のサーバ41が定期的に実行する性能情報取得系コマンドであると判断できる。
(S3−4)決定部19は、本番環境で取得した各サーバ41のVM資源割当変更情報と、モニタリング期間に作成したVM資源割当変更パターン33とを比較する。決定部19は、該当VMの資源割当操作内容、操作曜日と時刻が一致していれば、定期的な仮想環境の資源の動的変更であると判断できる。ここで、例えば、前後1時間のずれは“一致”とみなすことにする。
(S3−5)ライブマイグレーションは、仮想化ソフトウェアのログから確認できる。各システムの構成情報は仮想化ソフトウェアの構成情報取得コマンドから取得できる。しかし、そのマイグレーションの発生契機が移行元か移行先かどちらのシステムによるものなのかの区別はログ単体からでは行うことができない。
そのため、決定部19は、定期的に収集しているシステムを構成するVM構成一覧37の変化と、リソースの性能データと合わせて確認し、マイグレーション発生時に高負荷などの性能異常が発生していないかの判断を行う。そうすることで、ライブマイグレーションが自システムの性能異常により発生したものか、自システムの問題以外の問題(他システムの性能異常、メンテナンスなど)によるものなのかを判断できる。
S3における比較の結果、S2で行なわれたオペレーションが、実際に性能問題が発生した時に実行されたオペレーションであると判定された場合、S4の処理が行われる。S3での比較の結果、S2で行なわれたオペレーションが、実際に性能問題が発生した時に行なわれたオペレーションではない、すなわち正常時に実行されたオペレーションであると判定された場合、S2の処理へ戻る。
次に、性能情報DB22に蓄積された性能データから正常な状態の性能データが間引きされる(S4)。S4については、図13を参照しながら説明する。
図13は、本実施形態における間引き処理を説明するための図である。(S2−1)〜(S2−5)から(S3−1)〜(S3−5)を除いたオペレーションを、“性能問題発生時のオペレーション”(以降、“性能問題発生状態”と記載)と定義する。“性能問題発生状態”のデータは以下のように決定することができる。
(A)間引き部20は、“性能問題発生状態”のオペレーションが行われたサーバの情報に基づいて、構成情報から当該サーバが属する業務システムを特定する。間引き部20は、当該業務システムを構成する全サーバ・その他機器(あれば)が、“性能問題発生状態”のデータの対象と決定する。
(B)間引き部20は、図13(A)に示すように、“性能問題発生状態”の対象データについて、全ての性能データ項目毎に過去に遡って性能データが標準偏差の範囲から外れ始めた地点を算出し、一番過去の日時の性能データを“始点”とする。ここで、標準偏差の範囲とは、平均値μ±標準偏差σの範囲内を示す。
ただし、現象によっては“始点”より前の状況を現象の“予兆”として確認する必要がある。そのため、間引き部20は、“始点”より例えば、60分前の性能データを1/2のデータ量に変換(平均化する)し、そのさらに60分前のデータを1/10のデータ量に変換(平均化する)し、その平均化したデータを残す。なお、データの圧縮率は、一例であり、1/2、1/10の値に限定されない。
(C)間引き部20は、上記(B)の逆の考え方で、標準偏差の範囲に戻った地点を“終点”として求める。なお、リブート等再起動による回避行動(オペレーション)が行われた際は、その時点を“終点”とする。ただし、“性能問題発生状態”が復旧されていない場合は、復旧されたと判断できた時点を“終点”とする。
図13(B)に示すように、“性能問題発生状態”と“予兆”以外のデータを、“正常な状態”のデータとする。“正常な状態”のデータは以下の式で表すことができる。
“正常な状態”のデータ=性能データ−(“性能問題発生状態”+“予兆”)データ
図13(C)に示すように、間引き部20は、性能データから“正常な状態”のデータを間引きする。正常な状態のデータを間引きすることより、図14、図15に示すように業務システムにおいて異常が発生した時間帯以外のデータが正しく間引きされる。
図14は、本実施形態における、時間経過に伴う監視対象の性能データの間引き処理後の結果を示す。縦軸は、監視対象のシステムを示す。また、横軸は、時間を示す。図1と比べて、図14では、残すべき“性能問題発生状態”が残っており、残す必要のない性能データが間引かれている。
図15は、本実施形態における、週単位での時間経過に伴う監視対象の性能データの間引き処理後の結果を示す。縦軸は、監視対象のシステムを示す。また、横軸は、時間を示す。図2と比べて、図15では、定期リブート実行に基づく性能データは間引きされ、定期リブート以外のリブートが行なわれた、すなわち、異常発生時でのリブート実行に基づく性能データが残っている。
本実施形態によれば、過去の性能データから性能推移の傾向を参照できるようになり、キャパシティ管理に活用できる。また、性能問題発生時の原因判定作業時に、過去の性能データを参照できるため、原因判定が容易に行えるようになる。
次に、未参照の性能データの削除処理について説明する。上述の通り、性能情報DB22に蓄積された性能データから正常な状態のデータを間引きすることより、必要な性能データ(以降“間引き済み性能データ”と記載)のみが保存される。しかしながら、運用を続けると間引き済み性能データが増加する。長期間参照されない間引き済み性能データは、削除しても問題はない。
そこで、間引き済み性能データは直近の参照日付(未参照の場合は、作成日付)から、例えば一年間経過したところで、毎日定時に動作する性能情報の削除処理で削除するようにしてもよい。
なお、トラブルシューティングで対象の性能データを参照する場合、関連する性能データ(例:問題がCPUであってもメモリやディスクのデータも参照する)や同システム内の関係するコンピュータやVMの性能データも参照する。参照時に参照日付を更新することにより、トラブルシューティングに必要な間引き済み性能データが判別される。よって、参照されなかった間引き済み性能データが一年間経過して削除されても問題はない。
次に、本実施形態の詳細な実施例について説明する。本実施例のシステムの構成は、図4と同様である。なお、以下で説明する実施例において用いる時刻、時間、標準偏差、データの圧縮率等の値は説明の便宜上用いた一例であり、これらの値に限定されるものではない。
図16は、本実施形態における定期的なOS再起動のサイクル情報抽出(S1−1)(エージェント側)の詳細フローを示す。ホスト42またはVM43にインストールされたエージェント44のエージェント処理部45は、毎日定時(例えば、午前2時)にS1−1の処理を実行する。
まず、エージェント処理部45は、イベントログ/システムログファイルを開く(S1−1−1)。
次に、エージェント処理部45は、イベントログ/システムログファイルから、IPアドレス等のサーバ情報、再起動曜日、再起動時刻を抽出し、OS再起動情報31に登録する。エージェント処理部45は、OS再起動情報31に、さらに、登録済みフラグ(OFF)を登録する。但し、既に、同一のサーバ情報について、同一の再起動曜日、再起動時刻が登録されている場合には、エージェント処理部45は、OS再起動情報31に、登録済みフラグ(ON)を設定する。
図17は、本実施形態における定期的なOS再起動のサイクル情報抽出(S1−1)(マネージャ側)の詳細フローを示す。マネージャ13は、モニタリング期間の終了時に、各エージェントで生成されたOS再起動情報31を収集する(S1−1−3)。
マネージャ13は、収集したOS再起動情報31から、登録済みフラグ(ON)のOS再起動情報を抽出し、管理DB23に、OS再起動情報31として格納する(S1−1−4)。
図18は、本実施形態における常駐プロセス一覧の抽出処理(S1−2)(エージェント側)の初回時の詳細フローを示す。ホスト42またはVM43にインストールされたエージェント44のエージェント処理部45は、次の処理を行う。すなわち、エージェント処理部45は、所定の時間間隔(例えば、10分間隔)で常駐プロセス一覧の抽出処理を行う場合、その初回時に、OSに所定のコマンドを発行して、プロセス一覧を取得する(S1−2−1)。
エージェント処理部45は、取得したプロセス一覧から、「プロセスID」、「プロセス名」、「プロセスの起動時刻」を抽出し、ホスト42またはVM43のメモリに領域が確保された常駐プロセス一覧情報(作業用)32aに登録する(S1−2−2)。
図19は、本実施形態における常駐プロセス一覧の抽出処理(S1−2)(エージェント側)の2回目以降の詳細フローを示す。エージェント処理部45は、2回目移行の常駐プロセス一覧の抽出処理では、ホスト42またはVM43にインストールされたOSに所定のコマンドを発行して、プロセス一覧を取得する(S1−2−3)。
エージェント処理部45は、S1−2−3で取得したプロセス一覧から、1つのプロセスを取得し、その取得したプロセスが常駐プロセス一覧情報(作業用)32aに登録されていないか否かを判定する(S1−2−4)。
その取得したプロセスが常駐プロセス一覧情報(作業用)32aに登録されていない場合(S1−2−4で「Yes」)、エージェント処理部45は、次を行う。すなわち、エージェント処理部45は、その取得したプロセスの「プロセスID」、「プロセス名」、「プロセスの起動時刻」を、常駐プロセス一覧情報(作業用)32aに登録する(S1−2−5)。
S1−2−3で取得したプロセス一覧に存在するプロセス数分、S1−2−4〜S1−2−5を繰り返す。
次に、エージェント処理部45は、常駐プロセス一覧情報(作業用)32aに存在し、今回取得したプロセス一覧には存在しないプロセスがあるかを確認する。常駐プロセス一覧情報(作業用)32aに存在し、今回取得したプロセス一覧には存在しないプロセスがある場合、エージェント処理部45は、そのプロセスの起動時刻と現在時刻を比較する。比較の結果、そのプロセスが起動して4時間未満の場合、エージェント処理部45は、常駐プロセス一覧情報(作業用)32aからそのプロセスについての情報を削除する(S1−2−6)。
図20は、本実施形態における常駐プロセス一覧の抽出処理(S1−2)(マネージャ側)のモニタリング期間終了時の詳細フローを示す。エージェント処理部45は、常駐プロセス一覧情報(作業用)32aに残っているプロセス情報をマネージャ13に送信する。
マネージャ13は、各エージェント44から送信されたプロセス情報を受信し、常駐プロセス一覧情報32としてファイルに保存する(S1−2−7)。
図21は、本実施形態における定期的な仮想環境での資源の動的変更のサイクル情報抽出(S1−3)(マネージャ側)の詳細フローを示す。マネージャ13は、毎日定時(例えば、午前2時)にS1−3の処理を実行する。
まず、マネージャ13は、各ホストサーバ42のハイパーバイザに接続し、ハイパーバイザのログファイルを開く(S1−3−1)。
マネージャ13は、ハイパーバイザのログファイルから、VMを識別する「VM情報」、資源割当操作内容、再起動曜日、再起動時刻を抽出し、その抽出した情報をVM資源割当変更パターン(作業用)33aに登録する。マネージャ13は、VM資源割当変更パターン(作業用)33aに、さらに、登録済みフラグ(OFF)を登録する。但し、既に、同一のサーバ情報について、同一の再起動曜日、再起動時刻が登録されている場合には、マネージャ13は、VM資源割当変更パターン(作業用)33aに登録済みフラグ(ON)を設定する(S1−3−2)。
図22は、本実施形態における定期的な仮想環境での資源の動的変更のサイクル情報抽出(S1−3)(マネージャ側)のモニタリング期間終了時の詳細フローを示す。マネージャ13は、VM資源割当変更パターン(作業用)33aを開く(S1−3−3)。
マネージャ13は、VM資源割当変更パターン(作業用)33aから、登録済みフラグ(ON)のVM資源割当変更パターンを抽出し、管理DB23に、VM資源割当変更パターン33として格納する(S1−3−4)。
図23は、本実施形態におけるOSの再起動の検出処理(S2−1)の詳細フローを示す。マネージャ13は、毎日定時(例えば、午前2時)に各サーバからイベントログ/システムログを取得し、取得したイベントログ/システムログからOS再起動の情報を検索する(S2−1−1)。
取得したイベントログ/システムログにOS再起動の情報がある場合(S2−1−2で「Yes」)、マネージャ13は、その検索されたOS再起動が定期的なOS再起動処理であるか否かを判定する(S3−1)。
図24は、本実施形態における定期的OS再起動判定処理(S3−1)の詳細フローを示す。マネージャ13は、管理DB23からOS再起動情報31を取得し、OS再起動情報31に、その検索されたOS再起動の再起動曜日及び再起動時刻と一致する情報があるがあるかを判定する(S3−1−2)。ここで、例えば、前後1時間のずれは“一致”とみなすことにする。
OS再起動情報31に、その検索されたOS再起動の再起動曜日及び再起動時刻と一致する情報がある場合(S3−1−2で「Yes」)、マネージャ13は、その検索されたOS再起動が定期的なOS再起動処理であると判定する(S3−1−5)。
OS再起動情報31に、その検索されたOS再起動の再起動曜日及び再起動時刻と一致する情報がない場合(S3−1−2で「No」)、マネージャ13は、その検索されたOS再起動が定期的なOS再起動処理でないと判定する(S3−1−3)。この場合、マネージャ13は、その検索されたOS再起動を排除オペレーションと決定し、性能情報DB22に格納された性能データから正常な状態の性能データを間引きする処理を行う(S4)。
図25は、本実施形態におけるミドルウェアやアプリケーションの再起動の検出処理(S2−2)の詳細フローを示す。マネージャ13は、毎日定時(例えば、午前2時)に各サーバからイベントログ/システムログを取得し、取得したイベントログ/システムログからミドルウェアやアプリケーションの再起動の情報を検索する(S2−2−1)。
検索の結果、イベントログ/システムログにミドルウェアやアプリケーションの再起動の情報がある場合(S2−2−2で「Yes」)、マネージャ13は、次の処理を行う。すなわち、マネージャ13は、その検索されたミドルウェアやアプリケーションの再起動が、改訂/修正プログラムの適用によるミドルウェアやアプリケーションプログラムの再起動処理であるかを判定する(S3−2)。
図26は、本実施形態における改訂/修正プログラムの適用によるミドルウェアやアプリケーションプログラムの再起動判定処理(S3−2)の詳細フローを示す。マネージャ13は、イベントログ/システムログを取得して、ミドルウェアやアプリケーションの再起動が行なわれた否かを判定する(S3−2−1)。
ミドルウェアやアプリケーションの再起動が行われなかった場合(S3−2−2で「No」)、マネージャ13は、改訂/修正プログラムのリリースが行なわれなかったと判定し(S3−2−6)、本フローを終了する。
ミドルウェアやアプリケーションの再起動が行われた場合(S3−2−2で「Yes」)、マネージャ13は、イベントログ/システムログから、再起動したプロセスについての再起動プロセス一覧35(図9)を作成する(S3−2−3)。
マネージャ13は、再起動プロセス一覧35と、製品インストール時または前回リリースされた改訂/修正プログラムの適用時に作成したモジュール一覧36(図10)との作成日付、サイズ、及びVLを比較する(S3−2−4)。ここで、例えば、前後1時間のずれは“一致”とみなすことにする。
作成日付、サイズ、及びVLの全てが一致する場合(S3−2−4で「Yes」)、マネージャ13は、改訂/修正プログラムのリリースが行なわれなかったと判定し(S3−2−6)、本フローを終了する。
作成日付、サイズ、及びVLのいずれかが一致しない場合(S3−2−4で「No」)、マネージャ13は、リリースされた改訂/修正プログラムが適用されていると判定する。この場合、マネージャ13は、モジュール一覧36において、対応するモジュールの作成日付、サイズ、及びVLをその改訂/修正プログラムの適用後の情報に更新する(S3−2−5)。マネージャ13は、再起動プロセス一覧35のうちモジュール一覧36と一致しないモジュールに対応するプロセスの再起動を排除オペレーションと決定し、性能情報DB22に格納された性能データから正常な状態の性能データを間引きする処理を行う(S4)。
図27は、本実施形態における監視対象サーバが定期的に実行する性能情報取得系コマンドの検出処理(S2−3)の詳細フローを示す。マネージャ13は、所定間隔(例えば、10分間隔)で、監視対象のサーバ41のOSに所定のコマンドを発行して、プロセス一覧を取得する。マネージャ13は、その取得したプロセス一覧に、コマンド一覧34と一致するプロセスがあるかを判定する(S2−3−1)。
その取得したプロセス一覧に、コマンド一覧34に登録されたコマンド(プロセス)と一致するプロセスがある場合(S2−3−2で「Yes」)、マネージャ13は、次の処理を行う。すなわち、マネージャ13は、監視対象のサーバ41が定期的に実行する性能情報取得系コマンドであるかを判定する処理を行う(S3−3)。
図28は、本実施形態における監視対象サーバが定期的に実行する性能情報取得系コマンドであるかを判定する処理(S3−3)の詳細フローを示す。マネージャ13は、監視対象のサーバのOSに所定のコマンドを発行して、プロセス一覧を取得する。マネージャ13は、取得したプロセス一覧と、管理DB23にある常駐プロセス一覧情報32とを比較する(S3−3−1)。
比較の結果、一致するプロセス名がある場合(S3−3−2で「Yes」)、マネージャ13は、そのコマンドは、監視対象のサーバが定期的に実行する性能情報取得系コマンドであると判定する(S3−3−4)。
比較の結果、一致するプロセス名がない場合(S3−3−2で「No」)、マネージャ13は、そのコマンドは、監視対象のサーバが定期的に実行する性能情報取得系コマンドではないと判定する(S3−3−3)。この場合、マネージャ13は、性能情報DB22に格納された性能データから正常な状態の性能データを間引きする処理を行う(S4)。
図29は、本実施形態における仮想環境での資源の動的変更の検出処理(S2−4)の詳細フローを示す。マネージャ13は、毎日定時(例えば、午前2時)にサーバ41にインストールされている仮想化ソフトウェアのログファイルから、仮想環境での資源(CPUやメモリ)の動的変更に関する情報(VM資源割当変更情報)を取得する。マネージャ13は、その取得したVM資源割当変更情報に基づいて、仮想環境での資源の動的変更があったかを判定する(S2−4−1)。
仮想環境での資源(CPUやメモリ)の動的変更があった場合(S2−4−2で「Yes」)、マネージャ13は、その仮想環境での資源の動的変更が、定期的な動的変更であるかを判定する(S3−4)。
図30は、本実施形態における仮想環境での資源の動的変更が定期的な動的変更であるかを判定する処理(S3−4)の詳細フローを示す。マネージャ13は、管理DBからVM資源割当変更パターン33を取得する(S3−4−1)。
マネージャ13は、S2−4−2で動的変更が検出されたVM資源割当変更情報のVMの資源割当操作内容、操作曜日、及び時刻と一致する情報がVM資源割当変更パターン33にあるかを判定する(S3−4−2)。ここで、例えば、前後1時間のずれは“一致”とみなすことにする。
VM資源割当変更パターン33に、S2−4−2で動的変更が検出されたVMの資源割当操作内容、操作曜日、及び時刻と一致する情報がある場合(S3−4−2で「Yes」)、マネージャ13は、次の処理を行う。すなわち、マネージャ13は、VM資源割当変更情報から検出された動的変更が定期的な仮想環境の資源の動的変更であると判定する(S3−4−5)。
VM資源割当変更パターン33に、S2−4−2で動的変更が検出されたVM資源割当変更情報のVMの資源割当操作内容、操作曜日、及び時刻と一致する情報がない場合(S3−4−2で「No」)、マネージャ13は、次の処理を行う。すなわち、マネージャ13は、VM資源割当変更情報から検出された動的変更が定期的な仮想環境の資源の動的変更でないと判定する(S3−4−3)。このとき、マネージャ13は、S2−4−2で検出された仮想環境での資源の動的変更を排除オペレーションと決定し、性能情報DB22に格納された性能データから正常な状態の性能データを間引きする処理を行う(S4)。
図31は、本実施形態における仮想環境でのライブマイグレーションの検出処理(S2−5)の詳細フローを示す。マネージャ13は、毎日定時(例えば、午前2時)に業務サーバにインストールされている仮想化ソフトウェアのログファイルから、ライブマイグレーションに関する情報を取得する。マネージャ13は、その取得したライブマイグレーションに関する情報に基づいて、ライブマイグレーションがあったかを判定する(S2−5−1)。
ライブマイグレーションがあった場合(S2−5−2で「Yes」)、マネージャ13は、次の処理を行う。すなわち、マネージャ13は、ライブマイグレーションが自システムの性能異常により発生したものか、自システムの問題以外の問題(他システムの性能異常、メンテナンスなど)によるものなのかを判定する(S3−5)。
図32は、本実施形態におけるライブマイグレーションが自システムの問題以外の問題によるものなのかを判定する処理(初回)(S3−4)の詳細フローを示す。マネージャ13は、各ホストサーバ42上の仮想化ソフトウェアに対して、所定の時間間隔(例えば、30分間隔)で行なう処理のうち、初回だけ図32の処理を行い、それ以降図33の処理を行う。
マネージャ13は、ホストサーバ42に対して構成情報取得コマンドを発行し、ホストサーバから構成情報を取得する(S3−5−1)。マネージャ13は、取得した構成情報から、システム名、VM数、VM情報を抽出し、管理DB23内のVM構成一覧37に登録する(S3−5−2)。
マネージャ13は、ホストサーバ42の数だけ、S3−5−1〜S3−5−2の処理を繰り返す。
図33は、本実施形態におけるライブマイグレーションが自システムの問題以外の問題によるものなのかを判定する処理(2回目以降)(S3−4)の詳細フローを示す。
マネージャ13は、ホストサーバ42に対して構成情報取得コマンドを発行し、ホストサーバ42から構成情報を取得する(S3−5−3)。マネージャ13は、S3−5−3で取得した構成情報と、管理DB23内のVM構成一覧37とを比較する(S3−5−4)。
S3−5−3で取得した構成情報と、管理DB23内のVM構成一覧37とに相違がある場合(S3−5−4で「Yes」)、マネージャ13は、S3−5−3で取得した構成情報から、システム名、VM数、VM情報を抽出する。マネージャ13は、その抽出した情報をVM構成一覧37に登録する(S3−5−5)。
マネージャ13は、自システムの問題以外の理由のために実行されたライブマイグレーションがあるかを検出する処理を実行する(S3−5−6)。
マネージャ13は、ホストサーバ42の数だけ、S3−5−3〜S3−5−6の処理を繰り返す。
図34は、本実施形態における自システムの問題以外の理由のために実行されたライブマイグレーションがあるかを検出する処理(S3−5−6)の詳細フローを示す。
マネージャ13は、ホストサーバ42にアクセスし、ホストサーバ42の仮想化ソフトウェアのログファイルを開く(S3−5−7)。
マネージャ13は、ホストサーバ42の仮想化ソフトウェアのログファイルから1つのログを取得し、その取得したログがマイグレーションのログであるか否かを判定する(S3−5−8)。
その取得したログがマイグレーションのログである場合(S3−5−8で「Yes」)、マネージャ13は、性能情報DB22から、そのサーバ名及びログの日時に対応する日時の性能情報データを検索する(S3−5−9)。
S3−5−9での検索の結果得られた性能情報データに関して、マネージャ13は、そのログの日時により前12時間の間に、標準偏差から外れる値があるかを判定する(S3−5−10)。
その性能情報データにおいて、その日時により前12時間の間に、標準偏差から外れる値がある場合(S3−5−10で「Yes」)、マネージャ13は、監視対象サーバ41に問題があったと判定する(S3−5−13)。このとき、マネージャ13は、その検出されたマイグレーション操作を排除オペレーションと決定し、性能情報DB22に格納された性能データから正常な状態の性能データを間引きする処理を行う(S4)。
S3−5−9での検索の結果得られた性能情報データに関して、そのログの日時により前12時間の間に、標準偏差から外れる値がない場合(S3−5−10で「No」)、マネージャ13は、監視対象サーバ41に問題がなかったと判定する(S3−5−11)。この場合、マネージャ13は、移行元サーバがあるか否かを判定する(S3−5−12)。
移行元サーバがある場合(S3−5−12で「Yes」)、マネージャ13は、その移行元サーバを対象サーバとし、S3−5−9の処理を行う。移行元サーバがない場合(S3−5−12で「No」)、マネージャ13は、仮想化ソフトウェアのログファイルから次のログを取得し、S3−5−8以降の処理を行う。
マネージャ13は、前回確認した行数から最終行数まで、S3−5−8〜S3−5−13、S4の処理を繰り返す。その後、マネージャ13は、仮想化ソフトウェアのログファイルにて、確認した最終行数を保存する(S3−5−14)。
図35及び図36は、本実施形態における性能情報DB22に格納された性能データから正常な状態の性能データを間引きする処理(S4)において、性能データが標準偏差の範囲を超えた時間の始点と終点とを特定する処理の詳細フローを示す。
マネージャ13は、サーバ名と日付をキーとして、性能情報DB22から、排除オペレーションが行なわれたサーバの対象日時の性能データを検索する(S4−1)。
マネージャ13は、検索した性能データの性能値の標準偏差を算出する(S4−2)。例えば、性能データがCPU使用率の場合、図13(A)で示したように、時間に対するCPU使用率の平均μ及び標準偏差σが算出され、(μ−σ≦“平均値μ±標準偏差σ”≦μ+σ)=10〜20%が得られるとする。
マネージャ13は、性能データ項目毎に過去に遡って性能データがμ±σ(μ−σ≦“平均値±標準偏差”≦μ+σ)の範囲から外れ、かつその一個前のデータが標準偏差以内の値であるかを判定する(S4−3)。
性能データがμ±σの範囲から外れ、かつその一個前のデータがμ±σ以内の値である場合(S4−3で「Yes」)、マネージャ13は、その性能データの時刻の所定時間前(例えば、30分前)のデータの始点フラグをONにする(S4−4)。
性能データがμ±σから外れず、またはその性能データの一個前のデータがμ±σ以内の値でない場合(S4−3で「Yes」)、マネージャ13は、次の時刻の性能データについてS4−3の処理を行う。
次に、マネージャ13は、性能データがμ±σから外れ、かつその一個後のデータがμ±σ以内の値であるかを判定する(S4−5)。
性能データがμ±σから外れ、かつその一個後のデータがμ±σ以内の値である場合(S4−5で「Yes」)、マネージャ13は、その性能データの終点フラグをONにする(S4−6)。
性能データがμ±σから外れず、またはその一個後のデータがμ±σ以内の値でない場合(S4−5で「No」)、マネージャ13は、その性能データの終点フラグをOFFにする(S4−6)。
マネージャは、始点から排除オペレーションの時刻の所定時間後(例えば、1時間後)のデータまで、S4−5〜S4−7の処理を繰り返す。
マネージャは、始点から排除オペレーションの時刻の所定時間後(例えば、1時間後)のデータまで、S4−5〜S4−7の処理を繰り返す。
さらに、マネージャは、排除オペレーションの時刻から所定時間後(例えば、1時間後)のデータまで、S4−3〜S4−7の処理を繰り返す。
図37は、本実施形態における、特定された始点と終点に基づいて、性能情報DB22に格納された性能データから正常な状態の性能データを間引きする処理(S4)の詳細フローを示す。マネージャ13は、毎日定時(例えば、午前2時)に本フローの処理を実行する。
マネージャ13は、性能情報DB22から、削除対象の日付の性能データを取得する(S4−8)。取得した性能データに始点及び修正がない場合(S4−9で「No」)、マネージャ13はその日付の性能データを削除する(S4−12)。
取得した性能データに始点〜終点で示される区間がある場合(S4−9で「Yes」)、マネージャ13は、予兆データとして、始点から所定時間前(例えば、60分前)のデータを1/2のデータ量(2個のデータの値を平均化する)にする。さらに、マネージャ13は、予兆データとして、所定時間前(例えば、60分前)を1/10のデータ量(10個のデータの値を平均化する)。取得した性能データに始点〜終点で示される区間が複数ある場合、マネージャ13は、その区間毎に、S4−10の処理を行う。
マネージャ13は、始点〜終点までの各区間の性能データを残し、その他の性能データを削除する。マネージャ13は、その残した性能データに、S4−10で作成した予兆データを追加する(S4−11)。
次に、間引き済み性能データを直近の参照日付(未参照の場合は、作成日付)から、所定期間経過したところで、毎日定時に動作する性能情報の削除処理で削除する処理について説明する。
図38は、本実施形態における性能データの参照処理のフローを示す。マネージャ13は、性能情報DB22から性能情報を参照する(S5−1)。この場合、マネージャ13は、その参照した性能データに参照日時を設定する(S5−2)。
図39は、本実施形態における未参照性能データの削除処理のフローを示す。マネージャ13は、毎日定時(例えば、午前2時)に本フローの処理を実行する。
マネージャ13は、性能情報DB22から、間引き済みの性能データの参照日時(参照日時が未設定の場合には、性能データの作成日時)を参照し(S5−3)、その参照日時から所定期間(例えば、1年)以上経過しているかを判定する(S5−4)。
その参照日時から所定期間(例えば、1年)以上経過している場合(S5−4で「Yes」)、マネージャ13は、性能情報DB22からその間引き済みの性能データを削除する(S5−5)。
マネージャは、性能情報DB22に格納されている間引き済みの性能データのそれぞれについて、S5−3〜S5−5の処理を行う。
図40は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ50は、管理サーバ11として機能する。コンピュータ50は、CPU52、ROM53、RAM56、通信I/F54、記憶装置57、出力I/F51、入力I/F55、読み取り装置58、バス89、出力機器61、入力機器62によって構成されている。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス59には、CPU52、ROM53、RAM56、通信I/F54、記憶装置57、出力I/F51、入力I/F55、及び読み取り装置58が接続されている。読み取り装置58は、可搬型記録媒体を読み出す装置である。出力機器61は、出力I/F51に接続されている。入力機器62は、入力I/F55に接続にされている。
記憶装置57としては、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置57またはROM53には、CPU52を表示制御部14、収集部15、蓄積制御部16、抽出部17、検出部18、決定部19、間引き部20として機能させる監視ソフトウェア(マネージャ)のプログラムが格納されている。また、記憶装置57またはROM53には、性能情報DB22、管理DB23が格納されている。RAM56には、情報が一時的に記憶される。
CPU52は、監視ソフトウェア(マネージャ)のプログラムを読み出し、当該プログラムを実行する。
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク60、および通信I/F54を介して、例えば記憶装置57に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置58にセットされて、CPU52によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置58によって読み取られる。
また、入力機器62には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力機器61には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク60は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。