JP2018045475A - 計算機システム及び計算機システムの管理方法 - Google Patents
計算機システム及び計算機システムの管理方法 Download PDFInfo
- Publication number
- JP2018045475A JP2018045475A JP2016180102A JP2016180102A JP2018045475A JP 2018045475 A JP2018045475 A JP 2018045475A JP 2016180102 A JP2016180102 A JP 2016180102A JP 2016180102 A JP2016180102 A JP 2016180102A JP 2018045475 A JP2018045475 A JP 2018045475A
- Authority
- JP
- Japan
- Prior art keywords
- application
- value
- update
- identifier
- performance
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】アプリケーションシステムの更新を考慮した適切な異常検出が可能な計算機システムを提供する。【解決手段】計算機システムは、監視システム100、アプリケーションデプロイシステム300を備える。デプロイ管理システム310は、アプリケーション220−1、220−2のソースコードのバージョンを管理し、ソースコードをコンパイルして電子計算機210−1、210−2にデプロイする。更新通知機能315は、デプロイする際に、監視装置150にアプリケーションをデプロイすることを通知する。電子計算機は、デプロイ管理システムがデプロイしたことを契機にアプリケーションの更新を反映させる為、ミドルウェアやプロセスを再起動させる。監視装置は、アプリケーションの更新を監視し、その更新を契機に、計測値に基づいて、アプリケーションの構成要素の計測値の変動を再学習し、アプリケーションの更新を考慮した障害判定を行う。【選択図】図1
Description
本明細書で開示される主題は、アプリケーションシステムの異常検出システムに関する。
近年、クラウドやサーバ仮想化の進展に伴い、アプリケーションの性能劣化やアプリケーションのバージョンアップデートに含まれるソースコードのバグによる障害等のサイレント障害の検出が求められている。このようなサイレント障害は、従来のサーバのCPU使用率やメモリ使用量やプロセスの生死確認、アプリケーションのシステムログの監視では検出されない。
上記問題を解決する為、特許文献1においては、運用管理装置が、システムを構成する被管理装置から複数種の性能種目毎の性能情報の計測値を取得し、取得した計測値の組合せに対する相関分析を行うことが開示されている。
しかし、例えばDevOps環境のようにアプリケーションの運用中にアプリケーションを頻繁に更新する環境では、アプリケーションの更新に伴って更新前と更新後でアプリケーションの処理が頻繁に変わる場合がある。特許文献1ではアプリケーションの更新を考慮していないため、障害検出装置がアプリケーション更新前に学習した情報に基づいて障害判定してしまい、アプリケーション更新後の適切な障害判定が行えないという課題がある。
アプリケーションが稼働する電子計算機に接続され電子計算機の性能値を監視する監視装置と、電子計算機に接続され電子計算機にアプリケーションをデプロイするデプロイ管理システムと、を有する計算機システムであって、監視装置は、電子計算機の複数種の性能値を取得し、複数種の性能値のうち2種の性能値の相関値を算出して基準値として記憶する。さらに、監視装置は、基準値の算出後、複数種の性能値を取得し、2種の性能値の相関値を算出して、基準値と比較することで、異常判定を行う。デプロイ管理システムは、電子計算機で稼働するアプリケーションに更新があるとその更新を監視装置に通知する。監視装置は、通知を受信すると、アプリケーション更新後の複数種の性能値を取得して複数種の性能値のうち2種の性能値の相関値を計算して新たな基準値として記憶し、新たな基準値の算出後、複数種の性能値を取得し、2種の性能値の相関値を算出して新たな基準値と比較することで、異常判定を行う。
本発明により、アプリケーションシステムの更新を考慮した適切な異常検出が可能となる。
以下、図面を参照して実施の形態を詳細に説明する。
本実施例においては、フローとは、データ通信のパケットヘッダに含まれる送信先MACアドレス、送信元MACアドレス、送信先IPアドレス、送信元IPアドレス、L4ポート番号、及び、仮想ネットワーク識別子(VLANタグなど)によって一意に定められる通信である。
なお、上記の代わりに、送信先IPアドレス、送信元IPアドレス、L4ポート番号、及び、仮想ネットワーク識別子(VLANタグなど)をフローと捉えても、送信先IPアドレス、送信元IPアドレス、及び、仮想ネットワーク識別子(VLANタグなど)をフローと置き換えてもよい。
図1は、本実施形態におけるデータセンタの物理構成例を示す図である。第1の実施形態のシステムは、監視システム100、実行環境200、アプリケーションデプロイシステム300、開発環境400、データ通信用ネットワーク500、および、管理通信用ネットワーク600を備える。本実施形態に示される装置や端末、計算機器はいずれも物理装置であっても、仮想マシン(Virtual Machine:VM)によって仮想的に実装されてもよい。
実行環境200は電子計算機210、および、通信装置230によって構成される。電子計算機210には、アプリケーション220、および、計測機能240が格納され、それぞれ実行される。電子計算機210は複数台あってよく、図1では例として電子計算機210-1、電子計算機210-2と、電子計算機210が2台ある場合を図示している。図1では電子計算機210-1にはアプリケーション220-1と計測機能240-1が、電子計算機210-2にはアプリケーション220-2と計測機能240−2が格納されている場合を図示している。
電子計算機210は、プロセッサ、通信装置、揮発性の記憶装置(DRAMなど)、及び、不揮発性の記憶装置(フラッシュメモリ、ハードディスクドライブなど)等を備える計算機を用いて実現可能である。すなわち、電子計算機210にデプロイされるアプリケーション220は、電子計算機210に備わる不揮発性の記憶装置に保持されたプログラムが、プロセッサによって揮発性の記憶装置において実行されることによって実現される。またこれらのプログラムは、あらかじめ不揮発性記憶装置に格納されていてもよいし、ネットワークを介してまたは可搬型記憶媒体を介して外部装置から導入されても良い。アプリケーション220は、アプリケーションシステムの一部であり、電子計算機210において動作するプロセスなどのデータ処理機能である。アプリケーション220は、例えば、Webサーバ、アプリケーションサーバ、データベースサーバなどの種類がある。
これらのアプリケーションは同一のアプリケーションシステム内の他のアプリケーションの構成要素とリクエストやレスポンスなどを相互に送ることで、エンドユーザからの処理要求に応答する。なお、アプリケーション220を以下では、アプリケーションの構成要素と呼ぶ。
計測機能240は、自身を格納する電子計算機210の状態を計測し、計測結果を監視装置150に送信する機能である。計測対象は、アプリケーション構成要素間の通信量、アプリケーション構成要素が消費するCPU使用率、メモリ使用率、および、ストレージへの書込み(I/O)などの電子計算機210の性能値である。計測機能は、LSI回路などのハードウェアとして提供されても、ソフトウェアプログラムとして実現されてもよい。
通信装置230は、電子計算機210間のリクエストやレスポンスを転送する装置で、例えば、ルータやネットワークスイッチなどである。通信装置には、計測機能240-3が含まれる。計測機能240-3は、電子計算機210-1に含まれる計測機能240-1や電子計算機210-2に含まれる計測機能240-2と同じである。
通信装置230は、電子計算機210間のリクエストやレスポンスを転送する装置で、例えば、ルータやネットワークスイッチなどである。通信装置には、計測機能240-3が含まれる。計測機能240-3は、電子計算機210-1に含まれる計測機能240-1や電子計算機210-2に含まれる計測機能240-2と同じである。
アプリケーションデプロイシステム300はデプロイ管理システム310、および、アプリリポジトリ320が含まれる。デプロイ管理システム310は、アプリケーションのソースコードを事前にスケジュールされたタイミング、または、リポジトリに格納されるアプリケーションのソースコードが更新されたタイミングで事前に規定されたタスクを実行する。
デプロイ管理システム310は、開発用端末410を認証するためのユーザ管理テーブル、デプロイの時間帯をスケジューリングするためのスケジュール管理テーブル、タスク管理するためのタスク管理テーブル、および、アプリケーションのソースコードのバージョンを管理する為のバージョン管理テーブルなどを保持する。デプロイ管理システム310は、事前に規定されたタスクとして、従来では、アプリリポジトリ320に格納されたソースコードの構文をチェックし、ソースコードをコンパイルして、電子計算機210にデプロイする機能を備える。これらの機能は公知である。これに加えて、本実施形態においては、更新通知機能315を備える。
更新通知機能315は、アプリケーションを電子計算機にデプロイする際に、監視装置150にデプロイすることを通知する機能である。更新通知機能315は、スケジュール管理テーブルなどに記載されたアプリケーションの更新の種別、および、タスク管理テーブルなどに記載されたアプリケーションのデプロイ先の電子計算機210の識別子、テナントの識別子などを通知する。電子計算機210の識別子とは、例えば、IPアドレスである。
開発環境400は、開発用端末410が含まれる。開発用端末410は、アプリケーション開発者がアプリケーションのソースコードを作成するための端末である。アプリケーション開発者は、開発用端末410から作成したソースコードをアプリリポジトリ320にアップロードする。
データ通信用ネットワーク500は、実行環境200の通信装置230からエンドユーザ(図示しない)に接続する通信ネットワークである。通信ネットワークである。データ通信用ネットワーク500には、アプリケーション220が行うデータ処理に関連する通信が流れる。
管理通信用ネットワーク600は、アプリケーションデプロイシステム300、開発環境400、実行環境200、および、監視システム100を繋ぐ通信用ネットワークである。
監視システム100は、管理用端末180と監視装置150を備える。管理用端末180は、監視装置150の分析結果を閲覧し、また、分析パラメータ等を入力するためのGUI、および、キーボードやタッチパネルなどの入力機能を備える。監視装置150は電子計算機220で動作するアプリケーション220を監視して、異常を検出し、管理用端末180に警報する装置である。
監視システム100は、プロセッサ、通信装置、揮発性の記憶装置(DRAMなど)、及び、不揮発性の記憶装置(フラッシュメモリ、ハードディスクドライブなど)等を備える計算機を用いて実現可能である。すなわち、監視装置150が備えるプログラム110,115,120は、監視装置100に備わる不揮発性の記憶装置に保持されたプログラムが、プロセッサによって揮発性の記憶装置において実行されることによって実現される。またこれらのプログラムは、あらかじめ不揮発性記憶装置に格納されていてもよいし、ネットワークを介してまたは可搬型記憶媒体を介して外部装置から導入されても良い。
監視装置150は挙動分析プログラム110、障害判定プログラム115、状態管理プログラム120、および、データ記憶部160を備える。挙動分析プログラム110は、アプリケーションの通常の状態を学習する処理を担う。障害判定プログラム115は、挙動分析プログラムが学習した通常の状態に基づいて、アプリケーションの異常を判定する。状態管理プログラム120は、アプリケーションの更新などの状態を監視し、複数の通常の状態を管理する。
データ記憶部160は計測結果テーブル5100、計測対象と構成要素マッピングテーブル5200、学習結果テーブル5300、更新履歴テーブル5400、および、アプリケーション状態テーブル5500を備える。以下、各テーブルに関して説明する。なお、各テーブルは複数のテーブルとして正規化されていてもよく、逆に、他のテーブルと結合されたテーブルであってもよい。また、テーブル形式は一例であって、本明細書及び図面においてテーブル形式で示す情報は、テーブル形式以外の他の方法によって管理されてよい。
図2は、計測結果テーブル5100を示す説明図である。計測結果テーブル5100は、後に説明するように通信装置230や電子計算機220から計測値が収集されたときに、監視装置150によって生成される。計測結果テーブル5100は、学習結果テーブル5300、および、アプリケーション状態テーブル5500を作成する際に参照される。
計測結果テーブル5100においては、例えば、計測対象識別子、種別、計測時刻、および、計測値が含まれる。計測対象識別子は、計測対象を一意に特定するための識別子である。ここで、計測対象は、アプリケーション構成要素間の通信量、アプリケーション構成要素が消費するCPU使用率、メモリ使用率、および、ストレージへの書込み(I/O)などの種別に分類される。
種別とは、計測対象識別子が属する種別を示す。例えば、前述の通り、アプリケーション構成要素間の通信量を示すApplication traffic amountやアプリケーション構成要素のCPU利用率を示すCPU utilization ratio、Memory utilization ratio、および、I/O utilization ratioなどである。計測時刻は計測値が収集された日付や時間を特定する為の情報である。計測値は収集された計測値である。計測対象識別子、種別、計測時刻、および、計測値の各値は、電子計算機210や通信装置230から通知される。なお、計測対象識別子は、通知された情報に基づいて監視装置150が算出しても良い。
図3は、計測対象と構成要素マッピングテーブル 5200を示す説明図である。計測対象と構成要素マッピングテーブル 5200は、電子計算機210や通信装置230から計測値を収集したとき、および、デプロイ管理システム310から通知を受けたときに、監視装置150によって生成される。計測対象と構成要素マッピングテーブル 5200は学習結果テーブル5300、および、アプリケーション状態テーブル5500を作成する際に参照される。
計測対象と構成要素マッピングテーブル 5200においては、例えば、アプリケーション構成要素識別子、計測対象特定用識別子、種別、および、計測対象識別子が含まれる。アプリケーション構成要素識別子は、アプリケーションの構成要素を一意に特定する為の識別子である。アプリケーション構成要素識別子は、複数のアプリケーションシステムやテナントが混在するクラウドコンピューティング向けのデータセンタ環境においては、全てのアプリケーション構成要素に跨って一意に特定される識別子である。
なお、アプリケーションの構成要素とは、各電子計算機210において動作するプロセスなどのデータ処理機能であり、例えば、Webサーバ、アプリケーションサーバ、データベースサーバなどの種類がある。これらのアプリケーションの構成要素は同一のアプリケーションシステム内の他のアプリケーションの構成要素とリクエストやレスポンスなどを相互に送ることで、エンドユーザからの処理要求に応答する。
計測対象特定用識別子は、アプリケーション構成要素識別子と計測対象識別子を紐付ける為のアプリケーション構成要素の識別子であり、例えば、IPアドレスである。なお、同一のIPアドレスが複数存在する仮想環境においては、IPアドレスとVLANタグ番号の組合せなどとしてもよい。
種別は、計測結果テーブル5100に含まれる種別と同じである。計測対象識別子は、計測結果テーブル5100に示す計測対象識別子と同じである。
図4は、学習結果テーブル5300を示す説明図である。学習結果テーブル5300は、シーケンス1090の学習において、監視装置150によって生成される。学習結果テーブル5300はアプリケーション状態テーブル5500を作成する際に参照される。
学習結果テーブル5300においては、計測対象識別子、状態、および、分析値が含まれる。計測対象識別子は、計測結果テーブル5100に示す計測対象識別子と同じである。状態は、計測対象識別子に関連するアプリケーション構成要素識別子の状態を示す。状態には、例えば、通常、通常(負荷増大時)、通常(日々更新時)、および、通常(月次更新時)などが含まれる。分析値は、計測対象識別子の各状態における分析結果の値を示す。分析結果の値とは、例えば、同じ状態下における相関係数の平均値やマハラノビス距離などである。
監視装置150はこの分析値を複数の状態毎に保持することで、様々な状態を考慮して通常の状態(分析値)と比較して障害を検出できる。
図5は、更新履歴テーブル5400を示す説明図である。更新履歴テーブル5400は、シーケンス1060の更新検出において、監視装置150によって生成される。更新履歴テーブル5400は学習結果テーブル5300、および、アプリケーション状態テーブル5500を作成する際に参照される。
更新履歴テーブル5400においては、アプリケーション構成要素識別子、更新時刻、状態、および、構成変更影響度が含まれる。アプリケーション構成要素識別子は、計測対象と構成要素マッピングテーブル5200に含まれるアプリケーション構成要素識別子と同じである。更新時刻は、計測結果テーブル5100に含まれる更新時刻と同じである。状態は、学習結果テーブル5300に含まれる状態と同じである。
構成変更影響度とは、アプリケーションの更新などが学習結果テーブル5300に示す分析値に与える影響の大きさを示す。図5では影響度の大きさを大、小の2段階しか示していないが、構成変更影響度は、分析値に与える影響度を更新履歴テーブル5400の状態の種類に対応させ3段階以上で表してもよい。
構成変更影響度を備えることによって、構成変更が発生した際に、どの分析値を再計算しなければならないのかを判断することが可能になる。
例えば、日々更新に比べて月次更新の方が、アプリケーションは大きく変更されている可能性が高い。そのため、月次更新の後には、それ以前に算出された日々更新時の分析値が参考にならなくなっている可能性が高い。そのため、月次更新の後に、それ以前に算出された日々更新時の情報から、月次更新に収集された計測値に基づいて日々更新の情報を再計算することが必要である。このような場合、月次更新の構成変更影響度の値を、日々更新の構成変更影響度の値よりも大きな値にすることによって、日々更新の値を再計算することが可能になる。
図6は、アプリケーション状態テーブル5500を示す説明図である。アプリケーション状態テーブル5500は、シーケンス3070の異常判定において、監視装置150によって生成される。アプリケーション状態テーブル5500は、シーケンス3080において、監視装置150が管理用端末180に通知する際に使用される。
アプリケーション状態テーブル5500においては、アプリケーション構成要素識別子、異常検出フラグ、状態、および、判定時刻が含まれる。アプリケーション構成要素識別子は、計測対象と構成要素マッピングテーブル5200に含まれるアプリケーション構成要素識別子と同じである。異常検出フラグは、アプリケーション構成要素が通常の挙動と異なるか否かを示すフラグである。
Stableの場合、通常の挙動であることを示し、Anomalyの場合、通常の挙動と異なることを示す。判定時刻は、異常判定を行った時刻である。
Stableの場合、通常の挙動であることを示し、Anomalyの場合、通常の挙動と異なることを示す。判定時刻は、異常判定を行った時刻である。
図7は、アプリケーションの更新が行われた際に、監視装置150が再学習する際の動作概要を例示するシーケンス図である。本処理によって、計測結果テーブル5100、計測対象と構成要素マッピングテーブル5200、更新履歴テーブル5400、学習結果テーブル5300が作成される。本処理は、監視システム100を導入後、定期的、および、開発端末410がソースコードをアップロードする度に実行される。以下に各処理手順を示す。
シーケンス1010において、電子計算機210−1〜n、または、通信装置230は計測機能240を用いて通信装置の性能値の計測を行う。計測する項目は、例えば、アプリケーション構成要素間の通信量を示すApplication traffic amount(本明細においては、通信量と呼ぶ)やアプリケーション構成要素の演算処理の利用率を示すCPU utilization ratio、アプリケーション構成要素のメモリ利用率を示すMemory utilization、および、アプリケーション構成要素の記憶媒体への入力と出力の利用率を示すI/O utilization ratioなどである。なお、本シーケンスは、他の処理シーケンスとは独立に繰り返し実行される。
計測方法は公知の技術が適用可能である。通信量の計測方法として,例えば、sFlowプロトコルによるパケットサンプリングやNetflowによるパケット収集が挙げられる。収集したパケットの送信元IPアドレスと送信先IPアドレス、および、L4ポート番号が同一であるパケット数をカウントし、平均パケット長をかけることによって、通信量が計測される。CPUやメモリ、I/O使用率に関しては、Topコマンドや既製品の計測用のエージェントを用いることで計測される。
シーケンス1020において、電子計算機210−1〜n、または、通信装置230が計測値を監視装置150に送信する。本シーケンスは、他の処理シーケンスとは独立に繰り返し実行される。通知される計測値には、計測対象識別子、種別、計測時刻、および、計測値が含まれる。監視装置150は、計測値を受信すると以下の2つの処理を行う。
1つ目は、計測結果テーブル5100への保存である。本シーケンスで受信した計測対象識別子、種別、計測時刻、および、計測値を、それぞれ、計測結果テーブル5100の計測対象識別子、計測時刻、および、計測値に保存する。
2つ目は、計測対象と構成要素マッピングテーブル5200への保存である。監視装置150は、計測対象と構成要素マッピングテーブル5200の計測対象識別子に、本シーケンスで受取った計測対象識別子が含まれるかを判定し、含まれていない場合、同テーブルに新規エントリを追加して以下を保存する。計測対象識別子、種別に、それぞれ本シーケンスで受取った計測対象識別子、種別を保存する。計測対象特定用識別子に、計測対象識別子に対応した識別子としてIPアドレスを保存する。本IPアドレスは、監視装置150が計測対象識別子とIPアドレスのマッピング情報として保持しても、また、本シーケンスにおいて電子計算機210から通知されてもよい。なお、種別がApplication traffic amountである場合、計測対象特定用識別子が2つ存在するため、2つエントリを登録する。理由は、通信は送信元と送信先のアプリケーション構成要素が存在する為、2つのIPアドレスが存在するためである。
アプリケーション構成要素識別子は、この段階では空白となっており、シーケンス1060の更新検出において登録される。
シーケンス1010とシーケンス1020は以下の処理とは独立に繰り返し実行される。シーケンス1030において、開発用端末410が、アプリケーションのソースコードをアプリリポジトリ320にアップロードする。
シーケンス1040において、デプロイ管理システム310はアプリリポジトリ320に格納されたアプリケーションのソースコードの構文チェック、コンパイルを行い、電子計算機210にデプロイする。本シーケンスが実行されるタイミングは、事前に規定されたスケジュール、または、アプリリポジトリ320に更新用のプログラムがデプロイされたタイミングにおいて実行される。
シーケンス1050において、デプロイ管理システム310が、アプリケーションの構成要素識別子、アプリケーションをデプロイする電子計算機210の識別子、および、更新の種別を監視装置150に通知する。
シーケンス1060において、監視装置150の状態管理プログラム120がアプリケーションの更新を検出する。
図12を用いて説明する。図7のシーケンス1060について図12は監視装置150の状態管理プログラム120がアプリケーションの更新を検出する際の動作概要である。本処理によって、更新履歴テーブル、および、計測対象と構成要素マッピングテーブルが作成される。
ステップ8510において、状態管理プログラム120が更新履歴テーブル5400、および、計測対象と構成要素マッピングテーブル5200に通知を受けた更新情報を保存する。 具体的には、状態管理プログラム120は、シーケンス1050において受信した、アプリケーションの構成要素識別子と更新の種別、および、同通知を受信した更新時刻を、それぞれ、更新履歴テーブル5400のアプリケーションの構成要素識別子、状態、および、更新時刻に保存する。また、状態管理プログラム120は、事前に人手で設定される更新の種別と構成変更影響度の対応表に基づいて、更新の種別に対応する構成変更影響度を、同エントリの構成変更影響度に保存する。
ステップ8520において、状態管理プログラム120は、計測対象と構成要素マッピングテーブル5200を参照し、計測対象特定用識別子が、シーケンス1050において受信した電子計算機の識別子と同じであるエントリのアプリケーション構成要素識別子に、シーケンス1050において受信したアプリケーション構成要素識別子を格納する。以上が図12の説明である。
図7の説明に戻る。シーケンス1070において、電子計算機210はアプリケーションの更新を反映させる為、ミドルウェアやプロセスを再起動させる。本シーケンスは1040において、デプロイ管理システム310がデプロイしたことを契機に実行される。
シーケンス1080とシーケンス1085は、シーケンス1010、および、シーケンス1020と同じである。但し、シーケンス1080における計測値には、シーケンス1070において、電子計算機210が更新に伴う再起動を行った影響が含まれている。具体的には、再起動する際にアプリケーションの構成要素が一時的に停止する為、データ処理が止まり、CPU利用率、メモリ使用率、I/O使用率の低下や、通信量の低下が生じる。
シーケンス1090において、監視装置150は計測値に基づいて、アプリケーションの構成要素の計測値の変動を学習する。本シーケンスは、シーケンス1060の更新検出を契機に実行される。本シーケンスは、シーケンス1060の直後ではなく、一定期間後に繰り返し実行される。理由は2つあり、1つは、更新に伴う再起動を学習する必要があるが、シーケンス1070の更新に伴う再起動の影響を、シーケンス1085の計測値の収集によって取得後に本シーケンスを実行しなければ、シーケンス1070の影響を学習できない為である。もう1つは、更新によって挙動が変わるアプリケーションの状態を学習しなければならないが、シーケンス1085の後でなければ、学習する為に必要な情報が収集されていない為である。シーケンス1090の処理内容を、図10を用いて説明する。
図10は、監視装置150の挙動分析プログラム110が、学習する際の動作概要である。本処理によって、学習結果テーブル5300が作成される。
ステップ8110において、挙動分析プログラム110が、管理用端末180から管理システム構築時に規定された時間だけ待機する。 事前に規定された時間とは、アプリケーションの更新が計測値に反映されるまでの時間である。具体的には,シーケンス1080とシーケンス1085が実行されるまでの間である。
ステップ8120において、挙動分析プログラム110が、更新履歴テーブル5400を参照し、アプリケーション毎、かつ、状態毎に相関値の計算に利用する時間帯を参照時刻として把握する。 具体的には、以下の処理を全てのアプリケーション構成要素識別子に対して行う。更新履歴テーブル5400のアプリケーション構成要素識別子が同一である全てのエントリの中から、更新時刻、状態、および、構成変更影響度を把握し、構成変更影響度が最も大きいエントリの全ての更新時刻のうち、最新の更新時刻を暫定参照時刻として把握し、構成変更影響度が、把握された構成変更影響度未満である全ての状態の参照時刻として保存する。
次に、同様にして、構成変更影響度が次に大きいエントリの全ての更新時刻のうち、最新の更新時刻を暫定参照時刻として把握し、構成変更影響度が、把握された構成変更影響度未満である全ての状態の参照時刻として更新する。本処理を全ての構成変更影響度に対して繰り返し実行する。構成変更影響度が最大の状態の参照時刻については、例えば一番古いエントリの時刻にしてもよいし、最新のエントリの時刻から予め定められた時間分過去の時刻としてもよい。これにより、更新履歴テーブル5400の状態ごとに参照時刻が決定される。
ステップ8130において、挙動分析プログラム110が、計測結果テーブル5100、更新履歴テーブル5400と計測対象と構成要素マッピングテーブル5200を結合する。 具体的には、計測対象テーブル5100と、計測対象と構成要素マッピングテーブル5200とを計測対象識別子をキーにして結合し、また、更新履歴テーブル5400と、計測対象と構成要素マッピングテーブル5200とをアプリケーション構成要素識別子をキーにして結合する。結合したテーブルを、更新履歴付き計測結果テーブルと呼ぶ。更新履歴付き計測結果テーブルは、計測対象識別子、計測時刻、計測値、アプリケーション構成要素識別子、計測対象特定用識別子、種別、更新時刻、状態、および、構成変更影響度を含む。
ステップ8140において、挙動分析プログラム110が、状態が同一である計測値を把握する。 具体的には、シーケンス1050において受信した全てのアプリケーション構成要素識別子、および、全ての状態に対して、以下の処理を行う。
挙動分析プログラム110が、ステップ8130において作成された更新履歴付き計測結果テーブルを参照し、アプリケーション構成要素識別子、および、状態が共に同一である全てのエントリ(第1エントリグループと呼ぶ)を把握する。次に、ステップ8120において決定した状態ごとの参照時刻のうち、第1エントリグループの状態と同一の状態について参照時刻を特定し、特定した参照時刻と第1エントリグループに含まれるエントリの計測時刻とを比較し、第1エントリグループに含まれるエントリのうち、エントリの計測時刻が特定された参照時刻よりも新しい全てのエントリ(第2エントリグループ)を把握する。これを全てのアプリケーション構成要素識別子と状態の組合せについて行う。つまり、アプリケーション構成要素識別子と状態の組合せの数だけ第1エントリグループと第2エントリグループが決定される。
ステップ8150において、挙動分析プログラム110が,分析値(相関値)を計算し、学習結果テーブル5300に保存する。具体的には、全ての計測対象識別子、および、全ての状態に対して、以下の処理を行う。複数の第2エントリグループの中から計測対象識別子がi,計測時刻がtであり、かつ状態がkである計測値fi(t),を把握する。同様に複数の第2エントリグループの中から計測対象識別子がj,計測時刻がtであり、かつ状態がkである計測値fj(t),を把握する
相関値を計算するために用いる期間(相関窓)を[tsij,tfij]とし、計測対象識別子iのサンプリングパケット数の合計値をfi(t)とする。計測対象識別子iと計測対象識別子jの相関係数の計算に、ピアソンの積率相関係数の式を適用すると、相関係数ri,jは図13の数式(1)によって算出される。これによって、期間[tsij,tfij]間の相関係数が算出される。
相関値を計算するために用いる期間(相関窓)を[tsij,tfij]とし、計測対象識別子iのサンプリングパケット数の合計値をfi(t)とする。計測対象識別子iと計測対象識別子jの相関係数の計算に、ピアソンの積率相関係数の式を適用すると、相関係数ri,jは図13の数式(1)によって算出される。これによって、期間[tsij,tfij]間の相関係数が算出される。
ここで、期間[tsij,tfij]は、ステップ8140において把握された計測対象識別子iと計測対象識別子jの情報が含まれ、状態がkである全ての時刻(即ち、tsijが計測対象識別子iと計測対象識別子jのうち、新しい方(現在時刻に近い)の参照時刻であり、tfijがステップ8140において把握された計測対象識別子iと計測対象識別子jの時刻のうち古い方(現在時刻から遠い)である。挙動分析プログラム110が、学習結果テーブル5300の計測対象識別子、状態、および、分析値に、計測対象識別子i,計測対象識別子j,状態k,および、相関係数ri,jを保存する。
数式(1)による相関係数の算出は一例にすぎず、異なる計算式によって算出されてもよい。以上が図10の説明である。
図8は、障害判定を行う動作概要を例示するシーケンス図である。本処理によって、アプリケーション状態テーブル5500が作成される。本処理は、監視システム100を導入後、常時、実行される。以下に各処理手順を示す。
シーケンス2010、および、シーケンス2020は、シーケンス1010、および、シーケンス1020と同様である。シーケンス2030において、監視装置150が異常判定を行う。本シーケンスの処理を、図11を用いて説明する。
図11は、監視装置150の障害判定プログラム115が、異常判定する際の動作概要である。本処理によって、アプリケーション状態テーブル5400が作成される。
ステップ8310において、障害判定プログラム115が計測結果テーブル5100を参照する。具体的には、障害判定プログラム115は、計測結果テーブル5100の計測時刻が、直近の規定された時間(例えば、1時間前から現在まで)tmに含まれる全てのエントリを把握する。なお、規定された時間は、監視システム150導入時に管理者によって指定される。
ステップ8320において,障害判定プログラム115が分析値を計算する。具体的には,全ての計測対象識別子に対して、以下の処理を行う。ステップ8310において障害判定プログラム115が把握した全てエントリから、2つの計測対象識別子(計測対象識別子i、計測対象識別子j)、および,1つの状態(状態k)を選択する。同エントリの中から計測対象識別子がi,計測時刻がtであり,かつ状態がkである計測値fi(t),を把握する。
相関値を計算するために用いる期間(相関窓)を[tp-tm,tp]とし、計測対象識別子iの計測値をfi(t)とする。同様に計測対象識別子jの計測値をfj(t)とする。ここで,tpは現在時刻である。計測対象識別子iと計測対象識別子jの相関係数の計算に、ピアソンの積率相関係数の式を適用すると、相関係数r’i,jは図13の数式(2)によって算出される。数式(2)による相関係数の算出は一例にすぎず、異なる計算式によって算出されてもよい。
ステップ8330において、障害判定プログラム115が更新履歴テーブル5400と、計測対象と構成要素マッピングテーブル5200を、アプリケーション構成要素識別子をキーにして結合し、計測対象識別子、時刻、状態、および,構成変更影響度を全て把握する。
ステップ8340において,障害判定プログラム115が,学習結果テーブル5300を参照し、状態が同じ条件下で分析値を比較する。具体的には、以下の処理をステップ8320において、計算した全ての計測対象識別子i,計測対象識別子jの組合せに対して、以下の処理を行う。ステップ8330において障害判定プログラム115が把握した中から、計測対象識別子がiであるエントリのうち構成変更影響度が最大のエントリの状態を把握する、同様に、計測対象識別子がjであるエントリのうち構成変更影響度が最第のエントリの状態を把握する。把握された2つの状態のうち、構成変更影響度が最大の状態を現在状態として把握する。
障害判定プログラム115が,学習結果テーブル5300において、計測対象識別子が、本ステップで把握された識別子i,jと同じであるエントリのうち,状態が現在状態と同じであるエントリの分析値を把握する。つまり、ステップ8320において算出されたr’i,jとステップ8150において算出されたri,jの差を計算して差の絶対値が閾値以上である場合には判定結果を異常、閾値未満である場合には判定結果を正常、と記憶する。
ステップ8350において、障害判定プログラム115が分析結果をアプリケーション状態テーブル5500に保存する。
具体的には、ステップ8340において,把握された全ての計測対象識別子i,jに対して、以下の処理を行う。障害判定プログラム115が、計測対象と構成要素識別子マッピングテーブル5200において、計測対象識別子がiまたはjである全てのエントリのアプリケーション構成要素識別子を把握する。
障害判定プログラム115が、アプリケーション状態テーブル5500の,アプリケーション構成要素識別子に本ステップで把握されたアプリケーション構成要素識別子を、異常検出フラグにステップ8340において算出された判定結果を、状態にステップ8320において把握された状態kを、時刻に現在時刻(本ステップを実行した時刻)を保存する。以上が図11の説明である。
図8の説明に戻る。シーケンス2040において、監視装置150がアプリケーション状態テーブル5500の情報を管理用端末180に通知する。なお、ステップ8350において、更新されたエントリのみ通知しても、異常検出フラグが異常であるエントリのみを通知しても良い。管理用端末においては,状態を含めて通知される為,異常判定されたものが、アプリケーションの更新に伴うものか、否かを判別してフィルタすることが可能になる。以上が図8の説明である。
図9にアプリケーション更新時の異常判定する動作概要を示す。なお、本動作概要における監視装置150の処理内容は図8と同様である。
シーケンス3010から3030の処理はシーケンス1030〜1050の処理と同じである。
シーケンス3010において,開発用端末410が、アプリケーションのソースコードをアプリリポジトリ320にアップロードする。
シーケンス3020において、アプリリポジトリ320に格納されたアプリケーションのソースコードの構文チェック、コンパイルを行い、電子計算機210にデプロイする。本シーケンスが実行されるタイミングは、事前に規定されたスケジュール、または、アプリリポジトリ320に更新用のプログラムがデプロイされたタイミングにおいて実行される。
シーケンス3030において、デプロイ管理システム310が、アプリケーションの構成要素識別子、アプリケーションをデプロイする電子計算機210の識別子、および、更新の種別を監視装置150に通知する。
シーケンス3040と3050の処理はシーケンス1010と1020の処理と同じである。
シーケンス3040において、電子計算機210−1〜n、または、通信装置230は計測を行う。
シーケンス3040において、電子計算機210−1〜n、または、通信装置230は計測を行う。
シーケンス3050において、電子計算機210−1〜n、または、通信装置230が計測値を監視装置150に送信する。本シーケンスは、他の処理シーケンスとは独立に繰り返し実行される。
シーケンス3060と3070の処理は、シーケンス2030と2040の処理と同じである。シーケンス3060において、監視装置150が異常判定を行う。シーケンス3070において、監視装置150が管理用端末180に判定結果3070を通知する。
以上に示すとおり、アプリケーション更新時の異常判定は、障害時の異常判定の処理と同様の処理となっていることから,障害時の異常判定と比べて特殊な処理を行うことなく、アプリケーションの更新を、障害と切り分けることが可能であることが分かる。以上が図9の説明である。
100:監視システム
110:挙動分析プログラム
115:障害判定プログラム
120:状態管理プログラム
150:監視装置
160:データ記憶部
180:管理用端末
200:実行環境
210:電子計算機
220:アプリケーション
230:通信装置
240:計測機能
300:アプリケーションデプロイシステム
310:デプロイ管理システム
315:更新通知機
320:アプリリポジトリ
400:開発環境
410:開発用端末
500:データ通信用ネットワーク
600:管理通信用ネットワーク
110:挙動分析プログラム
115:障害判定プログラム
120:状態管理プログラム
150:監視装置
160:データ記憶部
180:管理用端末
200:実行環境
210:電子計算機
220:アプリケーション
230:通信装置
240:計測機能
300:アプリケーションデプロイシステム
310:デプロイ管理システム
315:更新通知機
320:アプリリポジトリ
400:開発環境
410:開発用端末
500:データ通信用ネットワーク
600:管理通信用ネットワーク
Claims (10)
- アプリケーションが稼働する電子計算機に接続され前記電子計算機の性能値を監視する監視装置と、前記電子計算機に接続され前記電子計算機にアプリケーションをデプロイするデプロイ管理システムと、を有する計算機システムであって、
前記監視装置は、
前記電子計算機の複数種の性能値を取得し、前記複数種の性能値のうち2種の性能値の相関値を算出して基準値として記憶し、
前記基準値の算出後、前記複数種の性能値を取得し、
前記2種の性能値の相関値を算出して、前記基準値と比較することで、異常判定を行い、
前記デプロイ管理システムは、
前記電子計算機で稼働するアプリケーションに更新があると当該更新を前記監視装置に通知し、
前記監視装置は、
前記通知を受信すると、前記アプリケーション更新後の前記複数種の性能値を取得して前記複数種の性能値のうち2種の性能値の相関値を計算して新たな基準値として記憶し、
前記新たな基準値の算出後、前記複数種の性能値を取得し、
前記2種の性能値の相関値を算出して前記新たな基準値と比較することで、異常判定を行う、
計算機システム。 - 前記通知は前記更新されたアプリケーションを特定する識別子を有し、
前記監視装置は、前記アプリケーションを特定する識別子と前記アプリケーションが稼働する電子計算機の性能値の計測対象を特定する識別子とを対応づけて管理し、
前記監視装置は、前記通知を受信すると、前記アプリケーションを特定する識別子と前記アプリケーションが稼働する電子計算機の性能値の計測対象を特定する識別子との対応づけに基づいて、前記更新されたアプリケーションを特定する識別子から前記更新されたアプリケーションの稼働する電子計算機の性能値の計測対象を特定し、
前記特定された計測対象に対して性能値を取得する、
請求項1に記載の計算機システム。 - 前記監視装置は、
前記アプリケーションの更新後の所定の期間、前記異常判定の結果にアプリケーションの更新があったことを対応づけて管理する、
請求項2に記載の計算機システム。 - 前記通知はさらにアプリケーションの更新種別を有し、
前記監視装置は、前記更新種別毎に前記新たな基準値を算出し、前記更新種別毎に前記複数種の性能値を取得し、
前記2種の性能値の相関値を前記更新種別毎に算出し、
同じ更新種別である前記新たな基準値と前記2種の性能値の相関値とを比較することで異常判定を行う、
請求項3に記載の計算機システム。 - 前記監視装置は、前記更新種別と前記更新種別の影響度とを対応付けて管理し、
前記更新種別ごとの前記新たな基準値は、影響度がより大きい更新種別を有する前記通知以降に取得した前記電子計算機の性能値に基づいて算出した相関値である、
請求項4に記載の計算機システム。 - アプリケーションが稼働する電子計算機に接続され前記電子計算機の性能値を監視する監視装置と、前記電子計算機に接続され前記電子計算機にアプリケーションをデプロイするデプロイ管理システムと、を有する計算機システムの管理方法であって、
前記電子計算機の複数種の性能値を取得し、前記複数種の性能値のうち2種の性能値の相関値を算出して基準値として記憶し、
前記基準値の算出後、前記複数種の性能値を取得し、
前記2種の性能値の相関値を算出して、前記基準値と比較することで、異常判定を行い、
前記電子計算機で稼働するアプリケーションに更新があると当該更新を前記監視装置に通知し、
前記通知を受信すると、前記アプリケーション更新後の前記複数種の性能値を取得して前記複数種の性能値のうち2種の性能値の相関値を計算して新たな基準値として記憶し、
前記新たな基準値の算出後、前記複数種の性能値を取得し、
前記2種の性能値の相関値を算出して前記新たな基準値と比較することで、異常判定を行う、
計算機システムの管理方法。 - 前記通知は前記更新されたアプリケーションを特定する識別子を有し、
前記アプリケーションを特定する識別子と前記アプリケーションが稼働する電子計算機の性能値の計測対象を特定する識別子とを対応づけて管理し、
前記通知を受信すると、前記アプリケーションを特定する識別子と前記アプリケーションが稼働する電子計算機の性能値の計測対象を特定する識別子との対応づけに基づいて、前記更新されたアプリケーションを特定する識別子から前記更新されたアプリケーションの稼働する電子計算機の性能値の計測対象を特定し、
前記特定された計測対象に対して性能値を取得する、
請求項6に記載の計算機システムの管理方法。 - 前記アプリケーションの更新後の所定の期間、前記異常判定の結果にアプリケーションの更新があったことを対応づけて管理する、
請求項7に記載の計算機システムの管理方法。 - 前記通知はさらにアプリケーションの更新種別を有し、
前記更新種別毎に前記新たな基準値を算出し、前記更新種別毎に前記複数種の性能値を取得し、
前記2種の性能値の相関値を前記更新種別毎に算出し、
同じ更新種別である前記新たな基準値と前記2種の性能値の相関値とを比較することで異常判定を行う、
請求項8に記載の計算機システムの管理方法。 - 前記更新種別と前記更新種別の影響度とを対応付けて管理し、
前記更新種別ごとの前記新たな基準値は、影響度がより大きい更新種別を有する前記通知以降に取得した前記電子計算機の性能値に基づいて算出した相関値である、
請求項9に記載の計算機システムの管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016180102A JP2018045475A (ja) | 2016-09-15 | 2016-09-15 | 計算機システム及び計算機システムの管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016180102A JP2018045475A (ja) | 2016-09-15 | 2016-09-15 | 計算機システム及び計算機システムの管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018045475A true JP2018045475A (ja) | 2018-03-22 |
Family
ID=61694781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016180102A Pending JP2018045475A (ja) | 2016-09-15 | 2016-09-15 | 計算機システム及び計算機システムの管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018045475A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021535633A (ja) * | 2018-06-29 | 2021-12-16 | インテル コーポレイション | 仮想ネットワークでのストレージサービスの品質の管理 |
-
2016
- 2016-09-15 JP JP2016180102A patent/JP2018045475A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021535633A (ja) * | 2018-06-29 | 2021-12-16 | インテル コーポレイション | 仮想ネットワークでのストレージサービスの品質の管理 |
JP7175997B2 (ja) | 2018-06-29 | 2022-11-21 | インテル コーポレイション | 仮想ネットワークでのストレージサービスの品質の管理 |
US11809890B2 (en) | 2018-06-29 | 2023-11-07 | Intel Corporation | Managing quality of storage service in virtual network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3425512B1 (en) | Software analytics platform | |
US10402293B2 (en) | System for virtual machine risk monitoring | |
US10860311B2 (en) | Method and apparatus for drift management in clustered environments | |
CN113328872B (zh) | 故障修复方法、装置和存储介质 | |
US8381038B2 (en) | Management server and management system | |
US8924798B2 (en) | Grouping related errors in a distributed computing environment | |
US11061756B2 (en) | Enabling symptom verification | |
US11048607B2 (en) | Application regression detection in computing systems | |
CN101938368A (zh) | 刀片服务器系统中的虚拟机管理器和虚拟机处理方法 | |
JP2014199579A (ja) | 検出方法、検出プログラム、および検出装置 | |
JP2008211350A (ja) | 分散ネットワーク環境におけるシステム管理方法、情報処理装置及びプログラム | |
US20130111018A1 (en) | Passive monitoring of virtual systems using agent-less, offline indexing | |
US9881056B2 (en) | Monitor system and monitor program | |
JP2011523734A (ja) | Ict環境においてエネルギー消費をモニタリングする方法およびシステム | |
Arefin et al. | Diagnosing data center behavior flow by flow | |
US9349012B2 (en) | Distributed processing system, distributed processing method and computer-readable recording medium | |
JP2018045475A (ja) | 計算機システム及び計算機システムの管理方法 | |
US20220374528A1 (en) | Evaluation apparatus, evaluation system, evaluation method, and program | |
CN107168819B (zh) | 一种操作系统重启方法及装置 | |
CN109995618B (zh) | 网络存活监控方法、装置、设备与计算机可读存储介质 | |
CN111258845A (zh) | 事件风暴的检测 | |
JP5600133B2 (ja) | 監視装置、監視方法および監視プログラム | |
JPWO2019167225A1 (ja) | 情報処理装置、制御方法、及びプログラム | |
Xin | Predicting failures in complex multi-tier systems | |
CN115801588A (zh) | 网络连接的动态拓扑处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170111 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170113 |