WO2018173698A1 - 監視システム、コンピュータ可読記憶媒体および監視方法 - Google Patents

監視システム、コンピュータ可読記憶媒体および監視方法 Download PDF

Info

Publication number
WO2018173698A1
WO2018173698A1 PCT/JP2018/008031 JP2018008031W WO2018173698A1 WO 2018173698 A1 WO2018173698 A1 WO 2018173698A1 JP 2018008031 W JP2018008031 W JP 2018008031W WO 2018173698 A1 WO2018173698 A1 WO 2018173698A1
Authority
WO
WIPO (PCT)
Prior art keywords
components
graph
node
resource information
component
Prior art date
Application number
PCT/JP2018/008031
Other languages
English (en)
French (fr)
Inventor
朝信 丹羽
雅典 宮澤
林 通秋
Original Assignee
Kddi株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kddi株式会社 filed Critical Kddi株式会社
Publication of WO2018173698A1 publication Critical patent/WO2018173698A1/ja

Links

Images

Definitions

  • the present invention relates to a technology for monitoring a plurality of components configured on a physical computer and a correlation between the components.
  • cloud computing a technology called cloud computing has been known.
  • This technology builds a virtualization platform (cloud platform) by applying virtualization technology to a physical computer (physical machine or physical server), and operates a virtual computer (virtual machine or virtual server) on this virtualization platform.
  • a service is provided by executing an application on the virtual machine.
  • virtual machines can be created, destroyed, and moved dynamically, so computing, storage, network, etc., depending on the usage form of services executed on the virtual machines Resources can be flexibly allocated to virtual machines. Furthermore, when an abnormality or failure occurs in a physical computer, it is easy to move a virtual computer operating on the physical computer to another healthy physical computer, so that high availability can be ensured.
  • the virtualization platform realizes a cloud computing service by linking various functions. For example, an authentication function that manages access privileges to virtual infrastructure operations, a compute function that manages creation and destruction of virtual machines, an image management function that manages boot images of virtual machines, a storage function that provides storage to virtual machines, a virtual machine
  • an authentication function that manages access privileges to virtual infrastructure operations
  • a compute function that manages creation and destruction of virtual machines
  • an image management function that manages boot images of virtual machines
  • a storage function that provides storage to virtual machines
  • a virtual machine include a networking function for providing a network to a computer and a dashboard function for providing a web interface in a virtual infrastructure control system.
  • each of these functions operates in cooperation with middleware that provides a database, a message queue, an HTTP service, an NTP service, and the like.
  • FIG. 6 is a diagram showing an example of the configuration of the virtualization infrastructure.
  • FIG. 6 illustrates a state in which the virtualization infrastructure for executing the virtual machine is a “compute node” and the virtualization infrastructure for controlling the compute node is a “controller node”, and the functions and middleware cooperate with each other.
  • each function constituting the virtualization infrastructure and each middleware linked to each function are collectively referred to as “virtualization infrastructure components” and “components”.
  • the virtualization infrastructure is required to have high fault tolerance. Especially, rapid detection of abnormalities and failures in the virtualization infrastructure improves the quality of the cloud computing service. Is important above.
  • the administrator analyzes the log of each component, and measures are taken according to the analysis result.
  • Patent Documents 1 and 2 disclose techniques for detecting an abnormality or failure of each component.
  • the application log is continuously monitored, and a failure occurs when the frequency of occurrence of a predetermined log message is a predetermined number of times or when the log is not updated more than a predetermined time interval. Is regarded as.
  • Patent Document 3 and Non-Patent Document 1 disclose technologies for detecting an abnormality or failure in a virtualization platform.
  • the technology described in Patent Document 3 collects performance information such as the CPU usage rate and memory usage rate of the virtualization platform, and detects the deviation from the normal state using a clustering algorithm, thereby enabling the virtualization platform. Detect abnormalities.
  • Non-Patent Document 1 focuses on “OpenStack”, which is an open source implementation of virtualization infrastructure, and identifies bugs and failure factors in advance by intentionally inserting failures.
  • Patent Document 1 In the technique described in Patent Document 1, it is necessary for the administrator to know in advance what kind of log the application outputs in the event of a failure, or to modify the application source code so that the application outputs a predetermined log There is. As described above, in Patent Document 1, an attempt is made to detect a failure by analyzing a component log, but deep knowledge is required for the behavior of the virtualization infrastructure. Further, for example, whenever the log specifications such as the upgrade of the virtualization platform are changed, the monitoring system needs to be improved.
  • Patent Document 2 The technology described in Patent Document 2 is effective for an infinite loop in which an application continues to use the CPU, or for a simple abnormal event in which the application stops at "I / O wait" or "CPU wait". It is. However, the technique described in Patent Document 2 cannot detect an abnormality that does not involve a context switch such as a memory leak. That is, the faults that can be detected are limited.
  • an abnormality of a physical computer or a virtual computer can be detected.
  • the component abnormality or failure itself is not detected, the component that is the root cause cannot be identified, and it cannot be applied to isolation and response of the abnormality or failure.
  • Non-Patent Document 1 requires log analysis, deep knowledge about each component is required. Also, due to the nature of inserting faults, it cannot be applied to a running virtualization platform, and faults cannot be detected immediately when a fault occurs.
  • the virtualization infrastructure is composed of a plurality of components, and these components are linked together in a complex manner. It is not easy to identify.
  • a monitoring system that monitors a plurality of components configured on a physical computer and a correlation between the components acquires system resource information of the components and communication resource information between the components. And using a value based on system resource information of each component and a value based on communication resource information between the components, using each component as a node and a correlation between the components as an edge at a certain time interval.
  • Anomaly detection with respect to a graph generating means for creating a graph, a specific node, another node whose distance from the specific node is a predetermined value or less, and an edge connecting the specific node and the other node Applying an algorithm to detect time-series changes in the graph And a, and analyzing means.
  • FIG. 1 It is a figure which shows schematic structure of the monitoring system of the virtualization infrastructure which concerns on this embodiment. It is a figure which shows an example of the graph which the graph production
  • generated at the time t0, t1, and t2, and a graph structure is changing every moment. It is a figure showing the edge which connects the node B, the node D, and the node E whose adjacent distance with the specific node C is N 1.
  • An example is shown in which anomalies are detected by clustering time series graphs at times t0 to t9. It is a figure which shows an example of a structure of a virtualization infrastructure.
  • the present inventors paid attention to the fact that the virtualization platform is composed of a plurality of components, and these components are linked in a complex manner, so that early detection and identification of abnormalities and faults is not easy.
  • the virtualization infrastructure administrator By graphing the correlation between components that make up the infrastructure and detecting anomalies in time-series changes in the graph structure, the virtualization infrastructure administrator has sufficient knowledge about each component that makes up the virtualization infrastructure. Even in the case where it does not have, it has been found that the abnormality of the virtualization infrastructure and components can be grasped, and the present invention has been achieved.
  • a graph is created for each time series assuming that the components constituting the virtualization platform are nodes and the correlation of the components is an edge.
  • a node that is a component of the graph has, as attributes, system resource information (CPU usage time, memory usage, I / O information, etc.) used by the component, or information derived from the system resource information.
  • the edge which is a component of the graph has communication resource information (traffic amount, number of packets, number of times of socket restart, etc.) transmitted / received between components, or information derived from communication resource information as an attribute.
  • a graph structure determined from attributes in a certain time interval is acquired, a time series change in the graph structure is monitored, and an abnormality in the graph structure is detected. Thereby, an abnormality of the virtualization infrastructure system is detected.
  • FIG. 1 is a diagram showing a schematic configuration of a virtualization-based monitoring system according to the present embodiment.
  • This virtualization infrastructure monitoring system includes a virtualization infrastructure analysis system 1 configured on a physical computer and a plurality of virtualization infrastructures 20-1 to 20 configured on a plurality of physical computers 10-1 to 10-n. -N.
  • each of the virtualization infrastructures 20-1 to 20-n shown in FIG. 1 is provided with each function constituting the virtualization infrastructure and each middleware component that cooperates with each function.
  • FIG. 1 shows the virtualization infrastructure analysis system 1 and the plurality of virtualization infrastructures 20-1 to 20-n configured on the plurality of physical computers 10-1 to 10-n.
  • the present invention is not limited to this, and the virtualization platform analysis system 1 and the plurality of virtualization platforms 20-1 to 20-n can be configured on the same physical computer, or on a single physical computer. It is also possible to configure the virtualization infrastructure analysis system 1 and configure a plurality of virtualization infrastructures 20-1 to 20-n on another single physical computer.
  • the system resource information collection unit 22 collects system resource information 21 used by each component at regular time intervals.
  • the system resource information to be used is, for example, user CPU usage time, system CPU usage time, memory usage, swap amount, page fault count, disk access count, disk write count, and the like.
  • information can be acquired by referring to a file in a proc file system (a file under / proc) or by executing a command.
  • the system resource information processing unit 23 performs statistical processing (calculation of a difference from a previously acquired value or a deviation from an average value, etc.) and standardization (such as percentage conversion) on the information acquired by the system resource information collecting unit 22. Normalization).
  • the communication resource information collection unit 25 collects communication resource information 24 used by each component at regular time intervals.
  • the communication resource information to be used is, for example, a protocol, a packet size, the number of packets, the number of sockets used, and the like. In Linux (registered trademark), information can be acquired by associating packet capture information with socket information used by each component.
  • the communication resource information processing unit 26 performs statistical processing (calculation of a difference from a previously acquired value or a deviation from an average value, etc.) and standardization (such as percentage conversion) on the information acquired by the communication resource information collecting unit 25. Normalization).
  • the transmission unit 27 transmits the processed system resource information and the processed communication resource information (hereinafter referred to as “resource information”) to the virtualization platform analysis system 1.
  • the receiving unit 2 receives the resource information transmitted from the transmitting units 27 of the plurality of physical computers 10-1 to 10-n and stores it in the resource information storing unit 3.
  • the graph generation unit 4 Based on the resource information in the resource information storage unit 3, the graph generation unit 4 generates a graph with the component “node” and the component correlation “edge”, and stores it in the graph storage unit 5.
  • the node and the edge have a conversion value calculated from the resource information and the resource information.
  • the graph analysis unit 6 compares the current time graph generated by the graph generation unit 4 with the past graph stored in the graph storage unit 5 and verifies the time-series fluctuation of the graph structure. If the time-series fluctuation of the graph structure is different from normal, it is determined that a failure has occurred in the virtualization infrastructure.
  • the graph display unit 7 provides an interface for displaying a graph to a virtualization infrastructure administrator.
  • the analysis result transmission unit 8 transmits the graph analysis result to the external monitoring system.
  • FIG. 2 is a diagram illustrating an example of a graph created by the graph generation unit 4.
  • FIG. 2 shows an example of a graph composed of components operating on two physical computers (host_1 and host_2).
  • a node uses a pair of a host name and a component name (or a process name that executes a component) as an identifier, and system resource information (for example, CPU usage time, memory usage, disk I / O amount, etc.) used by each component, Alternatively, the attribute has a value calculated based on system resource information.
  • An edge uses a pair of a transmitting node and a receiving node for communication as an identifier, and each edge has communication resource information (for example, traffic volume, number of packets, number of used sockets, etc.) or a value calculated based on communication resource information.
  • Has attribute The graph generation unit 4 generates a graph at regular time intervals, and stores the generated graph in the graph storage unit 5.
  • FIG. 3 is a diagram illustrating a state in which a graph is generated at times t0, t1, and t2, and the graph structure is changing every moment.
  • each component and the correlation between each component can hold data as a matrix.
  • node A has 20 attributes
  • an edge connected from node A to node B has 92 attributes.
  • node A has 18 attributes
  • an edge connected from node A to node B has 89 attributes.
  • Nodes and edges have a plurality of attribute values such as CPU usage time and memory usage.
  • the attribute value is simply represented by a single numerical value representing system resource information or communication resource information. However, the attribute value may be held as a vector value in each element, or from a plurality of attribute values. You may hold
  • anomaly detection is applied to the entire graph or a subgraph composed of nodes with strong correlation by extracting node correlation from time-series data.
  • a method can be considered.
  • anomaly detection in this embodiment is to detect which component of which host is an anomaly factor. Analyzing the sequence of nodes and applying anomaly detection as a network is a viewpoint of computational complexity. This is also undesirable.
  • analysis is performed with each node as a reference. That is, anomaly detection is applied based on edge data that connects a node, a node whose adjacent distance from the node is N or less, and a node whose adjacent distance is N or less.
  • An existing abnormality detection algorithm can be applied to the abnormality detection. For example, a graphing abnormality is detected by applying a clustering algorithm such as the K-neighbor method and detecting outliers.
  • FIG. 5 shows an example in which an abnormality is detected by clustering the time series graphs at times t0 to t9 in FIG.
  • an example is shown in which the closest distance is compared with a threshold value, and when it is larger than the threshold value, it is determined as an outlier.
  • FIG. 4 is based on the node C, according to FIG. 5, the abnormality of the node C at the time t0 is detected.
  • the abnormality detection algorithm to the node, the node having an adjacent distance of N or less from the node, and the edge connecting the node and the node having an adjacent distance of N or less, A component abnormality can be detected.
  • the present invention can be realized by a computer program that, when executed by one or more processors of a computer, causes the computer to operate as the monitoring system.
  • These computer programs can be stored in a computer-readable storage medium or distributed via a network.

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

物理計算機上に構成された複数のコンポーネントおよび各コンポーネント間の相関関係を監視する監視システムは、前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得し、前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成するグラフ生成手段と、特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出するグラフ解析手段と、を備えている。

Description

監視システム、コンピュータ可読記憶媒体および監視方法
 本発明は、物理計算機上に構成された複数のコンポーネントおよび各コンポーネント間の相関関係を監視する技術に関する。
 従来から、クラウドコンピューティングと呼ばれる技術が知られている。この技術は、物理計算機(物理マシンまたは物理サーバ)に仮想化技術を適用することで仮想化基盤(クラウド基盤)を構築し、この仮想化基盤上に仮想計算機(仮想マシンまたは仮想サーバ)を動作させる。そして、この仮想計算機上でアプリケーションを実行することでサービスを提供する。
 このようなクラウドコンピューティングでは、動的に仮想計算機を作成し、破棄し、移動することができるため、仮想計算機上で実行されるサービスの利用形態に応じて、コンピューティング、ストレージ、ネットワーク等のリソースを、仮想計算機に柔軟に割り当てすることができる。さらに、物理計算機の異常や障害の発生時には、物理計算機上で動作している仮想計算機を、別の健全な物理計算機に移動させることも容易であるため、高い可用性を担保できるという特徴もある。
 仮想化基盤は、種々の機能が連携することでクラウドコンピューティングサービスを実現する。例えば、仮想基盤操作へのアクセス権限を管理する認証機能、仮想計算機の作成、破棄を管理するコンピュート機能、仮想計算機の起動イメージを管理するイメージ管理機能、仮想計算機にストレージを提供するストレージ機能、仮想計算機にネットワークを提供するネットワーキング機能、仮想化基盤制御システムにおけるウェブインターフェースを提供するダッシュボード機能等である。さらに、このような各機能は、データベース、メッセージキュー、HTTPサービス、NTPサービス等を提供するミドルウェアと相互に連携し、動作する。
 図6は、仮想化基盤の構成の一例を示す図である。図6では、仮想計算機を実行する仮想化基盤を「コンピュートノード」、コンピュートノードをコントロールする仮想化基盤を「コントローラノード」とし、それぞれの機能やミドルウェアが連携する様子を示している。以下、仮想化基盤を構成する各機能と、各機能と連携する各ミドルウェアを総称して、「仮想化基盤の構成要素」、「コンポーネント」と呼ぶ。
 安定したクラウドコンピューティングサービスを提供するには、仮想化基盤には高い耐障害性が求められ、特に仮想化基盤の異常や障害を迅速に発見することは、クラウドコンピューティングサービスの品質を向上させる上で重要である。直接的な手段としては、仮想化基盤の異常や障害の発生時に、管理者が各コンポーネントのログを解析し、解析結果に応じて対策が講じられている。
 特許文献1および2には、各コンポーネントの異常や障害を検出する技術が開示されている。特許文献1に記載されている技術では、アプリケーションのログを監視し続け、所定のログメッセージの出現頻度が所定回数以上であった場合や、ログ更新が所定時間間隔以上行なわれなかった場合を障害としてみなしている。
 特許文献2に記載されている技術では、アプリケーションが自発的に発生させたコンテキストスイッチ回数とオペレーションシステムがアプリケーションを制御するために発生させたコンテキストスイッチ回数を監視し、これらコンテキストスイッチ回数の変化度合と、アプリケーションのプロセス状態を関連づけることで、アプリケーションの異常を検出する。
 特許文献3および非特許文献1には、仮想化基盤の異常や障害を検出する技術が開示されている。特許文献3に記載されている技術では、仮想化基盤のCPU使用率やメモリ使用率等の性能情報を収集し、クラスタリングアルゴリズムを用いて正常な状態との乖離を検出することで、仮想化基盤の異常を検出する。
 非特許文献1に記載されている技術では、仮想化基盤のオープンソース実装である「OpenStack」に焦点を当て、障害を意図的に挿入することで、予めバグや障害要因を特定する。
