(57)【要約】【課題】  仮想マシンの負荷を、当該仮想マシンを実行する仮想環境の影響を除いて測定する。【解決手段】  モニタリング装置は、同じ物理マシン及び仮想環境制御ソフトウェアを含む仮想化環境で実行され、同じ構成を備え、同じ単位処理を同じ周期で異なった量を実行する、第１と第２の仮想マシンから負荷測定値の時系列を取得する採取手段と、第１の仮想マシンから得た第１の負荷測定値から、第２の仮想マシンから得た第２の負荷測定値に基づいて得られるノイズ情報を差し引いて、仮想化環境内の他の要素の影響を除いた第１の仮想マシンの負荷を推定する演算手段と、を備える。【選択図】      図１
2015172806.tif 000002
【特許請求の範囲】
【請求項１】
同じ物理マシン及び仮想環境制御ソフトウェアを含む仮想化環境で実行され、同じ構成を備え、同じ単位処理を同じ周期で異なった量を実行する、第１と第２の仮想マシンから負荷測定値の時系列を取得する採取手段と、
前記第１の仮想マシンから得た第１の負荷測定値から、前記第２の仮想マシンから得た第２の負荷測定値に基づいて得られるノイズ情報を差し引いて、前記仮想化環境内の他の要素の影響を除いた前記第１の仮想マシンの負荷を推定する演算手段と、を備えるモニタリング装置。
【請求項２】
前記演算手段は、前記第１と第２の負荷測定値の時系列のおのおのを周波数ごとの成分に分解し、前記第１の負荷測定値の時系列から、前記第１と第２の負荷測定値の時系列で周波数及び振幅が共通する周波数の成分を前記第１の負荷測定値から差し引いて、前記仮想化環境内で実行される第３の仮想マシンの影響を除いた前記第１の仮想マシンの負荷の時系列を推定する請求項１のモニタリング装置。
【請求項３】
前記第１の仮想マシンの前記単位処理の処理量は、前記第２の仮想マシンより多く、
前記演算手段は、前記第２の負荷測定値を前記第１の負荷測定値から差し引いて、前記仮想化環境の影響を除いた前記第１の仮想マシンの負荷を推定する請求項１乃至２の何れかのモニタリング装置。
【請求項４】
請求項１乃至３の何れかのモニタリング装置と、
前記第１と第２の仮想マシンを実行する前記仮想環境制御ソフトウェアと、
前記仮想化ソフトウェアを実行する前記物理マシンと、
を包含するモニタリングシステム。
【請求項５】
同じ物理マシン及び仮想環境制御ソフトウェアを含む仮想化環境で実行され、同じ構成を備え、同じ単位処理を同じ周期で異なった量を実行する、第１と第２の仮想マシンから負荷測定値の時系列を取得し、
前記第１の仮想マシンから得た第１の負荷測定値から、前記第２の仮想マシンから得た第２の負荷測定値に基づいて得られるノイズ情報を差し引いて、前記仮想化環境内の他の要素の影響を除いた前記第１の仮想マシンの負荷を推定するモニタリング方法。
【請求項６】
前記第１と第２の負荷測定値の時系列のおのおのを周波数ごとの成分に分解し、前記第１の負荷測定値の時系列から、前記第１と第２の負荷測定値の時系列で周波数及び振幅が共通する周波数の成分を前記第１の負荷測定値から差し引いて、前記仮想化環境内で実行される第３の仮想マシンの影響を除いた前記第１の仮想マシンの負荷の時系列を推定する請求項５のモニタリング方法。
【請求項７】
前記第１の仮想マシンの前記単位処理の処理量は、前記第２の仮想マシンより多く、
前記第２の負荷測定値を前記第１の負荷測定値から差し引いて、前記仮想化環境の影響を除いた前記第１の仮想マシンの負荷を推定する請求項５乃至６の何れかのモニタリング方法。
【請求項８】
コンピュータに、請求項５乃至７の何れかのモニタリング方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モニタリング装置、モニタリングシステム、モニタリング方法、及び、プログラム、特に、仮想マシンの負荷のモニタリングに関する。
【背景技術】
【０００２】
今日の情報処理システムを支えるソフトウェアの多くは、ソフトウェア自身がコンピュータリソースの監視機能を備えている。たとえば、Java(登録商標)EE(Java Platform, Enterprise Edition)準拠のアプリケーションサーバ製品は、JMX(Java Management eXtensions)に則り、OS（Operating System）が提供するアプリケーションインターフェースを活用して、システムリソースの監視を行っている。
【０００３】
それらの監視機能は、物理サーバ上に構築された環境を想定して設計されたものであり、仮想サーバ上に構築された環境を想定した設計とはなっていない。具体的に、それらの監視機能は、仮想化環境における仮想サーバ外の要因が、仮想サーバの監視結果に与える影響を想定していない。仮想サーバ外の要因は、例えば、ホストOSやハイパーバイザといった仮想環境制御基盤であり、物理サーバ環境を共有する他の仮想サーバである。
【０００４】
仮想環境におけるシステムリソースの管理については、以下の技術が開示されている。特許文献１は、実際の運用環境に近い条件で、仮想マシンの負荷評価を行う為の装置を開示する。この装置は、評価対象アプリケーションと共に他の仮想マシンで実行されるアプリケーションを、物理サーバで実行した時の負荷データを使用する。この装置は、評価対象アプリケーションの負荷評価の際に、このデータと、物理サーバと仮想サーバの構成データとから、仮想マシンオーバヘッドが反映された負荷を再生する。
【０００５】
特許文献２は、ログの周波数分析に基づいて、異常発生源を特定するログ分析システムを開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開号公報2010-128866号公報
【特許文献２】特開号公報2010-134862号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の装置は、物理マシンで測定したデータに基づいて、仮想マシンの負荷を再生するものであって、仮想マシンの負荷を適切に測定するものではない。本発明は、上記課題を解決するモニタリング装置、等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態にかかるモニタリング装置は、同じ物理マシン及び仮想環境制御ソフトウェアを含む仮想化環境で実行され、同じ構成を備え、同じ単位処理を同じ周期で異なった量を実行する、第１と第２の仮想マシンから負荷測定値の時系列を取得する採取手段と、前記第１の仮想マシンから得た第１の負荷測定値から、前記第２の仮想マシンから得た第２の負荷測定値に基づいて得られるノイズ情報を差し引いて、前記仮想化環境内の他の要素の影響を除いた前記第１の仮想マシンの負荷を推定する演算手段と、を備える。
【０００９】
本発明の一実施形態にかかるモニタリング方法は、同じ物理マシン及び仮想環境制御ソフトウェアを含む仮想化環境で実行され、同じ構成を備え、同じ単位処理を同じ周期で異なった量を実行する、第１と第２の仮想マシンから負荷測定値の時系列を取得し、前記第１の仮想マシンから得た第１の負荷測定値から、前記第２の仮想マシンから得た第２の負荷測定値に基づいて得られるノイズ情報を差し引いて、前記仮想化環境内の他の要素の影響を除いた前記第１の仮想マシンの負荷を推定する。
【発明の効果】
【００１０】
本発明は、仮想マシンの負荷を、当該仮想マシンを実行する仮想環境の影響を除いて測定することを可能とする。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施の形態のモニタリングシステム70の構成を示す図である。
【図２】図２は、採取情報リポジトリ22に格納される負荷情報を示す図である。
【図３】図３は、メモリ32に格納される負荷情報を示す図である。
【図４】図４は、採取部21の動作スローチャートである。
【図５】図５は、制御部31の動作スローチャートである。
【図６】図６は、演算部41の動作フローチャートである。
【図７】図７は、出力部51の動作フローチャートである。
【図８】図８は、採取情報リポジトリ22に格納された負荷情報を例示する。
【図９】図９は、仮想インスタンス1“192.168.1.2:10000”の”2013/11/22 09:50:00”から60秒間の負荷情報を例示する。
【図１０】図１０は、図９の負荷情報のグラフ表示である。
【図１１】図１１は、仮想インスタンス２“192.168.1.6:6212” の”2013/11/22 09:50:00”から60秒間の負荷情報を例示する。
【図１２】図１２は、図１１の負荷情報のグラフ表示である。
【図１３】図１３は、演算部41の計算結果を示す図である。
【図１４】図１４は、モニタ53の表示例を示す。
【図１５】図１５は、フーリエ変換の概要を示す図（１／２）である。
【図１６】図１６は、フーリエ変換の概要を示す図（２／２）である。
【図１７】図１７は、離散フーリエ変換式を示す。
【図１８】図１８は、第２の実施の形態の演算部41の動作フローチャートである。
【図１９】図１９は、仮想インスタンス2“192.168.1.7:10080”の”2013/11/22 09:50:00”から60秒間の負荷情報を例示する。
【図２０】図２０は図１９の負荷情報のグラフを示す。
【図２１】図２１は、仮想インスタンス１の負荷情報を離散フーリエ変換したデータを示す。
【図２２】図２２は、図２１のデータのグラフを示す。
【図２３】図２３は、仮想インスタンス2の負荷情報を離散フーリエ変換したデータを示す。
【図２４】図２４は、図２３のデータのグラフを示す。
【図２５】図２５は、演算部41が、同じ周波数、同じ振幅の成分を０とした結果として得られる周波数分布を示す。
【図２６】図２６は、逆フーリエ変換の結果得られる負荷情報を示す。
【図２７】図２７は、図２６の負荷情報のグラフを示す。
【図２８】図２８は、第３の実施の形態のモニタリリング装置10の構成を示す図である。
【発明を実施するための形態】
【００１２】
＜第１の実施の形態＞
図１は、本実施の形態にかかるモニタリングシステム70の構成を示す図である。このモニタリングシステム70のモニタリング装置10は、大規模なコンピュータリソースを有するデータセンターなどの仮想化された環境における負荷監視を行う。監視されるのは、毎秒一定のリクエストがある特定の業務システムを実行する仮想インスタンス63の負荷、即ち、仮想マシンの負荷である。
【００１３】
物理サーバ環境を想定して設計された負荷監視機能を用いて仮想インスタンス63の負荷監視を行う場合、取得された負荷情報は、仮想環境制御ソフトウェア62が発生するノイズを包含する。モニタリング装置10は、このノイズを含む仮想インスタンス63の負荷情報から、このノイズの除去を行う。
【００１４】
監視される負荷情報は、例えば、CPU(Central Processing Unit)使用率である。物理マシン60において、CPUリソースは、仮想環境制御ソフトウェア62を実行するために使用され、その残りが仮想インスタンス63に分配される。そして、仮想インスタンス63は、分配されたCPUリソースを用いて、アプリケーションプログラムやゲストOSを実行する。
【００１５】
したがって、アプリケーションプログラム、ゲストOSのCPU使用時間をA、仮想インスタンス63に割り当てられたCPU時間をBとすると、仮想インスタンス63のCPU使用率は、AをBで割った値の100倍、即ちA/B*100となる。したがって、仮想インスタンス63の負荷Aが同じであっても、仮想環境制御ソフトウェア62の負荷が高くなって、当該仮想インスタンス63に割り当てられるCPU時間Bが減ると、当該仮想インスタンス63のCPU使用率は高くなる。この影響が、仮想環境制御ソフトウェア62が発生するノイズである。
【００１６】
上記説明は、仮想環境制御ソフトウェア62の負荷と、仮想インスタンス63のCPU使用率の概略の関係を述べたものであり、厳密な説明ではない。
【００１７】
ここで、業務システムは、例えば、銀行の勘定系システムである。リクエストは、例えば、残高照会や入金のリクエストである。業務システムへのリクエスト毎に発生する、仮想インスタンス63の負荷はリクエストによらず概ね等しい。
【００１８】
（構成）
図１に示すように、モニタリングシステム70は、通信回線で接続された物理マシン60とモニタリング装置10とを包含する。
【００１９】
物理マシン60は、コンピュータであり、そのCPU（図示されず）で仮想環境制御ソフトウェア62を実行する。また、物理マシン60は、そのCPUにより、仮想環境制御ソフトウェア62の制御下で仮想インスタンス63を実行する。図１は、２つの仮想インスタンス63（仮想インスタンス1と仮想インスタンス2）を例示している。
【００２０】
仮想環境制御ソフトウェア62は、ホストOSとその制御下で実行される仮想マシンモニタである。あるいは、仮想環境制御ソフトウェア62はハイパーバイザであっても良い。
【００２１】
各仮想インスタンス63は、ゲストOSとアプリケーションプログラムを実行する。アプリケーションプログラムは、リクエストを受信して業務処理を実行するとともに、モニタリング装置10の採取部21に、仮想インスタンス63の負荷情報を送信する。
【００２２】
モニタリング装置10は、採取部21、採取情報リポジトリ22、演算部41、出力部51、制御部31、及び、メモリ32を包含する。出力部51にはモニタ53が接続されている。
【００２３】
採取部21、演算部41、出力部51、および、制御部31は、論理回路である。採取部21、演算部41、出力部51、および、制御部31は、コンピュータであるモニタリング装置10のCPU（図示されず）で実行されるソフトウェアで実現されても良い。採取情報リポジトリ22及びメモリ32は、ディスク装置、半導体メモリなどの記憶装置である。モニタ53は、ディスプレイ装置である。
【００２４】
採取部21は、利用者によって指定された仮想インスタンス63上で動作するアプリケーションプログラムに、通信回線経由で接続する。接続完了後は、一定の間隔で接続先の仮想インスタンス63の負荷情報を採取し、採取情報リポジトリ22に格納する。
【００２５】
図２は、採取情報リポジトリ22に格納される負荷情報を示す図である。負荷情報は、採取された日付、時間、仮想インスタンスID (IDentification)と負荷測定値を包含する。仮想インスタンスIDは、仮想インスタンス63の識別子であり、例えば、IPアドレスとポート番号の組み合わせである。負荷測定値は、例えば、測定されたCPU使用率である。
【００２６】
制御部31は、採取部21と、演算部41と、出力部51の制御を行う。その際、各部は、一時的な記憶領域としてメモリ32を利用する。
【００２７】
図３は、メモリ32に格納される負荷情報を示す図である。メモリ32は、採取情報リポジトリ22から取得されて、仮想インスタンスIDをキーに分類されたデータを記憶する。図３は、仮想インスタンスIDが192.168.1.2：10000である負荷情報を例示する。
【００２８】
演算部41は、メモリ32に格納された、時間的に同じ区間の２つの仮想インスタンス63の負荷情報の時系列に対し、その区間中の同時刻の負荷測定値のそれぞれについて差分を計算する。
【００２９】
出力部51は、メモリ32に格納されたデータを、モニタ53上にプロットするようなGUI(Graphic User Interface)を出力する。出力部51は、単に表形式のファイルを出力しても良い。
【００３０】
仮想インスタンス63は、一定の周期でリクエストを受信して処理するアプリケーションプログラムを実行する。ここで、図１の仮想インスタンス2は、仮想インスタンス１の複製である。両者は、同じ構成で、同じアプリケーションプログラムを実行する。ただし、各周期で、仮想インスタンス2が一度に受信するリクエスト数は、仮想インスタンス１が受信するリクエスト数よりも少ない。リクエストは、例えば、アプリケーションプログラムに接続している端末装置（図示されず）から入力される。
【００３１】
（動作）
モニタリング装置10は、例えば、サンプリング周波数が500[Hz]、負荷情報の解析区間が60秒に設定されている。この設定は、例えば、利用者がモニタ53からパラメータを入力して行う。モニタリング装置10は、ノイズを含む仮想インスタンス１(192.168.1.2:1000)の負荷情報からノイズの除去を行う。このとき、モニタリング装置10は、ノイズを含む仮想インスタンス２(192.168.1.6:6212)の負荷情報を用いる。
【００３２】
また、仮想インスタンス2 へ入力されるリクエスト数は、仮想インスタンス１へ入力されるリクエスト数の、例えば、10分の１程度とする。このリクエスト数の差異により、リクエストの処理によって発生する負荷と、仮想環境制御ソフトウェア62の動作により発生する負荷の比率が、２つの仮想インスタンス63で異なってくる。そして、本実施形態のモニタリング装置10は、リクエスト量が少ない仮想インスタンス63の負荷は仮想環境制御ソフトウェア62により発生した負荷とみなして、両仮想インスタンス63の負荷の差分からリクエストにより発生した負荷を推定する。これにより、物理マシン60で業務システムを運用する利用者は、仮想環境制御ソフトウェア62の影響を排除した負荷情報を取得できる。
【００３３】
まず利用者は、負荷情報を採取したい業務システムのアプリケーションプログラムが動作する仮想インスタンス１とその複製である仮想インスタンス２を物理マシン60上に用意する。そして、仮想インスタンス１と仮想インスタンス２に設定されたIPアドレスと各々のアプリケーションプログラムが提供する負荷監視機能への接続ポート情報の組を仮想インスタンスIDとしてモニタリング装置10に設定する。
【００３４】
この状態で、モニタリング装置10の採取部21が起動される。図４は、採取部21の動作スローチャートである。
【００３５】
まず、採取部21は、利用者によって設定された情報を基に、仮想インスタンス１と仮想インスタンス２上で各々動作するアプリケーションプログラムの負荷監視機能へ接続する（ステップ1）。そして、採取部21は、0.002秒間隔で仮想インスタンス１と仮想インスタンス２のCPU使用率を採取し、負荷情報を採取情報リポジトリ22に格納する（ステップ2、ステップ3）。図８は、採取情報リポジトリ22に格納された負荷情報を例示する。
【００３６】
利用者は、モニタリング装置10に負荷情報の表示を求める。例えば、利用者は、制御部31に表示コマンドを入力する。図５は、制御部31の動作スローチャートである。
【００３７】
制御部31は、まず、利用者から表示要求を受け付ける（ステップ1）。そして、制御部31は、採取情報リポジトリ22に格納されている仮想インスタンス１と仮想インスタンス２の負荷情報を、設定された時間的区間分、採取日付、時間と仮想インスタンスIDをキーに取得し（ステップ2）、メモリ32に格納する（ステップ3）。ここで、設定された時間的区間分は、例えば、60秒である。
【００３８】
図９は、仮想インスタンス1“192.168.1.2:10000”の”2013/11/22 09:50:00”から60秒間の負荷情報を例示する。図１０は、その負荷情報のグラフ表示である。
【００３９】
図１１は、仮想インスタンス２“192.168.1.6:6212” の”2013/11/22 09:50:00”から60秒間の負荷情報を例示する。図１２は、その負荷情報のグラフ表示である。
【００４０】
図５に戻って、制御部31は、演算部41を起動し（ステップ4）、その動作終了を待って、出力部51を起動する（ステップ5）。
【００４１】
図６は、演算部41の動作フローチャートである。演算部41は、負荷情報の時刻毎に、仮想インスタンス１と仮想インスタンス２の負荷情報の負荷測定値の差分を計算する（ステップ1）具体的に、演算部41は、仮想インスタンス１の負荷測定値から仮想インスタンス２の負荷測定値を差し引く。その後、演算部41は、結果をメモリ32に格納する（ステップ2）。図１３は、演算部41の計算結果を示す図である。
【００４２】
図７は、出力部51の動作フローチャートである。出力部51は、メモリ32に格納された演算部41の計算結果を取得し（ステップ1）、モニタ53に表示する（ステップ2）。図１４は、モニタ53の表示例を示す。
【００４３】
なお、監視される負荷は、CPU使用率に限られない。本実施の形態のモニタリング装置10は、例えば、入出力に伴うディスク装置のビジー率や、通信回線のビジー率の監視にも適用可能である。
【００４４】
（効果）
本実施の形態のモニタリング装置10の第1の効果は、仮想インスタンス63、例えば、仮想インスタンス1の負荷情報から、ホストOS、仮想マシンモニタやハイパーバイザといった仮想環境制御ソフトウェア62の影響を排除できる点にある。その理由は、演算部41が、同じ周期で、同じ処理を異なる処理量実行する、２つの仮想インスタンス63のノイズを含む負荷情報から、その差分を差し引いで、仮想インスタンス63の負荷を推定するからである。
【００４５】
第２の効果は、物理サーバ環境向けに設計された監視機能を、仮想環境上で流用することが可能となる点にある。物理サーバ環境を1つのOSで専有するようなシステムを想定して開発された負荷監視ソフトウェアは、そのまま仮想マシンで実行すると、仮想環境制御ソフトウェア62による負荷によるノイズが乗った測定値を出力してしまう。モニタリング装置10は、そのようなソフトウェアが監視するコンピュータリソースの負荷情報から、ノイズを除去し、仮想インスタンス63の負荷監視ができる。
【００４６】
第３の効果は、クラウド環境でのオートスケーリング運用において、クラウド基盤に依存することなく、物理サーバ環境向けに設計された監視機能を利用して監視が可能となる点にある。その理由は、本実施形態のモニタリング装置10は、仮想環境制御ソフトウェア62に固有のインターフェースや固有のコンソールコマンドを利用しておらず、仮想環境制御ソフトウェア62への依存性が無いからである。
【００４７】
＜第２の実施形態＞
クラウドなどの仮想環境では、1つの物理サーバ60上で複数の仮想インスタンス63が動作している。このとき、ある仮想インスタンス63の負荷情報は、他の仮想インスタンス63の影響を受けることとなる。したがって、物理サーバ環境を想定して設計された監視機能を用いて仮想インスタンス63の負荷監視を行う場合、取得された負荷情報は、他の仮想インスタンス63が発生するノイズを包含する。本実施形態のモニタリング装置10は、このノイズを含む２つの仮想マシンの負荷情報から、ノイズを特定して除去を行う。
【００４８】
監視される負荷情報は、例えば、CPU使用率である。物理マシン60において、CPUリソースは、仮想環境制御ソフトウェア62を実行するために使用され、その残りが仮想インスタンス63に分配される。したがって、物理マシン60内で複数の仮想インスタンス63が実行されている場合、他の仮想インスタンス63のCPU使用時間が長くなれば、ある仮想インスタンス63に割り当てられるCPU時間は短くなる。当該仮想インスタンス63に割り当てられるCPU時間Bが減ると、第１の実施形態で説明したように、当該仮想インスタンス63のCPU使用率は高くなる。これが、他の仮想インスタンス63が発生するノイズである。
【００４９】
以降、本実施の形態について、第１の実施形態との差異について説明する。
【００５０】
（構成）
本実施の形態において、図１の物理マシン60は、仮想インスタンス1と2に加えて、ノイズ発生源である他の仮想インスタンス63である仮想インスタンス3（図示されず）を実行している。仮想インスタンス3は、仮想インスタンス１と仮想インスタンス2とは異なる業務システムが運用され、その負荷情報における周波数特性は、仮想インスタンス１および仮想インスタンス2と異なる特徴を見せる。また、仮想インスタンス3は、仮想インスタンス１と仮想インスタンス2に等しく負荷の影響を与える。また、本実施形態において、仮想インスタンス1と2に各周期で一度に入力されるリクエストの数は異なっている。
【００５１】
本実施形態におけるモニタリング装置10の演算部41は、制御部31がメモリ32に格納した（図３のステップ3）時間的に同じ区間の2つの仮想インスタンス63の負荷情報に対し、各々離散フーリエ変換を実施し、周波数分布へと変換する。
【００５２】
ここで、フーリエ変換は、フーリエ級数により表現された時間的に周期的な波に含まれる周波数分布を得る手法である。図１５及び図１６は、フーリエ変換の概要を示す図である。フーリエ変換は、例えば、図１５の左部に示す波を、右部で示すような３つの正弦波の重ね合わせに分解する。周波数分布は、図１６の右部で示すような形式で得られる。離散フーリエ変換は、フーリエ変換で対象とする時間的に連続なインプットデータを離散的なデータに拡張したものである。
【００５３】
フーリエ級数は、複雑な周期関数や周期信号を、単純な形の周期性をもつ関数の和によって表す方法である。時間軸上でｎ番目の観測点におけるイベント量をf（ｎ）、周波数軸上でのｋ番目の周波数成分量をF（ｋ）とすると、Ｎ個の離散時間データ｛f（ｎ）｝，ｎ＝０，１，・・・，Ｎ−１が与えられたとき、その離散フーリエ変換は図１７の式で表される。ここで、Ｎ、ｎ，ｋは自然数である。
【００５４】
演算部41は、例えば、0.002秒ごとに仮想インスタンス１と仮想インスタンス2から採取された、CPU使用率の60秒秒間の時系列を離散フーリエ変換して、結果をメモリ32に格納する。離散フーリエ変換により得られた周波数分布は、仮想インスタンス１と仮想インスタンス２の各々の60秒周期における周波数分布となる。
【００５５】
次に、演算部41は、メモリ32に格納された仮想インスタンス１と仮想インスタンス２の各々の周波数分布に対し、周波数の低いものから順に同じ周波数で同じ振幅を持つものが無いか突合せ比較を行い、あれば当該周波数の振幅をゼロに更新する。
【００５６】
最後に、演算部41は、メモリ32に格納された時間的に一定の区間をもった負荷情報の周波数分布に対し逆離散フーリエ変換を実施し、時間分布へと変換する。
【００５７】
（動作）
モニタリング装置10は、例えば、仮想インスタンス１(192.168.1.2:1000)と仮想インスタンス２(192.168.1.7:1008)の”2013/11/22 09:50:00”から60秒間の負荷情報から、仮想インスタンス3に起因するノイズを特定してその除去を行う。
【００５８】
第１の実施形態の説明でも使用した図１１は、本実施形態において仮想インスタンス１から採取された負荷情報を例示する。図１２は、そのグラフ表示を示す。
【００５９】
図１９は、仮想インスタンス2“192.168.1.7:10080”の”2013/11/22 09:50:00”から60秒間の負荷情報を例示する。図２０はそのグラフ表示を示す。
【００６０】
第１の実施の形態同様に、制御部31は図１１および図１９が示す負荷情報をメモリ32に格納した後に、演算部41を起動する。図１８は、本実施の形態の演算部41の動作フローチャートである。
【００６１】
演算部41は、仮想インスタンス1と2から得た負荷情報の時系列の各々に対して、離散フーリエ変換を行う（ステップ１）。
【００６２】
図２１は、仮想インスタンス１の負荷情報を離散フーリエ変換したデータを示す。図２２は、仮想インスタンス１の負荷情報を離散フーリエ変換したデータのグラフを示す。図２３は、仮想インスタンス2の負荷情報を離散フーリエ変換したデータを示す。図２４は、仮想インスタンス2の負荷情報を離散フーリエ変換したデータのグラフを示す。
【００６３】
演算部41は、得られた仮想インスタンス63毎の周波数分布において、仮想インスタンス１の周波数分布と仮想インスタンス２の周波数分布で、振幅、周波数ともに等しい周波数の比較検索を周波数が低いものから行う（ステップ2）。振幅、周波数ともに等しい周波数を見つけると（ステップ3でＹ）、演算部41は、メモリ32に格納された周波数のデータを仮想インスタンス３による負荷と判定し、振幅を0に設定する（ステップ4）。
【００６４】
周波数分布での各周波数における振幅は、複数の波に分解された個々の波の振幅（図１５）を表す。
【００６５】
図２１、および、図２３を例にとると、周波数[0.250-0.283])の間(IDでは15〜17)と、周波数[0.450-0.483]の間(IDでは27〜29)で、仮想インスタンス1と仮想インスタンス2の周波数分布データの周波数と振幅が等しくなる。演算部41は、該当の部分を仮想インスタンス3の負荷により発生したノイズと判定する。そして、演算部41は、このノイズを、例えば仮想インスタンス1の負荷情報から差し引く、即ち、振幅を０に設定するのである。
【００６６】
そのような判定の根拠は以下のとおりである。仮想インスタンス3は、仮想インスタンス1と仮想インスタンス2に等しい影響（ノイズ）を与える。また、仮想インスタンス3は、監視対象とする仮想インスタンス1及び2と同じ処理の周期をもたない。従って、仮想インスタンス3が発生させる負荷情報の波の周波数は、仮想インスタンス1、仮想インスタンス2とは異なり、かつ、仮想インスタンス1、仮想インスタンス2のそれぞれの周波数分布において同じ周波数に対して、同じ振幅を有する。
【００６７】
図２５は、演算部41が、同じ周波数、同じ振幅の成分を０とした結果として得られる周波数分布を示す。演算部41は、図１８のステップ2,3及び4のループが終了すると、メモリ32に格納された結果を基に逆フーリエ変換を行う（ステップ5）。図２６は、逆フーリエ変換の結果得られる負荷情報を示す。図２７は、逆フーリエ変換の結果得られる負荷情報のグラフを示す。
【００６８】
（効果）
本実施の形態の効果は、仮想インスタンス63、例えば、仮想インスタンス1または2の負荷情報から、同一の物理マシン60を共有する仮想インスタンス63間の影響を排除できる点にある。その理由は、演算部41が、同じ周期で、同じ処理を異なる処理量実行する、同一構成の仮想インスタンス63間の負荷の差異を周波数分析して比較し、共通した周波数成分を差し引いて、仮想インスタンス63の負荷を推定するからである。
【００６９】
＜第３の実施の形態＞
図２８は、第３の実施の形態のモニタリング装置10の構成を示す図である。本実施の形態のモニタリング装置10は採取部21と演算部41を備える。
【００７０】
採取部21は、同じ物理マシン及び仮想環境制御ソフトウェアを含む仮想化環境で実行され、同じ構成を備え、同じ単位処理を同じ周期で異なった量を実行する、第１と第２の仮想マシンから負荷測定値の時系列を取得する。演算部41は、第１の仮想マシンから得た第１の負荷測定値から、第２の仮想マシンから得た第２の負荷測定値に基づいて得られるノイズ情報を差し引いて、仮想化環境内の他の要素の影響を除いた第１の仮想マシンの負荷を推定する。
【００７１】
本実施の形態のモニタリング装置10の効果は、仮想インスタンス63、例えば、仮想インスタンス1の負荷情報から、ホストOS、仮想マシンモニタ、ハイパーバイザや他の仮想マシンといった他の影響を排除できる点にある。その理由は、演算部41が、同じ周期で、同じ処理を異なる処理量実行する、第１の仮想マシンのノイズを含む負荷情報から、第２の仮想マシンの負荷に基づいて得られるノイズ情報を差し引いて、第１の仮想マシンの負荷を推定するからである。
【００７２】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００７３】
10    モニタリング装置
21    採取部
22    採取情報リポジトリ
31    制御部
41    演算部
51    出力部
53    モニタ
60    物理マシン
62    仮想環境制御ソフトウェア
63    仮想インスタンス
70    モニタリングシステム
【図１】
2015172806.tif 000003
【図２】
2015172806.tif 000004
【図３】
2015172806.tif 000005
【図４】
2015172806.tif 000006
【図５】
2015172806.tif 000007
【図６】
2015172806.tif 000008
【図７】
2015172806.tif 000009
【図８】
2015172806.tif 000010
【図９】
2015172806.tif 000011
【図１０】
2015172806.tif 000012
【図１１】
2015172806.tif 000013
【図１２】
2015172806.tif 000014
【図１３】
2015172806.tif 000015
【図１４】
2015172806.tif 000016
【図１５】
2015172806.tif 000017
【図１６】
2015172806.tif 000018
【図１７】
2015172806.tif 000019
【図１８】
2015172806.tif 000020
【図１９】
2015172806.tif 000021
【図２０】
2015172806.tif 000022
【図２１】
2015172806.tif 000023
【図２２】
2015172806.tif 000024
【図２３】
2015172806.tif 000025
【図２４】
2015172806.tif 000026
【図２５】
2015172806.tif 000027
【図２６】
2015172806.tif 000028
【図２７】
2015172806.tif 000029
【図２８】
2015172806.tif 000030