JP7106979B2 - 情報処理装置、情報処理プログラム及び情報処理方法 - Google Patents

情報処理装置、情報処理プログラム及び情報処理方法 Download PDF

Info

Publication number
JP7106979B2
JP7106979B2 JP2018094679A JP2018094679A JP7106979B2 JP 7106979 B2 JP7106979 B2 JP 7106979B2 JP 2018094679 A JP2018094679 A JP 2018094679A JP 2018094679 A JP2018094679 A JP 2018094679A JP 7106979 B2 JP7106979 B2 JP 7106979B2
Authority
JP
Japan
Prior art keywords
performance
information
unit
groups
performance information
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2018094679A
Other languages
English (en)
Other versions
JP2019200596A (ja
Inventor
昌生 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018094679A priority Critical patent/JP7106979B2/ja
Priority to US16/400,080 priority patent/US20190354460A1/en
Publication of JP2019200596A publication Critical patent/JP2019200596A/ja
Application granted granted Critical
Publication of JP7106979B2 publication Critical patent/JP7106979B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Description

本発明は、情報処理装置、情報処理プログラム及び情報処理方法に関する。
近年、インターネットなどのコンピュータネットワークを介して、計算機リソース及び計算機リソース上で動作するサービスを提供するクラウドコンピューティングと呼ばれるサービスの提供形態が普及している。クラウドコンピューティングでは、物理サーバの仮想化による高集約化に伴い、障害発生時には複数の利用者に影響が及ぶ。そのため、クラウドコンピューティングにおけるサービスの提供者は、利用者に対して迅速に障害連絡を行うことが求められる。
このようなクラウドコンピューティンを実現する環境、すなわち、クラウド環境では、仮想計算機(VM:Virtual Machine)の性能異常が、同じ物理環境を共有する他の仮想計算機からの干渉を要因とする場合がある。ここでの性能とは、例えば、ハードウェア性能であれば、メモリやネットワークのアクセスレイテンシやバンド幅、CPU(Central Processing Unit)の時間当たりの演算処理性能やIO(Input Output)の時間当たりのIO回数などである。また、アプリケーソン性能としては、ここでの性能には、Webサーバのレスポンス性能やDB(Data Base)のトランザクション処理性能であるスループットなどが含まれる。
クラウド環境における他の仮想計算機からの影響を要因とする障害の場合、他の仮想計算機からの影響を常に受けるわけではないため、その障害の問題発生が断続的且つ再現が困難であることが多い。このようなことから、クラウド環境で性能異常が発生した場合、その場で迅速に要因調査を遂行することが好ましい。そのため、クラウド環境では、即時性のある性能異常検知を行うことが重要となる。
ここで、異常検出の技術として、計算機の性能情報の中から予め決められた優先度や閾値にしたがって性能情報を収集し、収集した性能情報を基に計算機の監視を行う従来技術がある。また、モデルを作成する際に、作成の対象モデルと蓄積された参照モデルとを代表指数を基に比較して類似する構造を有する参照モデルを特定し、特定した参照モデルの部分構造を用いて対象モデルを作成する従来技術がある。
特開2008-108120号公報 特開2009-266158号公報
しかしながら、クラウド環境では常時監視に使用する性能指標が数百から数千にのぼるため、データの加工や分析処理に時間が掛かり、異常判定を行う時間間隔が粗くなることが多い。例えば、従来の実運用上では、クラウド環境における異常判定の時間粒度は1時間単位などと設定されることが多い。このように、クラウド環境における従来の障害検知の方法では、即時性を有する異常検知を行いシステムの信頼性を向上させることは困難である。
また、従来の監視対象の性能指標の絞り込みでは、管理者の経験や知見に基づき性能指標が絞り込まれてきた。しかし、管理者による絞り込みでは各性能指標の関連性や重要性の把握が不十分であり、絞り込みを行った後にも未だ多くの性能指標が残ってしまう場合がある。そのため、異常検知にはやはり時間が掛かってしまい、即時性を有する異常検知を行いシステムの信頼性を向上させることは困難である。
また、計算機の性能情報の中から予め決められた優先度や閾値にしたがって性能情報を収集する技術では、優先度又は閾値の効果定な決定方法が提示されていない。そのため、この従来技術でも従来の絞り込みが行われると考えられ、即時性を有する異常検知を行いシステムの信頼性を向上させることは困難である。さらに、代表指数を基に類似する構造を有する参照モデルを特定して対象モデルの作成に活用する従来技術では、性能指標についての考慮はなされていない。そのため、この技術を性能指標の絞り込みに用いることは容易ではなく、即時性を有する異常検知を行いシステムの信頼性を向上させることは困難である。
開示の技術は、上記に鑑みてなされたものであって、システムの信頼性を向上させる情報処理装置、情報処理プログラム及び情報処理方法を提供することを目的とする。
本願の開示する情報処理装置、情報処理プログラム及び情報処理方法の一つの態様において、収集部は、計算機の稼働状態を表す性能情報を収集する。特徴量生成部は、収集部により収集された各前記性能情報の計測処理にあたる性能イベントの発生回数を取得して、前記発生回数を各前記性能イベントの特徴量とする。グルーピング部は、前記特徴量生成部により得られた前記特徴量を基に、各前記性能イベントをグループ分けする。抽出部は、前記グルーピングにより生成された前記グループ毎に、各前記グループに含まれる前記性能イベントに対応する前記性能情報の中から異常検知の基準とする基準情報を抽出する。通知部15は、前記抽出部が抽出した前記グループ毎の前記基準情報を前記計算機)へ通知し、前記基準情報を用いて前記計算機に異常検知を行わせる。
1つの側面では、本発明は、システムの信頼性を向上させることができる。
図1は、情報処理システムの概略構成図である。 図2は、異常検知管理装置のブロック図である。 図3は、性能指標のOSモード及びUSERモードを用いた特徴量の一例を表す図である。 図4は、グルーピングの一例を表す図である。 図5は、代表指標の決定手順の概要を表す図である。 図6は、実施例1に係る異常検知管理装置による代表指標決定処理のフローチャートである。 図7は、プロファイル採取の動作を説明するための図である。 図8は、VMホストにおいてプロファイリングにより取得される情報を表す図である。 図9は、関数を用いた場合の特徴量の一例を表す図である。 図10は、異常検知管理装置のハードウェア構成図である。
以下に、本願の開示する情報処理装置、情報処理プログラム及び情報処理方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理プログラム及び情報処理方法が限定されるものではない。
図1は、情報処理システムの概略構成図である。情報処理システム100は、異常検知管理装置1及び複数のVMホスト2を有する。各VM(Virtual Machine)ホスト2は、複数の物理CPU(Central Processing Unit)21を有する。そして、VMホスト2は、物理CPU21がプログラムを実行させることで実現される仮想環境22を有する。
物理CPU21は、VMホスト2の動作の監視として、異常検知管理装置1から指定された性能情報の監視を行う。そして、物理CPU21は、その性能情報の値が決められた閾値を超えた場合に、障害が発生したと判定する。そして、物理CPU21は、障害が発生した場合、アラートを上げて管理者に障害発生を通知する。以下では、障害が発生するか否かを判定する基準とする性能情報を指して、障害検知の「指標」と呼ぶ場合がある。
仮想環境22は、ハイパーバイザ221、仮想CPU222、VM223、OS(Operating System)224及びアプリケーション225を含む。
ハイパーバイザ221は、仮想環境22の統括的な管理を行う。ハイパーバイザ221は、仮想CPU222、VM223、OS224及びアプリケーション225を管理する。
仮想CPU222は、各VM223を動作させるための仮想的なプロセッサである。VMホスト2では、1つ股の複数の仮想CPU222により1つのVM223が動作する。
VM223は、仮想的な情報処理装置である。各OS224は、各VM223においてそれぞれ別個に動作する。OS224は、それぞれ同じ種類でもよいし異なる種類でもよい。アプリケーション225は、OS224上で動作する。1つ又は複数のアプリケーション225が、1つのOS224上で動作可能である。
異常検知管理装置1は、複数のVMホスト2とネットワークで接続される。異常検知管理装置1は、各VMホスト2において監視対象とする性能情報を決定して、各VMホスト2に決定した性能情報を用いた障害検知を行わせる。以下に、異常検知管理装置1の詳細について説明する。
図2は、異常検知管理装置のブロック図である。異常検知管理装置1は、図2に示すように、情報収集部11、特徴量生成部12、グルーピング部13、代表指標抽出部14及び通知部15を有する。以下では、1つのVMホスト2についての異常検知用指標の特定について説明するが、異常検知管理装置1は、複数のVMホスト2のそれぞれについて行ってもよい。また他にも、異常検知管理装置1は、1つのVMホスト2について決定した異常検知に用いる性能情報を他のVMホスト2に用いてもよい。
情報収集部11は、VMホスト2で取得された全ての性能情報を取得する。ここで、性能情報とは、処理を実行した際のハードウェア及びソフトウェアの動作状態を表す情報である。ハードウェアの性能情報としては、CPU21や図1に図示しないメモリ、並びに、ストレージ及びネットワークを含むIO(Input Output)デバイスの動作状態を表す情報が含まれる。また、ソフトウェアの性能情報としては、ハイパーバイザ221、仮想CPU222、VM223、OS224及びアプリケーション225の動作状態を表す情報が含まれる。例えば、物理CPU21の性能情報には、クロックサイクル数、実行命令回数及びキャッシュミス数などが含まれる。
性能情報は、物理CPU21が有する性能監視カウンタ(PMC:Performance Monitoring Counter)レジスタにより計測される。各性能情報の計測処理を、性能イベントと言う。PMCレジスタは、物理CPU21に搭載されたCPUコアのそれぞれに複数設けられる。そして、各PMCに対して、計測対象とする性能情報の種類や特権モードを設定することができる。ここで、特権モードとは、性能情報を取得する動作に与えられた権利範囲を表す情報である。特権モードには、例えば、OSモードとUSERモードが存在する。そして、VMホスト2は、各PMCに対して計測対象とする性能情報の種類や特権モードを設定するための設定用レジスタを有する。
性能情報の測定では、偶数のPMCを用いて、OSモードでの動作による性能情報及びUSERモードでの動作による性能情報を同時に取得することができる。例えば、性能情報が300種類あるとすると、各性能情報を発生させる動作についての監視を1秒毎に切り替えて、同時に2つのPMCを用いて1つの性能情報を1秒毎に切り替えて監視する場合、300秒で全ての性能情報の測定が完了する。
情報収集部11は、予め決められた期間内の性能情報を収集する。ここで、情報収集部11は、全ての性能情報の収集を複数回繰り返してもよい。そして、情報収集部11は、収集した性能情報を特徴量生成部12へ出力する。この情報収集部11が、「収集部」の一例にあたる。
特徴量生成部12は、VMホスト2における各性能情報の入力を情報収集部11から受ける。次に、特徴量生成部12は、取得した性能情報の数から各性能イベントの発生回数を取得する。本実施例では、特徴量生成部12は、各性能イベントについてのOSモードでの発生回数及びUSERモードでの発生回数の特徴量を取得する。ここで、性能イベントのOSモードでの発生回数及びUSERモードでの発生回数は、性能情報の発生傾向と言える。
この際、特徴量生成部12は、データが無い性能イベント、すなわち動いていない性能イベントは除去する。また、特徴量生成部12は、所定の時間内に同じイベントを複数回計測した場合には、その性能イベントを単位時間平均に換算する。また、特徴量生成部12は、分散値が多大きいデータは除去する。
例えば、特徴量生成部12は、図3に示すような情報を生成する。図3は、性能指標のOSモード及びUSERモードを用いた特徴量の一例を表す図である。図3の表101におけるCPU_CLK_UNHALTEDは、物理CPU21のクロック数を取得する性能イベントである。この性能イベントのUSERモードでの発生回数が2314299756回であり、OSモードでの発生回数が2121938552回である。
次に、特徴量生成部12は、取得した性能イベントの特徴量を正規化する。例えば、特徴量生成部12は、各性能イベントの特徴量の標準偏差が1になるようにスケーリングし、平均が0になるようにセンタリングして、各性能イベントの特徴量を補正する。他にも、特徴量に正負の符号がある場合、何れかの符号を逆にして符号を一方にまとめてもよい。そして、特徴量生成部12は、生成した各性能イベントの特徴量をグルーピング部13へ出力する。
グルーピング部13は、各性能イベントの特徴量の入力を特徴量生成部12から受ける。そして、グルーピング部13は、取得した特徴量について、混合正規分布モデルによるモデルベースクラスタリング手法を用いてクラスタリングして、グループを作成する。この場合、クラスタ数も統計根拠により自動で決定される。例えば、グルーピング部13は、k-means法などを用いてクラスタリングを行う。そして、グルーピング部13は、グループの分類の情報とともに各グループに含まれる性能イベントの情報を代表指標抽出部14へ出力する。
例えば、図4は、グルーピングの一例を表す図である。グルーピング部13は、CPU性能を表す性能情報の性能イベントごとに、OSモードでの発生回数を縦軸にとり、USERモードでの発生回数を横軸にとって2次元座標を生成する。次に、グルーピング部13は、その座標空間に各性能イベントの特徴量を表す点をプロットして、図4に示すグラフを生成する。そして、グルーピング部13は、モデルベースクラスタリングを行い、グループ111~114という4つのグループを生成する。グループ111は、三角形の点で表される性能イベントが属する。グループ112は、四角形の点で表される性能イベントが属する。グループ113は、丸の点で表される性能イベントが属する。グループ114は、バツの点で表される性能イベントが属する。
代表指標抽出部14は、グループの分類の情報とともに各グループに含まれる性能イベントの情報の入力をグルーピング部13から受ける。そして、代表指標抽出部14は、各グループに属する各性能イベントのもっともらしさの確率である尤度(likelihood)を求める。具体的には、代表指標抽出部14は、グルーピング部13によるモデルベースクラスタリング処理におけるEMアルゴリズムによって、各性能イベントの尤度を求めることができる。尤度が高いとは、グループの中心により近いと言い換えることもできる。
次に、代表指標抽出部14は、グループ毎に尤度が最も高い性能イベントを抽出し、抽出した性能イベントにより取得される性能情報をそのグループの代表指標とする。ここで代表指標とは、あるグループに含まれる全ての性能イベントで取得された性能情報で表されるVMホスト2の稼働状態の傾向を、まとめて表すことができる性能情報である。すなわち、あるグループの代表指標の傾向を把握することで、そのグループに属する性能イベントで取得される全ての性能情報の傾向を把握することができる。この代表指標が、「基準情報」の一例にあたる。
ここで、尤度が最も高い性能イベントに対応する性能情報を代表指標とする理由について説明する。尤度がより低い性能イベント、言い換えればuncertaintyがより高い性能イベントほど、クラスタ間の境界領域に位置するといえるため、尤度がより低い性能イベントほどグループの誤分類の可能性が高くなるからである。ここで、uncertainty=1-likelihoodである。
また、本実施例では、尤度が最も高い性能イベントを抽出したが、尤度が高ければ御分類の可能性は低く抑えることができるので、尤度が最高に近い性能イベントであれば、他の性能イベントに対応する性能情報を代表指標としてもよい。
その後、代表指標抽出部14は、グループの分類とともに各グループの代表指標を通知部15へ出力する。この代表指標抽出部14が、「抽出部」の一例にあたる。
例えば、図5は、代表指標の決定手順の概要を表す図である。ここでは、図4と同様にCPU性能を表す性能情報に関する代表指標の取得を例に説明する。まず、情報収集部11が、CPU性能を表す性能情報を取得する各性能イベントの発生回数を取得する。そして、グルーピング部13が性能情報の特徴量に対してクラスタリングを行い(ステップS1)、図4に示したグループ111~114を生成する。
そして、代表指標抽出部14は、各グループ111~114に関して代表指標を抽出する(ステップS2)。具体的には、代表指標抽出部14は、実行待ち命令数をグループ111の代表指標121として抽出する。また、代表指標抽出部14は、実行命令数をグループ112の代表指標122として抽出する。また、代表指標抽出部14は、デコーダ実行数をグループ113の代表指標123として抽出する。また、代表指標抽出部14は、L(Layer)2ミス数をグループ114の代表指標124として抽出する。
ここで、代表指標121~123は、物理CPU21の状態を直接表す命令系の性能情報である。これに対して、代表指標124のL2ミス数は、メモリ系の性能情報であり、直接的に物理CPU21の状態を表す情報ではない。ここで、管理者が過去の経験から代表指標を決定する場合、物理CPU21の状態を表す代表指標としてメモリ系の性能情報を用いることは困難である。このように、本実施例に係る異常検知管理装置1は、管理者が過去の経験から代表指標として抽出することが困難な性能情報を代表指標として選択することができ、より適切な性能情報を異常検出のための指標として設定することができる。
通知部15は、グループの分類とともに各グループの代表指標の通知を代表指標抽出部14から受ける。そして、通知部15は、グループの分類とともに各グループの代表指標の情報をVMホスト2に送信する。これにより、通知部15は、通知した代表指標を用いた障害検知をVMホスト2に行わせる。この通知部15が、「異常検知制御部」の一例にあたる。
次に、図6を参照して、本実施例に係る異常検知管理装置1による代表指標決定処理の流れについて説明する。図6は、実施例1に係る異常検知管理装置による代表指標決定処理のフローチャートである。
VMホスト2は、全ての性能情報を測定し異常検知管理装置1へ送信する(ステップS11)。
情報収集部11は、VMホスト2における全ての性能情報を収集する(ステップS12)。そして、情報収集部11は、収集した性能情報を特徴量生成部12へ出力する。
特徴量生成部12は、情報収集部11により収集されたVMホスト2の性能情報の入力を情報収集部11から受ける。そして、特徴量生成部12は、取得した性能情報をOSモード及びUSERモード毎にカウントして、各性能イベントのOSモードでの発生回数及び各性能イベントのUSERモードでの発生回数を取得する。次に、特徴量生成部12は、取得した各性能イベントのOSモードでの発生回数及び各性能イベントのUSERモードでの発生回数を正規化して特徴量を生成する(ステップS13)。その後、特徴量生成部12は、生成した各性能イベントの特徴量をグルーピング部13へ出力する。
グルーピング部13は、各性能イベントの特徴量の入力を特徴量生成部12から受ける。そして、グルーピング部13は、取得した各性能イベントの特徴量に対してモデルベースクラスタリング手法を用いてグループ分けする(ステップS14)。その後、グルーピング部13は、グループの分類の情報及び各グループに属する性能イベントの情報を代表指標抽出部14へ出力する。
代表指標抽出部14は、グループの分類の情報及び各グループに属する性能イベントの情報の入力をグルーピング部13から受ける。そして、代表指標抽出部14は、各グループにおいてそのグループに属する性能イベントのうち最も尤度が高い性能イベントを抽出し、その性能イベントに対応する性能情報を代表指標として抽出する(ステップS15)。その後、代表指標抽出部14は、抽出した各グループの代表指標の情報を通知部15へ出力する。
通知部15は、各グループの代表指標の情報の入力を代表指標抽出部14から受ける。そして、通知部15は、取得した各グループの代表指標の情報をVMホスト2へ通知する(ステップS16)。
VMホスト2は、各グループの代表指標の情報の通知を通知部15から受ける。そして、VMホスト2は、取得した代表指標を用いて異常検知を実行する(ステップS17)。具体的には、VMホスト2は、代表指標とされた性能情報を計測し、計測結果が予め決められた閾値を超える場合に障害の発生を管理者に報知する。
以上に説明したように、本実施例に係る異常検知管理装置は、VMホストで計測された性能情報毎に特徴量を生成し、その生成した特徴量をいくつかのグループに分け、そのグループにおける代表指標を決定する。さらに、本実施例に係る異常検知管理装置は、決定した代表指標を用いた異常検知をVMホストに行わせる。これにより、本実施例に係る異常検知管理装置は、管理者の経験などに依らずに、実動作状況の監視及び異常検知に適した指標を個数を絞って抽出することができ、各MVホストに即時性を有する異常検知を行わせることが可能になる。例えば、本実施例に係る異常検知管理装置を用いた場合、各VMホストは、秒単位や分単位での即時性を有する異常検知を行うことができる。
例えば、800種類の性能情報が存在する場合について、本実施例に係る異常検知管理装置と、全ての性能情報を計測して異常検出を行う従来技術とを比較する。この場合、本実施例に係る異常検知管理装置は、従来技術に比べて監視時間間隔を約30分の1にすることができ、監視時間間隔の細粒化が可能となる。また、本実施例に係る異常検知管理装置は、従来技術に比べて誤検出をおよそ約7分の1に抑えることができ、誤検出の低減が可能となる。また、本実施例に係る異常検知管理装置は、管理者が経験により代表指標を決定する場合に比べて初期学習の時間をおよそ約4分の1にすることができ、初期学習時間の短縮が可能となる。これにより、本実施例に係る異常検知管理装置は、大量の指標を用いた異常検知では検知困難なCPU負荷やメモリ枯渇といった瞬間異常の検知をVMホストに行わせることが可能となる。
また、本実施例に係る異常検知管理装置は、特定部分の状態を表現する指標としてその特定部分に関する性能情報だけではなく、対象とするシステム全体を表現できる性能情報を用いることができる。そのため、管理者の経験に基づくだけでなく、例えば未知の性能情報を含む場合であっても、その性能情報を異常検知に用いることが可能となる。
次に、実施例2について説明する。本実施例に係る異常検知管理装置は、特徴量の生成方法が実施例1と異なる。本実施例に係る異常検知管理装置も、図2のブロック図で表される。以下の説明では、実施例1と同様の各部の機能については説明を省略する。
VMホスト2は、プロファイル採取を行う。図7は、プロファイル採取の動作を説明するための図である。カーネル241は、OS224上で動作する。そして、プロファイル採取を行う機能は、カーネルレベルのモージュールドライバであるサンプリングドライバ242として実装される。
サンプリングドライバ242は、VMホスト2で動作するプログラムの動作情報を一定間隔で採取する。具体的には、PMC211が、レジスタのカウンタのオーバーフロー割り込みをサンプリングドライバ242に発行する。サンプリングドライバ242は、PMC211から発行されたオーバーフロー割り込みをトリガとして、その時動作するプログラムの識別情報を採取する。例えば、オーバーフロー割り込みが1ms毎に発生する場合、サンプリングドライバ242は、1ms周期で動作中のプログラムの識別情報を採取する。ここで、プログラムの識別情報としては、例えば、PID(Program Identifier)又は命令アドレスである。そして、サンプリングドライバ242は、取得した動作中のプログラムの識別情報を解析部250へ送信する。
解析部250は、プログラムの識別情報をサンプリングドライバ242から一定間隔で取得する。そして、解析部250は、プログラムの識別情報から、プログラム名及びその時使用された関数の情報を取得する。例えば、解析部250は、PIDからプログラム名を取得し、命令アドレスから関数名を取得する。
次に、解析部250は、所定期間において一定間隔で取得した、プログラム名及びその時使用された関数の情報から、各プログラムにおける各関数のCPU使用率を求める。この場合、CPU使用率が性能情報となる。
そして、解析部250は、図8に示すように、CPU使用率の多い順に、そのCPU使用率に対応するプログラム名、関数名及びサンプリング数を並べる。図8は、VMホストにおいてプロファイリングにより取得される情報を表す図である。例えば、解析部250は、今回のサンプリング数から前回の性能情報の取得時までのサンプリング数を減算することで、今回の所定期間におけるサンプリング数を求めることができる。このサンプリング数が、各性能情報を取得する性能イベントの発生回数にあたる。ただし、サンプリング数の算出方法は他の方法でもよく、例えば、解析部250が、所定期間の最初にカウンタを初期化してその所定期間におけるサンプリング数をカウントしてもよい。
ここで、本実施例では、CPU使用率を性能情報として取得する場合で説明したが、解析部250は、他の情報を取得することもできる。例えば、各プログラムがストレージへのアクセスを行う場合、解析部250は、サンプリングドライバ242から取得した情報を用いて、ストレージに対するスループットやレイテンシを求めることもできる。
そして、解析部250は、各性能指標とともに図4に示すようなその性能指標に対応するサンプリング数、プログラム名及び関数名を異常検知管理装置1の情報収集部11へ送信する。
情報収集部11は、各性能指標に対応するサンプリング数、プログラム名及び関数名をVMホスト2の解析部250から取得する。情報収集部11は、全ての性能情報が送られてくるまで取得した性能情報を蓄積する。その後、情報収集部11は、全ての性能情報について、各性能情報に対応する対応するサンプリング数、プログラム名及び関数名を特徴量生成部12へ出力する。
ここで、本実施例では、VMホスト2がプログラム名及び関数名に対応する性能情報の算出やサンプリング数の取得を行ったが、特徴量抽出部12が、サンプリング情報の解析を行ってもよい。
特徴量生成部12は、全ての性能情報について、各性能情報に対応する対応するサンプリング数、プログラム名及び関数名の入力を情報収集部11から受ける。次に、特徴量生成部12は、各性能情報において上位4位以内の関数名を取得する。ここで、取得する関数名はその性能情報に対する影響が大きい関数を選べればよく、例えば、特徴量生成部12は、各性能情報における上位90%を占める関数名を取得してもよい。
そして、特徴量生成部12は、各関数に対応するサンプリング数をその関数に対応する性能イベントの発生回数として取得する。そして、特徴量抽出部12は、各性能情報について、関数毎に発生回数を集計する。例えば、特徴量生成部12は、図9に示すような情報を生成する。図9は、関数を用いた場合の特徴量の一例を表す図である。図9は、各性能情報について、関数A~Dという関数名を有する関数のそれぞれの発生回数を表す。
そして、特徴量生成部12は、各性能情報についての関数毎の発生回数をそれぞれの性能情報を取得する性能イベントの特徴量とする。すなわち、この場合、特徴量生成部12は、関数の数の次元数を有する特徴量を生成する。例えば、図9に示される特徴量は、4次元の特徴量である。その後、特徴量抽出部12は、算出した特徴量を正規化し、正規化した特徴量をグルーピング部13へ出力する。
グルーピング部13は、特徴量の入力を特徴量抽出部12から受ける。そして、グルーピング部13は、各性能イベントの特徴量に対してモデルクラスタリング手法を用いてグループを生成する。例えば、図9に示すような特徴量を有する場合、グルーピング部13は、関数A~Dとして表される4つの関数の発生回数を座標軸に持つ4次元座標空間を用いて、各性能イベントをグループ分けする。
その後、代表指標抽出部14は、グルーピング部13により生成されたグループ毎に、各グループに属する性能イベントの中から尤度が最も高い性能イベントにより取得される性能情報を代表指標として抽出する。そして、通知部15は、代表指標抽出部14により抽出された代表指標をVMホスト2に通知して、その代表指標を用いた異常検知をVMホスト2に行わせる。
以上に説明したように、本実施例に係る異常検知管理装置は、各性能イベントを行った関数毎の性能イベントの発生回数を特徴量としてグループ分けを行い、グループ毎に代表指標を決定してVMホストに性能検知を行わせる。このように、OSモードとUSERモードとを用いた特徴量以外にも、関数毎の性能イベントの発生回数を用いても代表指数を決定することが可能である。そして、この場合にも、代表指数はそれが属するグループに含まれる性能イベントの傾向を適切に表すことができ、少ない性能情報の監視で適切な異常検知を行うことができる。
さらに、以上の説明では、2次元以上の次元数を有する特徴量を使用したが、1次元の特徴量を用いてもよい。その場合、性能情報のそのままの値を特徴量として用いることもできる。
(ハードウェア構成)
次に、図10を参照して、異常検知管理装置1のハードウェア構成について説明する。図10は、異常検知管理装置のハードウェア構成図である。異常検知管理装置10は、CPU91、主記憶装置92、外部記憶装置93、出力インタフェース94、入力インタフェース95及び通信インタフェース96を有する。
CPU91は、主記憶装置92、外部記憶装置93、出力インタフェース94、入力インタフェース95及び通信インタフェース96とバスで接続される。CPU91は、主記憶装置92、外部記憶装置93、出力インタフェース94、入力インタフェース95及び通信インタフェース96とバスを介して通信を行う。
通信インタフェース96は、VMホスト2を含む外部装置との通信のためのインタフェースである。CPU91は、通信インタフェース96を介してVMホスト2と通信を行う。
出力インタフェース94は、ディスプレイなどの出力装置が接続される。また、入力インタフェース95は、マウスやキーボードといった入力装置が接続される。ただし、出力インタフェース94及び入力インタフェース95には通常は入力装置や出力装置は接続されず、異常検知管理装置1に対する入出力は通信インタフェース96を介して外部の装置との間で行われる。
外部記憶装置93は、ハードディスクやSSD(Solid State Drive)などの補助記憶装置である。外部記憶装置93は、図2に例示した情報収集部11、特徴量生成部12、グルーピング部13、代表指標抽出部14及び通知部15の機能を実現するためのプログラムを含む各種プログラムを格納する。
主記憶装置92は、DRAMなどのメモリである。CPU91は、図2に例示した情報収集部11、特徴量生成部12、グルーピング部13、代表指標抽出部14及び通知部15の機能を実現するためのプログラムを含む各種プログラムを外部記憶装置93から読み出して主記憶装置92に展開して実行する。これにより、CPU91は、図2に例示した情報収集部11、特徴量生成部12、グルーピング部13、代表指標抽出部14及び通知部15の機能を実現する。
1 異常検知管理装置
2 VMホスト
11 情報収集部
12 特徴量生成部
13 グルーピング部
14 代表指標抽出部
15 通知部
21 CPU
22 仮想環境
100 情報処理システム
221 ハイパーバイザ
222 仮想CPU
223 VM
224 OS
225 アプリケーション