特許第4230946号明細書 特許第4562568号明細書 特開2015-070528号公報
Xiaoen Ju et al., On Fault Resilience of OpenStack, SOCC 2013, DOI:10.1145/2523616.2523622
 しかしながら、仮想化基盤の異常や障害の発生時に、管理者が各コンポーネントのログを解析し、解析結果に応じて対策を講じる手法では、各コンポーネントに対する十分な知見が求められる。このため、各コンポーネントが複雑に連携している状況下においては、一般的に、管理者が異常や障害の原因を早期に特定することは困難である。
 特許文献1に記載されている技術では、管理者が障害時にアプリケーションがどのようなログを出力するかを予め把握するか、アプリケーションが所定のログを出力するようにアプリケーションのソースコードを改修する必要がある。このように、特許文献1では、コンポーネントのログを解析することで障害の検出を試みるが、仮想化基盤の挙動に対して深い知見が要求される。また、例えば、仮想化基盤のバージョンアップ等ログの仕様が変更される度に監視システムの改修が必要となる。
 また、特許文献2に記載されている技術は、アプリケーションがCPUを使用し続ける無限ループや、アプリケーションが「I/O待ち」や「CPU待ち」で停止するといった単純な異常事象に対しては有効である。しかしながら、特許文献2に記載されている技術では、メモリリーク等のコンテキストスイッチが関与しない異常を検出できない。すなわち、検出できる障害が限定的である。
 また、特許文献3に記載されている技術では、物理計算機や仮想計算機の異常を検出することはできる。しかしながら、コンポーネントの異常や障害そのものを検出するわけではないため、根本原因となるコンポーネントを特定することができず、異常や障害の切り分け、対応には適用することができない。
 また、非特許文献1に記載されている技術では、ログ解析が必要とされるため、各コンポーネントについて深い知識が要求される。また、障害を挿入するという性質上、稼働中の仮想化基盤には適用できず、障害発生時に即座に障害を検出できない。
 このように、従来から種々の技術が提案されてきたが、仮想化基盤は複数のコンポーネントから構成されており、これらコンポーネントが複雑に連携していることから、依然として、異常や障害の早期検出、特定が容易ではない。
 本発明の一態様によると、物理計算機上に構成された複数のコンポーネントおよび各コンポーネント間の相関関係を監視する監視システムは、前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得し、前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成するグラフ生成手段と、特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出するグラフ解析手段と、を備えている。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
本実施形態に係る仮想化基盤の監視システムの概略構成を示す図である。 グラフ生成部が作成したグラフの一例を示す図である。 時刻t0、t1、t2にグラフが生成され、時々刻々とグラフ構造が変化している様子を示す図である。 特定のノードCとの隣接距離がN=1であるノードB、ノードD、ノードEと、それらを接続するエッジを表す図である。 時刻t0~t9の時系列グラフをクラスタリングし、異常を検出した例を示す。 仮想化基盤の構成の一例を示す図である。
 本発明者らは、仮想化基盤が複数のコンポーネントから構成されており、これらのコンポーネントが複雑に連携しているため、異常や障害の早期検出や特定が容易ではないことに着目し、仮想化基盤を構成するコンポーネントとコンポーネントの相関関係をグラフ化し、グラフ構造の時系列変化の異常を検出することによって、仮想化基盤の管理者が、仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合においても、仮想化基盤やコンポーネントの異常を把握できることを見出し、本発明に至った。
 本実施形態では、仮想化基盤を構成するコンポーネントをノード、コンポーネントの相関をエッジと見立てたグラフを時系列毎に作成する。グラフの構成要素であるノードは、コンポーネントの使用するシステム資源情報(CPU使用時間、メモリ使用量、I/O情報等)、またはシステム資源情報から導出される情報を属性として有する。グラフの構成要素であるエッジは、コンポーネント間で送受信される通信資源情報(トラフィック量、パケット数、ソケットの再起動回数等)、または通信資源情報から導出される情報を属性として有する。そして、ある時間区間における属性から定まるグラフ構造を取得し、グラフ構造の時系列変化を監視し、グラフ構造の異常を検出する。これにより、仮想化基盤システムの異常を検出する。
 図1は、本実施形態に係る仮想化基盤の監視システムの概略構成を示す図である。この仮想化基盤の監視システムは、物理計算機上に構成された仮想化基盤解析システム1と、複数の物理計算機10-1~10-n上に構成された複数の仮想化基盤20-1~20-nから構成されている。前提として、図1に示す各仮想化基盤20-1~20-nにおいて、仮想化基盤を構成する各機能および各機能と連携する各ミドルウェアとしてのコンポーネントが設けられているが、ここでは図示していない。また、図1では、仮想化基盤解析システム1と、複数の物理計算機10-1~10-n上に構成された複数の仮想化基盤20-1~20-nを示したが、本発明は、これに限定されるわけではなく、同一の物理計算機上に仮想化基盤解析システム1および複数の仮想化基盤20-1~20-nを構成することもできるし、単一の物理計算機上に仮想化基盤解析システム1を構成し、他の単一の物理計算機上に複数の仮想化基盤20-1~20-nを構成することも可能である。
 図1に示す各仮想化基盤20-1~20-nにおいて、システム資源情報収集部22は、各コンポーネントが使用するシステム資源情報21を一定時間間隔で収集する。ここで、使用するシステム資源情報とは、例えば、ユーザCPU使用時間、システムCPU使用時間、メモリ使用量、スワップ量、ページフォールト数、ディスクアクセス数、ディスク書き込み数等である。Linux(登録商標)では、procファイルシステム(/proc配下のファイル)のファイルの参照、あるいはコマンドを実行することで情報を取得可能である。システム資源情報加工部23は、システム資源情報収集部22が取得した情報に対して、統計的処理(前回取得した値との差分や平均値からの乖離の算出等)や規格化(パーセンテージ化や正規化等)をする。
 通信資源情報収集部25は、各コンポーネントが使用する通信資源情報24を一定時間間隔で収集する。使用する通信資源情報とは、例えば、プロトコル、パケットサイズ、パケット数、使用しているソケットの数等である。Linux(登録商標)では、パケットキャプチャ情報と、各コンポーネントが使用するソケット情報とを紐付けることで情報を取得可能である。通信資源情報加工部26は、通信資源情報収集部25が取得した情報に対して、統計的処理(前回取得した値との差分や平均値からの乖離の算出等)や規格化(パーセンテージ化や正規化等)をする。
 送信部27は、加工したシステム資源情報や加工した通信資源情報(以下、「資源情報」と呼称する。)を仮想化基盤解析システム1に送信する。
 一方、仮想化基盤解析システム1において、受信部2は、複数の物理計算機10-1~10-nの送信部27から送信された資源情報を受信し、資源情報保存部3に保存する。グラフ生成部4は、資源情報保存部3内の資源情報をもとに、コンポーネントを「ノード」、コンポーネントの相関を「エッジ」としたグラフを生成し、グラフ保存部5に保存する。ここで、ノードやエッジは、資源情報や資源情報から計算される変換値を有する。
 グラフ解析部6は、グラフ生成部4が生成した現時刻のグラフと、グラフ保存部5に保存された過去のグラフとを比較し、グラフ構造の時系列変動を検証する。グラフ構造の時系列変動が正常と異なれば、仮想化基盤に障害が発生したと判定する。グラフ表示部7は、仮想化基盤の管理者にグラフを表示するインターフェースを提供する。解析結果送信部8は、グラフ解析結果を外部監視システムに送信する。
 次に、本実施形態に係るグラフ生成部4について説明する。グラフ生成部4では、コンポーネントをノード、コンポーネントの相関をエッジとしたグラフを生成する。図2は、グラフ生成部4が作成したグラフの一例を示す図である。図2では、2つの物理計算機(ホスト_1とホスト_2)上で動作するコンポーネントから成るグラフの例を示している。ノードは、ホスト名とコンポーネント名(あるいはコンポーネントを実行するプロセス名)の組を識別子として、各コンポーネントが使用するシステム資源情報(例えば、CPU使用時間、メモリ使用量、ディスクI/O量等)、またはシステム資源情報を元に計算される値を属性に持つ。エッジは、通信をする送信ノードと受信ノードの組を識別子として、各エッジは通信資源情報(例えば、トラフィック量、パケット数、使用ソケット数等)、または通信資源情報を元に計算される値を属性に持つ。グラフ生成部4は、一定の時間間隔でグラフを生成し、生成したグラフをグラフ保存部5に格納する。
 図3は、時刻t0、t1、t2にグラフが生成され、時々刻々とグラフ構造が変化している様子を示す図である。図3では、各コンポーネントと各コンポーネント間の相関は、マトリクスとしてデータを保持できる。図3の例では、時刻t2ではノードAは20の属性を持ち、ノードAからノードBに接続するエッジは92の属性を持つ。時刻t0ではノードAは18の属性を持ち、ノードAからノードBに接続するエッジは89の属性を持つ。ノードやエッジは、CPU使用時間やメモリ使用量等の複数の属性値を持つ。この例では、属性値を簡易的にシステム資源情報や通信資源情報を表す単一の数値で示したが、属性値を各要素に持つベクトル値として保持しても良いし、複数の属性値から計算される変換値として保持しても良い。
 次に、本実施形態に係るグラフ解析部6について説明する。グラフの解析については、一般的な手法として、時系列データからノードの相関関係を抽出することで、グラフ全体、あるいは相関性が強いノードで構成された部分グラフに対して、異常検知を適用する手法が考えられる。しかし、本実施形態では、パケットのヘッダを解析するためコンポーネント間の接続関係は明示的であり、さらに、あるコンポーネントが送信する通信が複数のコンポーネントを経由するケースは少ない。本実施形態における異常検知の目的は、どのホストのどのコンポーネントが異常要因となっているかを検出することにあり、ノードの連なりを解析し、ネットワークとしての異常検知を適用することは計算量の観点からも望ましくない。一方で、ノードやエッジ単体での異常検知を実施した場合、異常の根本原因の追求は容易となるものの、コンポーネント間の通信は0(通信は発生していない)が支配的なノード、エッジも多く、属性値の情報量が少ない場合には、特徴量の抽出が困難であり、異常検知の精度が課題となる。
 そこで、本実施形態では、各ノードを基準として解析を行なう。すなわち、ノードと、ノードからの隣接距離がN以下となるノードと、ノードと隣接距離がN以下となるノードとを接続するエッジのデータを基に異常検知を適用する。
 図4は、特定のノードCとの隣接距離がN=1であるノードB、ノードD、ノードEと、それらを接続するエッジを表す図である。すなわち、図4では、ノードCを基準として、ある一定時間内においてノードCに隣接関係にあるノード群(ノードB、ノードD、ノードE)と関連するエッジを異常検知対象としている。図4の紙面に対して右側のマトリクスにおいては斜線で塗りつぶした数値を対象としている。異常検知には、既存の異常検知アルゴリズムが適用できる。例えば、K近傍法等のクラスタリングアルゴリズムを適用し、外れ値を検知することで、グラフの異常を検出する。図5は、図4の時刻t0~t9の時系列グラフをクラスタリングし、異常を検出した例を示す。ここでは、各時系列グラフにおいて、最も近い距離と閾値とを比較し、閾値よりも大きい場合に外れ値と判定した例を示している。図4は、ノードCを基準としたものであるため、図5によると、時刻t0におけるノードCの異常が検出されている。このように、各ノードについて、ノードと、前記ノードからの隣接距離がN以下となるノードと、ノードと隣接距離がN以下となるノードを接続するエッジとに異常検知アルゴリズムを適用することで、コンポーネントの異常を検出できる。
 以上説明したように、本実施形態によれば、仮想化基盤の管理者が、仮想化基盤を構成する各コンポーネントに対して十分な知見を有していない場合であっても、仮想化基盤を構成するコンポーネントとその相関から、仮想化基盤やコンポーネントの異常を検出することが可能となる。
 本発明は、コンピュータの1つ以上のプロセッサで実行されると、当該コンピュータを上記監視システムとして動作させるコンピュータプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能である。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
 本願は、2017年3月22日提出の日本国特許出願特願2017-055882を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。

Claims (5)

  1.  物理計算機上に構成された複数のコンポーネントおよび各コンポーネント間の相関関係を監視する監視システムであって、
     前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得し、前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成するグラフ生成手段と、
     特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出するグラフ解析手段と、
    を備える監視システム。
  2.  前記グラフ生成手段および前記グラフ解析手段は、物理計算機の仮想化基板解析システム上に構成され、
     前記各コンポーネントは、物理計算機の仮想化基盤上に構成される、請求項1記載の監視システム。
  3.  一定の時間間隔で生成された前記グラフ、並びに前記各ノードの属性を示す情報および前記エッジを示す情報を含むマトリクスを保存するグラフ保存手段をさらに備える、請求項1または請求項2記載の監視システム。
  4.  物理計算機上に構成された複数のコンポーネントおよび各コンポーネント間の相関関係を監視するためのコンピュータプログラムを格納するコンピュータ可読記憶媒体であって、
     前記コンピュータプログラムは、コンピュータの1つ以上のプロセッサで実行されると、前記コンピュータに、
     前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得することと、
     前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成することと、
     特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出することと、
    を実行させる、コンピュータ可読記憶媒体。
  5.  物理計算機上に構成された複数のコンポーネントおよび各コンポーネント間の相関関係を監視する監視方法であって、
     前記各コンポーネントのシステム資源情報および前記各コンポーネント間の通信資源情報を取得することと、
     前記各コンポーネントのシステム資源情報に基づく値および前記各コンポーネント間の通信資源情報に基づく値を用い、一定の時間間隔で、前記各コンポーネントをノードとし、前記各コンポーネント間の相関関係をエッジとしたグラフを作成することと、
     特定のノードおよび前記特定のノードからの距離が所定値以下である他のノード並びに前記特定のノードと前記他のノードとを接続するエッジに対して異常検知アルゴリズムを適用し、前記グラフの時系列的な変化を検出することと、
    を少なくとも含む、監視方法。
PCT/JP2018/008031 2017-03-22 2018-03-02 監視システム、コンピュータ可読記憶媒体および監視方法 WO2018173698A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-055882 2017-03-22
JP2017055882A JP6775452B2 (ja) 2017-03-22 2017-03-22 監視システム、プログラムおよび監視方法

Publications (1)

Publication Number Publication Date
WO2018173698A1 true WO2018173698A1 (ja) 2018-09-27

Family

ID=63585321

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/008031 WO2018173698A1 (ja) 2017-03-22 2018-03-02 監視システム、コンピュータ可読記憶媒体および監視方法

Country Status (2)

Country Link
JP (1) JP6775452B2 (ja)
WO (1) WO2018173698A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021157339A (ja) 2020-03-25 2021-10-07 富士通株式会社 情報処理方法、及び情報処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012089015A (ja) * 2010-10-21 2012-05-10 Hitachi Ltd 分散情報処理システム、分散情報処理方法及びデータ転送装置
JP2013545174A (ja) * 2010-10-15 2013-12-19 アティヴィオ, インコーポレイテッド メッセージのグループの順序化された処理
WO2017002222A1 (ja) * 2015-07-01 2017-01-05 株式会社日立製作所 システムデプロイ装置およびシステムデプロイ方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013545174A (ja) * 2010-10-15 2013-12-19 アティヴィオ, インコーポレイテッド メッセージのグループの順序化された処理
JP2012089015A (ja) * 2010-10-21 2012-05-10 Hitachi Ltd 分散情報処理システム、分散情報処理方法及びデータ転送装置
WO2017002222A1 (ja) * 2015-07-01 2017-01-05 株式会社日立製作所 システムデプロイ装置およびシステムデプロイ方法

Also Published As

Publication number Publication date
JP6775452B2 (ja) 2020-10-28
JP2018160020A (ja) 2018-10-11

Similar Documents

Publication Publication Date Title
US10462027B2 (en) Cloud network stability
CN108039964B (zh) 基于网络功能虚拟化的故障处理方法及装置、系统
US10158541B2 (en) Group server performance correction via actions to server subset
US11159599B2 (en) Method and system for real-time modeling of communication, virtualization and transaction execution related topological aspects of monitored software applications and hardware entities
US11093664B2 (en) Method and apparatus for converged analysis of application, virtualization, and cloud infrastructure resources using graph theory and statistical classification
US9167028B1 (en) Monitoring distributed web application transactions
US9836952B2 (en) Alarm causality templates for network function virtualization
US11140029B1 (en) Server side filtering in hybrid cloud environments
US10489232B1 (en) Data center diagnostic information
Vallee et al. A framework for proactive fault tolerance
EP3338191B1 (en) Diagnostic framework in computing systems
JP6742327B2 (ja) アラーム情報を処理する方法、関連デバイス、およびシステム
US10452469B2 (en) Server performance correction using remote server actions
EP3692443B1 (en) Application regression detection in computing systems
US20110099273A1 (en) Monitoring apparatus, monitoring method, and a computer-readable recording medium storing a monitoring program
CN109245966A (zh) 云平台的服务状态的监控方法和装置
US11997124B2 (en) Out-of-band management security analysis and monitoring
US20140189103A1 (en) System for monitoring servers and method thereof
US8554908B2 (en) Device, method, and storage medium for detecting multiplexed relation of applications
US8489721B1 (en) Method and apparatus for providing high availabilty to service groups within a datacenter
CN112235300B (zh) 云虚拟网络漏洞检测方法、系统、装置及电子设备
KR102343501B1 (ko) 머신 러닝 기반의 클라우드 서비스 보안 시스템
WO2018173698A1 (ja) 監視システム、コンピュータ可読記憶媒体および監視方法
US10817400B2 (en) Management apparatus and management method
WO2015019488A1 (ja) 管理システム及びその管理システムによるイベント解析方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18771731

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18771731

Country of ref document: EP

Kind code of ref document: A1