JPWO2013088565A1 - 検知装置、検知プログラムおよび検知方法 - Google Patents

検知装置、検知プログラムおよび検知方法 Download PDF

Info

Publication number
JPWO2013088565A1
JPWO2013088565A1 JP2013549034A JP2013549034A JPWO2013088565A1 JP WO2013088565 A1 JPWO2013088565 A1 JP WO2013088565A1 JP 2013549034 A JP2013549034 A JP 2013549034A JP 2013549034 A JP2013549034 A JP 2013549034A JP WO2013088565 A1 JPWO2013088565 A1 JP WO2013088565A1
Authority
JP
Japan
Prior art keywords
event
combination
occurrence
occurred
messages
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.)
Granted
Application number
JP2013549034A
Other languages
English (en)
Other versions
JP5692414B2 (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
Application granted granted Critical
Publication of JP5692414B2 publication Critical patent/JP5692414B2/ja
Publication of JPWO2013088565A1 publication Critical patent/JPWO2013088565A1/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/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/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
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)

Abstract

検知装置(10)は、第一の算出部(15b)と、第二の算出部(15c)と、格納部(15d)とを有する。第一の算出部(15b)は、システムの構成が変更された場合などに、システムで発生したメッセージの組み合わせについて、組み合わせが発生した数に対する、組み合わせが発生した時間に対応する時間にシステムで発生した事象の数の割合を算出する。第二の算出部(15c)は、割合と、事象の数とに基づいて、メッセージの組み合わせが、事象の発生などを検知する場合に用いられるか否かを判断するための指標を算出する。格納部(15d)は、指標が、事象の発生などを検知する場合に用いられる条件を満たすことを示す場合には、次のような処理を行う。すなわち、格納部(15d)は、メッセージの組み合わせを事象の発生などを検知する場合に用いられるメッセージの組み合わせとして記憶部(14)に格納する。

Description

本発明は、検知装置、検知プログラムおよび検知方法に関する。
IT(Information Technology)システムなどの各種システムにおいて発生するメッセージのログ(メッセージログ)から、システムの障害などの各種事象の発生または事象が発生する予兆を検知する検知装置がある。
例えば、検知装置は、メッセージログから、メッセージを抽出する。そして、検知装置は、抽出したメッセージをメッセージの種類ごとに分類する。続いて、検知装置は、システムの障害の種類と障害の発生日時とが対応付けられて登録された第一のDB(Data Base)を参照し、1つ以上のメッセージの種類のパターンと、そのパターンの発生日時に対応する障害の種類と用いて、次のような確率を算出する。すなわち、検知装置は、メッセージの種類のパターンごとに、このパターンが示すメッセージが発生した場合に発生する事象の確率を算出する。続いて、検知装置は、メッセージの種類のパターンと、事象と、確率とを対応付けて第二のDBに登録する。このようにして、検知装置は、メッセージの種類のパターンごとに、発生する事象の確率を学習する。そして、検知装置は、システムにおいて1つ以上のメッセージが発生した場合には、第二のDBを参照し、かかるメッセージの種類のパターンに対応する確率が閾値以上であるときに、このパターンに対応する事象の発生を検知する。そして、検知装置は、検知結果を、システムを管理する管理者などのユーザが使用する端末に通知する。
なお、関連する技術として、ネットワークに多数のエラー(バーストエラー)が発生した場合に、多数のエラーを1つのエラーとして捉える装置がある。
さらに、関連する技術として、学習済みの障害検知ルールをポリシーに従って加工し、加工した障害検知ルールの誤検出率や未検出率を評価して、評価結果が良好な障害検知ルールを採用するコンピュータシステムがある。
特開平9−219720号公報 特開2009−157830号公報
渡辺幸洋、松本安英「メッセージパターン学習による障害発生検知」 情報処理学会論文誌 2009年12月10日
しかしながら、上記の検知装置では、システムの運用開始直後や、サーバの追加やサーバ上で実行されるアプリケーションの変更および追加などのシステムの構成の変更直後に、精度良く、事象の発生などを検知できないという問題がある。
例えば、システムの構成の変更直後には、新たな種類のメッセージが発生する場合がある。この場合、検知装置では、未学習の新たな種類のメッセージを含むパターンについて、事象の発生の確率などの学習が行われるが、学習された回数が少ないため、学習結果の精度が良好なものとは限らない。例えば、新たな種類のメッセージの発生と同じタイミングで、このメッセージの発生とは関係がない事象が発生した場合には、検知装置では、次のような学習結果が得られる。すなわち、検知装置では、新たな種類のメッセージを含むパターンに対して、かかる事象が発生する確率が100%として学習されてしまう。よって、検知装置では、システムの構成変更直後には、学習結果の精度が低い場合がある。したがって、検知装置では、システムの構成変更直後に、精度良く、事象の発生などを検知することができない。
また、システムの運用開始直後についても、検知装置では、学習回数が少ないため、同様に、学習結果の精度が低い場合がある。したがって、検知装置では、システムの運用開始直後についても、精度良く、事象の発生などを検知することができない。
1つの側面では、本発明は、事象の発生などを検知する精度が低下することを抑制することを目的とする。
1つの案では、本願の開示する検知装置は、第一の算出部と、第二の算出部と、格納部とを有する。第一の算出部は、システムの運用が開始された場合またはシステムの構成が変更された場合に、次のような処理を行う。すなわち、第一の算出部は、システムで発生したメッセージの組み合わせについて、組み合わせが発生した数に対する、組み合わせが発生した時間に対応する時間にシステムで発生した事象の数の割合を算出する。なお、このメッセージは、システムの運用が開始されてから、または、システムの構成が変更されてから、システムで発生したものである。第二の算出部は、第一の算出部により算出された割合と、事象の数とに基づいて、メッセージの組み合わせが、事象の発生または事象が発生する予兆を検知する場合に用いられるか否かを判断するための指標を算出する。格納部は、第二の算出部で算出された指標が、事象の発生または事象が発生する予兆を検知する場合に用いられる条件を満たすことを示す場合には、次のような処理を行う。すなわち、格納部は、メッセージの組み合わせを事象の発生または事象が発生する予兆を検知する場合に用いられるメッセージの組み合わせとして記憶部に格納する。
事象の発生などを検知する精度が低下することを抑制することができる。
図1は、実施例に係る検知装置が適用されるシステム構成の一例を示す図である。 図2は、実施例に係る検知装置の機能構成の一例を示す図である。 図3は、第一のDBのデータ構成の一例を示す図である。 図4は、第二のDBのデータ構成の一例を示す図である。 図5は、第三のDBに登録されるファイルのデータ構成の一例を示す図である。 図6は、第四のDBのデータ構成の一例を示す図である。 図7は、第五のDBのデータ構成の一例を示す図である。 図8は、実施例に係る第一の登録処理の手順を示すフローチャートである。 図9は、実施例に係る削除処理の手順を示すフローチャートである。 図10は、実施例に係る第二の登録処理の手順を示すフローチャートである。 図11は、実施例に係る格納処理の手順を示すフローチャートである。 図12は、本実施例に係る検知装置10による効果を説明するための図である。 図13は、検知プログラムを実行するコンピュータを示す図である。
以下に、本願の開示する検知装置、検知プログラムおよび検知方法の各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例に係る検知装置について説明する。図1は、実施例に係る検知装置が適用されるシステム構成の一例を示す図である。図1の例では、システム1は、検知装置10と、クラウドシステム20とを有する。検知装置10と、クラウドシステム20とは、ネットワーク50を介して、通信可能である。検知装置10およびクラウドサーバ40は、例えば、クラウド事業者などのICT(Information and Communication Technology)システム内に設けられる。
図1の例が示すクラウドシステム20は、3台のクラウドサーバ20aを有する。なお、クラウドシステム20が有するクラウドサーバ20aの台数は、任意の値を採用することができる。クラウドサーバ20aは、1つ以上のVM(Virtual Machine;仮想マシン)を生成する。VMは、クラウドシステム20を利用する利用者の利用者端末(図示せず)からの各種アプリケーションを実行する指示に応じて、各種アプリケーションを実行し、利用者端末にアプリケーションの実行結果を送信する。このようにして、クラウドシステム20は、利用者にサービスを提供する。
また、クラウドシステム20では、クラウドサーバ20a、VMは、クラウドサーバ20a、VMで発生した障害などの各種の事象を、事象が発生した日時とともに検知装置10へ送信する。また、クラウドシステム20では、クラウドサーバ20a、VMは、クラウドサーバ20a、VMで生成された各種のメッセージを記憶装置(図示せず)へ格納する。また、クラウドシステム20では、クラウドサーバ20a、VMは、メッセージを検知装置10へ送信する。
また、クラウドシステム20では、VMで実行されるアプリケーションの変更、クラウドサーバ20aの追加など構成変更が行われると、構成変更が行われたクラウドサーバ20aやVMは、構成変更が行われた旨のメッセージを検知装置10へ送信する。また、クラウドシステム20では、いずれかのクラウドサーバ20aは、クラウドシステム20の運用が開始されると、運用が開始された旨のメッセージを検知装置10へ送信する。
検知装置10は、後述するように、メッセージの組み合わせ(パターン)のうち、成熟度が閾値αを超えたメッセージの組み合わせを検知用のメッセージの組み合わせとして用いる。よって、検知装置10によれば、システムの運用開始直後や、システムの構成の変更直後に新たに発生したメッセージについては、検知用のメッセージとして用いられない。したがって、検知装置10によれば、システムの運用開始直後や、システムの構成の変更直後であっても、検知する際の精度が不確かなメッセージを用いないため、精度良く事象を検知することができる。
なお、システム1に含まれる検知装置10、クラウドサーバ20aの台数は、任意の台数を採用することができる。また、クラウドサーバ20aで生成されるVMの台数についても任意の台数を採用することができる。
[検知装置の機能構成]
図2は、実施例に係る検知装置の機能構成の一例を示す図である。図2に示すように、検知装置10は、入力部11と、出力部12と、通信部13と、記憶部14と、制御部15とを有する。
入力部11は、各種情報を制御部15に入力する。例えば、入力部11は、ユーザから各種の指示を受け付けて、受け付けた指示を制御部15に入力する。入力部11のデバイスの一例としては、マウスやキーボードなどの利用者の操作を受け付けるデバイスなどが挙げられる。
出力部12は、各種の情報を出力する。例えば、出力部12は、後述の報知制御部15fの表示の制御により、検知結果を表示する。出力部12のデバイスの一例としては、液晶ディスプレイなどが挙げられる。
通信部13は、各装置間の通信を行うためのインターフェースである。例えば、通信部13は、クラウドシステム20に接続される。これにより、検知装置10と、クラウドシステム20とが通信を行うことができる。例えば、通信部13は、クラウドシステム20から事象の種類と、事象が発生した日時とを受信すると、受信した事象の種類と事象が発生した日時とを制御部15へ送信する。また、通信部13は、クラウドシステム20からメッセージを受信すると、受信したメッセージを制御部15へ送信する。また、通信部13は、クラウドシステム20から、構成変更が行われた旨のメッセージを受信すると、受信したメッセージを制御部15へ送信する。また、通信部13は、クラウドシステム20から、運用が開始された旨のメッセージを受信すると、受信したメッセージを制御部15へ送信する。
記憶部14は、各種情報を記憶する。例えば、記憶部14は、メッセージログ14a、第一のDB14b、第二のDB14c、第三のDB14d、第四のDB14e、第五のDB14fを記憶する。
メッセージログ14aは、クラウドシステム20のクラウドサーバ20a、VMなどの装置の状態、アプリケーションの実行状態などを示す各種のメッセージのログである。メッセージログ14aは、後述の格納制御部15aにより記憶部14に格納される。
第一のDB14bには、クラウドシステム20で発生した事象の種類、および、事象が発生した日時が対応付けられて登録される。図3は、第一のDBのデータ構成の一例を示す図である。図3の例では、第一のDB14bは、「事象の種類」、「発生日時」の各項目を有する。図3の例では、「事象の種類」の項目に、クラウドシステム20で発生した事象の種類が登録される。また、図3の例では、「発生日時」の項目に、事象が発生した日時が登録される。第一のDB14bの各項目には、後述の格納制御部15aにより、対応する内容が登録される。図3の例に示す第一のDB14bの1番目のレコードは、HDD(Hard Disk Drive)に障害が発生したHDD障害の事象が、2011年6月12日10時15分0秒に発生したことを示す。また、図3の例に示す第一のDB14bの2番目のレコードは、アプリケーションの性能の劣化が発生したアプリ性能劣化の事象が、2011年6月12日10時16分5秒に発生したことを示す。
第二のDB14cには、メッセージと、メッセージの種類とが対応付けられて登録される。図4は、第二のDBのデータ構成の一例を示す図である。図4の例では、第二のDB14cは、「メッセージ」、「メッセージの種類」の各項目を有する。図4の例では、「メッセージ」の項目に、メッセージの内容が登録される。また、図4の例では、「メッセージの種類」の項目に、メッセージの種類を示す識別子が登録される。第二のDB14cは、後述の第一の算出部15bにより、メッセージログ14aのメッセージの種類を分類する際に用いられる。図4の例に示す第二のDB14cの1番目のレコードは、内容が「ubuzou kernel・・・」であるメッセージの種類が、「1」の識別子が示す種類である場合を示す。図4の例に示す第二のDB14cの2番目のレコードは、内容が「com.fff・・・」であるメッセージの種類が、「2」の識別子が示す種類である場合を示す。
第三のDB14dには、事象の発生または事象が発生する予兆を検知する際に用いられる後述の第五のDB14fに登録される前のメッセージの組み合わせが登録されたファイルが登録される。第三のDB14dには、クラウドシステム20の運用が開始された場合に、1番目のファイルが登録され、クラウドシステム20の構成変更が行われるたびに、新しいファイルが登録される。図5は、第三のDBに登録されるファイルのデータ構成の一例を示す図である。図5の例では、第三のDB14dに登録される各ファイル14d_1、14d_2、14d_3、・・・は、「ID」、「構成変更日時」の項目を有する。
図5の例では、「ID」の項目に、ファイルを識別するための識別子が登録される。また、図5の例では、「構成変更日時」の項目に、1番目のファイル14d_1では、クラウドシステム20の運用が開始された日時が登録され、2番目以降のファイル14d_2、14d_3、・・・では、構成変更が行われた日時が登録される。図5の例は、ファイル14d_1の「ID」の項目に、ファイル14d_1の識別子「02e631d1−94c4−4391−a9c2−07d5fc3f75f9」が登録された場合を示す。また、図5の例は、ファイル14d_1の「構成変更日時」の項目に、クラウドシステム20の構成変更が行われた日時または運用が開始された日時「2011年6月12日10時15分0秒」が登録された場合を示す。ファイルの「ID」、「構成変更日時」の各項目には、後述の格納制御部15aにより、対応する内容が登録される。
また、図5の例では、第三のDB14dに登録される各ファイル14d_1などは、「メッセージパターン」、「事象の種類」、「パターンが発生した回数」、「パターン発生後に事象が発生した回数」、「事象発生確率」、「成熟度」の項目を有する。
図5の例では、「メッセージパターン」の項目に、1つ以上のメッセージの識別子の組み合わせが登録される。また、図5の例では、「事象の種類」の項目に、事象の種類が登録される。また、図5の例では、「パターンが発生した回数」の項目に、メッセージの組み合わせが発生した回数が登録される。また、図5の例では、「パターン発生後に事象が発生した回数」の項目に、メッセージの組み合わせが発生した後から、所定時間、例えば、15秒経過後までの間に事象が発生した回数が登録される。また、図5の例では、「事象発生確率」の項目に、メッセージの組み合わせに対する事象が発生する確率が登録される。また、図5の例では、「成熟度」の項目に、事象の発生または事象が発生する予兆を検知する際に用いられる後述の第五のDB14fに、メッセージの組み合わせを登録するか否かを判断するための指標が登録される。
図5の例は、ファイル14d_1の「メッセージパターン」の項目に、5つのメッセージの識別子「1,3,4,7,16」が登録された場合を示す。また、図5の例は、ファイル14d_1の「事象の種類」の項目に、HDD障害が登録された場合を示す。また、図5の例は、ファイル14d_1の「パターンが発生した回数」の項目に、識別子「1,3,4,7,16」が示す5つのメッセージが発生した回数「2」が登録された場合を示す。また、図5の例は、ファイル14d_1の「パターン発生後に事象が発生した回数」の項目に、識別子「1,3,4,7,16」が示す5つのメッセージが発生した後に、HDD障害の事象が発生した回数「2」が登録された場合を示す。また、図5の例は、ファイル14d_1の「事象発生確率」の項目に、識別子「1,3,4,7,16」が示す5つのメッセージの組み合わせに対して、HDD障害の事象が発生する確率「1.00(100%)」が登録された場合を示す。また、図5の例は、ファイル14d_1の「成熟度」の項目に、識別子「1,3,4,7,16」が示す5つのメッセージの組み合わせについての上述した指標「2.0」が登録された場合を示す。ファイルの「メッセージパターン」、「事象の種類」、「パターンが発生した回数」、「パターン発生後に事象が発生した回数」、「事象発生確率」、「成熟度」の各項目には、後述の第一の算出部15bまたは第二の算出部15cにより、対応する内容が登録される。
第四のDB14eには、メッセージの組み合わせと、メッセージの組み合わせが登録される第三のDB14dのファイルの識別子とが対応付けられて登録される。図6は、第四のDBのデータ構成の一例を示す図である。図6の例では、第四のDB14eは、「新規パターン登録先」の項目を有する。図6の例では、「新規パターン登録先」の項目に、新たに発生したメッセージの組み合わせが登録される第三のDB14dのファイルを特定するための情報、例えば、第三のDB14dのファイルの識別子が登録される。「新規パターン登録先」の項目には、後述の格納制御部15aにより、新たに発生したメッセージの組み合わせが登録される第三のDB14dのファイルの識別子が登録される。図6の例は、「新規パターン登録先」の項目に、ファイル14d_2の識別子「24fa6618−2118−440a−8591−bc9c5b99ec52」が登録された場合を示す。
また、図6の例では、第四のDB14eは、「メッセージパターン」、「登録先」の項目を有する。図6の例では、「メッセージパターン」の項目に、1つ以上のメッセージの識別子の組み合わせが登録される。また、図6の例では、「登録先」の項目に、メッセージの組み合わせが登録される登録先、例えば、第三のDB14dのファイル、および、第五のDBの識別子が登録される。図6の例では、識別子「1,3,4,7,9」が示す5つのメッセージの組み合わせの登録先が、識別子「00000000−0000−0000−0000−00000000」が示す第五のDB14fであることを示す。また、図6の例では、識別子「1,3,4,7,16」が示す5つのメッセージの組み合わせの登録先が、識別子「02e631d1−94c4−4391−a9c2−07d5fc3f75f9」が示すファイル14d_1であることを示す。また、図6の例では、識別子「6,8,9,11」が示す4つのメッセージの組み合わせの登録先が、識別子「24fa6618−2118−440a−8591−bc9c5b99ec52」が示すファイル14d_2であることを示す。「登録先」の項目には、後述の第一の算出部15bにより、新たに発生したメッセージの組み合わせが登録される第三のDB14dのファイルの識別子が登録される。また、「登録先」の項目は、後述の格納部15dにより、登録先が更新される。
第五のDB14fは、事象の発生または事象が発生する予兆を検知する際に用いられるメッセージの組み合わせが登録される。図7は、第五のDBのデータ構成の一例を示す図である。図7の例では、第五のDB14fは、「メッセージパターン」、「事象の種類」、「パターンが発生した回数」、「パターン発生後に事象が発生した回数」、「事象発生確率」の各項目を有する。
図7の例では、「メッセージパターン」の項目に、1つ以上のメッセージの識別子の組み合わせが登録される。また、図7の例では、「事象の種類」の項目に、事象の種類が登録される。また、図7の例では、「パターンが発生した回数」の項目に、メッセージの組み合わせが発生した回数が登録される。また、図7の例では、「パターン発生後に事象が発生した回数」の項目に、メッセージの組み合わせが発生した後から、所定時間、例えば、15秒経過後までの間に事象が発生した回数が登録される。また、図7の例では、「事象発生確率」の項目に、メッセージの組み合わせに対する事象が発生する確率が登録される。
図7の例は、「メッセージパターン」の項目に、5つのメッセージの識別子「1,3,4,7,9」が登録された場合を示す。また、図7の例は、「事象の種類」の項目に、HDD障害が登録された場合を示す。また、図7の例は、「パターンが発生した回数」の項目に、識別子「1,3,4,7,9」が示す5つのメッセージが発生した回数「165」が登録された場合を示す。また、図7の例は、「パターン発生後に事象が発生した回数」の項目に、識別子「1,3,4,7,9」が示す5つのメッセージが発生した後に、HDD障害の事象が発生した回数「137」が登録された場合を示す。また、図7の例は、「事象発生確率」の項目に、識別子「1,3,4,7,9」が示す5つのメッセージの組み合わせに対して、HDD障害の事象が発生する確率「0.83(83%)」が登録された場合を示す。「メッセージパターン」、「事象の種類」、「パターンが発生した回数」、「パターン発生後に事象が発生した回数」、「事象発生確率」の各項目には、後述の格納部15dにより、対応する内容が登録される。また、「パターンが発生した回数」、「パターン発生後に事象が発生した回数」、「事象発生確率」の各項目の登録内容は、後述の第一の算出部15bにより、更新される。
記憶部14は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部14は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図2に示すように、制御部15は、格納制御部15aと、第一の算出部15bと、第二の算出部15cと、格納部15dと、検知部15eと、報知制御部15fとを有する。
格納制御部15aは、クラウドシステム20から事象の種類と、事象が発生した日時を受信すると、受信した事象の種類、事象が発生した日時のそれぞれを第一のDB14bの「事象の種類」、「発生日時」の項目に対応付けて登録する。
また、格納制御部15aは、クラウドシステム20からメッセージを受信すると、受信したメッセージをメッセージログ14aに登録する。
また、格納制御部15aは、クラウドシステム20から運用が開始された旨のメッセージを受信すると、第三のDB14dに登録する1番目のファイル14d_1を生成する。例えば、先の図5の例に示すように、格納制御部15aは、次のような処理を行う。すなわち、格納制御部15aは、「ID」の項目に「02e631d1−94c4−4391−a9c2−07d5fc3f75f9」が登録され、「構成変更日時」の項目に「2011年6月12日10時15分0秒」が登録されたファイル14d_1を生成する。ここで、識別子「02e631d1−94c4−4391−a9c2−07d5fc3f75f9」は、1番目のファイル14d_1の識別子である。また、「2011年6月12日10時15分0秒」は、運用が開始された旨のメッセージに含まれる、クラウドシステム20の運用が開始された日時である。なお、生成したファイル14d_1の他の項目、例えば、「メッセージパターン」、「事象の種類」、「パターンが発生した回数」、「パターン発生後に事象が発生した回数」、「事象発生確率」、「成熟度」の各項目には、内容が登録されていない。
また、格納制御部15aは、クラウドシステム20から、構成変更が行われた旨のメッセージを受信すると、第三のDB14dに登録する新たなファイルを生成する。例えば、格納制御部15aは、次のような処理を行う。すなわち、格納制御部15aは、「ID」の項目に「24fa6618−2118−440a−8591−bc9c5b99ec52」が登録され、「構成変更日時」の項目に「2011年6月13日10時15分0秒」が登録されたファイルを生成する。ここで、識別子「24fa6618−2118−440a−8591−bc9c5b99ec52」は、新たなファイルの識別子である。また、「2011年6月13日10時15分0秒」は、構成変更が行われた旨のメッセージに含まれる、クラウドシステム20の構成変更が行われた日時である。なお、生成した新たなファイルの他の項目、例えば、「メッセージパターン」、「事象の種類」、「パターンが発生した回数」、「パターン発生後に事象が発生した回数」、「事象発生確率」、「成熟度」の各項目には、内容が登録されていない。
そして、格納制御部15aは、生成したファイルを第三のDB14dへ登録する。続いて、格納制御部15aは、第四のDB14eの「新規パターン登録先」の項目に、生成したファイルの識別子を登録して、「新規パターン登録先」の項目の登録内容を更新する。
また、格納制御部15aは、所定時間の間隔ごとに、第三のDB14dの登録内容を参照し、「構成変更日時」の項目に登録された日時から現在の日時までの期間が、所定期間を超えたファイルがあるか否かを判定する。所定期間を超えたファイルがある場合には、格納制御部15aは、所定期間を超えたファイルを第三のDB14dから削除する。その後、格納制御部15aは、第四のDB14eを参照し、所定期間を超えたファイルの識別子が「登録先」の項目に登録されたレコードを削除する。
一方、所定期間を超えたファイルがない場合には、格納制御部15aは、「メッセージパターン」の項目に何も登録されていない、いわゆる空であるか否かを判定する。空である場合には、格納制御部15aは、空のファイルを第三のDB14dから削除する。その後、格納制御部15aは、第四のDB14eを参照し、空のファイルの識別子が「登録先」の項目に登録されたレコードを削除する。
第一の算出部15bは、クラウドシステム20の運用が開始された場合またはクラウドシステム20の構成が変更された場合に、次のような処理を行う。すなわち、第一の算出部15bは、メッセージの組み合わせがクラウドシステム20において発生した数に対する、メッセージの組み合わせが発生した時間に対応する時間にクラウドシステム20で発生した事象の数の割合を算出する。なお、このメッセージの組み合わせは、その識別子が第三のDB14dに登録されたものである。
例えば、第一の算出部15bは、まず、メッセージログ14aに含まれるメッセージのうち、未処理のメッセージを記憶部14から取得する。そして、第一の算出部15bは、取得したメッセージを、第二のDB14cを用いて、メッセージの種類毎に分類する。なお、メッセージを種類毎に分類する方法は、様々な方法があるが、例えば、「渡辺幸洋、松本安英「メッセージパターン学習による障害発生検知」 情報処理学会論文誌 2009年12月10日」などに記載された方法を採用することができる。
そして、第一の算出部15bは、所定のルールに基づいて、メッセージの組み合わせを生成する。例えば、第一の算出部15bは、組み合わされるメッセージの数が最大で10であるというルールや、所定の時間幅に含まれるメッセージを組み合わせるというルールに基づいて、メッセージの組み合わせを複数生成する。
次に、第一の算出部15bは、生成した組み合わせのそれぞれについて、発生した日時が最新のメッセージの日時を特定する。なお、メッセージの発生した日時を示す情報は、当該メッセージに含まれる。第一の算出部15bは、生成した組み合わせのそれぞれについて、特定した最新のメッセージの日時をメッセージの組み合わせが発生した日時とする。その後、第一の算出部15bは、生成した組み合わせのそれぞれについて、メッセージの組み合わせが発生した日時から、所定時間、例えば、15秒経過後までの間に発生した事象が第一のDB14bに登録されている場合には、第一のDB14bから事象を取得する。
続いて、第一の算出部15bは、生成したメッセージの組み合わせを全て選択したか否かを判定する。全て選択していない場合には、第一の算出部15bは、未選択のメッセージの組み合わせを1つ選択する。
その後、第一の算出部15bは、選択したメッセージの組み合わせの登録先が、検知用の第五のDB14fであるか否かを、第四のDB14eを用いて判定する。すなわち、第一の算出部15bは、第四のDB14eを参照し、選択した組み合わせに対応する「登録先」の項目に、検知用の第五のDB14fの識別子が登録されている場合には、選択したメッセージの組み合わせの登録先が、検知用の第五のDB14fであると判定する。また、第一の算出部15bは、第四のDB14eを参照し、選択した組み合わせに対応する「登録先」の項目に、第三のDB14dのファイルの識別子が登録されている場合には、選択したメッセージの組み合わせの登録先が、識別子が示す第三のDB14dのファイルであると判定する。また、第一の算出部15bは、第四のDB14eを参照し、選択した組み合わせに対応するメッセージの識別子の組み合わせが、「メッセージパターン」の項目に登録されていない場合には、新規の組み合わせであるため、次のような処理を行う。すなわち、第一の算出部15bは、「新規パターン登録先」の項目に登録された識別子が示す第三のDB14dのファイルを、選択したメッセージの組み合わせの登録先として判定する。
選択したメッセージの組み合わせの登録先が、第三のDB14dのファイルである場合には、第一の算出部15bは、選択したメッセージの組み合わせが発生した日時から、所定時間経過後までの間に発生した事象を上記の処理で取得できたか否かを判定する。すなわち、第一の算出部15bは、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象があるか否かを判定する。
選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象がある場合には、第一の算出部15bは、選択したメッセージの組み合わせが、新規であるか否かを判定する。新規の場合には、第一の算出部15bは、選択した組み合わせに対応するメッセージの識別子の組み合わせ、および、「新規パターン登録先」の項目に登録された識別子のそれぞれを、第四のDB14eの「メッセージパターン」、「登録先」の項目に対応付けて登録する。また、新規の場合には、第一の算出部15bは、第三のDB14dの登録先のファイルに新規レコードを追加する。そして、第一の算出部15bは、選択した組み合わせに対応するメッセージの識別子の組み合わせ、および、対応する発生した事象のそれぞれを、新規レコードの「メッセージパターン」、「事象の種類」の項目に対応付けて登録する。
その後、第一の算出部15bは、登録先である第三のDB14dのファイルの選択した組み合わせに対応するレコードを取得し、レコードに含まれる「パターンが発生した回数」の項目の値を1つインクリメントする。続いて、第一の算出部15bは、レコードに含まれる「パターン発生後に事象が発生した回数」の項目の値を1つインクリメントする。そして、第一の算出部15bは、それぞれ、値が1つインクリメントされた「パターン発生後に事象が発生した回数」および「パターンが発生した回数」の項目の値について、次のような処理を行う。すなわち、第一の算出部15bは、「パターン発生後に事象が発生した回数」の項目の値を「パターンが発生した回数」の項目の値で除して、事象が発生する確率である事象発生確率を算出する。
一方、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象がない場合には、第一の算出部15bは、選択したメッセージの組み合わせが、新規であるか否かを判定する。新規でない場合には、第一の算出部15bは、登録先である第三のDB14dのファイルの選択した組み合わせに対応するレコードを取得し、レコードに含まれる「パターンが発生した回数」の項目の値を1つインクリメントする。そして、第一の算出部15bは、「パターン発生後に事象が発生した回数」、および、値が1つインクリメントされた「パターンが発生した回数」の項目の値について、次のような処理を行う。すなわち、第一の算出部15bは、「パターン発生後に事象が発生した回数」の項目の値を「パターンが発生した回数」の項目の値で除して、事象が発生する確率である事象発生確率を算出する。
また、選択したメッセージの組み合わせの登録先が、検知用の第五のDB14fである場合には、第一の算出部15bは、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象があるか否かを判定する。
選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象がある場合には、第一の算出部15bは、登録先である第五のDB14fの選択した組み合わせに対応するレコードを取得し、レコードに含まれる「パターンが発生した回数」の項目の値を1つインクリメントする。続いて、第一の算出部15bは、レコードに含まれる「パターン発生後に事象が発生した回数」の項目の値を1つインクリメントする。そして、第一の算出部15bは、それぞれ、値が1つインクリメントされた「パターン発生後に事象が発生した回数」および「パターンが発生した回数」の項目の値について、次のような処理を行う。すなわち、第一の算出部15bは、「パターン発生後に事象が発生した回数」の項目の値を「パターンが発生した回数」の項目の値で除して、事象が発生する確率である事象発生確率を算出する。
そして、第一の算出部15bは、登録先である第五のDB14fの選択した組み合わせに対応するレコードの「パターンが発生した回数」の項目の値を、1つインクリメントされた「パターンが発生した回数」の項目の値に更新する。また、第一の算出部15bは、かかるレコードの「パターン発生後に事象が発生した回数」の項目の値を、1つインクリメントされた「パターン発生後に事象が発生した回数」の項目の値に更新する。また、第一の算出部15bは、かかるレコードの「事象発生確率」の項目の値を、算出した事象発生確率の値に更新する。
一方、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象がない場合には、第一の算出部15bは、登録先である第五のDB14fの選択した組み合わせに対応するレコードを取得し、レコードに含まれる「パターンが発生した回数」の項目の値を1つインクリメントする。そして、第一の算出部15bは、レコードに含まれる「パターン発生後に事象が発生した回数」、および、値が1つインクリメントされた「パターンが発生した回数」の項目の値について、次のような処理を行う。すなわち、第一の算出部15bは、「パターン発生後に事象が発生した回数」の項目の値を「パターンが発生した回数」の項目の値で除して、事象が発生する確率である事象発生確率を算出する。そして、第一の算出部15bは、登録先である第五のDB14fの選択した組み合わせに対応するレコードの「パターンが発生した回数」の項目の値を、1つインクリメントされた「パターンが発生した回数」の項目の値に更新する。また、第一の算出部15bは、かかるレコードの「事象発生確率」の項目の値を、算出した事象発生確率の値に更新する。
そして、第一の算出部15bは、未選択のメッセージの組み合わせを再度選択して、選択したメッセージの組み合わせについて上記の処理を行う。第一の算出部15bは、全ての組み合わせが処理済みとなるまで、上記の処理を繰り返し行う。
第二の算出部15cは、第一の算出部15bにより、選択したメッセージの組み合わせの登録先が、第三のDB14dのファイルであると判定された場合に、次のような処理を行う。すなわち、第二の算出部15cは、第一の算出部15bにより算出された事象発生確率と、発生した事象の数とに基づいて、選択したメッセージの組み合わせが、事象の発生または事象が発生する予兆を検知する場合に用いられるか否かを判断するための指標である成熟度を算出する。
例えば、第一の算出部15bにより、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象があると判定された場合には、第二の算出部15cは、次のような処理を行う。すなわち、第二の算出部15cは、第一の算出部15bにより算出された事象発生確率と、第一の算出部15bにより1つインクリメントされた「パターンが発生した回数」の項目の値との乗算値を成熟度として算出する。
また、第一の算出部15bにより、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象がないと判定された場合には、第二の算出部15cは、次のような処理を行う。すなわち、第二の算出部15cは、第一の算出部15bにより算出された事象発生確率と、第一の算出部15bにより取得されたレコードに含まれる「パターンが発生した回数」の項目の値との乗算値を成熟度として算出する。
そして、第二の算出部15cは、登録先である第三のDB14dのファイルの選択した組み合わせに対応するレコードの「パターンが発生した回数」の項目の値を、1つインクリメントされた「パターンが発生した回数」の項目の値に更新する。また、第二の算出部15cは、かかるレコードの「事象発生確率」の項目の値を、算出した事象発生確率の値に更新する。また、第二の算出部15cは、かかるレコードの「成熟度」の項目の値を、算出した成熟度の値に更新する。
格納部15dは、第二の算出部15cで算出された成熟度が、事象の発生または事象が発生する予兆を検知する場合に用いられる条件を満たすことを示す場合には、次のような処理を行う。すなわち、格納部15dは、メッセージの組み合わせを事象の発生または事象が発生する予兆を検知する場合に用いられるメッセージの組み合わせとして記憶部14の第五のDB14fに登録する。
例えば、格納部15dは、まず、第三のDB14dの全ファイルの全レコードを取得する。そして、格納部15dは、取得した全レコードのうち、未選択のレコードがあるか否かを判定する。未選択のレコードがある場合には、格納部15dは、未選択のレコードを1つ選択する。そして、格納部15dは、選択したレコードの「成熟度」の項目に登録された値が、閾値αより大きいか否かを判定する。すなわち、格納部15dは、成熟度が、事象の発生または事象が発生する予兆を検知する場合に用いられる条件を満たすことを示すか否かを判定する。ここで、格納部15dは、閾値αとして、第一の所定値、または、第二の所定値と、選択したレコードが登録されたファイルの「構成変更日時」の項目に登録された日時から現在日時までの期間との乗算値を採用することができる。
選択したレコードの「成熟度」の項目に登録された値が、閾値αより大きい場合には、格納部15dは、第五のDB14fにレコードを追加し、追加したレコードの各項目に、選択したレコードの「成熟度」の項目以外の各項目の値をコピーする。これにより、成熟度が、事象の発生または事象が発生する予兆を検知する場合に用いられる条件を満たす場合には、検知用の第五のDB14fにメッセージが登録される。そして、格納部15dは、第三のDB14dから、選択したレコードを削除する。続いて、格納部15dは、第五のDB14fにコピーされたレコードの「メッセージパターン」の内容と同一の内容が登録された第四のDB14eのレコードを特定し、特定したレコードの「登録先」の項目を、第五のDB14fの識別子に更新する。
そして、格納部15dは、未選択のレコードを再度選択して、選択したレコードについて上記の処理を行う。格納部15dは、全てのレコードが処理済みとなるまで、上記の処理を繰り返し行う。
検知部15eは、第五のDB14fに登録されたメッセージの組み合わせ、および、事象発生確率に基づいて、クラウドシステム20から送信されるメッセージから、事象の発生または事象が発生する予兆を検知する。検知部15eは、かかる検知の方法として、例えば、「渡辺幸洋、松本安英「メッセージパターン学習による障害発生検知」 情報処理学会論文誌 2009年12月10日」などに記載された方法を採用することができる。
報知制御部15fは、検知部15eにより検知された結果を報知するように制御する。例えば、報知制御部15fは、検知部15eにより検知された結果を表示するように、出力部12を制御する。
制御部15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
[処理の流れ]
次に、本実施例に係る検知装置10の処理の流れを説明する。図8は、実施例に係る第一の登録処理の手順を示すフローチャートである。第一の登録処理は、例えば、クラウドシステム20から運用が開始された旨のメッセージおよび構成変更が行われた旨のメッセージを受信するたびに検知装置10により実行される。
図8に示すように、格納制御部15aは、第三のDB14dに登録する新たなファイルを生成する(S101)。そして、格納制御部15aは、生成したファイルを第三のDB14dへ登録する(S102)。続いて、格納制御部15aは、第四のDB14eの「新規パターン登録先」の項目に、生成したファイルの識別子を登録して、「新規パターン登録先」の項目の登録内容を更新し(S103)、処理を終了する。
図9は、実施例に係る削除処理の手順を示すフローチャートである。削除処理は、例えば、所定時間の間隔ごとに、検知装置10により実行される。
図9に示すように、格納制御部15aは、第三のDB14dの登録内容を参照する(S201)。そして、格納制御部15aは、「構成変更日時」の項目に登録された日時から現在の日時までの期間が、所定期間を超えたファイルがあるか否かを判定する(S202)。所定期間を超えたファイルがある場合(S202肯定)には、格納制御部15aは、所定期間を超えたファイルを第三のDB14dから削除する(S203)。その後、格納制御部15aは、第四のDB14eを参照し、所定期間を超えたファイルの識別子が「登録先」の項目に登録されたレコードを削除し(S204)、処理を終了する。
一方、所定期間を超えたファイルがない場合(S202否定)には、格納制御部15aは、「メッセージパターン」の項目に何も登録されていない、いわゆる空であるか否かを判定する(S205)。空である場合(S205肯定)には、S203へ進む。空でない場合(S205否定)には、処理を終了する。
図10は、実施例に係る第二の登録処理の手順を示すフローチャートである。第二の登録処理は、例えば、所定時間の間隔ごとに、検知装置10により実行される。
図10に示すように、第一の算出部15bは、メッセージログ14aに含まれるメッセージのうち、未処理のメッセージを記憶部14から取得する(S301)。そして、第一の算出部15bは、取得したメッセージを、第二のDB14cを用いて、メッセージの種類毎に分類する(S302)。
そして、第一の算出部15bは、所定のルールに基づいて、メッセージの全部の組み合わせを生成する(S303)。次に、第一の算出部15bは、生成した組み合わせのそれぞれについて、メッセージの組み合わせが発生した日時から、所定時間が経過するまでの間に発生した事象が第一のDB14bに登録されている場合には、第一のDB14bから事象を取得する(S304)。
続いて、第一の算出部15bは、生成したメッセージの組み合わせを全て選択したか否かを判定する(S305)。全て選択した場合(S305肯定)には、処理を終了する。全て選択していない場合(S305否定)には、第一の算出部15bは、未選択のメッセージの組み合わせを1つ選択する(S306)。
その後、第一の算出部15bは、選択したメッセージの組み合わせの登録先が、検知用の第五のDB14fであるか否かを、第四のDB14eを用いて判定する(S307)。
選択したメッセージの組み合わせの登録先が、第三のDB14dのファイルである場合(S307否定)には、第一の算出部15bは、次のような処理を行う。すなわち、第一の算出部15bは、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象があるか否かを判定する(S308)。
選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象がある場合(S308肯定)には、第一の算出部15bは、選択したメッセージの組み合わせが、新規であるか否かを判定する(S309)。新規でない場合(S309否定)には、S312へ進む。一方、新規の場合(S309肯定)には、第一の算出部15bは、次のような処理を行う。すなわち、第一の算出部15bは、選択した組み合わせに対応するメッセージの識別子の組み合わせ、「新規パターン登録先」の項目に登録された識別子のそれぞれを、第四のDB14eの「メッセージパターン」、「登録先」の項目に対応付けて登録する(S310)。そして、第一の算出部15bは、選択した組み合わせに対応するメッセージの識別子の組み合わせ、対応する発生した事象のそれぞれを、追加した新規レコードの「メッセージパターン」、「事象の種類」の項目に対応付けて登録する(S311)。
その後、第一の算出部15bは、登録先である第三のDB14dのファイルの選択した組み合わせに対応するレコードを取得し、レコードに含まれる「パターンが発生した回数」の項目の値を1つインクリメントする(S312)。続いて、第一の算出部15bは、レコードに含まれる「パターン発生後に事象が発生した回数」の項目の値を1つインクリメントする(S313)。そして、第一の算出部15bは、それぞれ、値が1つインクリメントされた「パターン発生後に事象が発生した回数」および「パターンが発生した回数」の項目の値について、次のような処理を行う。すなわち、第一の算出部15bは、「パターン発生後に事象が発生した回数」の項目の値を「パターンが発生した回数」の項目の値で除して、事象が発生する確率である事象発生確率を算出する(S314)。
第二の算出部15cは、第一の算出部15bにより算出された事象発生確率と、第一の算出部15bにより1つインクリメントされた「パターンが発生した回数」の項目の値との乗算値を成熟度として算出する(S315)。そして、第二の算出部15cは、登録先である第三のDB14dのファイルの選択した組み合わせに対応するレコードを更新し(S316)、S305へ戻る。
一方、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象がない場合(S308否定)には、第一の算出部15bは、選択したメッセージの組み合わせが、新規であるか否かを判定する(S317)。新規である場合(S317肯定)には、S305へ戻る。一方、新規でない場合(S317否定)には、第一の算出部15bは、次のような処理を行う。すなわち、第一の算出部15bは、登録先である第三のDB14dのファイルの選択した組み合わせに対応するレコードを取得し、レコードに含まれる「パターンが発生した回数」の項目の値を1つインクリメントする(S318)。そして、第一の算出部15bは、「パターン発生後に事象が発生した回数」、値が1つインクリメントされた「パターンが発生した回数」の項目の値について、次のような処理を行う。すなわち、第一の算出部15bは、「パターン発生後に事象が発生した回数」の項目の値を「パターンが発生した回数」の項目の値で除して、事象が発生する確率である事象発生確率を算出する(S319)。
第二の算出部15cは、第一の算出部15bにより算出された事象発生確率と、第一の算出部15bにより取得されたレコードに含まれる「パターンが発生した回数」の項目の値との乗算値を成熟度として算出する(S320)。そして、第二の算出部15cは、登録先である第三のDB14dのファイルの選択した組み合わせに対応するレコードを更新し(S321)、S305へ戻る。
また、選択したメッセージの組み合わせの登録先が、検知用の第五のDB14fである場合(S307肯定)には、第一の算出部15bは、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象があるか否かを判定する(S322)。
選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象がある場合(S322肯定)には、第一の算出部15bは、次のような処理を行う。すなわち、第一の算出部15bは、登録先である第五のDB14fの選択した組み合わせに対応するレコードを取得し、レコードに含まれる「パターンが発生した回数」の項目の値を1つインクリメントする(S323)。続いて、第一の算出部15bは、レコードに含まれる「パターン発生後に事象が発生した回数」の項目の値を1つインクリメントする(S324)。そして、第一の算出部15bは、それぞれ、値が1つインクリメントされた「パターン発生後に事象が発生した回数」および「パターンが発生した回数」の項目の値について、次のような処理を行う。すなわち、第一の算出部15bは、「パターン発生後に事象が発生した回数」の項目の値を「パターンが発生した回数」の項目の値で除して、事象が発生する確率である事象発生確率を算出する(S325)。そして、第一の算出部15bは、登録先である第五のDB14fの選択した組み合わせに対応するレコードを更新し(S326)、S305へ戻る。
一方、選択したメッセージの組み合わせが発生した日時に対応する日時に発生した事象がない場合(S322否定)には、第一の算出部15bは、次のような処理を行う。すなわち、第一の算出部15bは、登録先である第五のDB14fの選択した組み合わせに対応するレコードを取得し、レコードに含まれる「パターンが発生した回数」の項目の値を1つインクリメントする(S327)。そして、第一の算出部15bは、レコードに含まれる「パターン発生後に事象が発生した回数」、値が1つインクリメントされた「パターンが発生した回数」の項目の値について、次のような処理を行う。すなわち、第一の算出部15bは、「パターン発生後に事象が発生した回数」の項目の値を「パターンが発生した回数」の項目の値で除して、事象が発生する確率である事象発生確率を算出する(S328)。そして、第一の算出部15bは、登録先である第五のDB14fの選択した組み合わせに対応するレコードを更新し(S329)、S305へ戻る。
図11は、実施例に係る格納処理の手順を示すフローチャートである。格納処理は、例えば、所定時間の間隔ごとに、検知装置10により実行される。
格納部15dは、第三のDB14dの全ファイルの全レコードを取得する(S401)。そして、格納部15dは、取得した全レコードのうち、未選択のレコードがあるか否かを判定する(S402)。未選択のレコードが無い場合(S402否定)には、処理を終了する。一方、未選択のレコードがある場合(S402肯定)には、格納部15dは、未選択のレコードを1つ選択する(S403)。そして、格納部15dは、選択したレコードの「成熟度」の項目に登録された値が、閾値αより大きいか否かを判定する(S404)。
「成熟度」の項目に登録された値が、閾値α以下である場合(S404否定)には、S402へ戻る。一方、閾値αより大きい場合(S404肯定)には、格納部15dは、第五のDB14fにレコードを追加し、追加したレコードの各項目に、選択したレコードの「成熟度」の項目以外の各項目の値をコピーする(S405)。そして、格納部15dは、第三のDB14dから、選択したレコードを削除する(S406)。続いて、格納部15dは、第五のDB14fにコピーされたレコードの「メッセージパターン」の内容と同一の内容が登録された第四のDB14eのレコードを特定し、次のような処理を行う。すなわち、格納部15dは、特定したレコードの「登録先」の項目を、第五のDB14fの識別子に更新し(S407)、S402へ戻る。
上述してきたように、本実施例に係る検知装置10は、クラウドシステム20の運用が開始された場合またはクラウドシステム20の構成が変更された場合に、次のような処理を行う。すなわち、検知装置10は、メッセージの組み合わせがクラウドシステム20において発生した数に対する、メッセージの組み合わせが発生した時間に対応する時間にクラウドシステム20で発生した事象の数の割合である事象発生確率を算出する。また、検知装置10は、算出された事象発生確率と、発生した事象の数とに基づいて、選択したメッセージの組み合わせが、事象の発生または事象が発生する予兆を検知する場合に用いられるか否かを判断するための指標である成熟度を算出する。そして、検知装置10は、算出された成熟度が閾値αより大きい場合、すなわち、成熟度が事象の発生または事象が発生する予兆を検知する場合に用いられる条件を満たすことを示す場合には、次のような処理を行う。すなわち、検知装置10は、メッセージの組み合わせを事象の発生または事象が発生する予兆を検知する場合に用いられるメッセージの組み合わせとして記憶部14の第五のDB14fに登録する。このように、検知装置10は、メッセージの組み合わせのうち、成熟度が閾値αより大きいメッセージの組み合わせを検知用のメッセージの組み合わせとして用いる。よって、検知装置10によれば、システムの運用開始直後や、システムの構成の変更直後に新たに発生したメッセージについては、検知用のメッセージとして用いられない。したがって、検知装置10によれば、システムの運用開始直後や、システムの構成の変更直後であっても、検知する際の精度が不確かなメッセージを用いないため、精度良く事象を検知することができる。
また、検知装置10は、閾値αとして、第二の所定値と、選択したレコードが登録されたファイルの「構成変更日時」の項目に登録された日時から現在日時までの期間との乗算値を採用することができる。そのため、検知装置10によれば、構成変更が行われてからの期間が長くなるほど、その構成変更が行われた際に生成されたファイルに登録されたメッセージの組み合わせについては、閾値αを高くすることができる。よって、検知装置10によれば、メッセージの組み合わせが発生した日時が古くなるほど、検知用の第五のDB14fに登録し難くなる。したがって、検知装置10によれば、クラウドシステム20において、期間の経過とともに成熟度が大きくならないようなメッセージの組み合わせが、検知用の第五のDB14fに登録されることを抑制することができる。
図12は、本実施例に係る検知装置10による効果を説明するための図である。図12の例に示す横軸は時間である。また、図12の例に示す縦軸は、検知数である。図12の例では、本実施例と同様のクラウドシステムにおいて、従来の検知装置、および、本実施例に係る検知装置10の誤検知数を示す。図12の例は、時間Tでクラウドシステムの構成変更が行われた場合を示す。図12の例では、従来の検知装置、および、本実施例に係る検知装置10の正解の検知数は、両装置ともほぼ同一であり、正解の検知数を示す線70で示される。一方、図12の例では、誤検知の数については、従来の検知装置については、誤検知の数を示す線71で示され、本実施例に係る検知装置10については、誤検知の数を示す線72で示される。図12の例に示すように、本実施例に係る検知装置10によれば、従来の検知装置と比較して、構成変更が行われてからの誤検知の数が抑制される。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
また、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。例えば、図9に示すS202の処理と、S203の処理との順番を変更できる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図2に示す第一の算出部15bおよび第二の算出部15cを統合し、1つの算出部とすることができる。
[検知プログラム]
また、上記の実施例で説明した検知装置10の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図13を用いて、上記の実施例で説明した検知装置10と同様の機能を有する検知プログラムを実行するコンピュータの一例を説明する。図13は、検知プログラムを実行するコンピュータを示す図である。
図13に示すように、コンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。これら310〜340の各符号が示す各装置は、バス350を介して接続される。
ROM320には、OSなどの基本プログラムが記憶されている。また、HDD330には、上記の実施例で示す格納制御部15aと、第一の算出部15bと、第二の算出部15cと、格納部15dと、検知部15eと、報知制御部15fと同様の機能を発揮する検知プログラム330aが予め記憶される。なお、検知プログラム330aについては、適宜分離しても良い。また、HDD330には、メッセージログ、第一〜第五のDBが設けられる。このメッセージログ、第一のDB〜第五のDBは、上述したメッセージログ14a、第一のDB14b〜第五のDB14fに対応する。
そして、CPU310が、検知プログラム330aをHDD330から読み出して実行する。
そして、CPU310は、メッセージログ、第一〜第五のDBを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納されたメッセージログ、第一〜第五のDBを用いて、検知プログラム330aを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM330に格納されなくともよい。処理に用いられるデータがRAM340に格納されれば良い。
なお、上記した検知プログラム330aについては、必ずしも最初からHDD330に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
10 検知装置
14 記憶部
14a メッセージログ
14b 第一のDB
14c 第二のDB
14d 第三のDB
14e 第四のDB
14f 第五のDB
15 制御部
15a 格納制御部
15b 第一の算出部
15c 第二の算出部
15d 格納部
15e 検知部
15f 報知制御部

Claims (7)

  1. システムの運用が開始された場合または前記システムの構成が変更された場合に、該システムの運用が開始されてから、または、該システムの構成が変更されてから前記システムで発生したメッセージの組み合わせについて、該組み合わせが発生した数に対する、該組み合わせが発生した時間に対応する時間に前記システムで発生した事象の数の割合を算出する第一の算出部と、
    前記第一の算出部により算出された割合と、前記事象の数とに基づいて、前記メッセージの組み合わせが、事象の発生または事象が発生する予兆を検知する場合に用いられるか否かを判断するための指標を算出する第二の算出部と、
    前記第二の算出部で算出された指標が、事象の発生または事象が発生する予兆を検知する場合に用いられる条件を満たすことを示す場合には、前記メッセージの組み合わせを事象の発生または事象が発生する予兆を検知する場合に用いられるメッセージの組み合わせとして記憶部に格納する格納部と
    を有することを特徴とする検知装置。
  2. 前記第二の算出部は、前記第一の算出部により算出された割合と、前記事象の数との乗算値を前記指標として算出する
    ことを特徴とする請求項1に記載の検知装置。
  3. さらに、
    前記システムの運用が開始されてから、または、前記システムの構成が変更されてから所定時間が経過した場合に、前記システムで発生したメッセージの組み合わせのうち、前記格納部により前記記憶部に格納されていないメッセージの組み合わせについては、前記格納部により、事象の発生または事象が発生する予兆を検知する場合に用いられるメッセージの組み合わせとして前記記憶部に格納されないように制御する格納制御部
    を有することを特徴とする請求項1または2に記載の検知装置。
  4. 前記格納部は、前記第二の算出部で算出された指標が、第一の所定値、または、第二の所定値と前記システムの運用が開始されてから、または、前記システムの構成が変更されてから経過した時間に対応する値との乗算値を超えた場合には、前記メッセージの組み合わせを事象の発生または事象が発生する予兆を検知する場合に用いられるメッセージの組み合わせとして前記記憶部に格納する
    ことを特徴とする請求項1または2に記載の検知装置。
  5. さらに、
    前記格納部により、前記記憶部に事象の発生または事象が発生する予兆を検知する場合に用いられるメッセージの組み合わせとして格納されたメッセージの組み合わせ、および、該組み合わせが発生した数に対する、該組み合わせが発生した時間に対応する時間に前記システムで発生した事象の数の割合に基づいて、前記システムにおける事象の発生または事象が発生する予兆を検知する検知部
    を有することを特徴とする請求項1または2に記載の検知装置。
  6. コンピュータに、
    システムの運用が開始された場合または前記システムの構成が変更された場合に、該システムの運用が開始されてから、または、該システムの構成が変更されてから前記システムで発生したメッセージの組み合わせについて、該組み合わせが発生した数に対する、該組み合わせが発生した時間に対応する時間に前記システムで発生した事象の数の割合を算出し、
    算出された前記割合と、前記事象の数とに基づいて、前記メッセージの組み合わせが、事象の発生または事象が発生する予兆を検知する場合に用いられるか否かを判断するための指標を算出し、
    算出された前記指標が、事象の発生または事象が発生する予兆を検知する場合に用いられる条件を満たすことを示す場合には、前記メッセージの組み合わせを事象の発生または事象が発生する予兆を検知する場合に用いられるメッセージの組み合わせとして記憶部に格納する
    処理を実行させることを特徴とする検知プログラム。
  7. コンピュータが実行する検知方法であって、
    システムの運用が開始された場合または前記システムの構成が変更された場合に、該システムの運用が開始されてから、または、該システムの構成が変更されてから前記システムで発生したメッセージの組み合わせについて、該組み合わせが発生した数に対する、該組み合わせが発生した時間に対応する時間に前記システムで発生した事象の数の割合を算出し、
    算出された前記割合と、前記事象の数とに基づいて、前記メッセージの組み合わせが、事象の発生または事象が発生する予兆を検知する場合に用いられるか否かを判断するための指標を算出し、
    算出された前記指標が、事象の発生または事象が発生する予兆を検知する場合に用いられる条件を満たすことを示す場合には、前記メッセージの組み合わせを事象の発生または事象が発生する予兆を検知する場合に用いられるメッセージの組み合わせとして記憶部に格納する
    ことを特徴とする検知方法。
JP2013549034A 2011-12-15 2011-12-15 検知装置、検知プログラムおよび検知方法 Expired - Fee Related JP5692414B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079099 WO2013088565A1 (ja) 2011-12-15 2011-12-15 検知装置、検知プログラムおよび検知方法

Publications (2)

Publication Number Publication Date
JP5692414B2 JP5692414B2 (ja) 2015-04-01
JPWO2013088565A1 true JPWO2013088565A1 (ja) 2015-04-27

Family

ID=48612049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013549034A Expired - Fee Related JP5692414B2 (ja) 2011-12-15 2011-12-15 検知装置、検知プログラムおよび検知方法

Country Status (3)

Country Link
US (1) US9355005B2 (ja)
JP (1) JP5692414B2 (ja)
WO (1) WO2013088565A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6413537B2 (ja) * 2013-10-23 2018-10-31 富士通株式会社 障害予兆通報装置および予兆通報方法、予兆通報プログラム
JP6201670B2 (ja) * 2013-11-15 2017-09-27 富士通株式会社 判定装置、判定プログラム、及び判定方法
JP6152788B2 (ja) * 2013-12-02 2017-06-28 富士通株式会社 障害予兆検知方法、情報処理装置およびプログラム
US9928149B2 (en) * 2014-08-29 2018-03-27 Cynny Space Srl Systems and methods to maintain data integrity and redundancy in a computing system having multiple computers
US9465685B2 (en) * 2015-02-02 2016-10-11 International Business Machines Corporation Identifying solutions to application execution problems in distributed computing environments
JP6679943B2 (ja) * 2016-01-15 2020-04-15 富士通株式会社 検知プログラム、検知方法および検知装置
EP3401849A1 (de) * 2017-05-09 2018-11-14 dSPACE digital signal processing and control engineering GmbH Produktreifebestimmung eines technischen systems
DE102018126784A1 (de) 2018-10-26 2020-04-30 Endress + Hauser Flowtec Ag Magnetisch-induktives Durchflussmessgerät
JP6723401B1 (ja) * 2019-02-27 2020-07-15 レノボ・シンガポール・プライベート・リミテッド 電子機器、制御方法、及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09219720A (ja) 1996-02-14 1997-08-19 Toshiba Corp 通信ネットワークにおける障害検出方法及び装置
WO2004061681A1 (ja) * 2002-12-26 2004-07-22 Fujitsu Limited 運用管理方法および運用管理サーバ
JP4631858B2 (ja) * 2007-02-14 2011-02-16 富士通株式会社 論理システムの障害検証方法、障害検証装置、および障害検証プログラム
JP5008006B2 (ja) * 2007-12-27 2012-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション シンプトンの検証を可能にするためのコンピュータ・システム、方法及びコンピュータ・プログラム
US8086905B2 (en) * 2008-05-27 2011-12-27 Hitachi, Ltd. Method of collecting information in system network
US8112378B2 (en) * 2008-06-17 2012-02-07 Hitachi, Ltd. Methods and systems for performing root cause analysis
JP5428934B2 (ja) * 2010-02-22 2014-02-26 富士通株式会社 障害パターン生成プログラムおよび障害パターン生成装置