Claims (7)

  1. 計算機の稼働状態を表す性能情報を収集する収集部と、
    収集部により収集された各前記性能情報の計測処理にあたる性能イベントの発生回数を取得して、前記発生回数を各前記性能イベントの特徴量とする特徴量生成部と、
    前記特徴量生成部により得られた前記特徴量を基に、各前記性能イベントをグループ分けするグルーピング部と、
    前記グルーピング部により生成された前記グループ毎に、各前記グループに含まれる前記性能イベントに対応する前記性能情報の中から異常検知の基準とする基準情報を抽出する抽出部と、
    前記抽出部が抽出した前記グループ毎の前記基準情報を前記計算機へ通知し、前記基準情報を用いて前記計算機に異常検知を行わせる異常検知制御部と
    を備えたことを特徴とする情報処理装置。
  2. 前記特徴量生成部は、各前記性能情報を取得する動作に与えられた権利範囲を基に、前記特徴量を生成することを特徴とする請求項1に記載の情報処理装置。
  3. 前記特徴量生成部は、各前記性能情報を取得する動作を実行する際に使用された関数を基に、前記特徴量を生成することを特徴とする請求項1に記載の情報処理装置。
  4. 前記グルーピング部は、特徴量をクラスタリングすることでグループ分けを行うことを特徴とする請求項1~3のいずれか一つに記載の情報処理装置。
  5. 前記抽出部は、各前記性能情報が属するグループにおける各前記性能情報の尤度を基に前記基準情報を抽出することを特徴とする請求項1~4のいずれか一つに記載の情報処理装置。
  6. 計算機の稼働中の稼働状態を表す性能情報を収集し、
    収集した各前記性能情報の計測処理にあたる性能イベントの発生回数を取得して、前記発生回数を各前記性能イベントの特徴量とし、
    前記特徴量を基に、各前記性能イベントをグループ分けし、
    生成された前記グループ毎に、各前記グループに含まれる前記性能イベントに対応する前記性能情報の中から異常検知の基準とする基準情報を抽出し、
    抽出した前記グループ毎の前記基準情報を前記計算機へ通知し、前記基準情報を用いて前記計算機に異常検知を行わせる
    処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  7. 計算機の稼働中の性能を表す性能情報を収集し、
    収集した各前記性能情報の計測処理にあたる性能イベントの発生回数を取得して、前記発生回数を各前記性能イベントの特徴量とし、
    前記特徴量を基に、各前記性能イベントをグループ分けし、
    生成された前記グループ毎に、各前記グループに含まれる前記性能イベントに対応する前記性能情報の中から異常検知の基準とする基準情報を抽出し、
    抽出した前記グループ毎の前記基準情報を前記計算機へ通知し、前記基準情報を用いて前記計算機に異常検知を行わせる
    ことを特徴とする情報処理方法。
JP2018094679A 2018-05-16 2018-05-16 情報処理装置、情報処理プログラム及び情報処理方法 Active JP7106979B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018094679A JP7106979B2 (ja) 2018-05-16 2018-05-16 情報処理装置、情報処理プログラム及び情報処理方法
US16/400,080 US20190354460A1 (en) 2018-05-16 2019-05-01 Anomaly detection management apparatus and anomaly detection management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018094679A JP7106979B2 (ja) 2018-05-16 2018-05-16 情報処理装置、情報処理プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2019200596A JP2019200596A (ja) 2019-11-21
JP7106979B2 true JP7106979B2 (ja) 2022-07-27

Family

ID=68534498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018094679A Active JP7106979B2 (ja) 2018-05-16 2018-05-16 情報処理装置、情報処理プログラム及び情報処理方法

Country Status (2)

Country Link
US (1) US20190354460A1 (ja)
JP (1) JP7106979B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263342A (ja) 2002-03-07 2003-09-19 Telecommunication Advancement Organization Of Japan 情報処理装置の監視装置および監視方法並びにそのプログラム
JP2007207173A (ja) 2006-02-06 2007-08-16 Fujitsu Ltd 性能分析プログラム、性能分析方法、および性能分析装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263342A (ja) 2002-03-07 2003-09-19 Telecommunication Advancement Organization Of Japan 情報処理装置の監視装置および監視方法並びにそのプログラム
JP2007207173A (ja) 2006-02-06 2007-08-16 Fujitsu Ltd 性能分析プログラム、性能分析方法、および性能分析装置

Also Published As

Publication number Publication date
JP2019200596A (ja) 2019-11-21
US20190354460A1 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
Yadwadkar et al. Selecting the best vm across multiple public clouds: A data-driven performance modeling approach
US10691571B2 (en) Obtaining application performance data for different performance events via a unified channel
US9367421B2 (en) Systems, methods, and computer programs products providing relevant correlation of data source performance
US8862728B2 (en) Problem determination and diagnosis in shared dynamic clouds
EP3087503B1 (en) Cloud compute scheduling using a heuristic contention model
Zhai et al. {HaPPy}: Hyperthread-aware Power Profiling Dynamically
US10733009B2 (en) Information processing apparatus and information processing method
CN106293881B (zh) 一种基于非一致性i/o访问构架的性能监控器及其监控方法
US20060236067A1 (en) Retrieving event data for logical partitions
US20070234357A1 (en) Method, apparatus and system for processor frequency governers to comprehend virtualized platforms
WO2016134542A1 (zh) 虚拟机的迁移方法、装置及设备
US8286192B2 (en) Kernel subsystem for handling performance counters and events
Di et al. Exploring properties and correlations of fatal events in a large-scale hpc system
Martino et al. Logdiver: A tool for measuring resilience of extreme-scale systems and applications
US20160283272A1 (en) Shared resource access control method and apparatus
Fu et al. Performance issue diagnosis for online service systems
Xie et al. Metis: a profiling toolkit based on the virtualization of hardware performance counters
Chi et al. Be a good neighbour: Characterizing performance interference of virtual machines under xen virtualization environments
JP2014078160A (ja) 仮想リソースの組み合わせの決定を支援する装置及び方法
JP7106979B2 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
Verboven et al. Network aware scheduling for virtual machine workloads with interference models
Apte et al. Look Who's Talking: Discovering Dependencies between Virtual Machines Using {CPU} Utilization
Khandual Performance monitoring in linux kvm cloud environment
Gaj et al. Virtualization as a way to distribute PC-based functionalities
Lu et al. PowerTracer: Tracing requests in multi-tier services to diagnose energy inefficiency

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220627

R150 Certificate of patent or registration of utility model

Ref document number: 7106979

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150