JP2017111601A - 調査対象特定プログラム、および調査対象特定方法 - Google Patents

調査対象特定プログラム、および調査対象特定方法 Download PDF

Info

Publication number
JP2017111601A
JP2017111601A JP2015245044A JP2015245044A JP2017111601A JP 2017111601 A JP2017111601 A JP 2017111601A JP 2015245044 A JP2015245044 A JP 2015245044A JP 2015245044 A JP2015245044 A JP 2015245044A JP 2017111601 A JP2017111601 A JP 2017111601A
Authority
JP
Japan
Prior art keywords
occurrence
message
pair
order
component
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
Application number
JP2015245044A
Other languages
English (en)
Inventor
幸洋 渡辺
Koyo Watanabe
幸洋 渡辺
大塚 浩
Hiroshi Otsuka
浩 大塚
正洋 麻岡
Masahiro Asaoka
正洋 麻岡
横山 乾
Ken Yokoyama
乾 横山
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 JP2015245044A priority Critical patent/JP2017111601A/ja
Priority to US15/378,916 priority patent/US9632861B1/en
Publication of JP2017111601A publication Critical patent/JP2017111601A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/08Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】構成要素の調査の優先順位を提示できるようにする。【解決手段】コンピュータ10は、監視対象のシステム1から、システム1内の複数の構成要素それぞれにより複数のメッセージを取得する。次に、コンピュータ10は、複数の構成要素内の2つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとする。次に、コンピュータ10は、対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定する。そしてコンピュータ10は、調査開始位置の構成要素を指定した調査順位決定指示が入力されると、複数の構成要素ペアの関連の強さに基づいて、調査開始位置の構成要素以外の構成要素の調査の優先順位を決定する。【選択図】図1

Description

本発明は、調査対象特定プログラム、および調査対象特定方法に関する。
近年、ICT(Information and Communication Technology)システム(以下、単にシステムと呼ぶ)では、システム内に多数のサーバが構築され、各サーバが互いに連携して様々な処理が実行される。システムの障害発生時には、原因の切り分けと1次対処(切り離しなど)が、運用者により実施される。例えばシステムにおいて異常が生じると、運用者は、まず異常の発生箇所となるサーバを特定する。そして、運用者は、まず特定したサーバの動作状況を解析し、異常の原因を調査する。
なお、複数のサーバが連携した処理の場合、異常が検出されたサーバと、その異常の原因を有するサーバとが異なることがある。そこで異常が検出されたサーバには原因がないと判断できる場合、運用者は、異常が検出されたサーバと関連性のあるサーバを調査し、異常の原因を特定することとなる。大規模システムでは、1台のサーバは多数のサーバと関連性を有しているため、異常が検出されたサーバと関連性のあるサーバの数も膨大となり、異常の原因調査に時間がかかる。
しかも、システム運用管理のアウトソーシングの普及により、機器やアプリなど、システムの構成要素の厳密な挙動を知らずに運用をするケースが増加している。その結果、ブラックボックス化が運用管理にもたらす弊害が顕在化しつつある。すなわち、システム内の機器が実行している処理の情報が乏しく、障害発生時の原因切り分けが長期化している。
そこで、障害対策の迅速化や障害発生防止に関する様々な技術が考えられている。例えば、ネットワークの異常の原因となる範囲を絞り込み、システムのトラブル調査を支援する障害箇所推定システムが考えられている。また、1つのシステム障害に起因して複数の障害メッセージが出力される場合に、関連性のあるこれらの障害メッセージをまとめて取り扱うことを可能とするインシデント管理システムも考えられている。さらに、障害メッセージのフィルタリングの精度を高めることができる情報処理装置も考えられている。なお、異常が発生する前に、障害の発生を防止するうえで有益な情報を検出する検出装置も考えられている。
特開2011−138405号公報 特開2012−94049号公報 特開2014−106851号公報 特開2014−199579号公報
ネットワークの異常の原因となる範囲を絞り込んだ場合、範囲を絞り込みすぎると、異常の原因となるシステムの構成要素(CI:Configuration Item)が、調査の範囲から漏れてしまう可能性がある。そのため、異常が発生した構成要素との間に少しでも関連がある構成要素は、調査の範囲に含められる。その結果、関連性によって調査対象を絞り込んだとしても、調査対象となる構成要素が大量に存在する場合がある。このような場合、それらの構成要素のすべてを調査したのでは、故障の原因が判明するまでに時間がかかる。
そこで、故障の原因を有している可能性の高い構成要素から順に調査することができれば、故障の原因を効率的に特定することができる。しかし、従来技術は、異常の原因となる範囲内の複数の構成要素それぞれについて、故障の原因を有している可能性の高さを適切に評価することができず、迅速な原因特定が困難となっている。
1つの側面では、本発明は、構成要素の調査の優先順位を提示できるようにすることを目的とする。
1つの案では、コンピュータに、以下の処理を実行させる調査対象特定プログラムが提供される。
コンピュータは、監視対象のシステムから、システム内の複数の構成要素それぞれにより、出力時刻を示す時刻情報付きで出力された複数のメッセージを取得する。次にコンピュータは、複数のメッセージを参照し、複数の構成要素内の2つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとし、該対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定する。そしてコンピュータは、調査開始位置の構成要素を指定した調査順位決定指示が入力されると、複数の構成要素ペアの関連の強さに基づいて、調査開始位置の構成要素以外の構成要素の調査の優先順位を決定する。
1態様によれば、構成要素の調査の優先順位を提示できるようになる。
第1の実施の形態に係る装置の機能構成例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 管理サーバのハードウェアの一構成例を示す図である。 管理サーバの使用例を示す図である。 管理対象マシンと管理サーバとの機能を示すブロック図である。 メッセージDBの一例を示す図である。 メッセージ共起確率算出部の機能を示すブロック図である。 順序依存共起確率記憶部の一例を示す図である。 順序非依存共起確率記憶部の一例を示す図である。 メッセージ共起パターンDBの一例を示す図である。 CI間関連算出部の機能を示すブロック図である。 CI間共起スコア記憶部の一例を示す図である。 CI間関連グラフ記憶部の一例を示す図である。 CI間影響判定部の機能を示すブロック図である。 CI間関連分析処理の手順の一例を示すアクティビティ図である。 共起関係のイメージを示す図である。 メッセージ共起確率算出処理の一例を示すアクティビティ図である。 発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図(1/3)である。 事前メッセージ起点型共起確率表の一例を示す図である。 発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図(2/3)である。 事後メッセージ起点型共起確率表の一例を示す図である。 発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図(3/3)である。 発生順序非依存型メッセージ共起確率算出処理の一例を示すアクティビティ図である。 メッセージ共起回数表の一例を示す図である。 発生順序非依存型メッセージの共起確率の計算例を示す図である。 メッセージ共起パターンの生成例を示す図である。 メッセージ共起パターン生成処理の手順の一例を示すアクティビティ図である。 グループ共起確率表の一例を示す図である。 グループ間の共起確率算出処理の手順の一例を示すアクティビティ図である。 グループ間の共起関係の一例を示す図である。 共起CIパターンの生成例を示す図である。 CI間の関連の強さの算出例を示す図である。 CI間関連算出処理の手順の一例を示すアクティビティ図である。 CI間共起スコア算出処理の手順の一例を示すアクティビティ図である。 CIペア発生表の一例を示す図である。 CI間関連グラフ生成処理の手順の一例を示すアクティビティ図の前半である。 CI間関連グラフ生成処理の手順の一例を示すアクティビティ図の後半である。 CI間影響算出の一例を示す図である。 CI間影響算出処理の手順の一例を示すアクティビティ図である。 CI間影響算出処理による調査対象リストの出力例を示す図である。 CI間影響範囲探索処理の手順の一例を示すアクティビティ図である。 調査対象候補リストの一例を示す図である。 影響隣接CI算出処理の手順の一例を示すアクティビティ図である。 影響隣接CI算出処理で用いられるエントリリストの一例を示す図である。 被影響隣接CI算出処理の手順の一例を示すアクティビティ図である。 被影響隣接CI算出処理で用いられるエントリリストの一例を示す図である。 双方向影響隣接CI算出処理の手順の一例を示すアクティビティ図である。 双方向影響隣接CI算出処理で用いられるエントリリストの一例を示す図である。 調査順位決定処理の手順の一例を示すアクティビティ図である。 第3の実施の形態におけるCIペア発生表の一例を示す図である。 第3の実施の形態における累積スコアの正規化方法の一例を示す図である。 第3の実施の形態におけるCI間共起スコア算出処理の手順の一例を示すアクティビティ図である。 第4の実施の形態におけるCIペア発生表の一例を示す図である。 第4の実施の形態における累積スコアの正規化方法の一例を示す図である。 第3の実施の形態におけるCI間共起スコア算出処理の手順の一例を示すアクティビティ図である。 第5の実施の形態における関連の強さの算出例を示す図である。 第5の実施の形態におけるCIペア発生表の一例を示す図である。 第5の実施の形態におけるCI間共起スコア算出処理の手順の一例を示すアクティビティ図である。 統計情報の一例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
図1は、第1の実施の形態に係る装置の機能構成例を示す図である。コンピュータ10は、システム1を監視する。監視対象のシステム1は、複数の構成要素1−1a,1−1b,1−1c,・・・を有している。各構成要素1−1a,1−1b,1−1c,・・・は、所定の事象が発生するとメッセージを出力し、出力するメッセージに出力時刻を示す時刻情報を付与する。そして各構成要素1−1a,1−1b,1−1c,・・・は、時刻情報を付与したメッセージを、メッセージログ1−2a,1−2b,1−2c,・・・として蓄積する。構成要素1−1a,1−1b,1−1c,・・・は、システム1内の機器や、システム1を構成するコンピュータ上で動作するソフトウェア資源である。構成要素1−1a,1−1b,1−1c,・・・は、エラーが発生した場合、ユーザを認証した場合など、所定の事象が発生した場合にメッセージを出力する。
コンピュータ10は、記憶部11と演算部12とを有する。記憶部11は、複数の構成要素1−1a,1−1b,1−1c,・・・が出力したメッセージを記憶する。
演算部12は、定期的に、システム1内の複数の構成要素1−1a,1−1b,1−1c,・・・それぞれにより出力されたメッセージを、メッセージログ1−2a,1−2b,1−2c,・・・から取得する(ステップS1)。演算部12は、取得したメッセージを、記憶部11に格納する。
その後、演算部12は、定期的に、記憶部11内のメッセージを参照し、複数の構成要素内の2つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとし、対象構成要素ペア間の関連の強さを決定する。関連の強さの決定は、例えば、対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて計算される。
関連の強さの決定は、例えば以下の手順で行われる。
まず演算部12は、出力した構成要素と種別とが共通のメッセージで構成される複数のメッセージ群を生成する。次に、演算部12は、複数のメッセージ群から、出力元が異なるメッセージ群のペアを複数生成する。演算部12は、生成したメッセージ群のペアそれぞれについて、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力される確率を示す共起確率を計算する。そして、演算部12は、共起確率が閾値以上であるメッセージ群のペアを、共起メッセージペアとして抽出する(ステップS2)。
次に演算部12は、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの共起確率に基づいて、対象構成要素ペア間の関連の強さを決定する(ステップS3)。例えば、演算部12は、共起メッセージペアの共起確率が高いほど、その共起メッセージペアの出力元である対象構成要素ペアの関連の強さを強く評価する。
その後、演算部12は、調査開始位置の構成要素を指定した調査順位決定指示が入力されると、複数の構成要素ペアの関連の強さに基づいて、調査開始位置の構成要素以外の構成要素の調査の優先順位(調査順位)を決定する(ステップS4)。
例えば演算部12は、調査開始位置の構成要素から、関連の強さが所定値以上の構成要素ペアの関連を辿ることで到達可能な構成要素を調査対象構成要素に決定する。次に、演算部12は、調査対象構成要素それぞれについて、調査開始位置の構成要素から調査対象構成要素までに辿った関連についての関連の強さに基づいて、調査の優先度を計算する。例えば演算部12は、関連の強さが0〜1の範囲内の値のとき、調査開始位置の構成要素から調査対象構成要素までに辿った各関連についての関連の強さを乗算し、その調査対象構成要素の優先度とする。これにより、関連の強さが強いほど、調査の優先度が高くなり、調査開始位置の構成要素との関係が近いほど、調査の優先度が高くなる。そして演算部12は、調査対象構成要素それぞれに対して、調査の優先度に応じた調査順位を決定する。
このようなコンピュータ10によれば、例えば障害が発生した構成要素を調査開始位置に指定した調査順位決定指示が入力されると、障害の原因や影響範囲を調査する際の構成要素の調査順位が決定される。その結果、運用者は、多数の構成要素の中から、障害の原因である可能性が高い構成要素を優先的に調査することができ、効率的な調査ができる。すなわち、障害の影響が及ぶ可能性が高い構成要素を優先的に調査することで、障害の影響範囲を迅速に特定し、迅速に対処可能となる。
なお、上記の説明では、共起メッセージペアの抽出において、メッセージの出力順序を考慮していない。これにより、構成要素1−1a,1−1b,1−1c,・・・それぞれがメッセージに付与する時刻情報が不正確で、メッセージに付与された時刻情報に基づくメッセージの出力順が実際のメッセージ出力順と異なる場合も考慮した共起関係の抽出が可能となる。
なお、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアが複数存在する場合がある。この場合、演算部12は、例えば共起メッセージペアそれぞれの共起確率の最も高い値に基づいて、対象構成要素ペア間の関連の強さを決定する。これにより、調査開始位置の構成要素から、関連の強さが所定値以上の構成要素ペアの関連を辿る際に、高い共起確率の共起メッセージペアの出力元となる対象構成要素ペア間の関連を漏らさずに辿ることができる。その結果、調査対象としての重要度が高い構成要素が調査対象から漏れてしまうことを抑止できる。
また演算部12は、関連の強さの決定において、構成要素ペアを出力元とする共起関係の種類(共起メッセージペアの数)が多い程、関連の強さを強くしてもよい。例えば演算部12は、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアが複数あるとき、共起メッセージペアそれぞれの共起確率の合計値に基づいて、対象構成要素ペア間の関連の強さを決定する。複数存在する共起メッセージペアの共起確率を合算していくことで、共起関係の種類が多い程、関連の強さが強くなる。これにより、関連の強さの正確性が向上する。
また演算部12は、メッセージ間の共起が発生した回数(共起発生回数)を用いて関連の強さの決定することもできる。構成要素ペアの共起発生回数は、その対象構成要素ペアを構成する構成要素それぞれを出力元とする共起メッセージペアの、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力された回数である。例えば演算部12は、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの共起確率と、共起発生回数とに基づいて、対象構成要素ペア間の関連の強さを決定する。この際に演算部12は、共起発生回数が多いほど、関連の強さを強くする。これにより、関連の強さの正確性が向上する。
さらに、演算部12は、共起確率、共起関係の種類数、および共起発生回数を組み合わせて、関連の強さを決定してもよい。これにより、関連の強さの判定の指標が多くなることで、関連の強さの正確性が向上する。
なお、演算部12は、共起メッセージペアの抽出において、順序依存の共起メッセージペアと順序非依存の共起メッセージペアとを抽出することもできる。順序依存の共起メッセージペアは、一方のメッセージ群に属するメッセージの出力後一定時間以内に他方のメッセージ群に属するメッセージが出力される共起確率が閾値以上である2つのメッセージ群の組である。順序非依存の共起メッセージペアは、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力される確率を示す共起確率が閾値以上である2つのメッセージ群の組である。このとき、演算部12は、例えば複数の構成要素ペアそれぞれについて、順序依存の共起メッセージペアに基づく有方向の関連の強さと、順序非依存の共起メッセージペアに基づく無方向の関連の強さとを計算する。そして演算部12は、例えば、無方向の関連の強さよりも有方向の関連の強さに対して高い重み付けをして、調査の優先度を計算する。例えば有方向の関連の強さの重みが「1.0」、無方向の関連の強さの重みが「0.8」となる。この重み付けにより、順序依存の共起関係がある方が、優先度が高くなる。その結果、調査順位を適切に決定することができる。
以上説明したように、第1の実施の形態では、構成要素の動作の結果出力されるメッセージの共起関係を分析することで、構成要素間の通信の有無に関わりなく、任意の2つの構成要素間の関連の強さが算出される。関連の強さは、例えば共起確率が高いほど強く、共起関係の種類が多いほど強く、共起発生回数が多いほど強くなる。
例えばシステム1内のある名称「A」の構成要素1−1aで種別「a」のメッセージが発生した後、名称「B」の構成要素1−1bで種別「b」のメッセージが高い確率で発生する場合、構成要素1−1aと構成要素1−1bの間には関連がある。図1の例では、構成要素1−1aと構成要素1−1bの間には、さらに、構成要素1−1aで種別「f」のメッセージが発生した後、構成要素1−1bで種別「g」のメッセージが高い確率で発生している。このように構成要素1−1aと構成要素1−1bの間に多くの種類の共起関係がある。そのため、構成要素1−1aと構成要素1−1bの間の関連の強さは、より強く判断される。
このような関連の強さに基づいて調査対象構成要素の優先度を計算し、調査順位を決定することで、適切な調査順位の決定が可能となる。適切な調査順位が決定されることにより、運用者がその調査順位に従った順番で障害などの調査を進めることで、効率的な調査が可能となる。例えば障害の原因を迅速に特定できる。
なお、コンピュータ10が障害の原因の自動調査機能を有している場合、調査順位に従って自動調査を行うことができる。例えばコンピュータ10は、調査順位に沿った順番で、システム1に対して調査対象の構成要素の診断プログラムを実行させることができる。これにより、早期に障害原因を特定できると共に、障害の原因である可能性の低い構成要素の診断プログラムは実行せずにすみ、システム1への負荷も軽減される。
また、第1の実施の形態によれば、構成要素間の通信パケットの解析では分からない関連性を検出できる。例えば共通のリソースにアクセスする2つの構成要素は、互いに通信は行わなくても、高い関連性を有している可能性がある。構成要素間の通信パケットから関連の強さを計算した場合、共通のリソースにアクセスする2つの構成要素の関連性は検出できない。それに対して、第1の実施の形態では、構成要素1−1a,1−1b,1−1c,・・・が出力するメッセージの共起関係から関連の強さを決定できるため、互いに通信しない構成要素間でも、間接的に関連していれば、関連の強さを正しく計算できる。
なお、図1に示した演算部12は、例えばコンピュータ10が有するプロセッサにより実現することができる。また、記憶部11は、例えばコンピュータ10が有するメモリまたはストレージ装置により実現することができる。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、第1の実施の形態に示したコンピュータ10の機能をより具体化したものである。
図2は、第2の実施の形態のシステム構成例を示す図である。第2の実施の形態では、複数の管理対象マシン210,220,・・・が、ネットワーク20を介して、管理サーバ100に接続されている。管理対象マシン210,220,・・・には、webサーバ、アプリケーションサーバ、データベース(DB)サーバなどの機能を実現する各種サーバソフトウェアが実装されている。そして、管理対象マシン210,220,・・・は、webサーバ、アプリケーションサーバ、DBサーバなどの各種サーバとして機能する。
例えば管理対象マシン210,220,・・・では、ハイパーバイザにより、1または複数の仮想マシン(VM:Virtual Machine)が起動される。そして管理対象マシン210,220,・・・内の仮想マシンそれぞれが、各種サーバとして機能する。従って、1台の管理対象マシンが、複数のサーバ機能を有することもできる。以下、管理対象マシン210,220,・・・において、サーバ機能を実行するVMを、単にサーバと呼ぶこととする。
管理サーバ100は、管理対象マシン210,220,・・・内のサーバの動作を監視し、異常の発生を検知する。また管理サーバ100は、管理対象マシン210,220,・・・内のサーバから、そのサーバで発生したメッセージの履歴を収集する。そして管理サーバ100は、収集したメッセージの履歴に基づいて、サーバ間の関連性を把握する。管理サーバ100は、関連性の強さについても把握し、いずれかのサーバで異常が検出された際には、調査対象とする他のサーバのリストを、調査の優先順位を付けて出力する。
図3は、管理サーバのハードウェアの一構成例を示す図である。管理サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、管理サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
ストレージ装置103は、内蔵した記憶媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、管理サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、管理対象マシン210,220,・・・も、管理サーバ100と同様のハードウェアで実現することができる。また、第1の実施の形態に示した装置も、図3に示した管理サーバ100と同様のハードウェアにより実現することができる。
管理サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。管理サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、管理サーバ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また管理サーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
以上のような構成のシステムおよびハードウェアにより、第2の実施の形態を実現できる。例えば管理サーバ100により、管理対象マシン210,220,・・・内のサーバに障害が発生したとき、運用者が調査すべき範囲と、その範囲内の要素の優先順とが運用者に提示される。
図4は、管理サーバの使用例を示す図である。例えば管理サーバ100は、システム全体の構成を、例えば構成管理データベース(CMDB:Configuration Management Database)で管理する。CMDBでは、システムの構成が、CI単位で管理される。管理サーバ100は、各管理対象マシン210,220,・・・から、各CIで発生したメッセージを収集する。そして、管理サーバ100は、CI間のメッセージの共起関係に基づいて、CI間の関連の強さを分析する。この分析は、例えば平常動作時のメッセージに基づいて定期的に行われる。また、障害発生時に分析を行ってもよい。
いずれかのCIで障害が発生すると、例えば、運用者31が、管理サーバ100に対して、障害が発生したCIのCI名を入力する。すると管理サーバ100は、入力されたCI名から関連するCIを辿り、調査対象とするCIをリストアップした調査対象リストを出力する。調査対象リストに含まれるCIは、例えば、障害が発生したCIとの関連性の強さに応じた順位が付けられている。
これにより、障害の発生時、障害の影響範囲や原因を調査する場面において、調査対象の候補を迅速に絞り込み、かつ調査の優先順位が提示される。その結果、調査を迅速化し、障害からの復旧までの時間を短縮できる。
図5は、管理対象マシンと管理サーバとの機能を示すブロック図である。管理対象マシン210は、例えば複数のサーバ211,212が含まれる。サーバ211,212は、例えばVMによって実現される。サーバ211,212は、処理過程で発生したメッセージを、履歴としてメッセージ記憶部213,214に格納する。他の管理対象マシン220,・・・も、管理対象マシン210と同様の機能を有する。
管理サーバ100は、メッセージ収集部110、メッセージDB120、メッセージ共起確率算出部130、メッセージ共起パターンDB140、CI間関連算出部150、CI間関連グラフ記憶部160、およびCI間影響判定部170を有する。
メッセージ収集部110は、管理対象マシン210,220,・・・からメッセージを収集する。メッセージ収集部110は、収集したメッセージをメッセージDB120に格納する。
メッセージDB120は、サーバ211,212などのCIのメッセージを記憶する。例えばメッセージDB120には、異なるCIのメッセージが、そのメッセージの発生時刻に基づいて時系列に並べて格納されている。メッセージDB120としては、例えばストレージ装置103の記憶領域の一部が使用される。
メッセージ共起確率算出部130は、メッセージDB120内のメッセージに基づいて、所定の属性を有するメッセージの間の共起確率を算出する。メッセージの属性は、そのメッセージの出力元CIとメッセージ種別とで特定される。すなわち、同じ出力元CIから出力された同じ種別の複数のメッセージは、同じ属性のメッセージとなる。そしてメッセージ共起確率算出部130は、ある属性のメッセージと他の属性のメッセージとの共起確率を計算し、共起確率が閾値以上の2つの属性それぞれに該当するメッセージを、共起メッセージと判断する。例えばメッセージ共起確率算出部130は、メッセージの発生順序を考慮した順序依存の共起メッセージと、メッセージの発生順序を考慮しない、順序非依存の共起メッセージとを区別する。そしてメッセージ共起確率算出部130は、連鎖して共起するメッセージの連鎖パターンを共起パターンとして、メッセージ共起パターンDB140に格納する。
メッセージ共起パターンDB140は、メッセージの共起パターンを記憶する。メッセージ共起パターンDB140としては、例えばメモリ102またはストレージ装置103の記憶領域の一部が使用される。
CI間関連算出部150は、メッセージ共起パターンに基づいて、CI間の関連度を算出する。CI間関連算出部150は、例えばメッセージ共起パターンを構成する各属性のメッセージの出力元CI同士は、関連性があると判断する。CI間関連算出部150は、関連性があるCI間の関係について、共起関係の確率、共起関係の種類の数、共起関係の発生回数などにより関連度を算出する。CI間関連算出部150は、算出した関連度に基づいて、CI間関連グラフを示すCI間関連グラフ情報を生成する。CI間関連グラフは、CIを示すオブジェクトと、関連するオブジェクト間を接続する線とで、CI間の関連性を表したものである。そしてCI間関連算出部150は、CI間関連グラフを示す情報を、CI間関連グラフ記憶部160に格納する。
CI間関連グラフ記憶部160は、CI間関連グラフを示す情報を記憶する。CI間関連グラフ記憶部160として、例えばストレージ装置103の記憶領域の一部が使用される。
CI間影響判定部170は、障害が発生したCIのCI名が入力されると、発生した障害への対処のために調査対象とすべきCIのリストを示す調査対象CIリストを生成する。この際、CI間影響判定部170は、調査対象の各CIの調査の優先度を計算する。そしてCI間影響判定部170は、優先度が高い順に調査対象のCIを並べた調査対象CIリストを生成する。CI間影響判定部170は、生成した調査対象CIリストを、例えばモニタ21に表示する。
なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図5に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
以下、図5に示す各要素について詳細に説明する。
図6は、メッセージDBの一例を示す図である。メッセージDB120には、メッセージ管理表121が設けられている。メッセージ管理表121は、時刻、出力元CI、メッセージ種別、およびメッセージ内容の欄が設けられている。時刻の欄には、各メッセージの発生時刻が設定される。出力元CIの欄には、メッセージを出力したCIの名称が設定される。メッセージ種別の欄には、出力されたメッセージの種別が設定される。メッセージ内容の欄には、出力されたメッセージの内容が設定される。メッセージ管理表121に示す出力元CIとメッセージ種別との組み合わせが、対応するメッセージの属性を示す。各属性の出力元CIとメッセージ種別との値の組を、その属性に属するメッセージを示すメッセージIDとする。
このようなメッセージDB120に格納されたメッセージの情報に基づいて、メッセージ共起確率算出部130により、メッセージ共起確率が求められる。そして、メッセージ共起確率に基づいて、メッセージ共起パターンが生成される。
図7は、メッセージ共起確率算出部の機能を示すブロック図である。メッセージ共起確率算出部130は、第1の共起確率算出部131、順序依存共起確率記憶部132、第2の共起確率算出部133、順序非依存共起確率記憶部134、およびメッセージ共起パターン生成部135を有する。
第1の共起確率算出部131は、発生順序依存型のメッセージ共起確率(順序依存共起確率)を算出する。例えば第1の共起確率算出部131は、特定のメッセージIDのメッセージを事前メッセージとし、他のメッセージIDのメッセージを事後メッセージとする。そして第1の共起確率算出部131は、事前メッセージが出力された後、所定時間以内に事後メッセージが出力される確率を、順序依存共起確率として算出する。第1の共起確率算出部131は、すべてのメッセージIDのメッセージを事前メッセージとした場合の順序依存共起確率を算出する。そして第1の共起確率算出部131は、算出した順序依存共起確率を、順序依存共起確率記憶部132に格納する。
順序依存共起確率記憶部132は、発生順序依存型のメッセージ間の順序依存共起確率を記憶する。順序依存共起確率記憶部132としては、例えばメモリ102の記憶領域の一部が使用される。
第2の共起確率算出部133は、発生順序非依存型のメッセージ共起確率(順序非依存共起確率)を算出する。例えば第2の共起確率算出部133は、2つのメッセージIDのペアについて、いずれか一方のメッセージIDのメッセージが出力された後、所定時間以内に他方のメッセージIDのメッセージが出力される確率を、順序非依存共起確率として算出する。第2の共起確率算出部133は、すべてのメッセージIDのペアについて、順序非依存共起確率を算出する。そして第2の共起確率算出部133は、算出した順序非依存共起確率を、順序非依存共起確率記憶部134に格納する。
順序非依存共起確率記憶部134は、発生順序非依存型のメッセージ間の共起確率を記憶する。順序非依存共起確率記憶部134としては、例えばメモリ102の記憶領域の一部が使用される。
メッセージ共起パターン生成部135は、メッセージIDのペアごとの順序依存共起確率および順序非依存共起確率に基づいて、連鎖的に発生する可能性の高い2以上のメッセージの組み合わせを示すメッセージ共起パターンを生成する。メッセージ共起パターン生成部135は、生成したメッセージ共起パターンを、メッセージ共起パターンDB140に格納する。
次に、図8と図9とを参照し、順序依存共起確率記憶部132と順序非依存共起確率記憶部134との具体例について説明する。
図8は、順序依存共起確率記憶部の一例を示す図である。順序依存共起確率記憶部132は、例えば順序依存共起確率表132aを有している。順序依存共起確率表132aには、共起ID、事前メッセージID、事後メッセージID、および共起確率の欄が設けられている。
共起IDの欄には、共起する2つのメッセージのペアを示す識別子(共起ID)が設定される。事前メッセージIDの欄には、先に出力されるメッセージのメッセージID(事前メッセージID)が設定される。事後メッセージIDの欄には、後に出力されるメッセージのメッセージID(事後メッセージID)が設定される。共起確率の欄には、事前メッセージIDに該当するメッセージが出力された後、所定時間以内に、事後メッセージIDに該当するメッセージが出力される確率(共起確率)が設定される。
図9は、順序非依存共起確率記憶部の一例を示す図である。順序非依存共起確率記憶部134は、例えば順序非依存共起確率表134aを有している。順序非依存共起確率表134aには、共起ID、メッセージID、および共起確率の欄が設けられている。
共起IDの欄には、共起する2つのメッセージのペアを示す識別子(共起ID)が設定される。メッセージIDの欄には、共起確率の算出対象とされた2つのメッセージIDが設定される。共起確率の欄には、2つのメッセージIDのうちの一方のメッセージIDに該当するメッセージが出力された後、所定時間以内に、他方のメッセージIDに該当するメッセージが出力される確率(共起確率)が設定される。
次に、メッセージ共起パターンDB140について具体的に説明する。
図10は、メッセージ共起パターンDBの一例を示す図である。メッセージ共起パターンDB140は、例えば共起パターン表141を有している。共起パターン表141には、パターンIDの欄と複数の共起IDの欄とが設けられている。
パターンIDの欄には、共起パターンの識別子(パターンID)が設定される。複数の共起IDの欄それぞれには、共起パターンに含まれるメッセージ間の関係に対応する共起IDが設定される。
次に、CI間関連算出部150について具体的に説明する。
図11は、CI間関連算出部の機能を示すブロック図である。CI間関連算出部150は、CI間共起スコア算出部151、CI間共起スコア記憶部152、およびCI間関連グラフ生成部153を有する。
CI間共起スコア算出部151は、メッセージ共起パターンDB140を参照し、2つのCI間における、それらのCIが出力するメッセージ間の共起関係の度合いを示す共起スコアを算出する。CI間共起スコア算出部151は、算出した共起スコアを、対応するCIの組に対応付けて、CI間共起スコア記憶部152に格納する。
CI間共起スコア記憶部152は、2つのCIの組ごとに算出された共起スコアを記憶する。例えばメモリ102内の記憶領域の一部が、CI間共起スコア記憶部152として使用される。
CI間関連グラフ生成部153は、CI間の共起スコアに基づいて、関連するCIを示すグラフ(CI間関連グラフ)を生成する。例えばCI間関連グラフ生成部153は、共起スコアが所定の閾値以上のCI間を、関連するCIとする。そして、CI間関連グラフ生成部153は、CI間関連グラフを表す情報を、CI間関連グラフ記憶部160に格納する。
次に、CI間共起スコア記憶部152について具体的に説明する。
図12は、CI間共起スコア記憶部の一例を示す図である。CI間共起スコア記憶部152は、例えばCI間共起スコア表152aを有している。CI間共起スコア表152aは、縦方向に起点となるCIのCI名をラベルとして並べ、横方向に終点となるCIのCI名をラベルとして並べた、マトリックス形式の表である。起点のCI名の行と終点のCI名の列との交わる場所に、起点のCI名に対応するCIと終点のCI名に対応するCIとのそれぞれから出力されるメッセージの共起スコアが設定される。
共起スコアには、方向性を考慮にいれた共起スコア(有方向)と、方向性を考慮しない共起スコア(無方向)とがある。有方向の共起スコアは、起点のCI名に対応するCIからメッセージが出力された後の所定時間内に、そのメッセージと強い共起を有するメッセージが終点のCI名に対応するCIから出力される度合いを示す。無方向の共起スコアは、起点のCI名に対応するCIと終点のCI名に対応するCIとのいずれかからメッセージが出力された後の所定時間内に、そのメッセージと強い共起を有するメッセージが他方のCI名に対応するCIから出力される度合いを示す。
このようなCI間の共起スコアに基づいて、CI間の関連性の有無が判断される。例えば閾値を「0.6」とした場合、有方向の共起スコアが「0.6」以上のCI間について、有方向の関連があると判断される。図12の例では、有方向の関連があるCI間の有方向の共起スコアについて、1本の下線を引いている。また、無方向の共起スコアが「0.6」以上であり、有方向の関連がないCI間について、無方向の関連があると判断される。図12の例では、無方向の関連があるCI間の無方向の共起スコアについて、2本の下線を引いている。
図12において、無方向の共起スコアが「0.6」以上であり、有方向の関連もあるCI間の無方向の共起スコアには、数値の右に「*」を付している。例えば、「Web001」と「App002」との間には、「App002」を起点とし、「Web001」を終点とする有方向の関連がある。そのため、「Web001」と「App002」の間の無方向の共起スコアについては、無方向の関連性の判断対象とされない。
次に、CI間関連グラフ記憶部160について具体的に説明する。
図13は、CI間関連グラフ記憶部の一例を示す図である。CI間関連グラフ記憶部160は、例えばCI間関連表161を有している。CI間関連表161には、起点CI、終点CI、影響種類、および共起スコアの欄が設けられている。
起点CIの欄には、起点となるCIのCI名が設定される。終点CIの欄には、終点となるCIのCI名が設定される。影響種類の欄には、影響関係の種類(影響種類)が設定される。起点CIと終点CIとの間に有方向の関連がある場合、影響種類は「有方向」となる。また起点CIと終点CIとの間に無方向の関連がある場合、影響種類は「無方向」となる。共起スコアの欄には、起点CIと終点CIとの間の共起スコアが設定される。例えば影響種類が「有方向」の場合、有方向の共起スコアが、共起スコアの欄に設定される。また影響種類が「無方向」の場合、無方向の共起スコアが、共起スコアの欄に設定される。
このようなCI間関連表161を予め作成しておくことで、いずれかのCIに障害が発生した場合、CI間影響判定部170により、調査対象とするCIのリストが作成される。
図14は、CI間影響判定部の機能を示すブロック図である。CI間影響判定部170は、CI間影響範囲探索部171と調査順位決定部172とを有する。
CI間影響範囲探索部171は、障害が発生したCIのCI名を含む障害発生CI情報32が入力されると、CI間関連グラフ記憶部160を参照し、障害に関係している可能性があるCIの範囲(影響範囲)を探索する。
調査順位決定部172は、影響範囲内のCIについて、調査の優先順位(調査順位)を決定する。例えば調査順位決定部172は、CIの範囲の探索過程で各CIについて求められたスコアに基づいて、調査順位を決定する。そして調査順位決定部172は、影響範囲内のCIを調査対象とし、調査対象のCIに調査順位を付与し、調査対象リスト33として出力する。
以上のような構成のシステムにおいて、事前処理としてCI間関連分析処理が行われ、障害発生時にCI間影響算出処理が、管理サーバ100で行われる。以下、管理サーバ100が実行する処理について詳細に説明する。
<CI間関連分析>
CI間関連分析は、例えば所定の期間ごとに定期的に実行される。
図15は、CI間関連分析処理の手順の一例を示すアクティビティ図である。以下、図15に示す処理を、ステップ番号に沿って説明する。
[ステップS101]メッセージ共起確率算出部130は、CI間関連分析の実行タイミングになると、メッセージ共起確率算出処理を行う。例えばメッセージ共起確率算出部130は、まずメッセージDB120を参照し、メッセージ共起確率を算出する。次に、メッセージ共起確率算出部130は、生成したメッセージ共起確率に基づいて、メッセージ共起パターンを生成する。そして、メッセージ共起確率算出部130は、生成したメッセージ共起確率パターンをメッセージ共起パターンDB140に格納する。メッセージ共起確率算出処理の詳細は後述する(図17参照)。
[ステップS102]メッセージ共起パターンが生成されると、CI間関連算出部150が、CI間関連算出処理を行う。例えばCI間関連算出部150は、メッセージ共起パターンDB140を参照し、共起するメッセージの組み合わせに基づいて、CI間の関連性を判断し、CI間の関連性を示すCI間関連グラフを生成する。そしてCI間関連算出部150は、CI間関連グラフを示す情報を、CI間関連グラフ記憶部160に格納する。CI間関連算出処理の詳細は後述する(図33参照)。
以下、図15に示す各ステップの処理を詳細に説明する。
<<メッセージ共起確率算出>>
事前・事後イベント間の共起関係を求める手法として、ベイズ推定やマルコフ連鎖がある。これらの手法を、異なるCIがログとして出力したメッセージ間の共起関係の判断に用いるのは、不適切である。すなわち、多数のCIが出力するメッセージは、パケット送信時刻がマイクロ秒単位で正確にわかるパケットキャプチャと異なり、メッセージが記録される時刻が正確ではない。そのため、異なるCIのメッセージの発生時刻を比較した場合、一定の割合で発生時刻の入れ替わりが発生する。このような環境で、ベイズ推定やマルコフ連鎖によりメッセージ間の共起関係を求めると、発生時刻の入れ替わりの影響を受け、システム内で実際に発生しているイベントの共起関係を正しく求めることができない。
そこで、第2の実施の形態では、発生順序の入れ替わりがあってもイベントの共起関係を求めるため、発生順序を考慮した共起関係と併せて、時間的近傍に発生したイベントから求めた発生順序を考慮しない共起関係を抽出する。
図16は、共起関係のイメージを示す図である。例えばメッセージDB120内に登録されているメッセージに付与された時刻(タイムスタンプ)によれば、事前メッセージ41が出力した後、事後メッセージ42が出力されているものとする。このとき発生順序を考慮した共起確率を計算すると「0.85」であったものとする。この共起確率が所定の閾値以上であれば、事前メッセージ41と事後メッセージ42とには、有方向の共起関係が認められる。図16では、有方向の共起関係を、メッセージ間を接続する矢印で示している。
事前メッセージ41と事後メッセージ42とのタイムスタンプが正確であれば、有方向の共起関係のみによって、事前メッセージ41と事後メッセージ42とが表される。しかし、個別のCIがメッセージをログとして出力する際に付与するタイムスタンプは、不正確であり、実際には、事前メッセージ41よりも事後メッセージ42の方が、出力時刻が早い可能性がある。そこで、無方向の共起確率「0.95」が計算される。図16では、無方向の共起関係を、メッセージ間を接続する網掛けの領域で示している。
無方向の共起確率は、有方向の共起確率よりも大きい値となる。そのため、有方向の共起確率が閾値未満であっても、無方向の共起確率は閾値以上となる可能性がある。無方向の共起確率が閾値以上となった場合に、事前メッセージ41と事後メッセージ42との間に無方向の共起関係があると判断することで、2つのメッセージ間に関連性があるにも拘わらず、関連性がないものと判断されることを抑止できる。
図17は、メッセージ共起確率算出処理の一例を示すアクティビティ図である。以下、図17に示す処理をステップ番号に沿って説明する。
[ステップS111]第1の共起確率算出部131は、メッセージDB120を参照し、発生順序依存型のメッセージ共起確率算出処理を実行する。第1の共起確率算出部131は、算出した発生順序依存型のメッセージ共起確率を、順序依存共起確率記憶部132に格納する。発生順序依存型メッセージ共起確率算出処理の詳細は後述する(図18参照)。
[ステップS112]第2の共起確率算出部133は、ステップS111と並列処理で、メッセージDB120を参照し、発生順序非依存型のメッセージ共起確率算出処理を実行する。第2の共起確率算出部133は、算出した発生順序非依存型のメッセージ共起確率を、順序非依存共起確率記憶部134に格納する。発生順序非依存型メッセージ共起確率算出処理の詳細は後述する(図23参照)。
[ステップS113]メッセージ共起パターン生成部135は、順序依存共起確率記憶部132と順序非依存共起確率記憶部134とを参照し、メッセージ共起パターン生成処理を実行する。メッセージ共起パターン生成部135は、生成したメッセージ共起パターンを、メッセージ共起パターンDB140に格納する。メッセージ共起パターン生成処理の詳細は後述する(図27参照)。
次に、発生順序依存型メッセージ共起確率算出処理について詳細に説明する。
図18は、発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図(1/3)である。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS121]第1の共起確率算出部131は、メッセージDB120に記憶されているメッセージを参照する。そして、第1の共起確率算出部131は、メッセージDB120内の未取得の1件のメッセージを事前メッセージとして取得する。
[ステップS122]第1の共起確率算出部131は、メッセージDB120に記憶されているメッセージが発生した時刻を参照し、事前メッセージとして取得したメッセージの発生後の所定の共起期間内に発生したすべてのメッセージを、事後メッセージ群43として取得する。共起期間は、例えば5分である。
[ステップS123]第1の共起確率算出部131は、事前メッセージと、事後メッセージ群43に含まれる事後メッセージそれぞれとの組み合わせを作成する。
[ステップS124]第1の共起確率算出部131は、事前メッセージ起点型共起確率表44内の、ステップS123において作成された事前メッセージと事後メッセージの組み合わせに対応するエントリを参照する。
図19は、事前メッセージ起点型共起確率表の一例を示す図である。事前メッセージ起点型共起確率表44には、事前メッセージと事後メッセージとの組に対応付けて、事前メッセージ出現回数、共起期間内の事後メッセージ出現回数、および事前メッセージ起点型共起確率が設定されている。事前メッセージ出現回数は、メッセージDB120内での事前メッセージの出現回数である。共起期間内の事後メッセージ出現回数は、事前メッセージが出現してから共起期間内に事後メッセージが出現した回数である。事前メッセージ起点型共起確率は、共起期間内の事後メッセージ出現回数を事前メッセージ出現回数で除算した値である。なお、事前メッセージ起点型共起確率表44は、例えば一時的に順序依存共起確率記憶部132内に格納される。
以下、図18の説明に戻る。
[ステップS125]第1の共起確率算出部131は、ステップS123において作成された事前メッセージと事後メッセージの組み合わせに対応するエントリが、事前メッセージ起点型共起確率表44に登録されていない場合、処理をステップS126に進める。該当するエントリがすでにあれば、処理をステップS127に進める。
[ステップS126]第1の共起確率算出部131は、該当するエントリがない場合、ステップS124において参照できなかったエントリの事前メッセージと事後メッセージの組み合わせを新しいエントリとして、事前メッセージ起点型共起確率表44に登録する。
[ステップS127]第1の共起確率算出部131は、ステップS123において作成された事前メッセージと事後メッセージの各組み合わせについて、事前メッセージ出現回数、共起期間内の事後メッセージの出現回数、事前メッセージ起点型共起確率を算出する。そして、第1の共起確率算出部131は、算出した結果によって、事前メッセージ起点型共起確率表44内のエントリを更新する。
[ステップS128]第1の共起確率算出部131は、メッセージDB120内にステップS121において未取得のメッセージがあるか否かを判断する。未取得のメッセージがあれば、処理がステップS121に進められ、未取得のメッセージに対する処理が実行される。未取得のメッセージがなければ、処理がステップS131(図20参照)に進められる。
図20は、発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図(2/3)である。以下、図20に示す処理をステップ番号に沿って説明する。
[ステップS131]第1の共起確率算出部131は、メッセージDB120に記憶されているメッセージを参照する。そして、第1の共起確率算出部131は、メッセージDB120内の未取得の1件のメッセージを事後メッセージとして取得する。
[ステップS132]第1の共起確率算出部131は、メッセージDB120に記憶されているメッセージが発生した時刻を参照し、事後メッセージとして取得したメッセージの発生前の所定の共起期間内に発生したメッセージのすべてを、事前メッセージ群45として取得する。
[ステップS133]第1の共起確率算出部131は、事後メッセージと、事前メッセージ群45に含まれる事前メッセージそれぞれとの組み合わせを作成する。
[ステップS134]第1の共起確率算出部131は、事後メッセージ起点型共起確率表46内の、ステップS133において作成された事前メッセージと事後メッセージの組み合わせに対応するエントリを参照する。
図21は、事後メッセージ起点型共起確率表の一例を示す図である。事後メッセージ起点型共起確率表46には、事前メッセージと事後メッセージとの組に対応付けて、共起期間内の事前メッセージ出現回数、事後メッセージ出現回数、および事後メッセージ起点型共起確率が設定されている。共起期間内の事前メッセージ出現回数は、事後メッセージが出現するまえの共起期間内に事前メッセージが出現した回数である。事後メッセージ出現回数は、メッセージDB120内での事後メッセージの出現回数である。事後メッセージ起点型共起確率は、共起期間内の事前メッセージ出現回数を事後メッセージ出現回数で除算した値である。なお、事後メッセージ起点型共起確率表46は、例えば一時的に順序依存共起確率記憶部132内に格納される。
以下、図20の説明に戻る。
[ステップS135]第1の共起確率算出部131は、ステップS133において作成された事前メッセージと事後メッセージの組み合わせに対応するエントリが、事後メッセージ起点型共起確率表46に登録されていない場合、処理をステップS136に進める。該当するエントリがすでにあれば、処理をステップS137に進める。
[ステップS136]第1の共起確率算出部131は、該当するエントリがない場合、ステップS134において参照できなかったエントリの事前メッセージと事後メッセージの組み合わせを新しいエントリとして、事後メッセージ起点型共起確率表46に登録する。
[ステップS137]第1の共起確率算出部131は、ステップS133において作成された事前メッセージと事後メッセージの各組み合わせについて、共起期間内の事前メッセージの出現回数、事後メッセージ出現回数、事後メッセージ起点型共起確率を算出する。そして、第1の共起確率算出部131は、算出した結果によって、事後メッセージ起点型共起確率表46内のエントリを更新する。
[ステップS138]第1の共起確率算出部131は、メッセージDB120内にステップS131において未取得のメッセージがあるか否かを判断する。未取得のメッセージがあれば、処理がステップS131に進められ、未取得のメッセージに対する処理が実行される。未取得のメッセージがなければ、処理がステップS141(図22参照)に進められる。
図22は、発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図(3/3)である。以下、図22に示す処理をステップ番号に沿って説明する。
[ステップS141]第1の共起確率算出部131は、事前メッセージ起点型共起確率表44から、未抽出の1件のエントリを抽出する。
[ステップS142]第1の共起確率算出部131は、事後メッセージ起点型共起確率表46から、ステップS141において取得した事前メッセージと事後メッセージの組と一致する組のエントリを抽出する。
[ステップS143]第1の共起確率算出部131は、ステップS141において取得した事前メッセージと事後メッセージの組からなるエントリが事後メッセージ起点型共起確率表46に存在しない場合は、処理をステップS148に進める。該当するエントリが存在すれば、処理がステップS144に進められる。
[ステップS144]第1の共起確率算出部131は、順序依存共起確率記憶部132内の、ステップS141,S142において抽出したエントリと同じ事後メッセージと事前メッセージとの組のエントリを参照する。
[ステップS145]第1の共起確率算出部131は、ステップS144における参照対象のエントリが、順序依存共起確率記憶部132に存在しない場合、処理をステップS146に進める。該当エントリが存在すれば、処理がステップS147に進められる。
[ステップS146]第1の共起確率算出部131は、ステップS144において参照できなかったエントリの事前メッセージと事後メッセージの組み合わせを新しいエントリとして、順序依存共起確率記憶部132に追加する。
[ステップS147]第1の共起確率算出部131は、ステップS141,S142において抽出したエントリに基づいて、ステップS144における参照対象の順序依存共起確率記憶部132内のエントリを更新する。例えば第1の共起確率算出部131は、ステップS141で抽出したエントリから事前メッセージ起点型共起確率を取得する。また第1の共起確率算出部131は、ステップS142で抽出したエントリから事後メッセージ起点型共起確率を取得する。そして第1の共起確率算出部131は、取得した事前メッセージ起点型共起確率と事後メッセージ起点型共起確率との調和平均を計算し、ステップS144における参照対象のエントリの共起確率とする。具体的には、共起確率は、以下の式で計算できる。
共起確率=(2×(事前メッセージ起点型共起確率)×(事後メッセージ起点型共起確率))/((事前メッセージ起点型共起確率)+(事後メッセージ起点型共起確率))
第1の共起確率算出部131は、算出した共起確率を、順序依存共起確率記憶部132に、ステップS144における参照対象のエントリの共起確率として設定する。
[ステップS148]第1の共起確率算出部131は、事前メッセージ起点型共起確率表44に、未抽出のエントリがあるか否かを判断する。未抽出のエントリがあれば処理がステップS141に進められ、未抽出のエントリに対して上記処理が行われる。未抽出のエントリがなければ、発生順序依存型メッセージ共起確率算出処理が終了する。
以上の処理によって、事前メッセージと事後メッセージの各組み合わせに対する発生順序依存型のメッセージ間の共起確率が算出される。
発生順序依存型メッセージ共起確率算出と並行して発生順序非依存型メッセージ共起確率算出も行われる。以下、発生順序非依存型メッセージ共起確率算出について詳細に説明する。
図23は、発生順序非依存型メッセージ共起確率算出処理の一例を示すアクティビティ図である。以下、図23に示す処理をステップ番号に沿って説明する。
[ステップS151]第2の共起確率算出部133は、メッセージDB120から未処理のメッセージを1件取得し、起点メッセージとする。
[ステップS152]第2の共起確率算出部133は、メッセージDB120から、起点メッセージの発生時刻の前後の共起期間内に発生したメッセージのメッセージIDを取得し、共起メッセージIDとする。そして第2の共起確率算出部133は、取得した共起メッセージID一覧47を生成し、メモリ102に格納する。
[ステップS153]第2の共起確率算出部133は、起点メッセージと共起メッセージとの組み合わせを作成する。例えば第2の共起確率算出部133は、生成した組み合わせの起点メッセージのメッセージIDを「メッセージID1」、共起メッセージのメッセージIDを「メッセージID2」とする。共起メッセージIDが複数存在する場合、複数の組み合わせが生成される。
[ステップS154]第2の共起確率算出部133は、メッセージ共起回数表48にアクセスし、生成した各組み合わせに対応するエントリを更新する。メッセージ共起回数表48は、各組み合わせの共起回数を管理するデータテーブルである。
図24は、メッセージ共起回数表の一例を示す図である。メッセージ共起回数表48には、メッセージID1のメッセージIDとメッセージID2のメッセージIDとの組に関連付けて、メッセージID1発生回数と共起回数とが設定されている。メッセージID1発生回数は、メッセージID1に対応するメッセージのメッセージDB120内での出現回数である共起回数は、メッセージID1に対応するメッセージとメッセージID2に対応するメッセージとの共起回数である。例えば、メッセージID1に対応するメッセージの発生時刻の前後の共起期間内においてメッセージID2に対応するメッセージが発生した回数が、共起回数となる。
メッセージ共起回数表48は、例えば、順序非依存共起確率記憶部134内に一時的に格納される。第2の共起確率算出部133は、ステップS153で作成した各組み合わせについて、メッセージID1発生回数と共起回数とを計数し、順序非依存共起確率記憶部134内の、組み合わせに対応するエントリに設定する。
以下、図23の説明に戻る。
[ステップS155]第2の共起確率算出部133は、ステップS153で生成した組み合わせに対応するエントリがメッセージ共起回数表48に存在しない場合、処理をステップS156に進める。該当エントリがメッセージ共起回数表48に存在していれば、処理がステップS157に進められる。
[ステップS156]第2の共起確率算出部133は、ステップS153で生成した組み合わせに対応するエントリをメッセージ共起回数表48に追加する。また第2の共起確率算出部133は、追加したエントリに対応する組み合わせのメッセージID1発生回数と共起回数とを計数し、そのエントリに設定する。
[ステップS157]第2の共起確率算出部133は、順序非依存共起確率記憶部134における、ステップS153で生成した組み合わせに対応するエントリの、発生順序非依存型のメッセージの共起確率を更新する。
図25は、発生順序非依存型メッセージの共起確率の計算例を示す図である。メッセージID1のメッセージIDを有するメッセージAの集合(メッセージA集合51)と、メッセージID2のメッセージIDを有するメッセージBの集合(メッセージB集合52)とを考える。またメッセージAとメッセージBとの共起メッセージの集合を、共起メッセージ集合53とする。このとき、メッセージA集合51のうち共起メッセージ集合53に属するメッセージ数と、メッセージB集合52のうち共起メッセージ集合53に属するメッセージ数とは、同じである。
発生順序非依存型メッセージの共起確率は、例えば以下の式で算出される。
共起確率=(2×(共起メッセージの個数))/((メッセージAの個数)+(メッセージBの個数))
以下、図23の説明に戻る。
[ステップS158]共起確率更新後、第2の共起確率算出部133は、メッセージDB120内に、まだ起点メッセージとしていないメッセージがあるか否かを判断する。起点メッセージとしていないメッセージがあれば、処理がステップS151に進められ、そのメッセージを起点メッセージとする処理が実行される。すべてのメッセージについて処理が完了していれば、発生順序非依存型メッセージ共起確率算出処理が終了する。
このようにして、発生順序非依存型のメッセージ共起確率が算出される。
<<メッセージ共起パターン生成>>
メッセージ共起確率の算出が終了すると、メッセージ共起パターン生成部135により、メッセージ共起パターンが生成される。
メッセージ共起パターン生成手法の1つとして、共起確率が閾値より高いメッセージIDのペア(a,b)、(b,c)があった場合、2つのペアに共通するメッセージID「b」を介してグループ化できる。このグループ化により、メッセージパターン(a,b,c)が作成される。これを再帰的に繰り返すことでメッセージ共起パターンを作成することができる。
ただし、第2の実施の形態では、共起確率として、発生順序依存型の共起確率と発生順序非依存型の共起確率との2種類が存在する。この場合、2つのメッセージに着目すると、2者間の発生順序非依存型の共起確率は、常に発生順序依存型の共起確率以上になる。そのため、これら2種の共起確率を同列に扱ってパターンを作成すると、発生順序非依存型の共起確率のペアが優先的にパターンとしてグルーピングされてしまう。
影響範囲や障害原因の切り分けを考えると、関連の方向が分かることの価値が高い。そのため、2種の共起確率を同列に扱うことで、方向を考慮しない関連が多く算出されると、切り分けの参考情報としての価値が低下してしまう。
そこで、メッセージ共起パターン生成部135は、先に発生順序依存型の共起確率に基づくメッセージ共起パターン算出を行う。その後、メッセージ共起パターン生成部135は、発生順序非依存型の共起確率のうち、発生順序依存型のパターンに現れなかったメッセージを含むもののみを用いてメッセージ共起パターンを成長させる。
図26は、メッセージ共起パターンの生成例を示す図である。図26の例では、メッセージを楕円の図形で表している。そして、発生順序依存型の共起確率を、メッセージ間を接続する矢印の横に示している。また、発生順序非依存型の共起確率を、メッセージ間を接続する太線の線分の横に示している。
図26の例では、共起確率が「0.6」以上の場合に、共起関係があると判断するものとする。メッセージID「a」のメッセージとメッセージID「b」のメッセージとは、発生順序依存型および発生順序非依存型の両方の共起確率が、閾値以上である。メッセージID「b」のメッセージとメッセージID「c」のメッセージとは、発生順序依存型および発生順序非依存型の両方の共起確率が、閾値以上である。メッセージID「b」のメッセージとメッセージID「d」のメッセージとは、発生順序非依存型の共起確率のみが、閾値以上である。
このとき、まず順序依存型のメッセージ共起パターンが生成される。すると順序依存型の共起確率に基づいて、メッセージID「a」のメッセージの次にメッセージID「b」のメッセージが発生し、その次にメッセージID「c」のメッセージが発生するというメッセージ共起パターン61が生成される。このときメッセージID「d」のメッセージは、他のいずれのメッセージとも、順序依存型の共起確率が閾値を超えていない。そのため、メッセージ共起パターン61には、メッセージID「d」のメッセージは含まれない。
次に、順序非依存型の共起確率に基づいて、メッセージ共起パターン61が拡張される。その結果、メッセージ共起パターン61にメッセージID「d」のメッセージを追加したメッセージ共起パターン62が生成される。
以下、メッセージ共起パターン生成処理について詳細に説明する。
図27は、メッセージ共起パターン生成処理の手順の一例を示すアクティビティ図である。以下、図27に示す処理をステップ番号に沿って説明する。
[ステップS161]メッセージ共起パターン生成部135は、順序依存共起確率記憶部132と順序非依存共起確率記憶部134とから、共起確率が閾値未満の共起関係を削除する。例えばメッセージ共起パターン生成部135は、順序依存共起確率記憶部132内の順序依存共起確率表132aにおける共起確率の欄を参照し、共起確率が閾値未満のエントリを検索する。そしてメッセージ共起パターン生成部135は、該当するエントリを順序依存共起確率表132aから削除する。同様に、メッセージ共起パターン生成部135は、順序非依存共起確率記憶部134内の順序非依存共起確率表134aにおける共起確率の欄を参照し、共起確率が閾値未満のエントリを検索する。そしてメッセージ共起パターン生成部135は、該当するエントリを順序非依存共起確率表134aから削除する。
[ステップS162]メッセージ共起パターン生成部135は、順序依存共起確率記憶部132から発生順序依存の共起関係にあるメッセージのペア(共起メッセージペア)をすべて取得し、グループ1候補としてグループ1候補リスト63に格納する。グループ1候補リスト63は、例えばメモリ102内に保持される。
[ステップS163]メッセージ共起パターン生成部135は、順序依存共起確率記憶部132から発生順序依存の共起関係にある共起メッセージペアをすべて取得し、グループ2候補としてグループ2候補リスト64に格納する。グループ2候補リスト64は、例えばメモリ102内に保持される。
[ステップS164]メッセージ共起パターン生成部135は、グループ1候補リスト63とグループ2候補リスト64との共起メッセージペアを、それぞれグループ1、グループ2としたときのグループ間の共起確率算出処理を行う。これにより、発生順序依存の共起関係にある2つのグループ間の共起確率が算出される。メッセージ共起パターン生成部135は、算出した共起確率を、グループ共起回数表65に格納する。グループ間の共起確率算出処理の詳細は後述する(図29参照)。
図28は、グループ共起確率表の一例を示す図である。グループ共起回数表65には、グループペアID、グループ1、グループ2、グループ1発生回数、共起回数、および共起確率の欄が設けられている。
グループペアIDの欄には、2つのグループの組み合わせの識別子(グループペアID)が設定される。グループ1の欄には、グループ1として設定された共起メッセージペアまたはグループペアIDが設定される。グループ2の欄には、グループ2として設定された共起メッセージペアまたはグループペアIDが設定される。グループ1発生回数の欄には、グループ1に示す共起関係が発生した回数が設定される。共起回数の欄には、グループ1とグループ2との共起関係が発生した回数が設定される。共起確率の欄には、グループ1とグループ2との共起関係の発生確率(共起確率)が設定される。
以下、図27の説明に戻る。
[ステップS165]メッセージ共起パターン生成部135は、グループ2候補リスト64のエントリをすべて削除(初期化)する。そして、メッセージ共起パターン生成部135は、順序非依存共起確率記憶部134から発生順序非依存の共起関係にあるメッセージのペア(共起メッセージペア)をすべて取得し、グループ2候補としてグループ2候補リスト64に格納する。
[ステップS166]メッセージ共起パターン生成部135は、グループ1候補リスト63とグループ2候補リスト64とのそれぞれに登録されたグループ間の共起確率算出処理を行う。これにより、発生順序依存の共起関係にある共起メッセージペアと、発生順序非依存の共起関係にある共起メッセージペアとの間の共起確率が算出される。メッセージ共起パターン生成部135は、算出した共起確率を、グループ共起回数表65に格納する。
[ステップS167]メッセージ共起パターン生成部135は、グループ1候補リスト63のエントリをすべて削除(初期化)する。そして、メッセージ共起パターン生成部135は、順序非依存共起確率記憶部134から発生順序非依存の共起関係にあるメッセージのペア(共起メッセージペア)をすべて取得し、グループ1候補としてグループ1候補リスト63に格納する。
[ステップS168]メッセージ共起パターン生成部135は、グループ1候補リスト63とグループ2候補リスト64とのそれぞれに登録されたグループ間の共起確率算出処理を行う。これにより、発生順序非依存の共起関係にある2つのグループ間の共起確率が算出される。メッセージ共起パターン生成部135は、算出した共起確率を、グループ共起回数表65に格納する。
[ステップS169]メッセージ共起パターン生成部135は、グループ1候補リスト63のエントリとグループ2候補リスト64のエントリとをすべて削除(初期化)する。次に、メッセージ共起パターン生成部135は、グループ共起回数表65内の共起確率が閾値以上のグループの組み合わせ(グループペア)を抽出する。そしてメッセージ共起パターン生成部135は、抽出した組み合わせに含まれるすべてのグループを、グループ1候補およびグループ2候補として、グループ1候補リスト63とグループ2候補リスト64との両方に格納する。
[ステップS170]メッセージ共起パターン生成部135は、グループ1候補リスト63とグループ2候補リスト64とのそれぞれのグループ間の共起確率算出処理を行う。これにより、2つのグループ間の共起確率が算出される。メッセージ共起パターン生成部135は、算出した共起確率を、グループ共起回数表65に格納する。
[ステップS171]メッセージ共起パターン生成部135は、グループ共起回数表65の各エントリをメッセージ間の共起関係に展開して、メッセージ共起パターンとして、メッセージ共起パターンDB140に出力する。このときメッセージ共起パターン生成部135は、グループ共起回数表65内の共起確率が閾値以上のエントリについてのみ、メッセージ共起パターンを出力してもよい。
図28に示すグループ共起回数表65では、ID「P2001」のエントリは、グループ1とグループ2として、グループ共起回数表65内の他のエントリのID「P0001」、「P1001」が設定されている。そこでID「P2001」のエントリについて、グループ1が「I0002」と「D0003」とに展開され、グループ2が「D0003」と「D0141」とに展開される。ここで「D0003」は重複するためID「P2001」のエントリは、「I0002」、「D0003」、「D0141」に展開される。すなわち「I0002」、「D0003」、「D0141」の組からなるメッセージ共起パターンが出力される。出力されたメッセージ共起パターンは、パターンIDが付与され、メッセージ共起パターンDB140に格納される。
次に、グループ間の共起確率算出処理について詳細に説明する。
図29は、グループ間の共起確率算出処理の手順の一例を示すアクティビティ図である。以下、図29に示す処理をステップ番号に沿って説明する。
[ステップS181]メッセージ共起パターン生成部135は、グループ1候補リスト63内の未処理のグループ1候補を1件、グループ1として取得する。
[ステップS182]メッセージ共起パターン生成部135は、グループ1と共通のメッセージIDを要素に持つグループ2候補を1件、グループ2としてグループ2候補リスト64から取得する。
[ステップS183]メッセージ共起パターン生成部135は、メッセージDB120から、グループ1に属するメッセージを特定する。例えばメッセージ共起パターン生成部135は、グループ1に含まれるメッセージIDそれぞれと同じメッセージIDを有するメッセージを特定する。
[ステップS184]メッセージ共起パターン生成部135は、メッセージDB120内のステップS183で特定したメッセージのうち、グループ2と共有されるメッセージを抽出する。ここで抽出されたメッセージの数が、グループ1とグループ2との共起回数となる。
図30は、グループ間の共起関係の一例を示す図である。図30の例では、メッセージDB120内のメッセージ71,72,74,75が、グループ1に属している。メッセージ71が発生してから共起期間内にメッセージ72が発生しており、2つのメッセージは共起関係にある。同様に、メッセージ74が発生してから共起期間内にメッセージ75が発生しており、2つのメッセージは共起関係にある。
またメッセージDB120内のメッセージ72,73,76,77が、グループ2に属している。メッセージ72が発生してから共起期間内にメッセージ73が発生しており、2つのメッセージは共起関係にある。同様に、メッセージ76が発生してから共起期間内にメッセージ77が発生しており、2つのメッセージは共起関係にある。
このとき、メッセージ72は、グループ1とグループ2との両方に属している。従って、メッセージ71〜73により、共起関係が1件カウントされる。他方、グループ1のメッセージ74,75とグループ2のメッセージ76,77とは、共通のメッセージを有しておらず、共起関係にはない。
このようなグループ間の共起関係の抽出が、ステップS183,S184で行われる。以下、図29の説明に戻る。
[ステップS185]メッセージ共起パターン生成部135は、グループ共起回数表65における、現在のグループ1とグループ2とのペアに対応するエントリに対して、グループ1の発生回数、共起回数、および共起確率の値を更新する。共起確率は、例えば共起回数を、グループ1の発生回数で除算した値である。なお、図25に示した例と同様に、共起回数の2倍を、グループ1の発生回数とグループ2の発生回数との合計で除算した値を共起確率としてもよい。
[ステップS186]メッセージ共起パターン生成部135は、グループ2候補リスト64内に、未処理のグループ2候補があるか否かを判断する。未処理のグループ2候補があれば、処理がステップS182に進められる。未処理のグループ2候補がなければ、処理がステップS187に進められる。
[ステップS187]メッセージ共起パターン生成部135は、グループ1候補リスト63内に、未処理のグループ1候補があるか否かを判断する。未処理のグループ1候補があれば、処理がステップS181に進められる。未処理のグループ1候補がなければ、グループ間共起確率算出処理が終了する。
以上のようにして、メッセージ共起パターンが生成され、メッセージ共起パターンDB140に格納される。
<<CI間関連算出>>
メッセージ共起パターンの生成が完了すると、CI間関連算出部150により、CI間関連算出処理が行われる。
CI間の関連を算出する手法としては、例えば、共起メッセージパターン(a,b,c)のそれぞれのメッセージの出力元には関連があると仮定し、メッセージパターンと同形の共起CIパターンを作ることが考えられる。
図31は、共起CIパターンの生成例を示す図である。メッセージ共起パターンは、共起関係のあるメッセージのメッセージID(a,b,c)で表されている。図6に示したように、メッセージIDには出力元CIの名称とメッセージ種別とが含まれている。そこで、メッセージ共起パターンに含まれる各メッセージIDから出力元を抽出することで、共起CIパターンを生成することができる。
ただし、このようにして共起CIパターンを作成しただけでは、個別の共起CIパターンに着目したとき、CI間の関連の有無はわかるが、関連の強さが分からない。そのため、調査範囲はわかっても、障害時に優先して調査すべき機器が分からず、迅速な障害切り分けの妨げとなる。そこで、CI間関連算出部150は、任意のCIに着目し、そのCIを含む共起CIパターンをまとめ、まとめられた共起関係からCI間の関連の強さを算出する。
図32は、CI間の関連の強さの算出例を示す図である。例えば、メッセージ共起パターンDB140に登録されているメッセージ共起パターンそれぞれから、図31に示すように共起CIパターン81〜85を生成することで、共起CIパターンリスト80が作成される。ここで例えばCI「App002」に着目して、CI「App002」を中心とした関連を示すCI間関連グラフ86を作成するものとする。
図32の例では、CI「Web002」は、2つの共起CIパターン81,82において、CI「App002」の上流側に関連する。そこで、CI間関連グラフ86では、CI「App002」とCI「Web002」が強い有方向の関連で接続される。図32の例では、太い矢印により強い関連が表されている。
同様にCI「App001」は、2つの共起CIパターン81,84において、CI「App002」に対して無方向の関連性を有している。そこで、CI間関連グラフ86では、CI「App002」とCI「App001」が強い無方向の関連で接続される。図32の例では、太い実線により強い関連が表されている。
CI「Web001」は、1つの共起CIパターン85において、CI「App002」の下流側に関連する。そこで、CI間関連グラフ86では、CI「App002」とCI「Web001」が弱い有方向の関連で接続される。図32の例では、細い矢印により弱い関連が表されている。
このようにCI間関連グラフ86によりCI間の関連の強さを表すことで、障害の原因や影響範囲を切り分ける際の調査の優先順位が明確となる。すなわち、CI「App002」に障害が発生した場合、CI「Web002」について、原因究明における調査の優先順位が高くなる。またCI「App001」について、影響範囲探索における調査の優先順位が高くなる。
なお、図32に示したのは、CI間の関連強さ算出の一例であり、他の様々な算出方法が考えられる。例えば2つのCI間の関連の強さの算出基準としては、共起確率、共起関係の種類数、共起関係の発生回数を用いることができる。これらの算出基準のいずれか1つ、または2つ以上を組み合わせてCI間の関連強さを算出できる。第2の実施の形態では、共起確率のみを用いて、CI間の関連強さを算出するものとする。複数の算出基準を組み合わせてCI間の関連強さを算出する例は、後述する第3〜第5の実施の形態において説明するものとする。
共起確率のみを用いてCI間の関連強さを算出する場合、例えば、2つのCI間で発生した共起関係を表すメッセージペアそれぞれの共起確率のうち、最も高い共起確率が、当該2つのCI間の関連の強さとなる。以下、CI間関連算出処理について詳細に説明する。
図33は、CI間関連算出処理の手順の一例を示すアクティビティ図である。以下、図33に示す処理をステップ番号に沿って説明する。
[ステップS201]CI間共起スコア算出部151は、メッセージ共起パターンDB140を参照し、CI間共起スコアを算出する。CI間共起スコア算出部151は、算出したCI間共起スコアを、CI間共起スコア記憶部152に設定する。CI間共起スコア算出処理の詳細は後述する(図34参照)。
[ステップS202]CI間関連グラフ生成部153は、CI間共起スコア記憶部152を参照し、CI間関連グラフを生成する。CI間関連グラフ生成部153は、生成したCI間関連グラフを示す情報を、CI間関連グラフ記憶部160に格納する。CI間関連グラフ生成処理の詳細は後述する(図36参照)。
次に、CI間共起スコア算出処理について詳細に説明する。
図34は、CI間共起スコア算出処理の手順の一例を示すアクティビティ図である。以下、図34に示す処理をステップ番号に沿って説明する。
[ステップS211]CI間共起スコア算出部151は、メッセージ共起パターンDB140から、メッセージ共起パターンを一件抽出する。
[ステップS212]CI間共起スコア算出部151は、抽出したメッセージ共起パターンの共起関係を、CIのペアに展開する。例えばメッセージ共起パターンは、図10に示すように、共起するメッセージの組み合わせに付与されたIDが設定されている。CI間共起スコア算出部151は、メッセージ共起パターンに含まれるIDに対応するエントリを、順序依存共起確率記憶部132または順序非依存共起確率記憶部134から検索する。そしてCI間共起スコア算出部151は、メッセージ共起パターンに含まれる共起IDを、対応するエントリに含まれるメッセージIDの組に展開する。CI間共起スコア算出部151は、組となったメッセージIDそれぞれからCIの名称を抽出し、CIペアとする。CI間共起スコア算出部151は、展開して得られたCIペアに対して、共起するメッセージの組の共起IDを付与しておく。
[ステップS213]CI間共起スコア算出部151は、CIペア発生表を更新する。CIペア発生表は、2つのCIのペアごとに、そのペアが共に属するメッセージ共起パターンの発生確率を設定するデータテーブルである。CIペア発生表には、発生順序依存型CIペア発生表91と発生順序非依存型CIペア発生表92との2種類がある。
図35は、CIペア発生表の一例を示す図である。発生順序依存型CIペア発生表91には、CI1、CI2、パターンID、共起ID、共起確率、および共起スコアの欄が設けられている。CI1とCI2との欄には、メッセージ共起パターンをメッセージペアに展開したときに、メッセージペアの出力元のCIペアを構成するCIの名称が設定される。パターンIDの欄には、CIペアの生成元となったメッセージ共起パターンのパターンIDが設定される。共起IDの欄には、対応するメッセージ共起パターン内の共起IDで示されるメッセージペアのうち、対応するCIペアを出力元とするメッセージペアの共起IDが設定される。共起確率の欄には、対応する共起IDで示されるメッセージペアの共起確率が設定される。共起スコアの欄には、CIペアが共通のメッセージペアのうちの共起確率の最大値が、そのCIペアに対する共起スコアとして設定される。
例えば、CI「App001」とCI「App002」とを出力元とするメッセージペア(共起ID「D005」、「D008」)が、2つのメッセージ共起パターンそれぞれに含まれている場合がある。共起ID「D005」のメッセージペアの共起確率は「0.99」であり、共起ID「D008」のメッセージペアの共起確率は「0.85」である。すると最大値は「0.99」であり、CI「App001」とCI「App002」のペアに対する共起スコアは「0.99」となる。
発生順序非依存型CIペア発生表92にも、発生順序依存型CIペア発生表91と同様の情報が格納される。
CIペア発生表を更新する際、CI間共起スコア算出部151は、CIペアが順序依存の共起関係から抽出されていれば、発生順序依存型CIペア発生表91を更新する。またCI間共起スコア算出部151は、CIペアが順序非依存の共起関係から抽出されていれば、発生順序非依存型CIペア発生表92を更新する。CIペアがどのような共起関係から抽出されたのかは、そのCIペアに付与された共起IDに基づいて判断できる。例えば図8、図9の例では、順序依存の共起メッセージの組に付与される共起IDは「D」で始まり、順序非依存の共起メッセージの組に付与される共起IDは「I」で始まる。
CIペア発生表の更新においては、CI間共起スコア算出部151は、発生順序依存型CIペア発生表91または発生順序非依存型CIペア発生表92にCIペアの情報を追加し、そのCIペアに対応する共起スコアを更新する。
以下、図34の説明に戻る。
[ステップS214]CI間共起スコア算出部151は、未評価のメッセージ共起パターンがあるか否かを判断する。未評価のメッセージ共起パターンがある場合、処理がステップS211に進められる。未評価のメッセージ共起パターンがない場合、処理がステップS215に進められる。
[ステップS215]CI間共起スコア算出部151は、CI間共起スコア記憶部152に、CI間共起スコアを出力する。例えばCI間共起スコア算出部151は、発生順序依存型CIペア発生表91と発生順序非依存型CIペア発生表92とのそれぞれから、CIペアごとの共起スコアを抽出する。そしてCI間共起スコア算出部151は、CI間共起スコア記憶部152内のCI間共起スコア表における、CIペアに対応する位置に、抽出した共起スコアを設定する。
このようにして、CI間共起スコアが算出される。算出されたCI間共起スコアに基づいて、CI間関連グラフ生成部153によりCI間関連グラフが生成される。
図36は、CI間関連グラフ生成処理の手順の一例を示すアクティビティ図の前半である。以下、図36に示す処理をステップ番号に沿って説明する。
[ステップS221]CI間関連グラフ生成部153は、CI間共起スコア記憶部152を参照し、発生順序依存型のCI間共起スコアを1エントリ抽出する。抽出されるエントリには、起点CI、終点CI、および共起スコアが含まれる。
[ステップS222]CI間関連グラフ生成部153は、発生順序依存型の共起スコアが閾値以上か否かを判断する。共起スコアが閾値以上であれば、処理がステップS223に進められる。共起スコアが閾値未満であれば、処理がステップS224に進められる。
[ステップS223]CI間関連グラフ生成部153は、ステップS221で抽出したエントリの内容に、種類「有方向」を追加して、CI間関連グラフ記憶部160に登録する。
[ステップS224]CI間関連グラフ生成部153は、未評価の発生順序依存型のCI間の共起スコアがあるか否かを判断する。未評価の共起スコアがあれば、処理がステップS221に進められる。未評価の共起スコアがなければ、処理がステップS231(図37参照)に進められる。
図37は、CI間関連グラフ生成処理の手順の一例を示すアクティビティ図の後半である。以下、図37に示す処理をステップ番号に沿って説明する。
[ステップS231]CI間関連グラフ生成部153は、CI間共起スコア記憶部152から、発生順序非依存型のCI間共起スコアを、1エントリ抽出する。
[ステップS232]CI間関連グラフ生成部153は、CI間関連グラフ記憶部160から、ステップS231で抽出したエントリと、起点および終点が一致するエントリを探索する。
[ステップS233]CI間関連グラフ生成部153は、ステップS232の探索により、該当エントリがすでにCI間関連グラフ記憶部160に登録済みであることが判明した場合、処理をステップS236に進める。該当エントリが登録済みでなければ、処理がステップS234に進められる。
[ステップS234]CI間関連グラフ生成部153は、ステップS231で抽出したエントリの共起スコアが閾値以上か否かを判断する。閾値以上であれば、処理がステップS235に進められる。閾値未満であれば、処理がステップS236に進められる。
[ステップS235]CI間関連グラフ生成部153は、ステップS231で抽出したエントリの内容に、種類「無方向」を追加して、CI間関連グラフ記憶部160に登録する。
[ステップS236]CI間関連グラフ生成部153は、未評価の発生順序非依存型のCI間の共起スコアがあるか否かを判断する。未評価の共起スコアがあれば、処理がステップS231に進められる。未評価の共起スコアがなければ、CI間関連グラフ生成処理が終了する。
このようにして、CI間関連グラフ記憶部160内には、図13に示すようなCI間関連グラフを定義する情報が格納される。例えば図13に示すCI間関連表161における各エントリの、起点CIと終点CIとをノードとし、そのノード間を影響種類に応じた線で接続することで、図32に示したようなCI間関連グラフ86が生成できる。ノード間を接続する線の太さは、その線で表される関係の共起スコアに応じた太さである。
<CI間影響算出>
次に、CI間影響算出処理について詳細に説明する。障害が発生したCIと関係があるCIは、CI間関連グラフ記憶部160に示されているCI間の関連を辿ることで得られる。
図38は、CI間影響算出の一例を示す図である。例えば管理対象マシン210で動作しているCI「App001」に障害が発生したものとする。すると、管理サーバ100のCI間影響判定部170が、CI間関連グラフ記憶部160を参照し、CI「App001」を起点として関連を辿り、直接または間接的にCI「App001」に関連するCIを抽出する。として、CI間影響判定部170は、関連の強さ(共起スコア)が閾値以上の関連で結びついたCIの範囲を、調査範囲93に決定する。
また、CI間関連グラフ記憶部160には、CI間の関連の強さが共起スコアで表されている。また関連の種類として、発生順序を考慮した共起関係から算出した関連(影響種類「有方向」)と、発生順序を考慮しない共起関係から算出した関連(影響種類「無方向」)とがある。
なお、複数のCIで発生したメッセージは、一定の割合で発生時刻の入れ替わりが発生する。そのため、メッセージの順序を考慮した共起関係だけを使ってCI間の関連を辿っても、発生時刻の入れ替わりの影響を受け、システム内の実際の影響範囲を見逃すおそれがある。そこで、CI間影響判定部170は、CI間の関連を辿る際に発生順序を考慮した共起関係から算出した関連と、発生順序を考慮しない共起関係を併用する。
例えばCI間影響判定部170は、あるCIから次のCIを辿る際、最初は、障害の影響範囲を特定するため、発生順序を考慮した共起関係(自→他)を探す。次にCI間影響判定部170は、障害の原因を特定するため、発生順序を考慮した共起関係(他→自)を探す。そして最後にCI間影響判定部170は、双方向に影響を及ぼす機器を特定するため、発生順序を考慮しない共起関係を探す。
CI間影響判定部170が、以上の手順を再帰的に行いながら関連を辿ることで、発生時刻の入れ替わりが含まれていても影響範囲を漏れなく抽出することが可能になる。例えば、図32に示したCI間関連グラフ86において、発生順序を考慮した共起関係だけで影響範囲を判断したのでは、CI「App002」に対してCI「App001」が関連することを認識できない。発生順序を考慮しない共起関係を含めて影響範囲を判断することで、CI「App002」に対してCI「App001」が関連することを認識可能となる。
図39は、CI間影響算出処理の手順の一例を示すアクティビティ図である。以下、図39に示す処理をステップ番号に沿って説明する。
[ステップS301]CI間影響範囲探索部171は、障害発生CI情報32を取得する。障害発生CI情報32には、例えば障害が発生したCIの名称が含まれている。障害発生CI情報32は、例えばシステムの運用者により管理サーバ100に入力される。また、管理サーバ100が、管理対象マシン210,220,・・・から収集したメッセージのうちのエラーメッセージなどから障害が発生したCIを特定し、そのCIの名称を含む障害発生CI情報32をCI間影響範囲探索部171に自動で入力してもよい。
[ステップS302]CI間影響範囲探索部171は、CI間関連グラフ記憶部160を参照し、CI間影響範囲探索処理を行う。CI間影響範囲探索処理は、障害の影響を受ける可能性があるCIや、障害発生に影響を及ぼしている可能性があるCIを探索する処理である。CI間影響範囲探索処理の詳細は後述する(図41参照)。
[ステップS303]調査順位決定部172は、探索の結果影響があると判断された各CIについての、調査順位決定処理を行う。調査順位決定部172は、決定した調査順位を付与した調査対象リスト33を出力する。調査順位決定処理の詳細は後述する(図49参照)。
図40は、CI間影響算出処理による調査対象リストの出力例を示す図である。図40の例では、障害発生CI情報32にCI「App002」と示されている。この場合、CI間関連グラフ記憶部160内のCI間関連表161に基づいて、CI「App002」に影響する範囲が特定され、調査対象リスト33が生成される。
調査対象リスト33には、調査順位、調査対象、種類、およびスコアの欄が設けられている。調査順位の欄には、調査対象のCIの調査の優先順位が設定される。調査対象の欄には、調査対象のCIの名称が設定される。種類の欄には、障害との関係の種類が設定される。種類には、例えば「原因」、「影響」、「双方向」がある。種類「原因」は、対応するCIが障害の原因となっている可能性があることを示す。種類「影響」は、対応するCIが、障害の影響を受ける可能性があることを示す。種類「双方向」は、対応するCIが、障害の原因である可能性があると共に、障害の影響を受ける可能性があることを示す。スコアの欄には、調査の優先度を示すスコアが設定される。
スコアの計算では、例えば、該当CIの共起スコアを基準とし、種類が「双方向」の場合、双方向ペナルティとして1未満の所定値(例えば「0.8」を乗算する。また障害発生CIと間接的に接続されているCIについては、障害発生CIとの経路上のすべてのCIのスコアが、自身の共起スコアに乗算される。これらの計算結果が、調査対象CIのスコアとなる。
このような調査対象リスト33が出力されることで、運用者は、どのCIから調査するべきかを容易に判断することができ、適切な順番で調査を進めることができる。その結果、障害の原因や影響の調査を迅速に行うことができる。
次に、CI間影響範囲探索処理について詳細に説明する。
図41は、CI間影響範囲探索処理の手順の一例を示すアクティビティ図である。以下、図41に示す処理をステップ番号に沿って説明する。
[ステップS311]CI間影響範囲探索部171は、判定スコア94に初期値「1」を設定する。またCI間影響範囲探索部171は、調査CI95として、障害が発生したCIの名称を設定する。
[ステップS312]CI間影響範囲探索部171は、CI間関連グラフ記憶部160を参照し、影響隣接CI抽出処理を実行する。これは、調査CI95に示されているCIに隣接するCIのうち、調査CI95に示されているCIが影響を与えている他のCIを抽出する処理である。影響隣接CI抽出処理により、影響範囲のCIに関する情報が、調査対象候補リスト96に出力される。影響隣接CI抽出処理の詳細は後述する(図43参照)。
図42は、調査対象候補リストの一例を示す図である。調査対象候補リスト96には、調査対象、種類、およびスコアの欄が設けられている。調査対象の欄には、調査対象のCIの名称が設定される。種類の欄には、障害との関係の種類が設定される。スコアの欄には、調査の優先度を示すスコアが設定される。
以下、図41の説明に戻る。
[ステップS313]CI間影響範囲探索部171は、CI間関連グラフ記憶部160を参照し、被影響隣接CI抽出処理を実行する。これは、調査CI95に示されているCIに隣接するCIのうち、調査CI95に示されているCIが影響を受けている他のCIを抽出する処理である。被影響隣接CI抽出処理により、影響範囲のCIに関する情報が、調査対象候補リスト96に出力される。被影響隣接CI抽出処理の詳細は後述する(図45参照)。
[ステップS314]CI間影響範囲探索部171は、CI間関連グラフ記憶部160を参照し、双方向影響隣接CI抽出処理を実行する。これは、調査CI95に示されているCIに隣接するCIのうち、調査CI95に示されているCIが影響を与えている可能性と、そのCIが影響を受けている可能性とがある他のCIを抽出する処理である。双方向影響隣接CI抽出処理により、影響範囲のCIに関する情報が、調査対象候補リスト96に出力される。双方向影響隣接CI抽出処理の詳細は後述する(図47参照)。
[ステップS315]CI間影響範囲探索部171は、調査対象候補リスト96に登録されている調査対象候補のCIうち、ステップS312〜S314の処理が未処理のCIがある場合、処理をステップS316に進める。未処理のCIがなければ、CI間影響範囲探索処理が終了する。
[ステップS316]CI間影響範囲探索部171は、調査対象候補リスト96に登録されている調査対象候補のCIから、ステップS312〜S314の処理が未処理のCIを1つ抽出し、調査CI95に設定する。またCI間影響範囲探索部171は、抽出したCIのスコアを、判定スコア94に設定する。その後、処理がステップS312に進められる。
このようにして、CI間影響範囲探索処理が終了し、影響があるCIが、調査対象候補リスト96にリストアップされる。
次に、影響隣接CI算出処理について詳細に説明する。
図43は、影響隣接CI算出処理の手順の一例を示すアクティビティ図である。以下、図43に示す処理をステップ番号に沿って説明する。
[ステップS321]CI間影響範囲探索部171は、CI間関連グラフ記憶部160から、種類が「有方向」で、起点CIが調査CIと一致するエントリをすべて抽出する。そしてCI間影響範囲探索部171は、抽出したエントリにより、エントリリスト97aを作成する。
図44は、影響隣接CI算出処理で用いられるエントリリストの一例を示す図である。影響隣接CI算出処理で用いられるエントリリスト97aは、調査CIの名称が付与されている。エントリリスト97aには、起点CI、終点CI、影響種類、およびスコアの欄が設けられている。起点CIの欄には、CI間関連グラフ記憶部160から抽出したエントリの起点CIが設定される。影響隣接CI算出処理で用いられるエントリリスト97aに登録されるエントリの起点CIは、調査CIと同じである。終点CIの欄には、CI間関連グラフ記憶部160から抽出したエントリの終点CIが設定される。影響種類の欄には、CI間関連グラフ記憶部160から抽出したエントリの影響種類が設定される。影響隣接CI算出処理で用いられるエントリリスト97aの影響種類は「有方向」である。スコアの欄には、対応するCIの組の関係を辿って調査をする優先度を示すスコアが設定される。エントリリスト97aへのエントリの登録時には、スコアとして、CI間関連グラフ記憶部160から抽出したエントリの共起スコアが設定される。
以下、図43の説明に戻る。
[ステップS322]CI間影響範囲探索部171は、エントリリスト97aから、エントリを1件抽出する。
[ステップS323]CI間影響範囲探索部171は、抽出したエントリが、既に調査対象候補リスト96に登録されているか否かを判断する。既に登録されていれば、処理がステップS322に進められる。登録されていなければ、処理がステップS324に進められる。
[ステップS324]CI間影響範囲探索部171は、抽出したエントリのスコアに判定スコア94の値を乗算し、一時スコア98とする。
[ステップS325]CI間影響範囲探索部171は、一時スコア98の値が閾値以上か否かを判断する。閾値以上であれば、処理がステップS326に進められる。閾値未満であれば、処理がステップS327に進められる。
[ステップS326]CI間影響範囲探索部171は、抽出したエントリの終点CIを、調査対象候補リスト96に、新たなエントリとして登録する。CI間影響範囲探索部171は、新たに登録したエントリの種類には「影響」を設定し、スコアには現在の一時スコア98の値を設定する。
[ステップS327]CI間影響範囲探索部171は、エントリリスト97a内に、一時スコア98の計算、および一時スコア98の値が閾値以上か否かの評価について、未評価のエントリがあるか否かを判断する。未評価のエントリがある場合、処理がステップS322に進められる。未評価のエントリがなければ、影響隣接CI算出処理が終了する。
以上のようにして、障害の影響がおよぶ可能性を有するCIが求められ、調査対象候補リスト96に登録される。
次に、被影響隣接CI算出処理について詳細に説明する。
図45は、被影響隣接CI算出処理の手順の一例を示すアクティビティ図である。以下、図45に示す処理をステップ番号に沿って説明する。
[ステップS331]CI間影響範囲探索部171は、CI間関連グラフ記憶部160から、種類が「有方向」で、終点CIが調査CIと一致するエントリをすべて抽出する。そしてCI間影響範囲探索部171は、抽出したエントリにより、エントリリスト97bを作成する。
図46は、被影響隣接CI算出処理で用いられるエントリリストの一例を示す図である。被影響隣接CI算出処理で用いられるエントリリスト97bには、影響隣接CI算出処理で用いられるエントリリスト97aと同様の情報が設定される。なお、被影響隣接CI算出処理で用いられるエントリリスト97bに登録されるエントリの終点CIは、調査CIと同じである。またこのエントリリスト97bの影響種類は「有方向」である。
以下、図45の説明に戻る。
[ステップS332]CI間影響範囲探索部171は、エントリリスト97bから、エントリを1件抽出する。
[ステップS333]CI間影響範囲探索部171は、抽出したエントリが、既に調査対象候補リスト96に登録されているか否かを判断する。既に登録されていれば、処理がステップS332に進められる。登録されていなければ、処理がステップS334に進められる。
[ステップS334]CI間影響範囲探索部171は、抽出したエントリのスコアに判定スコア94の値を乗算し、一時スコア98とする。
[ステップS335]CI間影響範囲探索部171は、一時スコア98の値が閾値以上か否かを判断する。閾値以上であれば、処理がステップS336に進められる。閾値未満であれば、処理がステップS337に進められる。
[ステップS336]CI間影響範囲探索部171は、抽出したエントリの終点CIを、調査対象候補リスト96に、新たなエントリとして登録する。CI間影響範囲探索部171は、新たに登録したエントリの種類には「原因」を設定し、スコアには現在の一時スコア98の値を設定する。
[ステップS337]CI間影響範囲探索部171は、エントリリスト97b内に、一時スコア98の計算、および一時スコア98の値が閾値以上か否かの評価について、未評価のエントリがあるか否かを判断する。未評価のエントリがある場合、処理がステップS332に進められる。未評価のエントリがなければ、被影響隣接CI算出処理が終了する。
以上のようにして、障害の原因である可能性を有するCIが求められ、調査対象候補リスト96に登録される。
次に、双方向影響隣接CI算出処理について詳細に説明する。
図47は、双方向影響隣接CI算出処理の手順の一例を示すアクティビティ図である。以下、図47に示す処理をステップ番号に沿って説明する。
[ステップS341]CI間影響範囲探索部171は、CI間関連グラフ記憶部160から、種類が「無方向」で、起点CIまたは終点CIが調査CIと一致するエントリをすべて抽出する。そしてCI間影響範囲探索部171は、抽出したエントリにより、エントリリスト97cを作成する。
図48は、双方向影響隣接CI算出処理で用いられるエントリリストの一例を示す図である。双方向影響隣接CI算出処理で用いられるエントリリスト97cには、影響隣接CI算出処理で用いられるエントリリスト97aと同様の情報が設定される。なお、双方向影響隣接CI算出処理で用いられるエントリリスト97cに登録されるエントリでは、起点CIまたは終点CIが、調査CIと同じである。またこのエントリリスト97cの影響種類は「無方向」である。
以下、図47の説明に戻る。
[ステップS342]CI間影響範囲探索部171は、エントリリスト97cから、エントリを1件抽出する。
[ステップS343]CI間影響範囲探索部171は、抽出したエントリが、既に調査対象候補リスト96に登録されているか否かを判断する。既に登録されていれば、処理がステップS342に進められる。登録されていなければ、処理がステップS344に進められる。
[ステップS344]CI間影響範囲探索部171は、抽出したエントリのスコアに判定スコア94の値を乗算すると共に、双方向ペナルティとしての所定の1未満の値を乗算し、一時スコア98とする。
[ステップS345]CI間影響範囲探索部171は、一時スコア98の値が閾値以上か否かを判断する。閾値以上であれば、処理がステップS346に進められる。閾値未満であれば、処理がステップS347に進められる。
[ステップS346]CI間影響範囲探索部171は、抽出したエントリの終点CIを、調査対象候補リスト96に、新たなエントリとして登録する。CI間影響範囲探索部171は、新たに登録したエントリの種類には「双方向」を設定し、スコアには現在の一時スコア98の値を設定する。
[ステップS347]CI間影響範囲探索部171は、エントリリスト97c内に、一時スコア98の計算、および一時スコア98の値が閾値以上か否かの評価について、未評価のエントリがあるか否かを判断する。未評価のエントリがある場合、処理がステップS342に進められる。未評価のエントリがなければ、双方向影響隣接CI算出処理が終了する。
以上のようにして、障害の影響がおよぶ可能性があるか、あるいは障害の原因である可能性を有するCIが求められ、調査対象候補リスト96に登録される。
図43、図45、図47の処理の結果、図42に示すような調査対象候補リスト96が得られる。調査対象候補リスト96では、調査対象候補としてリストアップされている各CIについて、調査の優先順位が付与されていない。そこで、調査対象候補リスト96に対して調査対象候補のCIに調査順位を付与することで、調査対象リスト33が生成される。
次に、調査順位決定処理について詳細に説明する。
図49は、調査順位決定処理の手順の一例を示すアクティビティ図である。以下、図49に示す処理をステップ番号に沿って説明する。
[ステップS351]調査順位決定部172は、調査対象候補リスト96内のエントリを、スコアの高い順に読み出す。
[ステップS352]調査順位決定部172は、読み出した順に「1」から昇順の調査順位を付与し、調査対象リスト33として出力する。
これにより、図40に示すような、調査順位付きの調査対象リスト33が出力される。調査対象リスト33は、例えばモニタ21に表示される。運用者は、表示された調査対象リスト33を参照し、調査順位が上位のCIから順に調査を行うことで、効率的に調査を進めることができる。また管理サーバ100が、自動調査機能を備えている場合、管理サーバ100は、例えば調査順位が上位のCIから順に調査用のプログラムの実行指示を、そのCIを有する管理対象マシンに送信する。これにより、自動調査を効率的に実施できる。
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、共起確率と共起の種類数とに基づいて、関連の強さを計算するものである。
例えば、CI間共起スコア算出部151は、2つのCI間で発生した共起関係を有するメッセージペアについて、共起関係の種類ごとに共起確率を積算する。CI間共起スコア算出部151は、積算結果を累積スコアとし、すべてのCIペアについて得られた各累積スコアを正規化した値を、CIペアを構成する2つのCI間の関連の強さを示す共起スコアとする。
図50は、第3の実施の形態におけるCIペア発生表の一例を示す図である。第3の実施の形態においても、第2の実施の形態と同様に、発生順序依存型CIペア発生表91aと発生順序非依存型CIペア発生表92aとが用いられる。
発生順序依存型CIペア発生表91aには、CI1、CI2、パターンID、共起ID、共起確率、種類数、累積スコア、および共起スコアの欄が設けられている。CI1、CI2、パターンID、共起ID、共起確率の欄には、第2の実施の形態に示した発生順序依存型CIペア発生表91(図35参照)と同種の情報が設定される。種類数の欄には、共通のCIペアから発生した共起メッセージペアを有するメッセージ共起パターンの数が設定される。累積スコアの欄には、同じCIペアに対応付けられた共起確率の合計値が設定される。例えばCI「App001」とCI「App002」とのCIペアに対する累積スコアは、「0.99+0.85=1.84」となる。共起スコアの欄には、各CIペアの累積スコアを正規化して得られた相対スコアが、そのCIペアの共起スコアとして設定される。
発生順序非依存型CIペア発生表92aにも、発生順序依存型CIペア発生表91aと同様の情報が格納される。
図51は、第3の実施の形態における累積スコアの正規化方法の一例を示す図である。例えば、CI間共起スコア算出部151は、CIペアごとの累積スコアに基づいて、各累積スコアの偏差値を求める。このときCI間共起スコア算出部151は、計算上の偏差値が「75」を超えたCIペアについては、偏差値「75」とする。またCI間共起スコア算出部151は、計算上の偏差値が「25」を未満のCIペアについては、偏差値「25」とする。そしてCI間共起スコア算出部151は、各CIペアの偏差値に基づいて、以下の式で相対スコアを求める。
相対スコア=(偏差値−25)/50
これにより、0〜1の範囲の値に累積スコアが正規化される。例えば、あるCIペアについて、共起確率「0.99」のの共起関係が2種類あり、共起確率「0.80」の共起関係が3種類ある場合、累積スコア=(0.99×2)+(0.80×3)=4.38となる。そして、すべてのCIペアの累積スコアの平均値と標準偏差とから、累積スコアそれぞれの偏差値が求まる。この偏差値を、0〜1の範囲に収まるように正規化した相対スコアが、共起スコアとして用いられる。
図52は、第3の実施の形態におけるCI間共起スコア算出処理の手順の一例を示すアクティビティ図である。以下、図52に示す処理をステップ番号に沿って説明する。
[ステップS411]CI間共起スコア算出部151は、メッセージ共起パターンDB140から、メッセージ共起パターンを一件抽出する。
[ステップS412]CI間共起スコア算出部151は、抽出したメッセージ共起パターンの共起関係を、CIのペアに展開する。
[ステップS413]CI間共起スコア算出部151は、CIペア発生表を更新する。例えばCI間共起スコア算出部151は、CIペアが順序依存の共起関係から抽出されていれば、発生順序依存型CIペア発生表91aを更新する。またCI間共起スコア算出部151は、CIペアが順序非依存の共起関係から抽出されていれば、発生順序非依存型CIペア発生表92aを更新する。CIペア発生表の更新においては、CI間共起スコア算出部151は、発生順序依存型CIペア発生表91aまたは発生順序非依存型CIペア発生表92aにCIペアの情報を追加し、そのCIペアに対応する累積スコアを更新する。
[ステップS414]CI間共起スコア算出部151は、未評価のメッセージ共起パターンがあるか否かを判断する。未評価のメッセージ共起パターンがある場合、処理がステップS411に進められる。未評価のメッセージ共起パターンがない場合、処理がステップS415に進められる。
[ステップS415]CI間共起スコア算出部151は、各CIペアの累積スコアに基づいて、正規化した相対スコアを算出する。例えばCI間共起スコア算出部151は、発生順序依存型CIペア発生表91aを参照し、各CIペアの累積スコアから、各CIペアの相対スコアを算出し、発生順序依存型CIペア発生表91aに共起スコアとして設定する。同様に、CI間共起スコア算出部151は、発生順序非依存型CIペア発生表92aを参照し、各CIペアの累積スコアから、各CIペアの相対スコアを算出し、発生順序非依存型CIペア発生表92aに共起スコアとして設定する。そして、CI間共起スコア算出部151は、発生順序依存型CIペア発生表91aと発生順序非依存型CIペア発生表92aとに設定した共起スコアを抽出し、CI間共起スコア記憶部152に格納する。
以上のようにして、共起確率と種類数に依存する共起スコアを算出することができる。これにより、CI間の関係性の強さを、より正確に求めることが可能となる。
〔第4の実施の形態〕
次に第4の実施の形態について説明する。第4の実施の形態は、共起確率と共起の発生回数とに基づいて、関連の強さを計算するものである。
例えば、CI間共起スコア算出部151は、CIペア間で発生した共起関係について、その発生回数を共起確率に乗算し、CIペアが共通の共起関係それぞれの乗算結果の合計し、累積スコアとする。そしてCI間共起スコア算出部151は、すべてのCIペアについて得られた各累積スコアを正規化した値を、CIペアを構成する2つのCI間の関連の強さを示す共起スコアとする。
図53は、第4の実施の形態におけるCIペア発生表の一例を示す図である。第4の実施の形態においても、第2の実施の形態と同様に、発生順序依存型CIペア発生表91bと発生順序非依存型CIペア発生表92bとが用いられる。
発生順序依存型CIペア発生表91bには、CI1、CI2、パターンID、共起ID、発生回数、共起確率、累積スコア、および共起スコアの欄が設けられている。CI1、CI2、パターンID、共起ID、共起確率の欄には、第2の実施の形態に示した発生順序依存型CIペア発生表91(図35参照)と同種の情報が設定される。発生回数の欄には、対応する共起IDで示される共起関係の発生回数が設定される。累積スコアの欄には、同じCIペアに対応付けられた共起関係それぞれの発生回数と共起確率との乗算結果の合計値が設定される。CIペアごとの累積スコアを式で表すと以下の通りである。
累積スコア=Σ(発生回数×共起確率)
例えば、共起確率「0.99」の共起関係が10回発生し、共起確率「0.80」の共起関係が5回発生した場合、累積スコアは=((0.99×10)+(0.80×5))/(10+5)=0.927となる。
共起スコアの欄には、各CIペアの累積スコアを正規化して得られた相対スコアが、そのCIペアの共起スコアとして設定される。
発生順序非依存型CIペア発生表92bにも、発生順序依存型CIペア発生表91bと同様の情報が格納される。
累積スコアの正規化は、例えば第3の実施の形態と同様の方法で行うことができる。
図54は、第4の実施の形態における累積スコアの正規化方法の一例を示す図である。第4の実施の形態においても、累積スコアを25−75の範囲内の偏差値に置き換え、偏差値を0−1の範囲の値に規格化するとことで、累積スコアを正規化できる。なお第4の実施の形態では、累積スコアの計算時に発生回数の乗算が行われる。そのため、累積スコアの値が第3の実施の形態より大きくなり、図54の例では、累積スコアが「200」近くになるCIペアも発生している。
図55は、第3の実施の形態におけるCI間共起スコア算出処理の手順の一例を示すアクティビティ図である。以下、図55に示す処理をステップ番号に沿って説明する。
[ステップS511]CI間共起スコア算出部151は、メッセージ共起パターンDB140から、メッセージ共起パターンを一件抽出する。
[ステップS512]CI間共起スコア算出部151は、抽出したメッセージ共起パターンの共起関係を、CIのペアに展開する。
[ステップS513]CI間共起スコア算出部151は、CIペア発生表を更新する。例えばCI間共起スコア算出部151は、CIペアが順序依存の共起関係から抽出されていれば、発生順序依存型CIペア発生表91bを更新する。またCI間共起スコア算出部151は、CIペアが順序非依存の共起関係から抽出されていれば、発生順序非依存型CIペア発生表92bを更新する。CIペア発生表の更新においては、CI間共起スコア算出部151は、発生順序依存型CIペア発生表91bまたは発生順序非依存型CIペア発生表92bにCIペアの情報を追加し、そのCIペアに対応する累積スコアを更新する。累積スコアの計算では、各共起確率に発生回数を乗算した結果の合計値が用いられる。
[ステップS514]CI間共起スコア算出部151は、未評価のメッセージ共起パターンがあるか否かを判断する。未評価のメッセージ共起パターンがある場合、処理がステップS511に進められる。未評価のメッセージ共起パターンがない場合、処理がステップS515に進められる。
[ステップS515]CI間共起スコア算出部151は、各CIペアの累積スコアに基づいて、正規化した相対スコアを算出する。例えばCI間共起スコア算出部151は、発生順序依存型CIペア発生表91bを参照し、各CIペアの累積スコアから、各CIペアの相対スコアを算出し、発生順序依存型CIペア発生表91bに共起スコアとして設定する。同様に、CI間共起スコア算出部151は、発生順序非依存型CIペア発生表92bを参照し、各CIペアの累積スコアから、各CIペアの相対スコアを算出し、発生順序非依存型CIペア発生表92bに共起スコアとして設定する。そして、CI間共起スコア算出部151は、発生順序依存型CIペア発生表91bと発生順序非依存型CIペア発生表92bとに設定した共起スコアを抽出し、CI間共起スコア記憶部152に格納する。
以上のようにして、共起確率と発生回数に依存する共起スコアを算出することができる。これにより、CI間の関係性の強さを、より正確に求めることが可能となる。
〔第5の実施の形態〕
次に第5の実施の形態について説明する。第5の実施の形態は、共起確率、共起の種類数、および共起の発生回数に基づいて、関連の強さを計算するものである。
図56は、第5の実施の形態における関連の強さの算出例を示す図である。例えばCI間共起スコア算出部151は、現れたCI間の共起関係について、次の3変数で分布を作成する。
・CI間に見られる共起関係の種類数
・CI間に見られる共起関係の発生回数
・CI間の共起確率
各値の分布状況から平均と標準偏差が求まる。そこでCIペアそれぞれについて、変数ごとに偏差値を求める。ここで、CIペアの変数の値をx、その変数の分布より求まる平均値(バーx)、標準偏差σxとする。この場合、偏差値sは、s=(10(x−(バーx))/σx+50となる。1つのCIペアについて、共起関係の種類数、共起関係の発生回数、共起確率それぞれの偏差値が求まる。この偏差値の合計値を正規化した値が、そのCIペアの関連の強さとなる。
CI間共起スコア算出部151は、関連の強さの計算に用いる値を、CIペア発生表を用いて管理する。
図57は、第5の実施の形態におけるCIペア発生表の一例を示す図である。第5の実施の形態においても、第2の実施の形態と同様に、発生順序依存型CIペア発生表91cと発生順序非依存型CIペア発生表92cとが用いられる。
発生順序依存型CIペア発生表91cには、CI1、CI2、パターンID、共起ID、発生回数、共起確率、種類数、発生総数、種類数偏差値、発生数偏差値、確率偏差値、偏差値総計、および共起スコアの欄が設けられている。CI1、CI2、パターンID、共起ID、発生回数、共起確率、および種類数の欄には、第2〜第4の実施の形態に示した発生順序依存型CIペア発生表91,91a,91bにおける同名の欄と同種の情報が設定される。発生総数の欄には、対応するCIペアの発生回数の合計が設定される。種類数偏差値の欄には、種類数の偏差値が設定される。発生数偏差値の欄には、発生総数の偏差値が設定される。確率偏差値の欄には、共起確率の偏差値が設定される。偏差値総計の欄には、種類数偏差値、発生数偏差値、確率偏差値の合計値が設定される。共起スコアの欄には、偏差値総計を正規化して得られる相対スコアが、対応するCIペアの共起スコアとして設定される。正規化方法は、第3および第4の実施の形態と同様である。
発生順序非依存型CIペア発生表92cにも、発生順序依存型CIペア発生表91cと同様の情報が格納される。
図58は、第5の実施の形態におけるCI間共起スコア算出処理の手順の一例を示すアクティビティ図である。以下、図58に示す処理をステップ番号に沿って説明する。
[ステップS611]CI間共起スコア算出部151は、共起確率と共起の種類数に基づくCI間共起スコア算出処理を行う。この処理の詳細は、図52に示した通りである。
[ステップS612]CI間共起スコア算出部151は、共起確率と発生回数に基づくCI間共起スコア算出処理を行う。この処理の詳細は、図55に示した通りである。
[ステップS613]CI間共起スコア算出部151は、ステップS611,S612における共起スコア算出過程で得られた情報を用いて、発生順序依存型CIペア発生表91cと発生順序非依存型CIペア発生表92cとを更新する。例えば発生順序依存型CIペア発生表91cと発生順序非依存型CIペア発生表92cとに、CIペアに対応付けて、共起ID、発生回数、共起確率、種類数が設定される。
[ステップS614]CI間共起スコア算出部151は、発生順序に依存する場合と依存しない場合とのそれぞれについて、種類数、発生回数、共起確率について、平均と標準偏差とを算出する。CI間共起スコア算出部151は、算出した値を、発生順序依存型統計情報98aと発生順序非依存型統計情報98bとに格納する。
図59は、統計情報の一例を示す図である。発生順序依存型統計情報98aには、発生順序に依存した共起関係に関する共起確率、種類数、発生総数にそれぞれに対し、平均と標準偏差とが設定されている。同様に、発生順序非依存型統計情報98bにも、発生順序に依存しない共起関係に関する共起確率、種類数、発生総数にそれぞれに対し、平均と標準偏差とが設定されている。
以下、図58の説明に戻る。
[ステップS615]CI間共起スコア算出部151は、各CIペアについて、種類数の偏差値、発生回数の偏差値、共起確率の偏差値を算出する。CI間共起スコア算出部151は、算出した各偏差値を、発生順序依存型CIペア発生表91cと発生順序非依存型CIペア発生表92cとに設定する。
[ステップS616]CI間共起スコア算出部151は、発生順序依存型CIペア発生表91cを参照し、CIペアごとに3種の偏差値の和(偏差値総計)を計算し、各CIペアの偏差値総計を正規化して、発生順序依存型の共起スコアを求める。またCI間共起スコア算出部151は、発生順序非依存型CIペア発生表92cを参照し、CIペアごとに3種の偏差値の和(偏差値総計)を計算し、各CIペアの偏差値総計を正規化して、発生順序非依存型の共起スコアを求める。CI間共起スコア算出部151は、CIペアごとに算出した、順序依存型の共起スコア(有方向)と順序非依存型の共起スコア(無方向)とを、CI間共起スコア記憶部152に設定する。
このようにして、共起確率、共起の種類数、および発生回数に依存する共起スコアを算出することができる。これにより、CI間の関係性の強さを、より正確に求めることが可能となる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 システム
1−1a,1−1b,1−1c,・・・ 構成要素
1−2a,1−2b,1−2c,・・・ メッセージログ
10 コンピュータ
11 記憶部
12 演算部

Claims (10)

  1. コンピュータに、
    監視対象のシステムから、前記システム内の複数の構成要素それぞれにより、出力時刻を示す時刻情報付きで出力された複数のメッセージを取得し、
    前記複数のメッセージを参照し、複数の構成要素内の2つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとし、該対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定し、
    調査開始位置の構成要素を指定した調査順位決定指示が入力されると、前記複数の構成要素ペアの関連の強さに基づいて、前記調査開始位置の構成要素以外の構成要素の調査の優先順位を決定する、
    処理を実行させる調査対象特定プログラム。
  2. 関連の強さの決定では、
    出力した構成要素とメッセージの種別とが共通のメッセージで構成される複数のメッセージ群から、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力される確率を示す共起確率が閾値以上である2つのメッセージ群の組を、共起メッセージペアとして抽出し、
    対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定する、
    請求項1記載の調査対象特定プログラム。
  3. 関連の強さの決定では、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアが複数あるとき、該共起メッセージペアそれぞれの共起確率の最も高い値に基づいて、該対象構成要素ペア間の関連の強さを決定する、
    請求項2記載の調査対象特定プログラム。
  4. 関連の強さの決定では、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアが複数あるとき、該共起メッセージペアそれぞれの共起確率の合計値に基づいて、該対象構成要素ペア間の関連の強さを決定する、
    請求項2記載の調査対象特定プログラム。
  5. 関連の強さの決定では、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの共起確率と、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力された回数とに基づいて、該対象構成要素ペア間の関連の強さを決定する、
    請求項2記載の調査対象特定プログラム。
  6. 関連の強さの決定では、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの抽出数と、該共起メッセージペアそれぞれの共起確率と、該共起メッセージペアそれぞれにおける一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力された回数とに基づいて、該対象構成要素ペア間の関連の強さを決定する、
    請求項2記載の調査対象特定プログラム。
  7. 調査の優先順位の決定では、前記調査開始位置の構成要素から、関連の強さが所定値以上の構成要素ペアの関連を辿ることで到達可能な構成要素を調査対象構成要素に決定し、調査対象構成要素の調査の優先順位を決定する、
    請求項1乃至7のいずれかに記載の調査対象特定プログラム。
  8. 調査対象の決定では、前記調査対象構成要素それぞれについて、前記調査開始位置の構成要素から前記調査対象構成要素までに辿った関連についての関連の強さに基づいて、調査の優先度を計算し、前記調査対象構成要素それぞれに対して、調査の優先度に応じた調査順位を決定する、
    請求項7記載の調査対象特定プログラム。
  9. 共起メッセージペアの抽出では、
    一方のメッセージ群に属するメッセージの出力後一定時間以内に他方のメッセージ群に属するメッセージが出力される共起確率が閾値以上である2つのメッセージ群の組を、順序依存の共起メッセージペアとして抽出し、
    出力した構成要素と種別とが共通のメッセージで構成される複数のメッセージ群から、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力される確率を示す共起確率が閾値以上である2つのメッセージ群の組を、順序非依存の共起メッセージペアとして抽出し、
    関連の強さの決定では、複数の構成要素ペアそれぞれについて、前記順序依存の共起メッセージペアに基づく有方向の関連の強さと、前記順序非依存の共起メッセージペアに基づく無方向の関連の強さとを計算し、
    調査の優先度の計算では、無方向の関連の強さよりも有方向の関連の強さに対して高い重み付けをして、調査の優先度を計算する、
    請求項8記載の調査対象特定プログラム。
  10. コンピュータに、
    監視対象のシステムから、前記システム内の複数の構成要素それぞれにより、出力時刻を示す時刻情報付きで出力された複数のメッセージを取得し、
    前記複数のメッセージを参照し、複数の構成要素内の2つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとし、該対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定し、
    調査開始位置の構成要素を指定した調査順位決定指示が入力されると、前記複数の構成要素ペアの関連の強さに基づいて、前記調査開始位置の構成要素以外の構成要素の調査の優先順位を決定する、
    処理を実行させる調査対象特定方法。
JP2015245044A 2015-12-16 2015-12-16 調査対象特定プログラム、および調査対象特定方法 Pending JP2017111601A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015245044A JP2017111601A (ja) 2015-12-16 2015-12-16 調査対象特定プログラム、および調査対象特定方法
US15/378,916 US9632861B1 (en) 2015-12-16 2016-12-14 Computer-implemented method, system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015245044A JP2017111601A (ja) 2015-12-16 2015-12-16 調査対象特定プログラム、および調査対象特定方法

Publications (1)

Publication Number Publication Date
JP2017111601A true JP2017111601A (ja) 2017-06-22

Family

ID=58546427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015245044A Pending JP2017111601A (ja) 2015-12-16 2015-12-16 調査対象特定プログラム、および調査対象特定方法

Country Status (2)

Country Link
US (1) US9632861B1 (ja)
JP (1) JP2017111601A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028878A (ja) * 2017-08-02 2019-02-21 富士通株式会社 情報処理装置およびプログラム
JP2019053475A (ja) * 2017-09-14 2019-04-04 日立Geニュークリア・エナジー株式会社 文書検索方法および装置
JP2019204302A (ja) * 2018-05-24 2019-11-28 株式会社日立製作所 保全作業支援システム
JP2020149090A (ja) * 2019-03-11 2020-09-17 富士通株式会社 判定方法、情報処理装置および判定プログラム
JP2020149250A (ja) * 2019-03-12 2020-09-17 富士通株式会社 出力プログラム、出力方法および情報処理装置
JPWO2019138891A1 (ja) * 2018-01-12 2020-12-24 日本電信電話株式会社 異常箇所特定装置、異常箇所特定方法及びプログラム
WO2023157280A1 (ja) * 2022-02-21 2023-08-24 日本電信電話株式会社 探索装置、探索方法、及び、探索プログラム
JP7481965B2 (ja) 2020-09-04 2024-05-13 株式会社日立情報通信エンジニアリング 複数ログ分析支援装置、複数ログ分析支援方法及び記憶媒体

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6503679B2 (ja) * 2014-10-06 2019-04-24 富士通株式会社 フィルタルール作成装置、フィルタルール作成方法、およびプログラム
US10824616B2 (en) * 2018-04-02 2020-11-03 Servicenow, Inc. System and method for alert insight in configuration management databases (CMDBs)
JP7107158B2 (ja) * 2018-10-18 2022-07-27 日本電信電話株式会社 ネットワーク管理装置、方法およびプログラム
CN110795260B (zh) * 2019-09-10 2023-08-08 武汉攀升鼎承科技有限公司 一种智能客户关怀系统
US11379694B2 (en) 2019-10-25 2022-07-05 Vmware, Inc. Scalable and dynamic data collection and processing
US11321115B2 (en) * 2019-10-25 2022-05-03 Vmware, Inc. Scalable and dynamic data collection and processing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5955968A (en) * 1996-01-16 1999-09-21 Interlog, Inc. Emergency vehicle command and control system for traffic signal preemption
US5933590A (en) * 1996-04-18 1999-08-03 Mci Communications Corporation Restoration of multiple span cuts with priority hand-off using SHN
JP5564941B2 (ja) 2009-12-28 2014-08-06 富士通株式会社 障害箇所推定システム、障害箇所推定装置および障害箇所推定方法
JP2012094049A (ja) 2010-10-28 2012-05-17 Nomura Research Institute Ltd インシデント管理システムおよびインシデント管理プログラム
JP5541130B2 (ja) * 2010-12-10 2014-07-09 富士通株式会社 管理装置、管理方法および管理用プログラム
JP6160064B2 (ja) * 2012-11-19 2017-07-12 富士通株式会社 適用判定プログラム、障害検出装置および適用判定方法
JP2014106851A (ja) 2012-11-29 2014-06-09 Fujitsu Ltd 情報処理装置、情報処理方法及びプログラム
JP6126891B2 (ja) 2013-03-29 2017-05-10 富士通株式会社 検出方法、検出プログラム、および検出装置
JP6152788B2 (ja) * 2013-12-02 2017-06-28 富士通株式会社 障害予兆検知方法、情報処理装置およびプログラム
JP6451483B2 (ja) * 2015-05-11 2019-01-16 富士通株式会社 予兆検知プログラム、装置、及び方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028878A (ja) * 2017-08-02 2019-02-21 富士通株式会社 情報処理装置およびプログラム
JP2019053475A (ja) * 2017-09-14 2019-04-04 日立Geニュークリア・エナジー株式会社 文書検索方法および装置
JPWO2019138891A1 (ja) * 2018-01-12 2020-12-24 日本電信電話株式会社 異常箇所特定装置、異常箇所特定方法及びプログラム
US11487747B2 (en) 2018-01-12 2022-11-01 Nippon Telegraph And Telephone Corporation Anomaly location identification device, anomaly location identification method, and program
WO2019225342A1 (ja) * 2018-05-24 2019-11-28 株式会社日立製作所 保全作業支援システム
JP2019204302A (ja) * 2018-05-24 2019-11-28 株式会社日立製作所 保全作業支援システム
JP7202078B2 (ja) 2018-05-24 2023-01-11 株式会社日立製作所 保全作業支援システム
US11954604B2 (en) 2018-05-24 2024-04-09 Hitachi, Ltd. Maintenance operation assistance system
JP2020149090A (ja) * 2019-03-11 2020-09-17 富士通株式会社 判定方法、情報処理装置および判定プログラム
JP7208505B2 (ja) 2019-03-11 2023-01-19 富士通株式会社 判定方法、情報処理装置および判定プログラム
JP2020149250A (ja) * 2019-03-12 2020-09-17 富士通株式会社 出力プログラム、出力方法および情報処理装置
JP7481965B2 (ja) 2020-09-04 2024-05-13 株式会社日立情報通信エンジニアリング 複数ログ分析支援装置、複数ログ分析支援方法及び記憶媒体
WO2023157280A1 (ja) * 2022-02-21 2023-08-24 日本電信電話株式会社 探索装置、探索方法、及び、探索プログラム

Also Published As

Publication number Publication date
US9632861B1 (en) 2017-04-25

Similar Documents

Publication Publication Date Title
JP2017111601A (ja) 調査対象特定プログラム、および調査対象特定方法
US9753801B2 (en) Detection method and information processing device
Zou et al. Uilog: Improving log-based fault diagnosis by log analysis
US20150121136A1 (en) System and method for automatically managing fault events of data center
US9906476B2 (en) Filter rule generation apparatus and filter rule generation method
Chuah et al. Diagnosing the root-causes of failures from cluster log files
Jannach et al. Supporting the design of machine learning workflows with a recommendation system
WO2020140624A1 (zh) 从日志中提取数据的方法和相关设备
Park et al. A big data analytics framework for hpc log data: Three case studies using the titan supercomputer log
JP6432266B2 (ja) グループ化方法、グループ化装置、およびグループ化プログラム
CN110417751B (zh) 一种网络安全预警方法、装置和存储介质
CN111489135A (zh) 一种稽核数据的分析管理系统及方法
JP6540384B2 (ja) 評価プログラム、手順書評価方法、および評価装置
KR101830936B1 (ko) 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템
Wu et al. On the effectiveness of log representation for log-based anomaly detection
Turgeman et al. Context-aware incremental clustering of alerts in monitoring systems
JP6988827B2 (ja) 異常識別システム、方法及びプログラム
Hacker et al. A markov random field based approach for analyzing supercomputer system logs
JP2017188004A (ja) ソーシャルメディアにおける特定テーマの投稿の時系列変化を追跡的に分析するコンピューティング
Lee et al. Clustering navigation sequences to create contexts for guiding code navigation
JP6621385B2 (ja) テキスト分析システム及びテキスト分析方法
Kathiresan et al. Efficient Detection Using Soft Computing Approach of Modified Fuzzy C-Means Based Outlier Detection in Electronics Patient Records Systems
US11941020B2 (en) Displaying query results using machine learning model-determined query results visualizations
May Improving Verification Predictability and Efficiency Using Big Data
RU2743620C1 (ru) Способ и система определения вредоносной активности по анализу поведения объектов в неизолированной среде