JP5685922B2 - 管理装置、管理プログラム、および管理方法 - Google Patents

管理装置、管理プログラム、および管理方法 Download PDF

Info

Publication number
JP5685922B2
JP5685922B2 JP2010282212A JP2010282212A JP5685922B2 JP 5685922 B2 JP5685922 B2 JP 5685922B2 JP 2010282212 A JP2010282212 A JP 2010282212A JP 2010282212 A JP2010282212 A JP 2010282212A JP 5685922 B2 JP5685922 B2 JP 5685922B2
Authority
JP
Japan
Prior art keywords
event
management
difference
dependency
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.)
Expired - Fee Related
Application number
JP2010282212A
Other languages
English (en)
Other versions
JP2012128811A (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 JP2010282212A priority Critical patent/JP5685922B2/ja
Priority to US13/288,136 priority patent/US20120159519A1/en
Publication of JP2012128811A publication Critical patent/JP2012128811A/ja
Application granted granted Critical
Publication of JP5685922B2 publication Critical patent/JP5685922B2/ja
Expired - Fee Related 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/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • 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/0709Error 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 distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server 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/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、管理装置、管理プログラム、および管理方法に関する。
従来、複数の機能を監視対象として所定期間内に収集したイベント情報をグループとし、パターン定義とイベントグループとの間でイベント情報の発生パターンを照合し、類似するパターン定義グループに予め関連づけられている障害対策情報を抽出する技術が知られている。また、事象ログデータについて、最初の事象と選択された以降のメッセージを事象ログに記憶し、重複したメッセージを記憶対象外とする技術が知られている。
国際公開第2004/061681号 特表2004−535018号公報
複数の監視対象について、監視対象間に依存関係がある場合、依存元の監視対象で発生したイベントが依存先の監視対象のイベントを引き起こす場合がある。依存関係にある各監視対象から所定時間内にイベントがあがったことを検知すれば、イベント間に関係があると判断できる。しかし、イベントが発生したことを検知できなかった場合、従来の技術では、依存関係があることを知ることができなかった。
開示の技術は、イベントの検知に漏れがある場合であってもイベントの依存関係を判定することを目的とする。
開示の管理装置、管理プログラム、および管理方法は、一つの態様において、第1の管理対象と、前記第1の管理対象で発生した第1のイベントに依存して第2のイベントを発生する第2の管理対象と、前記第2の管理対象で発生した前記第2のイベントに依存して第3のイベントを発生する第3の管理対象とを管理する。開示の装置、プログラム、方法は、第1のイベントの発生時刻と前記第3のイベントの発生時刻との差分を求め、差分が所定時間以内である場合に前記第3のイベントが前記第1のイベントに基づくと判定する。
また、開示の管理装置、管理プログラム、および管理方法は、一つの態様において、第1の管理対象と、前記第1の管理対象で発生した第1のイベントに依存して各々第2のイベントを発生する複数の第2の管理対象とを管理する。開示の装置、プログラム、方法は、複数の第2の管理対象で発生した複数の第2のイベントの発生時刻の差分を求め、差分が所定時間以内である場合に前記複数の第2のイベントが前記第1のイベントに基づくと判定する。
開示の技術によれば、イベントの検知に漏れがある場合であってもイベントの依存関係を判定することができるという効果を奏する。
図1は、情報管理システム100の一例を示す説明図である。 図2は、管理対象から発生するイベントのデータ構造の一例を示す説明図である。 図3は、実施の形態で用いられるコンピュータのハードウェア構成を示すブロック図である。 図4は、情報管理装置の機能的構成を示すブロック図である。 図5は、プロセス割当テーブルの記憶内容の一例を示す説明図である。 図6は、CPU#1を障害の基点とした場合の依存関係情報を示す説明図である。 図7は、CPU#2を障害の基点とした場合の依存関係情報を示す説明図である。 図8は、VMを障害の基点とした場合の依存関係情報を示す説明図である。 図9は、業務プロセスを障害の基点とした場合の依存関係情報を示す説明図である。 図10は、判定部による判定処理の具体例(その1)を示す説明図である。 図11は、判定部による判定処理の具体例(その2)を示す説明図である。 図12は、統合管理DBの記憶内容の一例を示す説明図である。 図13は、実施例1にかかる管理装置の説明図である。 図14は、途中イベント抜けの具体例の説明図(その1)である。 図15は、途中イベント抜けの具体例の説明図(その2)である。 図16は、起点イベント抜けの具体例の説明図(その1)である。 図17は、起点イベント抜けの具体例の説明図(その2)である。 図18は、本実施の形態にかかる情報管理装置による情報管理処理手順を示すフローチャートである。 図19は、図18に示した依存関係判定処理の詳細な処理手順を示すフローチャートである。 図20は、図18に示した障害発生起点の判定処理の詳細な処理手順を示すフローチャートである。 図21は、図20に示した途中イベント抜け判定処理の詳細について説明するフローチャートである。 図22は、図20に示した起点イベント抜け判定処理の詳細について説明するフローチャートである。 図23は、起点イベント抜け判定処理の変形例の説明図である。 図24は、起点イベント抜け判定処理の変形例のフローチャートである。
以下に添付図面を参照して、本発明にかかる管理装置、管理プログラム、および管理方法の実施の形態を詳細に説明する。
(情報管理システムの一例)
図1は、情報管理システム100の一例を示す説明図である。情報管理システム100は、管理対象装置101と管理対象装置101を管理する管理機能102と統合管理データベース(DB)103を備える。情報管理システム100は、1台のコンピュータでもよく、複数台のコンピュータで構成してもよい。
まず、管理対象装置101について説明する。管理対象装置101は、複数種類の管理対象群の集合である。たとえば、管理対象装置101をクラウドコンピューティングに適用する場合、CPU(Central Processing Unit)とVM(Virtual Machine:仮想計算機)と業務プロセスの3種類を管理対象とすることができる。
図1では、たとえば、CPU111としてCPU#1、CPU#2、VM112としてVM#1〜VM#6、業務プロセス113として業務X用プロセス113X(X_Web,X_AP,X_DB),業務Y用プロセス113Y(Y_Web,Y_AP,Y_DB)を管理対象とする。なお、X_Web,Y_WebはWebサーバとして機能するプログラムである。また、X_AP,Y_APはアプリケーションサーバとして機能するプログラムである。X_DB,Y_DBはデータベースサーバとして機能するプログラムである。
また、図1の例では、CPU#1がVM#1,VM#2,VM#4,VM#5を制御し、CPU#2がVM#3,VM#6を制御する。また、VM#1がX_Webを制御する。また、VM#2がX_APを制御する。また、VM#3がX_DBを制御する。また、VM#4がY_Webを制御する。また、VM#5がY_APを制御する。また、VM#6がY_DBを制御する。
管理対象装置101では、CPU111がVM112を制御し、VM112が業務プロセス113を制御する。このため、制御主体となる管理対象において障害が発生すると、その障害が原因となって制御対象となる管理対象にも障害が発生する。たとえば、CPU#1で障害が発生すると、VM#1,VM#2,VM#4,VM#5にも障害が発生する。同様に、VM#1で障害が発生すると、その障害が原因となってX_Webにも障害が発生する。
このように、障害発生に関して、制御対象となる管理対象は、制御主体となる管理対象に依存しているため、制御主体となる管理対象を以後、「依存元管理対象」と称す。また、制御対象となる管理対象を「依存先管理対象」と称す。図1では、CPU111は、VM112に対して依存元管理対象となり、VM112はCPU111に対して依存先管理対象となる。同様に、VM112は、業務プロセス113に対して依存元管理対象となり、業務プロセス113はVM112に対して依存先管理対象となる。このように、依存元管理対象と依存先管理対象との関わりを、依存関係と称す。
このように、CPU111は、依存元管理対象にはなるが依存先管理対象にはならず、業務プロセス113は、依存先管理対象にはなるが依存元管理対象にはならない。また、VM112は、依存元管理対象にも依存先管理対象にもなり得る。
つぎに、管理機能102について説明する。管理機能102は、管理対象の種類ごとに管理機能102を有する。たとえば、CPU111に対してはCPU管理機能121、VM112に対してはVM管理機能122、業務プロセス113に対しては業務管理機能123を有する。
CPU管理機能121は、管理対象装置101内のCPU111を管理するソフトウェアである。VM管理機能122は、管理対象装置101内のVM112を管理するソフトウェアである。業務管理機能123は、管理対象装置101内の業務プロセス113を管理するソフトウェアである。各管理機能121〜123は、それぞれDB124〜126を有し、各々の管理対象から障害や故障、通信状態の監視状態の変化が起こったときに通知されるイベントを収集し、ログとして保存する。
また、管理機能102は、統合管理機能127を有する。統合管理機能127は、管理対象の種類ごとに分散して保存されたイベントを収集して、ログとして統合管理DB103に保存する。本実施の形態では、各管理機能121〜123のDB124〜126に保存されたイベントとの重複保存の低減化を図るため、統合管理DB103に保存するイベントを絞り込む。
具体的には、たとえば、管理者や統合管理機能127から見れば、複数のイベントの中から障害が発生している基点から通知される障害イベントが重要である。したがって、DB124〜126から収集された障害イベントのうち障害箇所となる管理対象を特定するのに必要なイベントをログとして統合管理DB103に保存する。それ以外のイベントは、DB124〜126に保存されているため、統合管理DB103に保存しなくても、統合管理DB103に保存したイベントを手がかりにして、必要に応じて読み出せばよい。
(イベントのデータ構造の一例)
つぎに、上述した管理対象から発生するイベントのデータ構造について説明する。
図2は、管理対象から発生するイベントのデータ構造の一例を示す説明図である。イベントは、番号項目201、タイムスタンプ項目202、イベント種類項目203、発生箇所項目204、警報種類項目205、予備項目206といった項目を有する。番号項目201には、イベントフレームに付けられるシリアル番号が記述される。タイムスタンプ項目202には、イベントの発生時刻(たとえば、2009_09_05_17:58:23)が記述される。
イベント種類項目203には、イベント種類を識別するフラグ(たとえば、「0」が警報イベント、「1」が品質監視イベント)が記述される。発生箇所項目204には、イベントの発生箇所となる管理対象の識別情報(たとえば、CPU#1、VM#2、Web#1など)が記述される。警報種類項目205には、警報の種類に関する識別情報(装置関連、VM112関連、アプリ関連、通信関連、品質関連などの識別情報)が記述される。予備項目206には、必要に応じて設定された情報が記述される。
(コンピュータのハードウェア構成)
図3は、実施の形態で用いられるコンピュータのハードウェア構成を示すブロック図である。図3において、コンピュータは、CPU301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、インターフェース(Interface 以下、「I/F」と略する。)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、コンピュータの全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F309は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークに接続され、このネットワーク314を介して他の装置に接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F309には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ312は、画像を光学的に読み取り、コンピュータ内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(情報管理装置400の機能的構成)
情報管理装置400の機能的構成について説明する。図4は、情報管理装置400の機能的構成を示すブロック図である。情報管理装置400は、図1に示した統合管理機能127に相当する。情報管理装置400は、取得部401と、特定部402と、抽出部403と、判定部404と、決定部405と、算出部406と、保存部407と、を備える。取得部401〜保存部407は、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
取得部401は、管理対象の種類ごとのイベントが格納された管理対象の種類ごとのデータベース群から所定期間内に発生したイベント群を取得する機能を有する。具体的には、たとえば、DB124〜126に保存されているイベントのタイムスタンプを参照することにより、所定期間内に発生したイベント群を読み出す。
特定部402は、取得部401によって取得されたイベント群内の各イベントに記述されている発生元の管理対象に関する情報に基づいて、依存関係がある管理対象群を特定する機能を有する。具体的には、たとえば、取得部401によって取得された各イベントの発生箇所項目204には、発生元の管理対象の識別情報が記述されている。この識別情報を手がかりとして、依存関係がある管理対象群を特定する。
たとえば、取得された各イベントの発生箇所項目204に、「CPU#2」、「VM#3」、「VM#6」、「X_DB」、「Y_DB」が記述されている場合、「CPU#2」、「VM#3」、「VM#6」、「X_DB」、「Y_DB」を依存関係のある管理対象群として特定する。このような特定部402による特定では、プロセス割当テーブルを用いることができる。
図5は、プロセス割当テーブルの記憶内容の一例を示す説明図である。プロセス割当テーブル500は、番号項目501と管理対象項目502とを有する。番号項目501には、レコード順に昇順の番号が記憶されている。管理対象項目502は、管理対象の種類別に分けられている。図5では、CPU項目とVM項目と業務プロセス項目に分けられている。このように、プロセス割当テーブル500は、管理対象装置101内部において、CPU111、VM112、業務プロセス113のそれぞれがどのように割り当てられているかを示している。
たとえば、番号1のレコードでは、CPU#1、VM#1、X_Webが記憶されている。番号1のレコードは、業務プロセス113であるX_WebはVM#1に割り当てられており、VM#1はCPU#1に割り当てられていることを意味する。なお、プロセス割当テーブル500はあらかじめ管理者によって設定されているものとする。
なお、プロセス割当テーブル500は、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置により、その機能を実現する。
図6〜図9は、依存関係情報を示す説明図である。依存関係情報とは、ある管理対象で発生した障害がどの範囲まで影響するのかを表現した情報である。障害は、依存元管理対象から依存先管理対象に伝搬するため、依存元管理対象ごとに、依存関係情報が設定される。なお、図6〜図9中、楕円は管理対象を示すノードであり、ノード間のリンクは依存関係を示している。すなわち、リンクで結ばれている左側のノードが依存元管理対象であり、右側のノードが依存先管理対象である。したがって、依存関係情報において、左端のノードが障害の基点となる管理対象を示している。
図6および図7は、CPU111を障害の基点とした場合の依存関係情報を示す説明図である。特に図6は、CPU#1を障害の基点とした場合の依存関係情報600である。図7は、CPU#2を障害の基点とした場合の依存関係情報700である。
図8は、VM112を障害の基点とした場合の依存関係情報を示す説明図である。(A)は、VM#1を障害の基点とした場合の依存関係情報801である。(B)は、VM#2を障害の基点とした場合の依存関係情報802である。(C)は、VM#3を障害の基点とした場合の依存関係情報803である。
(D)は、VM#4を障害の基点とした場合の依存関係情報804である。(E)は、VM#5を障害の基点とした場合の依存関係情報805である。(F)は、VM#6を障害の基点とした場合の依存関係情報806である。
図9は、業務プロセス113を障害の基点とした場合の依存関係情報を示す説明図である。(A)は、X_Webを障害の基点とした場合の依存関係情報901である。(B)は、X_APを障害の基点とした場合の依存関係情報902である。(C)は、X_DBを障害の基点とした場合の依存関係情報903である。
(D)は、Y_Webを障害の基点とした場合の依存関係情報904である。(E)は、Y_APを障害の基点とした場合の依存関係情報905である。(F)は、Y_DBを障害の基点とした場合の依存関係情報906である。
また、基点となる管理対象(左端のノード)から末端の管理対象(右端のノード)までの経路をルートと称す。この経路はパスとも呼ばれる。たとえば、図6の依存関係情報600は、{CPU#1→VM#1→X_Web}、{CPU#1→VM#2→X_AP}、{CPU#1→VM#4→Y_Web}、{CPU#1→VM#5→Y_AP}の4本のルートを有する。
依存関係情報は、プロセス割当テーブル500と同様、あらかじめ管理者によって設定されているものとしてもよい。XML(Extensible Markup Language)形式の場合、依存関係情報をツリー構造で表現することができる。このように、あらかじめ設定されている場合、特定部402では、取得部401によって取得された各イベントの発生箇所項目204に記述されている発生元の管理対象の識別情報を手がかりとして、依存関係がある管理対象群としての依存関係情報を特定する。
たとえば、取得したイベント群の発生箇所項目204にCPU111に属する識別情報(たとえば、CPU#1)が記述されている場合、依存関係情報の中から図6の依存関係情報600を特定する。
また、取得したイベント群の発生箇所項目204にVM112に属する識別情報(たとえば、VM#2)が記述されており、かつ、CPU111に属する識別情報が記述されていない場合、依存関係情報の中から図8の(B)の依存関係情報802を特定する。
さらに、取得したイベント群の発生箇所項目204に業務プロセス113に属する識別情報(たとえば、X_DB)が記述されており、かつ、CPU111およびVM112に属する識別情報が記述されていない場合、依存関係情報の中から図9の(C)の依存関係情報903を特定する。
また、依存関係情報をあらかじめ設定しておかず、特定部402によりプロセス割当テーブル500から検索することにより、該当する依存関係情報を特定することとしてもよい。具体的には、たとえば、リレーショナルDBの内部にプロセス割当テーブル500を作成しておき、プロセス割当テーブル500に対して、予め用意したSQL(Structured Query Language)の検索式を実行する。これにより、得られる結果セット(テーブル形式)を該当する依存関係情報として特定することができる。
プロセス割当テーブル500から検索して該当する依存関係情報として特定することにより、あらかじめ依存関係情報を作成する負担がない。また、検索する都度、該当する依存関係情報をメモリに書き出せばよいため、すべての依存関係情報を用意する必要がなく、メモリ使用量の削減を図ることができる。
なお、依存関係情報600,700,801〜806,901〜906は、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置により、その機能を実現する。
また、図4において、抽出部403は、依存関係がある管理対象群で発生したイベント群の中から、依存元管理対象で発生した第1のイベントと依存元管理対象に依存する依存先管理対象で発生した第2のイベントとの組み合わせを抽出する機能を有する。
具体的には、たとえば、該当する依存関係情報内の各リンクの両端のノードの組み合わせを抽出する。たとえば、図6の依存関係情報600の場合、{CPU#1,VM#1},{VM#1,X_Web},{CPU#1,VM#2},{VM#2,X_AP},{CPU#1,VM#4},{VM#4,Y_Web},{CPU#1,VM#5},{VM#5,Y_AP}の8個の組み合わせが抽出される。
判定部404は、抽出部403によって抽出された組み合わせごとに、第1のイベントの発生時刻と第2のイベントの発生時刻との差分により、第1のイベントと第2のイベントとの依存関係の有無を判定する機能を有する。
具体的には、たとえば、抽出部403によって抽出された組み合わせの一方の管理対象で発生したイベントの発生時刻をそのタイムスタンプから読み出す。同様に、他方の管理対象で発生したイベントの発生時刻をそのタイムスタンプから読み出す。そして、両タイムスタンプの差分を算出する。
差分は、両タイムスタンプの時間差の絶対値とする。通常、依存元管理対象で発生したイベントが依存先管理対象で発生したイベントよりも先に検出されるが、何らかの原因で依存先管理対象で発生したイベントが先に検出されることもある。このため、両タイムスタンプの時間差の絶対値を差分とする。そして、判定部404は、差分がしきい値Ts以内の場合、両イベント間に障害の依存関係ありと判定する。一方、差分がしきい値Ts以内ではない場合、両イベント間に障害の依存関係なしと判定する。
図10は、判定部404による判定処理の具体例(その1)を示す説明図である。ここでは、図8の(A)に示した依存関係情報801から得られた組み合わせ{VM#1,X_Web}を例に挙げ、VM#1では時刻T1でイベントE1が発生し、X_Webでは時刻T2でイベントE2が発生したものとする。
(A)では、差分|T2−T1|≦Tsとなるため、イベントE1,E2は障害の依存関係ありと判定される。(B)では、差分|T2−T1|>Tsとなるため、イベントE1,E2は障害の依存関係なしと判定される。
図11は、判定部404による判定処理の具体例(その2)を示す説明図である。ここでは、図7に示した依存関係情報700から得られた4個の組み合わせ{CPU#2,VM#3},{VM#3,X_DB},{CPU#2,VM#6},{VM#6,Y_DB}を例に挙げる。また、CPU#2では時刻T1でイベントE1が発生し、VM#3では時刻T21でイベントE21が発生し、X_DBでは時刻T31でイベントE31が発生し、VM#6では時刻T22でイベントE22が発生し、Y_DBでは時刻T32でイベントE32が発生したものとする。
また、CPU111とVM112との間のしきい値TsをTs1とし、VM112と業務プロセス113との間のしきい値TsをTs2とする。しきい値Ts1,Ts2は、管理者が自由に設定でき、Ts1=Ts2でもよく、Ts1≠Ts2でもよい。
本例では、4個の組み合わせ{CPU#2,VM#3},{VM#3,X_DB},{CPU#2,VM#6},{VM#6,Y_DB}が抽出されるため、それぞれ差分|T21−T1|,|T31−T21|,|T22−T1|,|T32−T22|を算出し、対応するしきい値Ts1,Ts2以内であるかを判定することとなる。図11の例では、すべての差分|T21−T1|,|T31−T21|,|T22−T1|,|T32−T22|が対応するしきい値Ts1,Ts2以内である。したがって、イベントE1,E21,E31,E22,E32は依存関係ありと判定される。
加えて、判定部404は、途中のイベントや起点のイベントが抜けた場合についても、依存関係を判定する。この判定部404の処理動作の具体例については後述する。
また、図4に戻って、決定部405は、判定部404によって判定された判定結果に基づいて、イベント群のうち、依存先管理対象にならない依存元管理対象で発生したイベントを保存対象イベントに決定する機能を有する。
具体的には、判定部404によって組み合わせのすべてにおいて依存関係有りと判定された場合、依存先管理対象にならない依存元管理対象で発生したイベントを保存対象イベントに決定する。たとえば、依存関係情報において左端のノードとなる管理対象は、依存先管理対象にならない依存元管理対象であるため、依存関係情報において左端のノードとなる管理対象が障害の起点となる。したがって、依存関係情報において左端のノードとなる管理対象で発生したイベントを保存対象イベントに決定する。
たとえば、図10の(A)に示した例では、VM#1で発生したイベントE1が保存対象イベントに決定される。したがって、2個のイベントE1,E2のうち、決定部405によりイベントE1が保存対象イベントとなるため、双方のイベントを保存する場合に比して50%の削減効果が得られる。
また、図11に示した例では、CPU#2で発生したイベントE1が保存対象イベントに決定される。したがって、5個のイベントE1,E21,E31,E22,E32を保存する場合に比して、80%の削減効果が得られる。
なお、決定部405は、判定部404によって依存関係なしと判定された場合、依存関係なしと判定されたイベント群を保存対象イベントに決定することとなる。たとえば、図10の(B)では、イベントE1,E2とは依存関係なしと判定されたため、イベントE1,E2を保存対象イベントに決定することとなる。
また、算出部406は、組み合わせの総数と第1のイベントおよび第2のイベントが抽出された組み合わせの数に基づいて、保存対象イベントに関する信頼度を算出する機能を有する。ここで、信頼度とは、判定部404による依存関係ありと判定された判定結果の信頼性を評価する指標値である。たとえば、組み合わせの総数を分母とし、第1のイベントおよび第2のイベントが抽出された組み合わせの数を分子とした値を信頼度とする。
たとえば、図10の(A)の場合は、組み合わせは{VM#1,X_Web}の1個であるため、組み合わせの総数は1である。また、VM#1で発生したイベントE1およびX_Webで発生したイベントE2が抽出されるため、第1のイベントおよび第2のイベントが抽出された組み合わせの数は1である。したがって、信頼度は1/1となる。同様に、図11の場合も、信頼度は4/4である。
また、決定部405は、算出部406によって算出された信頼度に基づいて、保存対象イベントを決定することとしてもよい。たとえば、しきい値となる所定信頼度Pを設定しておく。所定信頼度Pは管理者が自由に設定することができる。
そして、算出部406で算出された信頼度が所定信頼度P以上である場合は、判定部404で依存関係ありと判定されたイベント群のうち依存先管理対象にならない依存元管理対象で発生したイベント(障害の基点となるイベント)を保存対象イベントに決定する。一方、算出部406で算出された信頼度が所定信頼度P未満である場合は、判定部404で依存関係ありと判定されたイベント群を保存対象イベントに決定する。
たとえば、所定信頼度PをP=70%とした場合、図10の(A)の例の信頼度1/1は、所定信頼度P以上となるため、イベントE1が保存対象イベントに決定される。また、図11の例の信頼度4/4は、所定信頼度P以上となるため、イベントE1が保存対象イベントに決定される。
図4に戻って、保存部407は、決定部405によって決定された保存対象イベントに関する情報をDB408に保存する機能を有する。具体的には、たとえば、保存対象イベントに記述されている番号、タイムスタンプ、イベント種類、発生箇所、警報種類、予備といった情報をレコードとして統合管理DB103に保存する。
図12は、統合管理DB103の記憶内容の一例を示す説明図である。なお、保存部407は、保存対象イベントに記述されている情報をすべて保存することとしてもよいが、少なくとも番号と発生箇所が保存されていればよい。番号と発生箇所が保存されていれば、DB124〜126から検索可能である。
また、保存部407は、算出部406によって算出された信頼度も保存することとしてもよい。この場合、信頼度は、統合管理DB103の予備項目206に保存することができる。
(構成の説明)
図13は、実施例1にかかる管理装置の説明図である。図13に示した管理装置10は、図1に示した統合管理機能127の一部分であり、この例ではCPU#2、VM(Virtual Machine:仮想計算機)#3,6、業務X_DB、業務Y_DBを管理しているものとする。
CPU#2は、管理装置10にとって第1の管理対象である。また、VM#3,6は管理装置10にとって第2の管理対象であり、業務X_DBと業務Y_DBは管理装置10にとって第3の管理対象である。
CPU#2とVM#3,6との間にはそれぞれ依存関係がある。この依存関係において、CPU#2は依存元であり、VM#3,6は依存先である。すなわち、CPU#2に異常が発生すると、VM#3,6にも異常が発生する場合がある。
また、VM#3と業務X_DBとの間には依存関係がある。この依存関係において、VM#3は依存元であり、業務X_DBは依存先である。すなわち、VM#3に異常が発生すると、業務X_DBにも異常が発生する場合がある。
同様に、VM#6と業務Y_DBとの間には依存関係がある。この依存関係において、VM#6は依存元であり、業務Y_DBは依存先である。すなわち、VM#6に異常が発生すると、業務Y_DBにも異常が発生する場合がある。
したがって、CPU#2とVM#3,6との依存関係、VM#3と業務X_DBとの依存関係、VM#6と業務Y_DBとの依存関係によって、CPU#2の異常が起点となってVM#3,6、業務X_DB、業務Y_DBに異常が発生することが考えられる。
依存元の管理対象で発生したイベントと依存先の管理対象で発生したイベントをそれぞれ検知し、イベントの発生時刻の差が所定時間以内であれば、管理対象の依存関係によって引き起こされた依存関係のあるイベント群であると判定することができる。このようなイベント間の依存関係は、イベントの管理に利用できる。一例として、依存元のイベントは依存先のイベントよりも重要度が高いとし、起点のイベントを選択的に収集、保存する場合がある。
このようにイベントの依存関係を知ることは重要であるので、イベントの検知に漏れがあった場合にもイベントの依存関係を判定することは有用である。
そこで、開示の管理装置10は、管理対象からイベントを取得する取得部11に加え、途中イベント抜けの推定部12および起点イベント抜けの推定部13を有する。
途中イベント抜けの推定部12は、差分算出部14と判定部16を有する。差分算出部14は、第1の管理対象であるCPU#2におけるイベントの発生時刻と第3の管理対象である業務X_DB,業務Y_DBにおけるイベントの発生時刻との差分を求める。判定部16は、差分算出部14が算出した差分が所定時間以内である場合に、業務X_DB,業務Y_DBにおけるイベントがCPU#2のイベントに基づくと判定する。
また、起点イベント抜けの推定部13は、差分算出部15と判定部17を有する。差分算出部15は、複数の第2の管理対象であるVM#3,6でそれぞれ発生したイベントについて、発生時刻の差分を求める。判定部17は、差分算出部15が算出した差分が所定時間以内である場合にVM#3,6で発生したイベントがCPU#2のイベントに基づくと判定する。
(途中イベント抜けの具体例)
途中イベント抜けの推定部12の動作について具体例を挙げて説明する。図14は、途中イベント抜けの具体例の説明図(その1)であり、図15は、途中イベント抜けの具体例の説明図(その2)である。図14,図15では、CPU#2、VM#3、業務X_DBのルートをAルート、CPU#2、VM#6、業務Y_DBのルートをBルートとする。
図14に示した例では、CPU#2から時刻T1に発生したイベントE1の通知があり、業務X_DBから時刻T31に発生したイベントE31の通知があがっている。また、VM#6から時刻T22に発生したイベントE22の通知があがり、業務Y_DBから時刻T32に発生したイベントE32の通知があがっている。しかし、VM#3からはイベントの通知があがっていない。
Bルートでは、時刻T1と時刻T22との差分が閾値Ts1以下であることから、イベントE22がイベントE1に依存していると判定できる。また、時刻T22と時刻T32との差分が閾値Ts2以下であることからイベントE32がイベントE22に依存していると判定できる。
しかし、Aルートでは、VM#3からイベントの通知がないため、VM#3のイベント通知を利用した障害の依存関係の判定ができない。
これに対し、途中イベント抜けの推定部12は、図15に示すように第1の管理対象であるCPU#2のイベント発生時刻と第3の管理対象である業務X_DBのイベント発生時刻から障害の依存関係を判定する閾値Ts3を用いて判定を行う。すなわち、途中イベント抜けの推定部13は、時刻T1と時刻T31との差分が閾値Ts3以下であれば、途中のVM#3からイベントの通知が無くともイベントE31がイベントE1に依存していると判定できる。
(起点イベント抜けの具体例)
起点イベント抜けの推定部13の動作について具体例を挙げて説明する。図16は、起点イベント抜けの具体例の説明図(その1)であり、図17は、起点イベント抜けの具体例の説明図(その2)である。図16,図17では、CPU#2、VM#3、業務X_DBのルートをAルート、CPU#2、VM#6、業務Y_DBのルートをBルートとする。
図16に示した例では、VM#3から時刻T21に発生したイベントE21の通知があがり、業務X_DBから時刻T31に発生したイベントE31の通知があがっている。また、VM#6から時刻T22に発生したイベントE22の通知があがり、業務Y_DBから時刻T32に発生したイベントE32の通知があがっている。しかし、CPU#2からはイベントの通知があがっていない。
Aルートでは、時刻T21と時刻T31との差分が閾値Ts2以下であることからイベントE31がイベントE21に依存していると判定できる。また、Bルートでは、時刻T22と時刻T32との差分が閾値Ts2以下であることからイベントE32がイベントE22に依存していると判定できる。
しかし、CPU#2からのイベント通知がないため、VM#3,6がイベントの起点であるように見える。
これに対し、起点イベント抜けの推定部13は、第2の管理対象であるVM#3,6のイベント発生時刻から障害の依存関係を判定する閾値Ts4を用いて判定を行う。すなわち、起点イベント抜けの推定部13は、時刻T21と時刻T22との差分が閾値Ts4以下であれば、起点のCPU#2からイベントの通知が無くともイベントE21,22がCPU#2のイベントに依存していると判定できる。
起点イベント抜けの推定部13による判定には、第3の管理対象からのイベントをさらに用いてもよい。具体的には、図17の例では、Aルートにおいて、時刻T21と時刻T31との差分が閾値Ts2以下であることからイベントE31はイベントE21に依存している。また、Bルートにおいて、時刻T22と時刻T32との差分が閾値Ts2以下であることからイベントE32はイベントE22に依存している。このように、CPU#2を起点とする2つのルートで共に第2の管理対象のイベントと第3の管理対象のイベントに依存関係があるため、CPU#2がイベントの起点であると判定する。
複数の第2のイベントが第1のイベントに基づくと判定した場合、第1のイベントの発生時刻の値について判定部17は、ダミーの値を作成する。具体的には、第2のイベントの発生時刻から所定時間を減算した値を第1のイベントの発生時刻とすることができる。第2のイベントの発生時刻から減算する時間は、任意の値を用いることができる。一例としてTs1を用いてもよい。
以上説明してきたように、本実施例1では、管理装置10は、第1のイベントの発生時刻と第3のイベントの発生時刻との差分を求め、差分が閾値Ts3以内である場合に第3のイベントが第1のイベントに基づくと判定する。また、管理装置10は、複数の第2の管理対象で発生した複数の第2のイベントの発生時刻の差分が閾値Ts4以内である場合に複数の第2のイベントが第1のイベントに基づくと判定する。このため、本実施例に開示した管理装置10は、イベントの検知に漏れがある場合であってもイベントの依存関係を判定することができる。
(情報管理処理手順)
つぎに、図4に示した情報管理装置400による管理処理手順について説明する。
図18は、本実施の形態にかかる情報管理装置400による情報管理処理手順を示すフローチャートである。まず、情報管理装置400は、初期設定として対象期間を指定し(ステップS1801)、対象期間内で開始区間となる対象区間を設定する(ステップS1802)。そして、情報管理装置400は、対象区間内にイベントがあるか否かをDB124〜126を参照することで判断する(ステップS1803)。
対象区間内にイベントがある場合(ステップS1803,Yes)、情報管理装置400は、取得部401により、対象区間内のイベントをDB124〜126から取得する(ステップS1804)。そして、特定部402により、取得イベントに該当する依存関係情報を特定する(ステップS1805)。
つぎに、判定部404による依存関係判定処理(ステップS1806)および決定部405による障害発生基点の判定処理(ステップS1807)を実行する。そして、障害発生基点の判定処理(ステップS1807)で判定された基点のイベントを保存対象イベントとしてDB408(統合管理DB103)に保存する(ステップS1808)。
このあと、対象期間が終了したか否かを判断する(ステップS1809)。対象期間が終了していない場合(ステップS1809,No)、対象区間をシフトして(ステップS1810)、次区間を対象区間とし、ステップS1803に戻る。現区間と次区間との間でイベントが通知される場合もあるため、次区間は、現区間と一部重複して設定することとしてもよい。
また、ステップS1803において、対象区間内にイベントがない場合(ステップS1803,No)、ステップS1809に移行する。また、ステップS1809において、対象期間が終了した場合(ステップS1809,Yes)、一連の管理処理を終了する。
図19は、図18に示した依存関係判定処理(ステップS1806)の詳細な処理手順を示すフローチャートである。まず、情報管理装置400は、ステップS1805において特定された依存関係情報の中に、依存関係判定が未処理のルートがあるか否かを判断する(ステップS1901)。未処理のルートがない場合(ステップS1901,No)、障害発生基点の判定処理(ステップS1807)に移行する。
一方、未処理のルートがある場合(ステップS1901,Yes)、情報管理装置400は、未処理のルートを選択する(ステップS1902)。たとえば、図11の依存関係情報700の場合、{CPU#2→VM#3→X_DB}、{CPU#2→VM#6→Y_DB}の2本のルートから未処理のルートを選択することとなる。
そして、情報管理装置400は、選択ルートの中に未処理の連結ノードの組み合わせがあるか否かを判断する(ステップS1903)。連結ノードの組み合わせとは、依存関係がある管理対象群で発生したイベント群の中から、依存元管理対象で発生した第1のイベントと依存元管理対象に依存する依存先管理対象で発生した第2のイベントとの組み合わせである。すなわち、リンクによって連結しあうノードの組み合わせである。未処理の連結ノードの組み合わせがない場合(ステップS1903,No)、ステップS1901に移行する。
一方、未処理の連結ノードの組み合わせがある場合(ステップS1903,Yes)、情報管理装置400は、未処理の連結ノードの組み合わせを選択する(ステップS1904)。たとえば、図6の依存関係情報600の場合、8個の組み合わせ{CPU#1,VM#1},{VM#1,X_Web},{CPU#1,VM#2},{VM#2,X_AP},{CPU#1,VM#4},{VM#4,Y_Web},{CPU#1,VM#5},{VM#5,Y_AP}の中から未処理の連結ノードの組み合わせを選択することとなる。
つぎに、情報管理装置400は、選択組み合わせの総数を計数するカウンタCa(初期値はCa=0)をインクリメントする(ステップS1905)。そして、情報管理装置400は、選択された連結ノードの組み合わせにおいて、イベントが不足しているか否かを判断する(ステップS1906)。イベントが不足していない場合(ステップS1906,No)、情報管理装置400は、選択された連結ノードの組み合わせ内の各管理対象からのイベントのタイムスタンプを読み出して、差分を算出する(ステップS1907)。
そして、情報管理装置400は、差分がしきい値Ts1あるいはTs2以内であるか否かを判断し(ステップS1908)、しきい値Ts1あるいはTs2以内である場合(ステップS1908,Yes)、依存関係が成立したこととなり、ステップS1903に戻る。一方、しきい値Ts1あるいはTs2以内でない場合(ステップS1908,No)、依存関係が不成立となり、情報管理装置400は、依存関係の不成立数を計数するカウンタCc(初期値はCc=0)をインクリメントする(ステップS1909)。そして、ステップS1903に戻る。
一方、ステップS1906において、イベント不足であると判断された場合(ステップS1906,Yes)、情報管理装置400は、イベントの不足が1つであるかを判定する(ステップS1910)。
この結果、イベントの不足数が1つではない場合(ステップS1910,No)、情報管理装置400は、イベントが2つとも欠落するケースの数を示すカウンタCd(初期値はCd=0)をインクリメントし(ステップS1917)、ステップS1903に戻る。
一方、ステップS1910において、イベントの不足数が1つであると判定した場合(ステップS1910,Yes)、情報管理装置400は、イベント不足の連結ノード数を計数するカウンタCb(初期値はCb=0)をインクリメントする(ステップS1911)。
ステップS1911の後、情報管理装置400は、2つのイベントの組み合わせが揃ったかを判定し(ステップS1912)、揃っていなければ(ステップS1912,No)ステップS1903に戻る。
一方、2つのイベントの組み合わせが揃った場合(ステップS1912,Yes)、情報管理装置400は、起点イベント抜け判定用カウンタMd(初期値はMd=0)をインクリメント(ステップS1913)する。その後、イベントのタイムスタンプを読み出して、差分を算出する(ステップS1914)。
そして、情報管理装置400は、差分がしきい値Ts3以内であるか否かを判断し(ステップS1915)、しきい値Ts3以内である場合(ステップS1915,Yes)、ステップS1903に戻る。一方、しきい値Ts3以内でない場合(ステップS1915,No)、依存関係が不成立となり、情報管理装置400は、カウンタCc(初期値はCc=0)に2を加え(ステップS1916)、ステップS1903に戻る。
図20は、図18に示した障害発生起点の判定処理(ステップS1807)の詳細な処理手順を示すフローチャートである。まず、情報管理装置400は、カウンタMdが正の値であるかを判定する(ステップS2001)。
カウンタMdが正の値でない場合(ステップS2001,No)、情報管理装置400は、途中イベント抜け判定処理(ステップS2002)を行って保存処理(ステップS1808)に移行する。一方、カウンタMdが正の値である場合(ステップS2001,Yes)、情報管理装置400は、起点イベント抜け判定処理(ステップS2003)を行って保存処理(ステップS1808)に移行する。
図21は、図20に示した途中イベント抜け判定処理(ステップS2002)の詳細について説明するフローチャートである。情報管理装置400は、(Ca−Cd)/CaがP以上であるかを判定する(ステップS2101)。ここで、Pは、信頼度を示す所定の値であり、任意の値を設定することができる。
(Ca−Cd)/CaがP未満である場合(ステップS2101,No)、情報管理装置400は、障害発生の基点が判定不可能であるとして(ステップS2105)、カウンタをリセットし(ステップS2106)、保存処理(ステップS1808)に移行する。
一方、(Ca−Cd)/CaがP以上である場合(ステップS2101,Yes)、情報管理装置400は、Ca−CdでCaを更新し(ステップS2102)、1−Cc/Caが1であるかを判定する(ステップS2103)。
1−Cc/Ca=1である場合(ステップS2103,Yes)、情報管理装置400は、最上位のノードが障害発生の起点であると判定して(ステップS2104)、カウンタをリセットし(ステップS2106)、保存処理(ステップS1808)に移行する。
一方、1−Cc/Ca=1でない場合(ステップS2103,No)、情報管理装置400は、障害発生の起点が判定不可能であるとして(ステップS2105)、カウンタをリセットし(ステップS2106)、保存処理(ステップS1808)に移行する。
図22は、図20に示した起点イベント抜け判定処理(ステップS2003)の詳細について説明するフローチャートである。情報管理装置400は、1−Cc/(Ca−Cd−Cb)がP以上であるかを判定する(ステップS2201)。ここで、Pは、信頼度を示す所定の値であり、任意の値を設定することができる。
1−Cc/(Ca−Cd−Cb)がP未満である場合(ステップS2201,No)、情報管理装置400は、障害発生の起点が判定不可能であるとして(ステップS2204)、カウンタをリセットし(ステップS2205)、保存処理(ステップS1808)に移行する。
一方、1−Cc/(Ca−Cd−Cb)がP以上である場合(ステップS2201,Yes)、情報管理装置400は、イベント発生時刻T2n(nは自然数)の最小値と最大値の差がTs4未満であるかを判定する(ステップS2202)。
イベント発生時刻T2nの最小値と最大値の差がTs4未満である場合(ステップS2202,Yes)、情報管理装置400は、最上位のノードが障害発生の起点であると判定して(ステップS2203)、カウンタをリセットし(ステップS2205)、保存処理(ステップS1808)に移行する。
一方、イベント発生時刻T2nの最小値と最大値の差がTs4以上である場合(ステップS2202,No)、情報管理装置400は、障害発生の起点が判定不可能であるとして(ステップS2204)、カウンタをリセットし(ステップS2205)、保存処理(ステップS1808)に移行する。
すなわち、ステップS2202の処理では、全てのイベント(T21〜T2n)がTs4未満の時間の間で発生した場合に、最上位のノードが障害発生の起点であると判定する。
変形例として、イベント発生時刻T2nのそれぞれに対して、すべてのイベント発生時刻T2nの中での最小値を引いた差|T2n−Tmin|がTs4未満である条件を満たす連結ノードの割合が所定比率R以上である場合に、最上位のノードが障害発生の起点であると判定することもできる。
図23は、起点イベント抜け判定の変形例の説明図である。図23に示した例では、CPU♯1にVM#1,VM#2,VM#4,VM#5が接続しており、VM#1,VM#2,VM#4,VM#5からイベント通知があがっている。また、VM#1には業務X_Webが接続し、VM#2には業務X_APが接続し、VM#4には業務Y_Webが接続し、VM#5には業務Y_APが接続している。そして、業務X_Web、業務X_AP、業務Y_Web、業務Y_APからもイベント通知があがっている。
CPU♯1からVM#1を経由して業務X_Webに至るルートがCルートであり、VM♯1は時刻T21にイベントE21を上げ、業務X_Webは時刻T31にイベントE31を上げている。
また、CPU♯1からVM#2を経由して業務X_APに至るルートがDルートであり、VM♯2は時刻T22にイベントE22を上げ、業務X_APは時刻T32にイベントE32を上げている。
CPU♯1からVM#4を経由して業務Y_Webに至るルートがEルートであり、VM♯4は時刻T23にイベントE23を上げ、業務Y_Webは、時刻T33にイベントE33を上げている。
CPU♯1からVM#5を経由して業務Y_APに至るルートがFルートであり、VM♯5は時刻T24にイベントE24を上げ、業務Y_APは、時刻T34にイベントE34を上げている。
イベントE21〜E24の発生時刻T21〜24の最小値、すなわち最も早くイベントがあがった時刻がT21である場合、情報管理装置400は、各イベント発生時刻からT21を引いた値がTs4未満であるかを判定する。したがって、図23の例では、T21−T21,T22−T21,T23−T21,T24−T21について、Ts4未満であるかを判定する。
例えば、T21−T21,T22−T21,T24−T21がTs4未満、T23−T21がTs4以上であり、Rが0.70である場合、4つのルートC〜Fのうち、ルートC,D,Fの3ルートがTs4未満を満たすので、3/4=0.75>Rとなり、CPU♯1が障害の起点であると判定することができる。
図24は、起点イベント抜け判定の変形例のフローチャートである。情報管理装置400は、1−Cc/(Ca−Cd−Cb)がP以上であるかを判定する(ステップS2401)。ここで、Pは、信頼度を示す所定の値であり、任意の値を設定することができる。
1−Cc/(Ca−Cd−Cb)がP未満である場合(ステップS2401,No)、情報管理装置400は、障害発生の基点が判定不可能であるとして(ステップS2410)、カウンタをリセットし(ステップS2422)、保存処理(ステップS1808)に移行する。
一方、1−Cc/(Ca−Cd−Cb)がP以上である場合(ステップS2401,Yes)、情報管理装置400は、イベント発生時刻T21〜T2n(nは自然数)の最小値をTminとする(ステップS2402)。
つぎに、情報管理装置400は、変数iを1とする(ステップS2403)。そして、T2i−Tmin<Ts4であるかを判定する(ステップS2404)。T2i−Tmin<Ts4が成立すれば(ステップS2404,Yes)、情報管理装置400は、カウンタCeをインクリメントする(ステップS2405,Yes)。カウンタCeの初期値は0である。ただしT2iは、S2401の条件を満たした連結ノードで発生した第1のイベントの発生時刻のみを対象とする。
ステップS2405の後、または、T2i−Tmin<Ts4が成立しない場合(ステップS2404,No)、情報管理装置400は、i=αであるかを判定する(ステップS2406)。ここで、α=Ca−Cb−Cc−Cdとする。
i=αでなければ(ステップS2406,No)、情報管理装置400は、iをインクリメントし(ステップS2407)、ステップS2404に戻る。i=αである場合(S2406,Yes)、情報管理装置400は、Ce/αが所定比率R以上であるかを判定する(S2408)。
Ce/αが所定比率R以上である場合(ステップS2408,Yes)、情報管理装置400は、最上位のノードが障害発生の起点であると判定して(ステップS2409)、カウンタをリセットし(ステップS2411)、保存処理(ステップS1808)に移行する。
一方、Ce/αが所定比率R未満である場合(ステップS2408,No)、情報管理装置400は、障害発生の起点が判定不可能であるとして(ステップS2410)、カウンタをリセットし(ステップS2411)、保存処理(ステップS1808)に移行する。
以上説明してきたように、本実施例では、情報管理装置400は、第1のイベントの発生時刻と第3のイベントの発生時刻との差分から第3のイベントが第1のイベントに基づくと判定することができる。また、情報管理装置400は、複数の第2の管理対象で発生した複数の第2のイベントの発生時刻の差分から複数の第2のイベントが第1のイベントに基づくと判定することができる。このため、情報管理装置400は、イベントの検知に漏れがある場合であってもイベントの依存関係を判定することができる。
加えて、情報管理装置400は、障害の起点となるイベントを保存することができるため、重要なイベントを選択的に保存可能である。
障害の基点となるイベントが保存できていれば、そのイベントが持つ情報をキーにして、依存関係情報を参照して依存関係が伝搬する管理対象からのイベントを、DB124〜126から検索することができる。したがって、保存データ量の削減とイベント検索の効率化を図ることができる。また、障害の起点となるイベントがわかれば、当該イベントを発生した管理対象を容易に特定できるため、メンテナンスの容易化も図ることができる。
さらに、保存対象イベントとともに信頼度を保存することで、管理者がデータベース(統合管理DB103)を参照する際に、信頼度に応じて、DB124〜126を検索するかしないかの判断指標とすることができる。
また、本実施の形態では、障害イベントや監視イベントを通知するものであれば管理対象とすることができる。たとえば、クラウドコンピューティングにおいて、ネットワーク構成またはサーバ、クライアント、さらにその中間に存在する論理レイヤを示した管理対象として適用することができる。
この場合、たとえば、クラウドコンピューティング環境で利用されるサーバやクライアント、それらをつなぐネットワークなどを監視するシステムにおいて、膨大なイベントをログとして保存しなければならないストレージを装備するシステムに有効である。
なお、本実施の形態で説明した管理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報管理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報管理プログラムは、インターネット等のネットワークを介して配布してもよい。
10 管理装置
11 取得部
12 途中イベント抜けの推定部
13 起点イベント抜けの推定部
14,15 差分算出部
16,17 判定部
100 情報管理システム
101 管理対象装置
102 管理機能
113 業務プロセス
127 統合管理機能
400 情報管理装置
401 取得部
402 特定部
403 抽出部
404 判定部
405 決定部
406 算出部
407 保存部
500 プロセス割当テーブル
600,700,801〜806,901〜906 依存関係情報

Claims (10)

  1. 第1の管理対象と、前記第1の管理対象で発生した第1のイベントに依存して第2のイベントを発生する第2の管理対象と、前記第2の管理対象で発生した前記第2のイベントに依存して第3のイベントを発生する第3の管理対象とを管理する管理装置であって、
    前記第1のイベントの発生時刻と前記第3のイベントの発生時刻との差分を求める差分算出部と、
    前記差分算出部が算出した差分が所定時間以内である場合に前記第3のイベントが前記第1のイベントに基づいて発生したと判定する判定部と
    を備えたことを特徴とする管理装置。
  2. 前記判定部は、算出した前記差分が所定時間以内でない場合に前記第3のイベントが前記第1のイベントに基づかずに発生したと判定することを特徴とする請求項1に記載の管理装置。
  3. 第1の管理対象と、前記第1の管理対象で発生した第1のイベントに依存して各々第2のイベントを発生する複数の第2の管理対象とを管理する管理装置であって、
    前記複数の第2の管理対象で発生した複数の第2のイベントの発生時刻の差分を求める差分算出部と、
    前記差分算出部が算出した差分が所定時間以内である場合に前記複数の第2のイベントが前記第1のイベントに基づいて発生したと判定する判定部と、
    を備えたことを特徴とする管理装置。
  4. 前記判定部は、算出した前記差分が所定時間以内でない場合に前記複数の第2のイベントが前記第1のイベントに基づかずに発生したと判定することを特徴とする請求項3に記載の管理装置。
  5. 前記複数の第2の管理対象の数と、前記複数の第2の管理対象のうち前記第2のイベントを発生した前記第2の管理対象の数に基づいて信頼度を算出し、
    前記判定部は、前記信頼度が所定値以上で、かつ前記差分が所定時間以内である場合に前記複数の第2のイベントが前記第1のイベントに基づいて発生したと判定することを特徴とする請求項3または4に記載の管理装置。
  6. 前記判定部は、前記複数の第2のイベントが前記第1のイベントに基づいて発生したと判定した場合に、前記第1のイベントの発生時刻のダミー値を作成することを特徴とする請求項3〜5のいずれか1つに記載の管理装置。
  7. 第1の管理対象と、前記第1の管理対象で発生した第1のイベントに依存して第2のイベントを発生する第2の管理対象と、前記第2の管理対象で発生した前記第2のイベントに依存して第3のイベントを発生する第3の管理対象とを管理する管理プログラムであって、
    前記第1のイベントの発生時刻と前記第3のイベントの発生時刻との差分を求める差分算出手順と、
    前記差分算出手順で算出した差分が所定時間以内である場合に前記第3のイベントが前記第1のイベントに基づいて発生したと判定する判定手順と
    をコンピュータに実行させることを特徴とする管理プログラム。
  8. 第1の管理対象と、前記第1の管理対象で発生した第1のイベントに依存して各々第2のイベントを発生する複数の第2の管理対象とを管理する管理プログラムであって、
    前記複数の第2の管理対象で発生した複数の第2のイベントの発生時刻の差分を求める差分算出手順と、
    前記差分算出手順で算出した差分が所定時間以内である場合に前記複数の第2のイベントが前記第1のイベントに基づいて発生したと判定する判定手順と
    をコンピュータに実行させることを特徴とする管理プログラム。
  9. 第1の管理対象と、前記第1の管理対象で発生した第1のイベントに依存して第2のイベントを発生する第2の管理対象と、前記第2の管理対象で発生した前記第2のイベントに依存して第3のイベントを発生する第3の管理対象とを管理する管理方法であって、
    前記第1のイベントの発生時刻と前記第3のイベントの発生時刻との差分を求める差分算出ステップと、
    前記差分算出ステップで算出した差分が所定時間以内である場合に前記第3のイベントが前記第1のイベントに基づいて発生したと判定する判定ステップと
    を含んだことを特徴とする管理方法。
  10. 第1の管理対象と、前記第1の管理対象で発生した第1のイベントに依存して各々第2のイベントを発生する複数の第2の管理対象とを管理する管理方法であって、
    前記複数の第2の管理対象で発生した複数の第2のイベントの発生時刻の差分を求める差分算出ステップと、
    前記差分算出ステップで算出した差分が所定時間以内である場合に前記複数の第2のイベントが前記第1のイベントに基づいて発生したと判定する判定ステップと
    を含んだことを特徴とする管理方法。
JP2010282212A 2010-12-17 2010-12-17 管理装置、管理プログラム、および管理方法 Expired - Fee Related JP5685922B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010282212A JP5685922B2 (ja) 2010-12-17 2010-12-17 管理装置、管理プログラム、および管理方法
US13/288,136 US20120159519A1 (en) 2010-12-17 2011-11-03 Event dependency management apparatus and event dependency management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010282212A JP5685922B2 (ja) 2010-12-17 2010-12-17 管理装置、管理プログラム、および管理方法

Publications (2)

Publication Number Publication Date
JP2012128811A JP2012128811A (ja) 2012-07-05
JP5685922B2 true JP5685922B2 (ja) 2015-03-18

Family

ID=46236271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010282212A Expired - Fee Related JP5685922B2 (ja) 2010-12-17 2010-12-17 管理装置、管理プログラム、および管理方法

Country Status (2)

Country Link
US (1) US20120159519A1 (ja)
JP (1) JP5685922B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9179358B2 (en) * 2012-12-21 2015-11-03 Qualcomm Incorporated Techniques for reducing network congestion in a wireless communications system
US9232178B2 (en) * 2013-03-15 2016-01-05 Intelmate Llc Time-based multivariable secure facility alarm system
WO2015128896A1 (ja) 2014-02-26 2015-09-03 三菱電機株式会社 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) * 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US11947489B2 (en) 2017-09-05 2024-04-02 Robin Systems, Inc. Creating snapshots of a storage volume in a distributed storage system
JP7032640B2 (ja) * 2017-12-28 2022-03-09 富士通株式会社 影響範囲特定プログラム、影響範囲特定方法、および影響範囲特定装置
US11748203B2 (en) 2018-01-11 2023-09-05 Robin Systems, Inc. Multi-role application orchestration in a distributed storage system
US11582168B2 (en) 2018-01-11 2023-02-14 Robin Systems, Inc. Fenced clone applications
US11392363B2 (en) 2018-01-11 2022-07-19 Robin Systems, Inc. Implementing application entrypoints with containers of a bundled application
US11520650B2 (en) * 2019-09-05 2022-12-06 Robin Systems, Inc. Performing root cause analysis in a multi-role application
US11347684B2 (en) 2019-10-04 2022-05-31 Robin Systems, Inc. Rolling back KUBERNETES applications including custom resources
US11099979B2 (en) 2019-10-31 2021-08-24 International Business Machines Corporation Testing and modifying calendar and event sensitive timer series data analytics
US11403188B2 (en) 2019-12-04 2022-08-02 Robin Systems, Inc. Operation-level consistency points and rollback
US11528186B2 (en) 2020-06-16 2022-12-13 Robin Systems, Inc. Automated initialization of bare metal servers
US11740980B2 (en) 2020-09-22 2023-08-29 Robin Systems, Inc. Managing snapshot metadata following backup
US11743188B2 (en) 2020-10-01 2023-08-29 Robin Systems, Inc. Check-in monitoring for workflows
US11271895B1 (en) 2020-10-07 2022-03-08 Robin Systems, Inc. Implementing advanced networking capabilities using helm charts
US11456914B2 (en) 2020-10-07 2022-09-27 Robin Systems, Inc. Implementing affinity and anti-affinity with KUBERNETES
US11750451B2 (en) 2020-11-04 2023-09-05 Robin Systems, Inc. Batch manager for complex workflows
US11556361B2 (en) 2020-12-09 2023-01-17 Robin Systems, Inc. Monitoring and managing of complex multi-role applications

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768501A (en) * 1996-05-28 1998-06-16 Cabletron Systems Method and apparatus for inter-domain alarm correlation
US5771274A (en) * 1996-06-21 1998-06-23 Mci Communications Corporation Topology-based fault analysis in telecommunications networks
JP2001067248A (ja) * 1999-08-27 2001-03-16 Nec Software Hokuriku Ltd 障害ログの採取方式及びその方法
US20030149717A1 (en) * 2002-02-05 2003-08-07 William Heinzman Batch processing job streams using and/or precedence logic
US7454761B1 (en) * 2002-12-20 2008-11-18 Cisco Technology, Inc. Method and apparatus for correlating output of distributed processes
US7457872B2 (en) * 2003-10-15 2008-11-25 Microsoft Corporation On-line service/application monitoring and reporting system
US20050091356A1 (en) * 2003-10-24 2005-04-28 Matthew Izzo Method and machine-readable medium for using matrices to automatically analyze network events and objects
US7631222B2 (en) * 2004-08-23 2009-12-08 Cisco Technology, Inc. Method and apparatus for correlating events in a network
US20060111993A1 (en) * 2004-11-23 2006-05-25 International Business Machines Corporation System, method for deploying computing infrastructure, and method for identifying an impact of a business action on a financial performance of a company
JP4172807B2 (ja) * 2006-09-08 2008-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害発生の原因箇所の発見を支援する技術
US7974800B2 (en) * 2006-12-12 2011-07-05 International Business Machines Corporation Method, apparatus, and program for detecting the correlation between repeating events
US10127129B2 (en) * 2007-02-27 2018-11-13 Red Hat, Inc. Non-invasive time-based profiling tool
US7895146B2 (en) * 2007-12-03 2011-02-22 Microsoft Corporation Time modulated generative probabilistic models for automated causal discovery that monitors times of packets
US8924794B2 (en) * 2008-02-21 2014-12-30 Hewlett-Packard Development Company, L.P. Method and computer program product for forecasting system behavior
JP5240709B2 (ja) * 2008-03-31 2013-07-17 インターナショナル・ビジネス・マシーンズ・コーポレーション シンプトンを評価するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US8280683B2 (en) * 2008-07-17 2012-10-02 International Business Machines Corporation Probabilistic framework for the highly efficient correlation of call chains with hardware events
JP5444673B2 (ja) * 2008-09-30 2014-03-19 富士通株式会社 ログ管理方法、ログ管理装置、ログ管理装置を備えた情報処理装置、及びプログラム
JP5422989B2 (ja) * 2008-12-17 2014-02-19 富士通株式会社 トランザクションモデル生成支援プログラム、トランザクションモデル生成支援装置、およびトランザクションモデル生成支援方法
US8473951B2 (en) * 2009-12-30 2013-06-25 Bmc Software, Inc. Method and system for traversing in reverse chronological order along a critical path of a plurality of jobs, and reducing time gaps between jobs until an estimated end time of the last job is less than or equal to a target end time

Also Published As

Publication number Publication date
JP2012128811A (ja) 2012-07-05
US20120159519A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
JP5685922B2 (ja) 管理装置、管理プログラム、および管理方法
JP5468837B2 (ja) 異常検出方法、装置、及びプログラム
KR101797185B1 (ko) 분산 환경에서 효율적으로 트랜젝션-분리 메트릭들을 수집하는 방법
EP4086771B1 (en) Method and system for the on-demand generation of graph-like models out of multidimensional observation data
CN109213747B (zh) 一种数据管理方法及装置
US8001075B2 (en) Log file amnesia detection
US9027037B2 (en) Information output device, method, and recording medium for outputting notification information corresponding to a state of a computer
JP6150453B2 (ja) サーバ装置、システム、およびログ収集支援方法
Sambasivan et al. So, you want to trace your distributed system? Key design insights from years of practical experience
JPWO2010061735A1 (ja) 検出イベントに応じたアクション実行を支援するシステム、検出イベントに応じたアクション実行を支援する方法、支援装置及びコンピュータプログラム
CN110019239B (zh) 上报数据的存储方法、装置、电子设备和存储介质
CN107710189B (zh) 文档间的内容多模式共享
CN108170832B (zh) 一种面向工业大数据的异构数据库的监控系统及监控方法
CN109460345B (zh) 实时数据的计算方法及系统
Diotalevi et al. Collection and harmonization of system logs and prototypal Analytics services with the Elastic (ELK) suite at the INFN-CNAF computing centre
Park et al. A big data analytics framework for hpc log data: Three case studies using the titan supercomputer log
JP5423427B2 (ja) 情報管理プログラム、情報管理装置、および情報管理方法
Cao et al. Timon: A timestamped event database for efficient telemetry data processing and analytics
Peng et al. Mining logs files for data-driven system management
US7287144B2 (en) Hit ratio estimation device, hit ratio estimation method, hit ratio estimation program and recording medium
JP5240709B2 (ja) シンプトンを評価するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5790411B2 (ja) 並列の分散環境において対話的クライアント‐サーバー・アプリケーションの効率的な部分的クロールを行う技法
JP5454235B2 (ja) 監視プログラム、監視装置、および監視方法
JP6305258B2 (ja) 情報処理装置及び情報処理方法及びプログラム
CN116431688B (zh) 一种数据的处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

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: 20141224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150106

R150 Certificate of patent or registration of utility model

Ref document number: 5685922

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees