JP6375200B2 - 計算機システムの異常予兆検出装置および方法 - Google Patents

計算機システムの異常予兆検出装置および方法 Download PDF

Info

Publication number
JP6375200B2
JP6375200B2 JP2014215903A JP2014215903A JP6375200B2 JP 6375200 B2 JP6375200 B2 JP 6375200B2 JP 2014215903 A JP2014215903 A JP 2014215903A JP 2014215903 A JP2014215903 A JP 2014215903A JP 6375200 B2 JP6375200 B2 JP 6375200B2
Authority
JP
Japan
Prior art keywords
condition
computer system
satisfied
trace
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014215903A
Other languages
English (en)
Other versions
JP2016085496A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014215903A priority Critical patent/JP6375200B2/ja
Priority to PCT/JP2015/079383 priority patent/WO2016063816A1/ja
Publication of JP2016085496A publication Critical patent/JP2016085496A/ja
Application granted granted Critical
Publication of JP6375200B2 publication Critical patent/JP6375200B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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

Description

本発明は、情報システムまたは制御システムにおける障害の予兆を検知する異常予兆検知装置および方法に関する。
従来の異常予兆検知方法は、予め想定できそうな状況を前提としており、その状況を監視するための測定項目を決めておき、定期的に監視した測定値に対して、正常範囲のしきい値の範囲内か否かによって、異常状況かどうかを検知する。予め想定できそうな状況とは、例えば、特開2010-009313では、通信トラフィック量とping応答時間である。
これ以外の例としては、計算機リソースの使用量として、例えば、CPU負荷、メモリ負荷、共有メモリ等のOS管理リソースの利用量等が考えられる。しかし、このような状況は、予め想定できることであり、当然、その状況を考慮したシステムの設計や製作およびテストが実施されているので、システム障害につながらない場合がある。
特開2010-009313
システム障害は、計算機リソースの使用量(CPU負荷、メモリ負荷、通信負荷、共有メモリ等のOS管理リソースの利用量)や異常状態(CPU負荷100%近辺、メモリ枯渇、通信量増大、共有メモリ等のOS管理リソースの枯渇など)に関係なく発生することもある。
また、システム障害は、設計不足やテスト時の項目抜け、つまりカバレージ不足によって発生する可能性が比較的に高い。具体的には、事前設定時や現地調整時のテストで異常状況を全て洗い出すことが難しく、かつ、異常状況をテスト環境で作り出すことも難しいため、テスト項目抜けが出てくる。すなわち、実際の運用時に起こる異常状態を想定できなかったときに、システム障害が発生する。
以上のことから、本発明は、システム障害が発生する状況が予め想定できない状況、すなわち未知の異常の予兆を検知することを目的とする。
計算機システムの処理単位毎の特徴点を抽出する特徴点抽出部と、特徴点抽出部が抽出した特徴点をトレースし、トレース結果を保持するトレース部と、計算機システムに障害が発生していないときのトレース結果である基準データと現在のトレース結果を比較し、比較結果が予め定められた第一の条件を満たすかどうかを判定する比較部と、判定が第一の基準を満たすとき計算機システムの異常予兆を示す情報を出力する出力部とを備えることにより実現される。その他の手段については実施例の中で明らかにされる。
本発明により、計算機を構成するプログラムに障害が発生する前に異常の予兆を検知することが可能となる。
実施例における計算機のソフトウェア構成の例を示すブロック図である。 実施例における計算機のハードウェア構成の例を示すブロック図である。 実行パスの特徴点抽出部の処理を示すフローチャートの例である。 正常処理テスト時の関数トレースデータの例である。 軽度な異常処理テスト時の関数トレースデータの例である。 中度な異常処理テスト時の関数トレースデータの例である。 関数コールグラフの例である。 関数実行パスの頻度テーブルの例である。 基準パターン算出部の処理を示すフローチャートの例である。 運用時の特徴関数トレースデータの例である。 特徴関数の頻度テーブルの例である。 頻度グラフ基準パターンの例である。 頻度テーブル基準パターンの例である。 測定パターン算出と比較部の処理を示すフローチャートの例である。 特徴関数の実行頻度グラフ測定パターンの例である。 特徴関数の実行頻度テーブル測定パターンの例である。 予兆判定条件テーブルの例である。 トレース項目の指定テーブルの例である。 予兆判定条件テーブル設定部の処理の流れの例である。 除外パターンをグラフで表した図の例である。 捕捉パターンをグラフで表した図の例である。
テスト時に、「実行パスの特徴点抽出部」がアプリケーション等のプログラム毎に関数単位の実行パスと頻度を正常処理テストと異常処理テスト別に算出する。正常処理テスト時に動作したパスを正常パスと見なし、異常処理テスト時に動作したパスを異常パスと見なす。各パスの特徴点となる関数を特定し、その特徴点とした関数を運用時の関数トレースのポイントとする。これによって、運用時の関数トレースの負荷を下げる。
実際の運用時は、「測定パターン算出と比較部」が実環境下で、プログラム毎に特徴点とした関数名を元に、実行パスと頻度を算出する。実環境下での統計的な基準パターンと最新の測定パターンが異なる場合に、異常状態(具体的には、テスト時のカバレージ抜けの状況)になる可能性があると判断する。
異常状態になる可能性があることを検知した時には、トレース項目を増やして詳細なトレースを収集する。逆に、統計的な基準パターンと最新の測定パターンが類似している場合には、正常状態と判断してトレース項目を減らしていく。これによって、障害が起こる可能性の高い時に、詳細なトレースを収集可能となり障害解析がしやすくなる。
本発明の実施の形態に関する詳細については図面を参照して説明する。
図1は、第1の実施形態が適用される計算機100のソフトウェア構成を示すブロック図である。計算機のソフトウェア構成は、プログラム群101、トレース部102、各種トレースデータ103、関数トレースデータ104、実行パスの特徴点抽出部111、関数コールグラフ112、関数実行パスの頻度テーブル113、基準パターン算出部121、特徴関数の頻度テーブル122、基準パターン123、予兆判定条件テーブル設定部131、予兆判定条件テーブル132、測定パターン算出と比較部133、および、測定パターン134からなる。測定パターン134には後述する除外パターン、捕捉パターン等も格納される。
トレース部102は、プログラム群101に対する各種トレースデータ103および関数トレースデータ104を出力する。実行パスの特徴点抽出部111は、テスト時に実行され、関数トレースデータ104を入力して、関数コールグラフ112および関数実行パスの頻度テーブル113を出力する。基準パターン算出部121は、運用時に実行され、関数トレースデータ104に基づいて基準パターン123を出力する。測定パターン算出と比較部133は、運用時に実行され、測定パターン134を算出して基準パターン123と比較し、予兆判定条件テーブル13の条件にマッチした時に、トレース部102に対してトレース項目の増減を指示する。すなわち、異常予兆を検知した時にトレース項目を増やすことで詳細な障害解析ができるようにする。
実行パスの特徴点抽出部111、関数コールグラフ112、関数実行パスの頻度テーブル113等の含まれる実線で囲まれた部分はシステム開発時等に事前設定を行うときに実行されるモジュールである。基準パターン算出部121、特徴関数の頻度テーブル122、基準パターン123等の含まれる点線で囲まれた部分は開発時に設定しても良いが、通常は現地調整など実際のシステムを用いて設定するときに実行されるモジュールである。実運用時には図1の全てのモジュールが実行される可能性がある。
図2は、本発明に係る計算機のハードウェア構成図の例である。図2に示すように、計算機100は、CPU211と、メモリ装置231と、補助記憶のための外部記憶装置241と、キーボードやマウス等の入力装置261と、液晶ディスプレイ等の出力装置271と、外部装置とデータ通信を行うためのネットワーク装置251を備えた一般的なコンピュータにより実現可能である。CPU211は、1個または複数個のプロセッサコア212〜215を持つ演算装置である。
図2において、例えば、プログラム群101、トレース部102、実行パスの特徴点抽出部111、基準パターン算出部121、予兆判定条件テーブル設定部131、および、測定パターン算出と比較部133は、CPU211が外部記憶装置241に予め記憶されている所定のプログラムをメモリ装置231にロードして実行することにより実現される。
図3は、図1の実行パスの特徴点抽出部111の処理の流れを示すフロー図である。実行パスの特徴点抽出部111は、事前の準備として、単体や組合せ等のテスト時に動作させる処理である。ステップ310は、トレース部に対して全ての関数単位のトレースを収集する設定にする。
ステップ320は、図1のプログラム群101に対してテストを実施し、各プログラムの関数単位のトレースを収集する。このテストは、正常処理テストと異常処理テストに分けて実施する。また、この異常処理テストは、軽度な異常処理と中度な異常処理を分けて実施する。軽度な異常処理テストの例としては、メモリ確保のリトライ処理、通信リトライ処理などである。中度な異常処理テストの例としては、何らかの異常によって停止したプログラムの再起動などである。ここで、図1のプログラム群101の例は、アプリA、アプリB等とする。以下では、説明を容易にするために、プログラム群101のうちでアプリAを中心に説明していく。ステップ320による関数トレースの出力結果は、図4〜図6に示す通りとなる。
図4は、関数トレースデータ104の例で、正常処理テスト時の関数トレースデータである。図4は、第1列の20140701が日付、第2列の10:00:00.001が時刻、第3列のアプリAがプログラム名、第4列のmain()が関数名からなり、時系列に並んだ関数トレースデータである。図4の例では、アプリAの関数main()、funcA_a1()、funcA_a2()、exit()が繰り返し実行された例である。
図5は、軽度な異常処理テスト時の関数トレースデータである。図5の例では、アプリAの関数main()、funcA_b1()、funcA_b2()、exit()が繰り返し実行された例である。
図6は、中度な異常処理テスト時の関数トレースデータである。図6の例では、アプリAの関数main()、funcA_b1()、funcA_c1()、exit()が繰り返し実行された例である。
さて、図3に戻り、ステップ330は、収集した関数トレースを元に、各プログラムの関数のコールグラフを作成する。
図7は、図4〜6の関数トレースデータを元に作成された関数のコールグラフの例である。図7において、関数呼び出し関係がmain()710→funcA_a1()720→funcA_a2()730→exit()740となっている部分は、図4の正常処理テスト時の関数トレースデータの関数呼び出し順序から作成される。
また、関数呼び出し関係がmain()710→funcA_b1()750→funcA_b2()760→exit()740となっている部分は、図5の軽度な異常処理テスト時の関数トレースデータの関数呼び出し順序から作成される。
さらに、関数呼び出し関係がmain()710→funcA_b1()750→funcA_c1()770→exit()740となっている部分は、図6の中度な異常処理テスト時の関数トレースデータの関数呼び出し順序から作成される。なお、実際には複雑な関係となるが、ここでは分かりやすくするために、このような例としている。
さて、図3に戻り、ステップ340は、関数のコールグラフを元に、各プログラムの関数の実行パスの全パターンを抽出する。図7の例では、関数の実行パスの1つ目がmain()710→funcA_a1()720→funcA_a2()730→exit()740となり、2つ目がmain()710→funcA_b1()750→funcA_b2()760→exit()740となり、3つ目がmain()710→funcA_b1()750→funcA_c1()770→exit()740となる。
ステップ350は、収集した関数トレースを元に、各プログラムの関数の実行パス毎の実行頻度を算出する。
図8は関数実行パスの頻度テーブル113の例である。関数実行パスの頻度テーブル113は、プログラム名の列801、関数の実行パスの列802、正常処理頻度の列803、軽度な異常処理頻度の列804、および、中度な異常処理頻度の列805からなる。図8の例では、図4〜図6の関数トレースデータを元に、プログラム名の列801はアプリAが設定され、関数の実行パスの列802はmain()→funcA_a1()→funcA_a2()→exit()、main()→funcA_b1()→funcA_b2()→exit()、main()→funcA_b1()→funcA_c1()→exit()
の3つのパスが設定され、正常処理頻度の列803は各パスについて単位時間当たり100回、0回、0回の実行頻度が設定され、軽度な異常処理の欄804は0回、5回、0回の実行頻度が設定され、中度な異常処理頻度の欄805は各パスについて単位時間当たり0回、0回、3回の実行頻度が設定される。
ステップ360は、各実行パスに対して一意に決定付ける特徴的な関数を抽出する。図8の例では、特徴的な関数は、main()→funcA_a1()→funcA_a2()→exit()の実行パスではfuncA_a1()またはfuncA_a2()であり、そのうちの1つを選定しfuncA_a2()とする。また、main()→funcA_b1()→funcA_b2()→exit()の実行パスではfuncA_b2()であり、main()→funcA_b1()→funcA_c1()→exit()の実行パスではfuncA_c1()となる。これらの特徴的な関数、以下では、特徴的な関数を特徴関数と呼ぶことにする。
図9は、図1の基準パターン算出部121の処理の流れを示すフロー図である。基準パターン算出部121は、現地調整以降の実際のシステム運用時に動作させる処理である。
ステップ910は、トレース部に対して特徴点となる関数のみをトレース収集する設定にする。ここでは、特徴点となる関数は、図3のステップ360で抽出した、funcA_a2()、funcA_b2()、および、funcA_c1()となる。実際の運用時は、全ての関数名ではなく、それらのうちで限定した特徴関数に絞ることで、関数トレース収集の負荷を軽減することができる。
ステップ920は、図1のプログラム群101を実行し、運用中の特徴関数のトレースを収集する。ステップ920による特徴関数トレースの出力結果は、図10に示す通りとなる。図10は図4と同様な形式である。
ステップ930は、収集した特徴関数トレースを元に、特徴関数に対応する実行パス毎の実行頻度を算出する。
図11は、図10の特徴関数トレースを元に、ステップ930によって算出される、特徴関数の実行回数テーブル122の例である。特徴関数の実行回数テーブル122は、プログラム名の行1101、特徴関数名の行1102、関数の実行パスの行1103、処理区分の行1104、および、実行回数の行1105からなる。
図11の例では、プログラム名の行1101は図10の第3列目のアプリAが設定され、特徴関数の列1102は図10の第4列目の関数名としてfuncA_a2()、funcA_b2()、funcA_c1()が設定され、関数の実行パスの列1103は図8の関数の実行パスの列802の内容が特徴関数に対応付けて設定される。
また、処理区分の列1104は図8の各列802〜805の実行頻度の数値に関連性が強く表される処理(例えば、頻度数の最も多い部分)、すなわち「正常処理」、「軽度な異常処理」、「中度な異常処理」のいずれかがユーザにより設定される。実行頻度の列1105は図10の第4列目の関数名の出現回数として、ここでは例えば、各々のパスについて100回、10回、3回が設定されたものとする。
ステップ940は、実行回数が所定の期間に所定の回数を超えた場合には、ステップ950へ進むが、超えていない場合にはステップ920へ戻る。例えば、所定の期間はプログラム群101の業務特性に応じて、週単位や月単位とすれば良い。また、所定の回数は正常処理の実行回数が例えば100回以上とすれば良い。なお、所定の期間中は、基準パターンを算出するために、障害が発生していない期間とする。
ステップ950は、所定の期間での統計値を算出し、基準パターンを算出する。
図12(a)は、ステップ950によって求められる累積実行回数グラフ123の例であり図12(b)が累積実行回数テーブルである。累積実行回数グラフ、図10の特徴関数のトレースデータをグラフ表示したものであり、横軸が時間を表し、縦軸が関数の累積実行回数を表す。正常処理、軽度な異常処理、中度な異常処理に対応した特徴関数について累積実行回数を時間毎に示している。この例では正常処理の特徴関数fancA_a2の累積実行回回数の割合が他の特徴関数に比べ時間の経過とともに増えていることがわかる。
以上のステップ910〜950によって、基準パターンとしてT3の特徴関数の実行割合が求められる。どの程度の間特徴関数の累積実行回数を測定するかは、構成の近いシステムの測定期間を基にしても良いし、各々の特徴関数の実行割合が定常状態になったときとしても良い。
図13は、図1の測定パターン算出と比較部133の処理の流れを示すフロー図である。測定パターン算出と比較部133は、図9の基準パターン算出部を動作を完了させた後に、実際の運用時に動作させる処理である。
ステップ1310は、所定の期間での統計値を算出し、測定パターンを算出する。この測定パターンの算出は、図9のステップ910〜950と同様な方法で実施することで可能となる。
図14(a)は、ステップ1310によって算出される、累積実行回数グラフ134の例であり図14(b)が特徴関数の累積実行回数テーブルである。図14(a)は、図12(a)の累積実行回数グラフと類似しているが、図14(a)が図12(a)と異なり、T3において中度な異常処理を行うfuncA_c1実行頻度が増大したことを示しており、通常と異なる動きを意味する。funcA_c1実行頻度の増大は、基準パターン1130に対して中度な異常処理の実行頻度が増大したことを意味しており、実際の運用を今後も継続すると、障害が発生する可能性が高くなるという異常予兆を示すものである。
ステップ1320は、基準パターンと最新の測定パターンを比較する。この比較方法は、例えば、基準パターンと測定パターン間で、特徴関数毎の実行回数から実行頻度を算出し、正常処理の特徴関数funcA_a2を100%となるように正規化した上で、それぞれの実行頻度を算出する。
ステップ1330は、比較した結果が予兆判定条件に一致する場合には、ステップ1340へ進み、一致しない場合にはステップ1310へ戻る。
図15は、ユーザにより設定された予兆判定条件テーブル132の例である。予兆判定条件テーブル132は、プログラム名の行1421、予兆判定条件の行1422、および、トレース設定レベルの行1423からなる。
プログラム名の行1421はデフォルトで設定するプログラム共通の予兆判定条件を定義する部分1410である。個別のプログラム毎の設定はプログラム名称をプログラム名の欄1421に指定して定義する。この例ではアプリA1420の予兆判定条件が定義されている。予兆判定条件の行1422は、予兆判定とする条件を記述する部分である。
例えば、ここでは、判定条件として軽度な異常処理の実行頻度が基準値の110%を超え基準値の120%未満であることを示す「基準パターン×120%>軽度な異常処理の実行頻度>基準パターン×110%」という条件と、軽度な異常処理の実行頻度が基準値の120%を超えることを示す「軽度な異常処理の実行頻度>基準パターン×120%」という条件と、中度な異常処理の実行頻度が基準値の105%を超え基準値の110%未満であることを示す「基準パターン×110%>中度な異常処理の実行頻度>基準パターン×105%」という条件と、中度な異常処理の実行頻度が基準値の110%を超えることを示す「中度な異常処理の実行頻度>基準パターン×110%」という条件とその他の条件に分ける例がプログラム共通の処理に対する予兆判定条件として定義されている。
トレース設定レベルの行1423は、トレース部に対する項目数の優先度として、例えば、通常優先度、中優先度、高優先度が予兆判定条件に対応づけて設定される。
ステップ1330は、予兆判定条件の欄1422のいずれかに該当するかを選定する処理となる。 ステップ1340は、予兆判定条件にマッチするトレース設定レベルを選定する。図15において、予兆判定条件の欄1422の「基準パターン×120%>軽度な異常処理の実行頻度>基準パターン×110%」にマッチした場合には、トレース設定レベルとして中優先度が選定される。
ステップ1350は、図1のトレース部102に対して、トレース設定レベルに応じたトレース項目の設定を図16のトレース項目の指定テーブルに基づいて指示する。
図16は、トレース項目の指定テーブルの例である。トレース項目の指定テーブルは、トレース設定レベルに応じたトレース項目を指定するテーブルである。トレース項目の指定テーブルは、トレース項目1501の行、トレース設定レベルの高優先度の行1502、中優先度の行1503、および、通常優先度の行1504からなる。トレース項目1501の行は、オペレーティングシステムの内部動作をトレースする項目名を記述する。例えば、メモリ関連、タイマ関連、システムコール、ディスクドライバ、通信ドライバ、周辺ドライバなどである。トレース設定レベルの欄1502〜1504は、収集項目に対して○を記述し、未収集項目に対して×を記述する。
合計の負荷率の欄1510は、計算されたトレース収集自体の負荷率の合計値が計算されセットされる。また、合計のバッファの欄1520は、トレース収集による単位時間当たりの使用バッファ量の合計値が求められセットされる。合計の負荷率の欄1510およびバッファの欄152の値により、システムによって許容される範囲内であるかどうかを確認することができる。
つまり、ステップ1350は、トレース設定レベルの高優先度1502のときのトレース項目、中優先度1503のときのトレース項目、通常優先度1504のときのトレース項目のいずれかに応じて、トレース項目の収集対象を選定する。
ステップ1360は、トレース設定レベルが前回と今回で変更された場合に、ユーザに通知するために、変更されたトレース設定レベルの内容を出力する。例えば、現在時刻および該当のトレース設定レベルとして高優先度、中優先度、または、通常優先度のいずれかを出力する。
以上のステップ1310〜1360によって、デフォルト設定での予兆判定条件に応じて異常予兆を検知でき、さらに障害解析を容易とするために捕捉パターンを追加してトレース項目を増やすことや、除外パターンを追加してデフォルトの予兆判定条件が満たされている場合にトレース情報を減らしたり、トレース情報を出力しないという設定ができる。
図17は、図1の予兆判定条件テーブル設定部131の処理の流れを示すフローチャートである。予兆判定条件テーブル設定部131は、ユーザが図14の予兆判定条件テーブル132に示す予兆判定条件を変更する時に実行される。
ステップ1610は、アプリケーション共通の予兆判定条件であるデフォルト設定を修正する。予兆判定条件の欄1422のうちの1つを選択して、例えば、「基準パターン×120%>軽度な異常処理の実行頻度>基準パターン×110%」のパーセンテージの値を変更することができる。
例えば図12(a)の基準パターンは、下記計算式を用いて計算した結果を基準として使用します。
基準パターン(「軽度な異常処理」ケースの実行頻度に相当する部分)
=「軽度な異常処理」の実行頻度÷
(「正常処理」の実行頻度+「軽度な異常処理」の実行頻度+「中度な異常処理」の実行頻度)
ステップ1620は、除外パターンを追加または変更する場合には、ステップ1630へ進み、追加または変更しない場合には、ステップ1650へ進む。
ステップ1630は、予兆判定条件テーブル132のプログラム名の欄1421を元に、一覧表示したプログラム名からユーザが該当のプログラム名を選択する。例えば、アプリAを選択する。
ステップ1640は、予兆判定条件に対して除外パターンを入力または修正する。例えば、ユーザが除外パターンとして軽度な異常処理の実行頻度が基準値とほぼ同じで、中度な異常処理の実行頻度が基準値の130%未満であることを示す「軽度な異常処理の実行頻度=基準パターン && 中度な異常処理の実行頻度<基準パターン×130%」と入力し、そのトレース設定レベルとして「通常優先度」と入力する。その入力結果が予兆判定条件テーブル132の除外パターン1430へ反映される。この除外パターン1430は、図13のステップ1330において、除外パターンとして識別される。
予兆判定条件と実測値を比較する場合は有る程度の誤差を許容するよう範囲を持たせても良い。例えば基準値と同じかどうかを判定する場合は基準値の101%を超えなければ基準値と同じであると判断しても良い。どこまでの誤差を許容するかはシステムに求められる信頼性に依存する。
図18は、この除外パターンをグラフで表した図である。例えば、ユーザが各種トレースデータ103を解析して障害が無いことが判明した場合に、次回からはその変化パターンは異常予兆ケースから除外することができる。除外パターンの形式は図11で示したテーブルと同じ形式で表現される。
ステップ1650は、捕捉パターンを追加または変更する場合には、ステップ1660へ進み、追加または変更しない場合には、終了する。捕捉パターンの形式は図11で示したテーブルと同じ形式で表現される。
図18は、図12(a)や図14(a)と類似の形式である。縦軸は、累積実行回数を示し、横軸は、時間を示す。
図18の1730は、図12(a)の1130とは異なる状況となったことを示し、T3でfuncA_b2の実行頻度は図12と比べると、「軽度な異常処理」(funcA_b2)の実行頻度が急に増加していることを意味する。
図19は、図18と同様な形式である。縦軸は、累積実行回数を示し、横軸は、時間を示す。
図19は図12(a)と異なる状況となったことを示し、T3において図12(a)と比べると、「軽度な異常処理」(funcA_b2)および「中度な異常処理」(funcA_c1)の両方の実行回数が急に増加していることを示している。
ステップ1660は、予兆判定条件テーブル132のプログラム名の欄1421を元に、一覧表示したプログラム名からユーザが該当のプログラム名を選択する。例えば、アプリAを選択する。
ステップ1670は、予兆判定条件に対して捕捉パターンを入力または修正する。例えば、ユーザが捕捉パターンとして「軽度な異常処理の実行頻度>基準パターン×50% && 中度な異常処理の実行頻度>基準パターン×300%」と入力し、そのトレース設定レベルとして「高優先度」と入力する。その入力結果が予兆判定条件テーブル132の捕捉パターン1440へ反映される。
この捕捉パターン1430は、図13のステップ1330において、捕捉するパターンとして識別される。図19は、この捕捉パターンをグラフで表した図である。例えば、ユーザが各種トレースデータ103を解析しても原因究明に至らなかった場合には、その状況時の優先度を高くして(トラップを仕掛けて)、さらに詳細なトレースを収集することができる。
以上のステップ1610〜1670によって、予兆判定条件テーブル132のデフォルト設定や除外パターンおよび捕捉パターンを変更でき、プログラムの特性に応じた対応が可能となる。
101 プログラム群、102 トレース部、103 各種トレースデータ、104 関数トレースデータ、111 実行パスの特徴点抽出部、112 関数コールグラフ、113 関数実行パスの頻度テーブル、121 基準パターン算出部、122 特徴関数の頻度テーブル、123 基準パターン、131 予兆判定条件テーブル設定部、132 予兆判定条件テーブル、133 測定パターン算出と比較部、134 測定パターン、除外パターン、捕捉パターン、135 入出力部、211 CPU、231 メモリ装置、241 外部記憶装置、 251 ネットワーク装置、 261 入力装置、 271 出力装置。

Claims (6)

  1. 計算機システムの処理単位毎の特徴点を抽出する特徴点抽出部と、
    前記特徴点抽出部が抽出した特徴点をトレースし、トレース結果を保持するトレース部と、
    前記計算機システムに障害が発生していないときのトレース結果である基準データと現在のトレース結果を比較し、比較結果が予め定められた第一の条件を満たすかどうかを判定する比較部と、
    前記判定が第一の条件を満たすとき計算機システムの異常予兆を示す情報を出力する出力部とを備え
    前記特徴点は前記処理単位で実行される関数であり、前記計算機システムの異常処理の種別に対応づけた特徴点であり、
    前記基準データは前記異常処理種別に対応づけられた特徴点の実行割合であり、前記第一の条件は前記基準データの実行割合との違いにより定義された条件であることを特徴とする計算機システムの異常予兆検出装置。
  2. 前記比較部は前記第一の条件が満たされた場合であっても異常予兆を示す情報を出力しない条件である第二の条件を受け付け、第一の条件が満たされた場合であっても第二の条件が満たされているときは計算機システムの異常予兆を示す情報の情報量を減らすか、計算機システムの異常予兆を示す情報を出力しないことを特徴とする請求項に記載の計算機システムの異常予兆検出装置。
  3. 前記比較部は前記第一の条件が満たされたとき、出力部が出力する計算機システムの異常予兆を示す情報の情報量を増やす条件である第三の条件を受け付け、第一の条件と第三の条件の両方が満たされたとき第一の条件が満たされたときに出力される計算機システムの異常予兆を示す情報より出力する情報量を増やすことを特徴とする請求項に記載の計算機システムの異常予兆検出装置。
  4. 特徴点抽出部が計算機システムの処理単位毎の特徴点を抽出し、
    トレース部が前記特徴点抽出部が抽出した特徴点をトレースし、トレース結果を保持し、
    比較部が前記計算機システムに障害が発生していないときのトレース結果である基準データと現在のトレース結果を比較し、比較結果が予め定められた第一の条件を満たすかどうかを判定し、
    出力部が、前記判定が第一の条件を満たすとき計算機システムの異常予兆を示す情報を出力することを備え
    前記特徴点は前記処理単位で実行される関数であり、前記計算機システムの異常処理の種別に対応づけた特徴点であり、
    前記基準データは前記異常処理種別に対応づけられた特徴点の実行割合であり、前記第一の条件は前記基準データの実行割合との違いにより定義された条件であることを特徴とする計算機システムの異常予兆検出方法。
  5. 前記比較部は前記第一の条件が満たされた場合であっても異常予兆を示す情報を出力しない条件である第二の条件を受け付け、第一の条件が満たされた場合であっても第二の条件が満たされているときは計算機システムの異常予兆を示す情報の情報量を減らすか、計算機システムの異常予兆を示す情報を出力しないことを特徴とする請求項に記載の計算機システムの異常予兆検出方法。
  6. 前記比較部は前記第一の条件が満たされたとき、出力部が出力する計算機システムの異常予兆を示す情報の情報量を増やす条件である第三の条件を受け付け、第一の条件と第三の条件の両方が満たされたとき第一の条件が満たされたときに出力される計算機システムの異常予兆を示す情報より出力する情報量を増やすことを特徴とする請求項に記載の計算機システムの異常予兆検出方法。
JP2014215903A 2014-10-23 2014-10-23 計算機システムの異常予兆検出装置および方法 Active JP6375200B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014215903A JP6375200B2 (ja) 2014-10-23 2014-10-23 計算機システムの異常予兆検出装置および方法
PCT/JP2015/079383 WO2016063816A1 (ja) 2014-10-23 2015-10-16 計算機システムの異常予兆検出装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014215903A JP6375200B2 (ja) 2014-10-23 2014-10-23 計算機システムの異常予兆検出装置および方法

Publications (2)

Publication Number Publication Date
JP2016085496A JP2016085496A (ja) 2016-05-19
JP6375200B2 true JP6375200B2 (ja) 2018-08-15

Family

ID=55760853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014215903A Active JP6375200B2 (ja) 2014-10-23 2014-10-23 計算機システムの異常予兆検出装置および方法

Country Status (2)

Country Link
JP (1) JP6375200B2 (ja)
WO (1) WO2016063816A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11093371B1 (en) 2020-04-02 2021-08-17 International Business Machines Corporation Hidden input detection and re-creation of system environment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113179B2 (en) 2018-03-19 2021-09-07 Mitsubishi Electric Corporation Information processing device, information processing method, and computer readable medium for a trace process
JP6666489B1 (ja) * 2019-02-25 2020-03-13 株式会社東芝 障害予兆検知システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122599A (ja) * 2001-10-11 2003-04-25 Hitachi Ltd 計算機システムおよび計算機システムにおけるプログラム実行監視方法
JP2011258019A (ja) * 2010-06-09 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> 異常検知装置、異常検知プログラムおよび異常検知方法
JP2014115768A (ja) * 2012-12-07 2014-06-26 Toshiba Corp ログ判定システム、ログ判定基準構築装置及びログ判定方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11093371B1 (en) 2020-04-02 2021-08-17 International Business Machines Corporation Hidden input detection and re-creation of system environment

Also Published As

Publication number Publication date
WO2016063816A1 (ja) 2016-04-28
JP2016085496A (ja) 2016-05-19

Similar Documents

Publication Publication Date Title
JP6394726B2 (ja) 運用管理装置、運用管理方法、及びプログラム
JP5874936B2 (ja) 運用管理装置、運用管理方法、及びプログラム
TW201941058A (zh) 異常檢測方法及裝置
US20160378583A1 (en) Management computer and method for evaluating performance threshold value
US9524223B2 (en) Performance metrics of a computer system
US8448025B2 (en) Fault analysis apparatus, fault analysis method, and recording medium
CN109992473B (zh) 应用系统的监控方法、装置、设备及存储介质
US9594617B2 (en) Method and apparatus for positioning crash
JP5387779B2 (ja) 運用管理装置、運用管理方法、及びプログラム
Jin et al. What helped, and what did not? An evaluation of the strategies to improve continuous integration
JP6375200B2 (ja) 計算機システムの異常予兆検出装置および方法
Zoppi et al. Context-awareness to improve anomaly detection in dynamic service oriented architectures
JP2018060332A (ja) インシデント分析プログラム、インシデント分析方法、情報処理装置、サービス特定プログラム、サービス特定方法及びサービス特定装置
JP2010049359A (ja) プラント監視装置およびプラント監視方法
US9946621B2 (en) Prevention of event flooding
JP5267109B2 (ja) 障害発見システム検証装置、障害発見システム検証方法及び障害発見システム検証制御プログラム
WO2020044898A1 (ja) 機器状態監視装置及びプログラム
CN115168224A (zh) 微服务系统健康度的评估方法及相关设备
JP2019159365A (ja) 状態変動検出装置及び状態変動検出用プログラム
JP5958987B2 (ja) 情報処理装置、故障診断制御装置、故障判定方法、故障判定プログラム
JP2010211574A (ja) 情報処理システム、監視方法及び監視プログラム
CN107291588B (zh) 一种生成xml日志的方法和装置
CN115037636A (zh) 服务质量的感知方法、装置、电子设备和存储介质
JP2014232478A (ja) 動作監視装置および動作監視方法
JP2023136444A (ja) 解析プログラム、解析方法、および情報処理システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170110

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180723

R150 Certificate of patent or registration of utility model

Ref document number: 6375200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150