(57)【要約】      （修正有）【課題】仮想化基盤の異常、並びにその根本原因となるコンポーネントを早期に検出する仮想化基盤の監視システムを提供する。【解決手段】複数の物理計算機１０−１〜１０−ｎ上に構成された複数の仮想化基盤２０−１〜２０−ｎの送信部２７は、コンポーネントごとのシステム資源情報や通信資源情報を加工した資源情報を仮想化基盤解析システム１に送信する。仮想化基盤解析システムにおいて、グラフ生成部４は、受信部２が複数の物理計算機から受信した資源情報に基づく値を用い、一定の時間間隔で、各コンポーネントをノードとし、各コンポーネント間の相関関係をエッジとしたグラフを生成し、グラフ保存部５に保存する。グラフ解析部６は、グラフ生成部が生成した現時刻のグラフと、グラフ保存部に保存された過去のグラフとを比較し、グラフ構造の時系列変動を検証する。グラフ構造の時系列変動が正常と異なれば、仮想化基盤に障害が発生したと判定する。【選択図】図１
2018160020.tif 000002
【特許請求の範囲】
【請求項１】
物理計算機上に構成された複数のコンポーネントおよび前記各コンポーネント間の相関関係を監視する監視システムであって、
前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得し、前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成するグラフ生成部と、
特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出するグラフ解析部と、を備えることを特徴とする監視システム。
【請求項２】
前記グラフ生成部および前記グラフ解析部は、物理計算機の仮想化基板解析システム上に構成され、
前記各コンポーネントは、物理計算機の仮想化基盤上に構成されていることを特徴とする請求項１記載の監視システム。
【請求項３】
一定の時間間隔で生成された前記グラフ、並びに前記各ノードの属性を示す情報および前記エッジを示す情報を含むマトリクスを保存するグラフ保存部をさらに備えることを特徴とする請求項１または請求項２記載の監視システム。
【請求項４】
物理計算機上に構成された複数のコンポーネントおよび前記各コンポーネント間の相関関係を監視する監視装置のプログラムであって、
前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得する処理と、
前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成する処理と、
特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出する処理と、の一連の処理をコンピュータに実行させることを特徴とするプログラム。
【請求項５】
物理計算機上に構成された複数のコンポーネントおよび前記各コンポーネント間の相関関係を監視する監視方法であって、
前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得するステップと、
前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成するステップと、
特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出するステップと、を少なくとも含むことを特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理計算機上に構成された複数のコンポーネントおよび各コンポーネント間の相関関係を監視する技術に関する。
【背景技術】
【０００２】
従来から、クラウドコンピューティングと呼ばれる技術が知られている。この技術は、物理計算機（物理マシンまたは物理サーバ）に仮想化技術を適用することで仮想化基盤（クラウド基盤）を構築し、この仮想化基盤上に仮想計算機（仮想マシンまたは仮想サーバ）を動作させる。そして、この仮想計算機上でアプリケーションを実行することでサービスを提供する。
【０００３】
このようなクラウドコンピューティングでは、動的に仮想計算機を作成し、破棄し、移動することができるため、仮想計算機上で実行されるサービスの利用形態に応じて、コンピューティング、ストレージ、ネットワーク等のリソースを、仮想計算機に柔軟に割り当てすることができる。さらに、物理計算機の異常や障害の発生時には、物理計算機上で動作している仮想計算機を、別の健全な物理計算機に移動させることも容易であるため、高い可用性を担保できるという特徴もある。
【０００４】
仮想化基盤は、種々の機能が連携することでクラウドコンピューティングサービスを実現する。例えば、仮想基盤操作へのアクセス権限を管理する認証機能、仮想計算機の作成、破棄を管理するコンピュート機能、仮想計算機の起動イメージを管理するイメージ管理機能、仮想計算機にストレージを提供するストレージ機能、仮想計算機にネットワークを提供するネットワーキング機能、仮想化基盤制御システムにおけるウェブインターフェースを提供するダッシュボード機能等である。さらに、このような各機能は、データベース、メッセージキュー、ＨＴＴＰサービス、ＮＴＰサービス等を提供するミドルウェアと相互に連携し、動作する。
【０００５】
図６は、仮想化基盤の構成の一例を示す図である。図６では、仮想計算機を実行する仮想化基盤を「コンピュートノード」、コンピュートノードをコントロールする仮想化基盤を「コントローラノード」とし、それぞれの機能やミドルウェアが連携する様子を示している。以下、仮想化基盤を構成する各機能と、各機能と連携する各ミドルウェアを総称して、「仮想化基盤の構成要素」、「コンポーネント」と呼ぶ。
【０００６】
安定したクラウドコンピューティングサービスを提供するには、仮想化基盤には高い耐障害性が求められ、特に仮想化基盤の異常や障害を迅速に発見することは、クラウドコンピューティングサービスの品質を向上させる上で重要である。直接的な手段としては、仮想化基盤の異常や障害の発生時に、管理者が各コンポーネントのログを解析し、解析結果に応じて対策が講じられている。
【０００７】
特許文献１および２には、各コンポーネントの異常や障害を検出する技術が開示されている。特許文献１に記載されている技術では、アプリケーションのログを監視し続け、所定のログメッセージの出現頻度が所定回数以上であった場合や、ログ更新が所定時間間隔以上行なわれなかった場合を障害としてみなしている。
【０００８】
特許文献２に記載されている技術では、アプリケーションが自発的に発生させたコンテキストスイッチ回数とオペレーションシステムがアプリケーションを制御するために発生させたコンテキストスイッチ回数を監視し、これらコンテキストスイッチ回数の変化度合と、アプリケーションのプロセス状態を関連づけることで、アプリケーションの異常を検出する。
【０００９】
特許文献３および非特許文献１には、仮想化基盤の異常や障害を検出する技術が開示されている。特許文献３に記載されている技術では、仮想化基盤のＣＰＵ使用率やメモリ使用率等の性能情報を収集し、クラスタリングアルゴリズムを用いて正常な状態との乖離を検出することで、仮想化基盤の異常を検出する。
【００１０】
非特許文献１に記載されている技術では、仮想化基盤のオープンソース実装である「OpenStack」に焦点を当て、障害を意図的に挿入することで、予めバグや障害要因を特定する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第４２３０９４６号明細書
【特許文献２】特許第４５６２５６８号明細書
【特許文献３】特開２０１５−０７０５２８号公報
【非特許文献】
【００１２】
【非特許文献１】Xiaoen Ju et al., On Fault Resilience of OpenStack, SOCC 2013, DOI:10.1145/2523616.2523622
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、仮想化基盤の異常や障害の発生時に、管理者が各コンポーネントのログを解析し、解析結果に応じて対策を講じる手法では、各コンポーネントが複雑に連携している状況下において、各コンポーネントに対する十分な知見が求められ、一般に、管理者が異常や障害の原因を早期に特定することは困難である。
【００１４】
特許文献１に記載されている技術では、管理者が障害時にアプリケーションがどのようなログを出力するかを予め把握するか、アプリケーションが所定のログを出力するようにアプリケーションのソースコードを改修する必要がある。このように、特許文献１では、コンポーネントのログを解析することで障害の検出を試みるが、仮想化基盤の挙動に対して深い知見が要求され、例えば、仮想化基盤のバージョンアップ等ログの仕様が変更される度に監視システムの改修が必要となる。
【００１５】
また、特許文献２に記載されている技術では、アプリケーションがＣＰＵを使用し続ける無限ループや、アプリケーションが「Ｉ／Ｏ待ち」や「ＣＰＵ待ち」で停止するといった単純な異常事象に対しては有効ではあるものの、メモリリーク等のコンテキストスイッチが関与しない異常を検出できない。すなわち、検出できる障害が限定的である。
【００１６】
また、特許文献３に記載されている技術では、物理計算機や仮想計算機の異常を検出することはできるが、コンポーネントの異常や障害そのものを検出するわけではないため、根本原因となるコンポーネントを特定することができず、異常や障害の切り分け、対応には適用することができない。
【００１７】
また、非特許文献１に記載されている技術では、ログ解析が必要とされるため、各コンポーネントについて深い知識が要求される。また、障害を挿入するという性質上、稼働中の仮想化基盤には適用できず、障害発生時に即座に障害を検出できない。
【００１８】
このように、従来から種々の技術が提案されてきたが、仮想化基盤は複数のコンポーネントから構成されており、これらコンポーネントが複雑に連携していることから、依然として、異常や障害の早期検出、特定が容易ではない。
【００１９】
本発明は、このような事情に鑑みてなされたものであり、管理者が仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合においても、仮想化基盤の異常、並びにその根本原因となるコンポーネントを早期に検出することができる監視システム、プログラムおよび監視方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
（１）上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明の監視システムは、物理計算機上に構成された複数のコンポーネントおよび前記各コンポーネント間の相関関係を監視する監視システムであって、前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得し、前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成するグラフ生成部と、特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出するグラフ解析部と、を備えることを特徴とする。
【００２１】
このように、各コンポーネントのシステム資源情報および各コンポーネント間の通信資源情報を取得し、各コンポーネントのシステム資源情報に基づく値および各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、各コンポーネントをノードとし、各コンポーネント間の相関関係をエッジとしたグラフを作成し、特定のノードおよび特定のノードからの距離が所定値以下である他のノード並びに特定のノードと他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、グラフの時系列的な変化を検出するので、仮想化基盤の管理者が、仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合であっても、仮想化基盤やコンポーネントの異常を検出することが可能となる。
【００２２】
（２）また、本発明の監視システムにおいて、前記グラフ生成部および前記グラフ解析部は、物理計算機の仮想化基板解析システム上に構成され、前記各コンポーネントは、物理計算機の仮想化基盤上に構成されていることを特徴とする。
【００２３】
このように、グラフ生成部およびグラフ解析部は、物理計算機の仮想化基板解析システム上に構成され、各コンポーネントは、物理計算機の仮想化基盤上に構成されているので、仮想化基盤解析システムと仮想化基盤とを物理的に離れた場所で構築することができる。これにより、仮想化基盤解析システムに対して遠隔地に構成された仮想化基盤やコンポーネントの異常を検出することが可能となる。なお、仮想化基盤解析システムと仮想化基盤とを同一の物理計算機上に構築することも可能である。
【００２４】
（３）また、本発明の監視システムは、一定の時間間隔で生成された前記グラフ、並びに前記各ノードの属性を示す情報および前記エッジを示す情報を含むマトリクスを保存するグラフ保存部をさらに備えることを特徴とする。
【００２５】
このように、一定の時間間隔で生成されたグラフ、並びに各ノードの属性を示す情報およびエッジを示す情報を含むマトリクスを保存するグラフ保存部をさらに備えるので、グラフの時系列的な変動を把握することが可能となる。
【００２６】
（４）また、本発明のプログラムは、物理計算機上に構成された複数のコンポーネントおよび前記各コンポーネント間の相関関係を監視する監視装置のプログラムであって、前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得する処理と、前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成する処理と、特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出する処理と、の一連の処理をコンピュータに実行させることを特徴とする。
【００２７】
このように、各コンポーネントのシステム資源情報および各コンポーネント間の通信資源情報を取得し、各コンポーネントのシステム資源情報に基づく値および各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、各コンポーネントをノードとし、各コンポーネント間の相関関係をエッジとしたグラフを作成し、特定のノードおよび特定のノードからの距離が所定値以下である他のノード並びに特定のノードと他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、グラフの時系列的な変化を検出するので、仮想化基盤の管理者が、仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合であっても、仮想化基盤やコンポーネントの異常を検出することが可能となる。
【００２８】
（５）また、本発明の監視方法は、物理計算機上に構成された複数のコンポーネントおよび前記各コンポーネント間の相関関係を監視する監視方法であって、前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得するステップと、前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成するステップと、特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出するステップと、を少なくとも含むことを特徴とする。
【００２９】
このように、各コンポーネントのシステム資源情報および各コンポーネント間の通信資源情報を取得し、各コンポーネントのシステム資源情報に基づく値および各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、各コンポーネントをノードとし、各コンポーネント間の相関関係をエッジとしたグラフを作成し、特定のノードおよび特定のノードからの距離が所定値以下である他のノード並びに特定のノードと他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、グラフの時系列的な変化を検出するので、仮想化基盤の管理者が、仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合であっても、仮想化基盤やコンポーネントの異常を検出することが可能となる。
【発明の効果】
【００３０】
本発明によれば、仮想化基盤の管理者が、仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合においても、仮想化基盤を構成するコンポーネントとその相関から、仮想化基盤やコンポーネントの異常を検出することができる。
【図面の簡単な説明】
【００３１】
【図１】本実施形態に係る仮想化基盤の監視システムの概略構成を示す図である。
【図２】グラフ生成部４が作成したグラフの一例を示す図である。
【図３】時刻ｔ０、ｔ１、ｔ２にグラフが生成され、時々刻々とグラフ構造が変化している様子を示す図である。
【図４】特定のノードＣとの隣接距離がＮ＝１であるノードＢ、ノードＤ、ノードＥと、それらを接続するエッジを表す図である。
【図５】時刻ｔ０〜ｔ９の時系列グラフをクラスタリングし、異常を検出した例を示す。
【図６】仮想化基盤の構成の一例を示す図である。
【発明を実施するための形態】
【００３２】
本発明者らは、仮想化基盤が複数のコンポーネントから構成されており、これらのコンポーネントが複雑に連携しているため、異常や障害の早期検出や特定が容易ではないことに着目し、仮想化基盤を構成するコンポーネントとコンポーネントの相関関係をグラフ化し、グラフ構造の時系列変化の異常を検出することによって、仮想化基盤の管理者が、仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合においても、仮想化基盤やコンポーネントの異常を把握できることを見出し、本発明に至った。
【００３３】
すなわち、本発明の監視システムは、物理計算機上に構成された複数のコンポーネントおよび前記各コンポーネント間の相関関係を監視する監視システムであって、前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得し、前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成するグラフ生成部と、特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出するグラフ解析部と、を備えることを特徴とする。
【００３４】
これにより、本発明者らは、仮想化基盤の管理者が、仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合であっても、仮想化基盤やコンポーネントの異常を検出することを可能とした。以下、本発明の実施形態について、図面を参照しながら具体的に説明する。
【００３５】
本実施形態では、仮想化基盤を構成するコンポーネントをノード、コンポーネントの相関をエッジと見立てたグラフを時系列毎に作成する。グラフの構成要素であるノードは、コンポーネントの使用するシステム資源情報（CPU使用時間、メモリ使用量、I/O情報等）、またはシステム資源情報から導出される情報を属性として有する。グラフの構成要素であるエッジは、コンポーネント間で送受信される通信資源情報（トラフィック量、パケット数、ソケットの再起動回数等）、または通信資源情報から導出される情報を属性として有する。そして、ある時間区間における属性から定まるグラフ構造を取得し、グラフ構造の時系列変化を監視し、グラフ構造の異常を検出する。これにより、仮想化基盤システムの異常を検出する。
【００３６】
図１は、本実施形態に係る仮想化基盤の監視システムの概略構成を示す図である。この仮想化基盤の監視システムは、物理計算機上に構成された仮想化基盤解析システム１と、複数の物理計算機１０−１〜１０−ｎ上に構成された複数の仮想化基盤２０−１〜２０−ｎから構成されている。前提として、図１に示す各仮想化基盤２０−１〜２０−ｎにおいて、仮想化基盤を構成する各機能および各機能と連携する各ミドルウェアとしてのコンポーネントが設けられているが、ここでは図示していない。また、図１では、仮想化基盤解析システム１と、複数の物理計算機１０−１〜１０−ｎ上に構成された複数の仮想化基盤２０−１〜２０−ｎを示したが、本発明は、これに限定されるわけではなく、同一の物理計算機上に仮想化基盤解析システム１および複数の仮想化基盤２０−１〜２０−ｎを構成することもできるし、単一の物理計算機上に仮想化基盤解析システム１を構成し、他の単一の物理計算機上に複数の仮想化基盤２０−１〜２０−ｎを構成することも可能である。
【００３７】
図１に示す各仮想化基盤２０−１〜２０−ｎにおいて、システム資源情報収集部２２は、各コンポーネントが使用するシステム資源情報２１を一定時間間隔で収集する。ここで、使用するシステム資源情報とは、例えば、ユーザＣＰＵ使用時間、システムＣＰＵ使用時間、メモリ使用量、スワップ量、ページフォールト数、ディスクアクセス数、ディスク書き込み数等である。Ｌｉｎｕｘ（登録商標）では、ｐｒｏｃファイルシステム（/proc配下のファイル）のファイルの参照、あるいはコマンドを実行することで情報を取得可能である。システム資源情報加工部２３は、システム資源情報収集部２２が取得した情報に対して、統計的処理（前回取得した値との差分や平均値からの乖離の算出等）や規格化（パーセンテージ化や正規化等）をする。
【００３８】
通信資源情報収集部２５は、各コンポーネントが使用する通信資源情報２４を一定時間間隔で収集する。使用する通信資源情報とは、例えば、プロトコル、パケットサイズ、パケット数、使用しているソケットの数等である。Ｌｉｎｕｘ（登録商標）では、パケットキャプチャ情報と、各コンポーネントが使用するソケット情報とを紐付けることで情報を取得可能である。通信資源情報加工部２６は、通信資源情報収集部２５が取得した情報に対して、統計的処理（前回取得した値との差分や平均値からの乖離の算出等）や規格化（パーセンテージ化や正規化等）をする。
【００３９】
送信部２７は、加工したシステム資源情報や加工した通信資源情報（以下、「資源情報」と呼称する。）を仮想化基盤解析システム１に送信する。
【００４０】
一方、仮想化基盤解析システム１において、受信部２は、複数の物理計算機１０−１〜１０−ｎの送信部２７から送信された資源情報を受信し、資源情報保存部３に保存する。グラフ生成部４は、資源情報保存部３内の資源情報をもとに、コンポーネントを「ノード」、コンポーネントの相関を「エッジ」としたグラフを生成し、グラフ保存部５に保存する。ここで、ノードやエッジは、資源情報や資源情報から計算される変換値を有する。
【００４１】
グラフ解析部６は、グラフ生成部４が生成した現時刻のグラフと、グラフ保存部５に保存された過去のグラフとを比較し、グラフ構造の時系列変動を検証する。グラフ構造の時系列変動が正常と異なれば、仮想化基盤に障害が発生したと判定する。グラフ表示部７は、仮想化基盤の管理者にグラフを表示するインターフェースを提供する。解析結果送信部８は、グラフ解析結果を外部監視システムに送信する。
【００４２】
次に、本実施形態に係るグラフ生成部４について説明する。グラフ生成部４では、コンポーネントをノード、コンポーネントの相関をエッジとしたグラフを生成する。図２は、グラフ生成部４が作成したグラフの一例を示す図である。図２では、２つの物理計算機（ホスト（１）とホスト（２））上で動作するコンポーネントから成るグラフの例を示している。ノードは、ホスト名とコンポーネント名（あるいはコンポーネントを実行するプロセス名）の組を識別子として、各コンポーネントが使用するシステム資源情報（例えば、CPU使用時間、メモリ使用量、ディスクI/O量等）、またはシステム資源情報を元に計算される値を属性に持つ。エッジは、通信をする送信ノードと受信ノードの組を識別子として、各エッジは通信資源情報（例えば、トラフィック量、パケット数、使用ソケット数等）、または通信資源情報を元に計算される値を属性に持つ。グラフ生成部４は、一定の時間間隔でグラフを生成し、生成したグラフをグラフ保存部５に格納する。
【００４３】
図３は、時刻ｔ０、ｔ１、ｔ２にグラフが生成され、時々刻々とグラフ構造が変化している様子を示す図である。図３では、各コンポーネントと各コンポーネント間の相関は、マトリクスとしてデータを保持できる。図３の例では、時刻ｔ２ではノード（Ａ）は２０の属性を持ち、ノード（Ａ）からノード（Ｂ）に接続するエッジは９２の属性を持つ。時刻ｔ０ではノード（Ａ）は１８の属性を持ち、ノード（Ａ）からノード（Ｂ）に接続するエッジは８９の属性を持つ。ノードやエッジは、ＣＰＵ使用時間やメモリ使用量等の複数の属性値を持つ。この例では、属性値を簡易的にシステム資源情報や通信資源情報を表す単一の数値で示したが、属性値を各要素に持つベクトル値として保持しても良いし、複数の属性値から計算される変換値として保持しても良い。
【００４４】
次に、本実施形態に係るグラフ解析部６について説明する。グラフの解析については、一般的な手法として、時系列データからノードの相関関係を抽出することで、グラフ全体、あるいは相関性が強いノードで構成された部分グラフに対して、異常検知を適用する手法が考えられる。しかし、本実施形態では、パケットのヘッダを解析するためコンポーネント間の接続関係は明示的であり、さらに、あるコンポーネントが送信する通信は複数のコンポーネントを経由するケースは少ない。本実施形態における異常検知の目的は、どのホストのどのコンポーネントが異常要因となっているかを検出することにあり、ノードの連なりを解析し、ネットワークとしての異常検知を適用することは計算量の観点からも望ましくない。一方で、ノードやエッジ単体での異常検知を実施した場合、異常の根本原因の追求は容易となるものの、コンポーネント間の通信は０（通信は発生していない）が支配的なノード、エッジも多く、属性値の情報量が少ない場合には、特徴量の抽出が困難であり、異常検知の精度が課題となる。
【００４５】
そこで、本実施形態では、各ノードを基準として解析を行なう。すなわち、ノードと、ノードからの隣接距離がＮ以下となるノードと、ノードと隣接距離がＮ以下となるノードとを接続するエッジのデータを基に異常検知を適用する。
【００４６】
図４は、特定のノードＣとの隣接距離がＮ＝１であるノードＢ、ノードＤ、ノードＥと、それらを接続するエッジを表す図である。すなわち、図４では、ノードＣを基準として、ある一定時間内においてノードＣに隣接関係にあるノード群（ノードＢ、ノードＤ、ノードＥ）と関連するエッジを異常検知対象としている。図４の紙面に対して右側のマトリクスにおいては斜線で塗りつぶした数値を対象としている。異常検知には、既存の異常検知アルゴリズムが適用できる。例えば、Ｋ近傍法等のクラスタリングアルゴリズムを適用し、外れ値を検知することで、グラフの異常を検出する。図５は、時刻ｔ０〜ｔ９の時系列グラフをクラスタリングし、異常を検出した例を示す。ここでは、各時系列グラフにおいて、最も近い距離と閾値とを比較し、閾値よりも大きい場合に外れ値と判定した例を示している。このように、各ノードと、前記ノードからの隣接距離がＮ以下となるノードと、ノードと隣接距離がＮ以下となるノードを接続するエッジとに異常検知アルゴリズムを適用することで、コンポーネントの異常を検出できる。
【００４７】
以上説明したように、本実施形態によれば、仮想化基盤の管理者が、仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合であっても、仮想化基盤を構成するコンポーネントとその相関から、仮想化基盤やコンポーネントの異常を検出することが可能となる。
【符号の説明】
【００４８】
１  仮想化基盤解析システム
２  受信部
３  資源情報保存部
４  グラフ生成部
５  グラフ保存部
６  グラフ解析部
７  グラフ表示部
８  解析結果送信部
１０−１〜１０−ｎ  物理計算機
２０−１〜２０−ｎ  仮想化基盤
２１  コンポーネント毎のシステム資源情報
２２  システム資源情報収集部
２３  システム資源情報加工部
２４  コンポーネント毎の通信資源情報
２５  通信資源情報収集部
２６  通信資源情報加工部
２７  送信部
【図１】
2018160020.tif 000003
【図２】
2018160020.tif 000004
【図３】
2018160020.tif 000005
【図４】
2018160020.tif 000006
【図５】
2018160020.tif 000007
【図６】
2018160020.tif 000008