Also Published As

Publication number Publication date
US20140250334A1 (en) 2014-09-04
WO2013088565A1 (ja) 2013-06-20
JP5692414B2 (ja) 2015-04-01
US9355005B2 (en) 2016-05-31

Similar Documents

Publication Publication Date Title
JP5692414B2 (ja) 検知装置、検知プログラムおよび検知方法
US20200358826A1 (en) Methods and apparatus to assess compliance of a virtual computing environment
US10091231B1 (en) Systems and methods for detecting security blind spots
JP2018045403A (ja) 異常検知システム及び異常検知方法
US20160004629A1 (en) User workflow replication for execution error analysis
US9009536B2 (en) Test case production utilizing problem reports
US10802847B1 (en) System and method for reproducing and resolving application errors
US9503341B2 (en) Dynamic discovery of applications, external dependencies, and relationships
US9860109B2 (en) Automatic alert generation
US20190121717A1 (en) Dynamic, crowd-sourced error and crash resolution for computer programs
US11537391B2 (en) Software change analysis and automated remediation
CN113535474A (zh) 异构云存储集群故障自动修复的方法、系统、介质及终端
US10817365B2 (en) Anomaly detection for incremental application deployments
US20220107858A1 (en) Methods and systems for multi-resource outage detection for a system of networked computing devices and root cause identification
US11138512B2 (en) Management of building energy systems through quantification of reliability
CN110955595A (zh) 问题修复方法、装置、电子设备及计算机可读存储介质
US20230418720A1 (en) System monitoring apparatus, system monitoring method, and computer readable recording medium
TWI650636B (zh) 偵測系統及偵測方法
US11757736B2 (en) Prescriptive analytics for network services
JP7318711B2 (ja) 異常検知装置、異常検知方法、及びプログラム
JP2018067057A (ja) 制御プログラムの検証装置及びプログラム
JP6646494B2 (ja) 監視装置、監視方法、及びプログラム
CN117852043A (zh) 异常设备的确定方法、装置、电子设备以及存储介质
CN115689561A (zh) U盾测试方法、装置、设备及介质
CN117917646A (zh) 进程管控方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
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: 20150106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150119

R150 Certificate of patent or registration of utility model

Ref document number: 5692414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees