JP5958348B2 - 分析方法、分析装置、及び分析プログラム - Google Patents

分析方法、分析装置、及び分析プログラム Download PDF

Info

Publication number
JP5958348B2
JP5958348B2 JP2013000705A JP2013000705A JP5958348B2 JP 5958348 B2 JP5958348 B2 JP 5958348B2 JP 2013000705 A JP2013000705 A JP 2013000705A JP 2013000705 A JP2013000705 A JP 2013000705A JP 5958348 B2 JP5958348 B2 JP 5958348B2
Authority
JP
Japan
Prior art keywords
data
abnormal
normal
analysis
timing
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
JP2013000705A
Other languages
English (en)
Other versions
JP2014132421A (ja
Inventor
堀田 勇次
勇次 堀田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013000705A priority Critical patent/JP5958348B2/ja
Priority to US14/069,442 priority patent/US20140195856A1/en
Priority to GB1320832.7A priority patent/GB2509601B/en
Publication of JP2014132421A publication Critical patent/JP2014132421A/ja
Application granted granted Critical
Publication of JP5958348B2 publication Critical patent/JP5958348B2/ja
Priority to US15/804,034 priority patent/US10733038B2/en
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
    • 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
    • G06F11/3419Recording 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 by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/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/0715Error 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 system implementing multitasking
    • 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/0677Localisation of faults

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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)

Description

本発明は、分析方法、分析装置、及び分析プログラムに関する。
アプリケーションプログラムやネットワークサービス等において、遅延個所や異常個所を発見することが試みられている(例えば、下記の特許文献1及び2参照)。
通常、遅延や個所や異常個所を発見するためには、その箇所の前後のログを採取して、状態を監視し続ける必要がある。例えばstart-A-B-C-D-endという処理シーケンスの場合、Aの直前、A-Bの中間、B-Cの中間、C-Dの中間、Dの直後、でタイムスタンプが付いたログを採取することで、A〜Dの各処理の遅延を見つけることができる。例えばBが遅延している場合、A-B間のログ(Bの直前)とB-C間のログ(Bの直後)=Bの前後のログ、を使うことで遅延を発見することができる。
その一方で、アプリケーションプログラムやネットワークコンポーネントにおいて異常個所を発見するためには多数の監視箇所で大量のログを採取する必要がある。
このため、異常個所の絞り込み、特定には多大な実行オーバーヘッド及びネットワーク負荷が発生する。
特開2011−211295号公報 特開2006−222808号公報
こうしたアプリケーションプログラムやネットワークコンポーネントでは、複数の処理で共通のモジュールを使用した処理を行なう。
ここで、特定のモジュールの遅延は、関連する複数の処理で遅延を引き起こす原因となる。遅延しているモジュールの特定は、例示的に、一定の時間間隔でレスポンス時間の平均をとり、その平均値を正常又は異常の閾値と比較し、その比較結果に基づいて正常動作している処理と遅延している処理とを分類することで実施できる。
しかしながら、処理時間を平均する区間の長さやタイミング等の取り方によって、本来異常と診断したい処理が正常な処理に分類されてしまったり、問題を特定するために必要な情報が得られない等、分析の基礎となる適切なデータを得られない場合がある。
1つの側面では、本発明は、計算量を抑えて分析可能なデータを見つけることを可能にすることで、分析精度を向上することを目的とする。
分析方法の一態様は、共用するモジュールが存在する複数の処理それぞれについて、正常及び異常のステートをログデータより算出し、前記ステートの変化のタイミングを算出し、算出した前記タイミングに基づき、前記複数の処理それぞれについて正常及び異常のステートが混在しない時間区間を区切り、前記時間区間において、前記複数の処理と前記モジュールとの関係の情報に基づき、異常モジュールを検出する。
一態様によれば、計算量を抑えて分析可能なデータを見つけることを可能にすることで、分析精度を向上することができる。
一実施形態に係るネットワークシステムの一例を示すブロック図である。 一実施形態に係る機能とコンポーネントとの関係の一例を示す図である。 (A)〜(D)は一実施形態に係る機能とコンポーネントとの関係をマトリクスで表現した例を示す図である。 一実施形態に係る分析フェーズの動作例を説明するフローチャートである。 一実施形態に係る運用フェーズの動作例を説明するフローチャートである。 図4に例示する紐付け処理を一例を説明するフローチャートである。 図4に例示する紐付け処理の一例を模式的に説明する図である。 一実施形態に係る運用フェーズの分析結果の通知画面例を示す図である。 一実施形態に係る遅延検知時の通知画面例を示す図である。 一実施形態に係る機能毎の集計区間に正常と異常なデータとが混在する様子を模式的に示す図である。 図10において集計区間を極小化する場合の問題例を模式的に説明する図である。 図10において正常区間と異常区間とを分離して、重なりで判定する様子を模式的に説明する図である。 一実施形態に係る事務処理システムの事例を説明する図である。 図13に例示する事務処理システムでの異常発症例を模式的に説明する図である。 一実施形態に係る分析方法を事務処理システムに適用した場合を模式的に説明する図である。 一実施形態に係る事前準備処理を説明するフローチャートである。 一実施形態に係る運用フェーズでの動作例を説明するフローチャートである。 一実施形態においてリクエスト−レスポンスデータ(RRデータ)の単位を判定区間とする様子を例示する図である。 一実施形態において正常のRRデータをまとめて正常区間とし、異常のRRデータをまとめて異常区間とする様子を例示する図である。 一実施形態において正常区間及び異常区間の切り替わりのRRデータがない区間をデータなしとして扱う様子を例示する図である。 一実施形態において正常区間及び異常区間の切り替わりのRRデータがない区間をデータなしとして扱う様子を例示する図である。 一実施形態において正常区間及び異常区間の切り替わりの次のRRデータが出現したタイミングで区間を切り替える様子を例示する図である。 一実施形態において同一種別のRRデータの最後のRRデータの終了タイミングで区間を切り替える様子を例示する図である。 一実施形態において正常RRデータ群及び異常RRデータ群の中間地点で切り替える様子を例示する図である。 一実施形態においてRRデータが重なり合う場合の様子を例示する図である。 一実施形態において同一種別のRRデータの開始から終了までを1つの正常区間または異常区間とする様子を例示する図である。 一実施形態において異なる種別の次のRRデータの開始時点(出現タイミング)で区間を区切る様子を例示する図である。 一実施形態において異なる種別のRRデータの出現時に、前の種別の最後のRRデータの終了タイミングで区間を区切る様子を例示する図である。 一実施形態において正常のRRデータの開始時に正常区間として切り、正常のRRデータの終了時に区間を区切る様子を例示する図である。 (A)及び(B)は一実施形態において異なるタイミングで一部の機能のRRデータが出現しない様子を比較して例示する図である。 (A)及び(B)は一実施形態において異なるタイミングでRRデータが1つのみ出現する場合と複数出現する場合を比較して例示する図である。 (A)〜(C)は一実施形態に係る具体的な競合と暗黙の競合とを模式的に説明する図である。 一実施形態に係る機能とコンポーネントとの関係の一例を示す図である。 一実施形態において補完テーブル(排他ポイントテーブル)を作成するフローチャートである。 (A)及び(B)は一実施形態に係るパス情報テーブル及び排他ポイントテーブルの一例を示す図である。 一実施形態に係る補完フローチャートである。 一実施形態に係る機能とコンポーネントとの関係の一例を示す図である。 一実施形態に係る頻度情報(テーブル)の一例を示す図である。 一実施形態に係る機能選別処理の一例を説明するフローチャートである。 一実施形態に係る機能とコンポーネントとの関係の一例を示す図である。 一実施形態に係る頻度情報(テーブル)の一例を示す図である。 一実施形態に係る頻度情報(テーブル)の一例を示す図である。
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
図1は、一実施形態に係るネットワークシステムの一例を示すブロック図である。図1に示すネットワークシステムは、例示的に、インターネット等のネットワーク10、ネットワーク10に接続されたサーバ群20,30及び40、並びに、ネットワークスイッチ50等を備える。サーバ群20,30及び40には、例示的に、Webサーバ30や、アプリケーション(AP)サーバ40、その他のサーバ20等が含まれる。
APサーバ40には、例示的に、事前分析ブロック401、運用ブロック402、ユーザリクエストデータベース403、及び、パス情報データベース404が備えられる。オプション的に、APサーバ40には、出現確率データベース405が備えられてもよい。
APサーバ40は、図示しないCPU、メモリ、及び、ハードディスク装置等の記憶装置、表示装置、印刷装置等を備えている。CPUがメモリや記憶装置から所定のプログラムを読み取って動作することにより、必要な機能部が具現される。例示的に、プログラムには、事前分析ブロック401や運用ブロック402の機能を具現するプログラムの一例としての分析プログラムが含まれる。表示装置や印刷装置には、例えばCPUによる演算結果等を出力することができる。なお、他のサーバ20やWebサーバ30についても、ハードウェア的には、CPU、メモリ、及び、ハードディスク装置等の記憶装置、表示装置、印刷装置等が備えられる。
分析プログラムとしての機能(各手段の全部又は一部の機能)は、CPU等のコンピュータが所定のアプリケーションプログラムを実行することによって実現される。
そのプログラムは、例えばフレキシブルディスク、CD−ROM,CD−R,CD−RW,MO,DVD、ブルーレイディスク、ポータブルハードディスク、USBメモリ等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体から上記プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
ここで、コンピュータとは、ハードウェアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウェアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたプログラムを読み取るための手段とをそなえている。
上記アプリケーションプログラムは、上述のようなコンピュータに、分析プログラムとしての機能を実現させるプログラムコードを含んでいる。また、その機能の一部はアプリケーションプログラムではなくOSによって実現されてもよい。
さらに、上記記録媒体としては、上述したフレキシブルディスク,CD−ROM,CD−R,CD−R,CD−RW,DVD,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROM等のメモリ),外部記憶装置等や、バーコード等の符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
ユーザリクエストデータベース403や、パス情報データベース404、出現確率データベース405は、例示的に、APサーバ40のメモリや記憶装置において具現される。
事前分析ブロック401は、例示的に、事前データ採取部410及びパス分析部420を備える。
事前データ採取部410は、ユーザリクエストデータベース403のデータ(リクエスト等)を仮想ユーザのデータとしてネットワーク10へ投入(送信)する。なお、事前データ採取部410は、実運用時の実際のリクエスト及び状態等を保存しておいて、実運用時の運用状態を再現するようにしてもよい。
パス分析部420は、例示的に、仮想ユーザのデータ投入による結果として各サーバ20,30,40に流れるメッセージデータを採取して、パス分析を行ない、その分析結果を例えばパス情報としてパス情報データベース404に格納する。
運用ブロック402は、例示的に、運用データ採取部430、機能選別部440、データスライス分割部450、及び問題箇所特定部460を備える。
運用データ採取部430は、運用フェーズにおいて実運用でサーバ20,30,40に流れるデータから例えばURL(Uniform Resource Locator)+CGI(Common Gateway Interface)パラメータ等を例えばログデータとして採取する。なお、実運用では「前面のサーバ」の情報のみ採取するようにしてよい。「前面のサーバ」とは、事前分析フェーズにおける「全サーバ」と対比して、ユーザからのリクエストを受け付ける、最もユーザ側のサーバを意味する。図1に例示する構成ではWebサーバ30が「前面のサーバ」サーバに相当し得る。ただし、構成によっては、負荷分散サーバ(ロードバランサ;図示省略)が「前面のサーバ」に相当することもあれば、APサーバ40が「前面のサーバ」に相当することもある。
機能選別部440は、採取したログデータをパス情報データベース404のパス情報と照らして、ログデータの機能選別(分類)を行なう。
データスライス分割部450は、選別した各機能で正常と異常とが混在しない時間区間を切り出す処理(ステートの変化タイミングを演算する処理)を実施する。詳細については後述する。
問題個所特定部460は、データスライス分割部450によって切り出された時間区間について遅延の検知を行い、遅延を検知した場合はパス情報と照らして問題個所を絞り込みあるいは特定する。
ここで、「機能」(あるいは「処理」)は、次のように分類される。
まず、予めキャプチャ済みの実データや事前データ採取部410がテストデータを再現(リプレイ)するなどしてデータを採取し、システムの各機能のパスをパス分析部420が分類する。
例えば図2に示すように、p1〜p5をネットワークコンポーネントとした場合、各コンポーネントp1〜p5を流れるメッセージデータを分析し、URL+CGIパラメータで機能(Fi:iは自然数)を分類する。すると、各機能は次のようなパスを通ることが分かる。なお、コンポーネントp1〜p5はプログラムのメソッド単位、ブロック単位として処理することもできる。「コンポーネント」という用語は、「モジュール」あるいは「チェックポイント」という用語に置き換えて使用する場合がある。また、「パス」は、「コンポーネント」の集合として位置付けられる。
F1=http://foo.com/appli1.cgi?flag=exec パス=p1−p2−p4−p5
F2=http://foo.com/appli1.cgi?flag=calc パス=p1−p3−p5
F3=http://foo.com/appli1.cgi?data=true パス=p1−p2
F4=http://foo.com/appli2.cgi?feature=3 パス=p3−p4
ここで、通常時に比べてF1及びF2が遅延した場合、問題個所特定部460は、分析したパス情報に照らすことでF1とF2とが通過するパス(チェックポイント)であるp1,p2,p3,p4,p5(つまり、この例の場合は全てのチェックポイント)が問題(異常)の可能性をもつと判断することができる。
さらに、例えば、F3及びF4は遅延していないという情報と、F3及びF4のパス情報により、F1,F2及びF3の共通パスであるp1,p2,p3,p4には問題がないと判断できる。その結果、残ったp5を遅延の原因と診断することができる。
なお、分析対象がプログラムの場合、p1〜p5は、例示的に以下のように、メソッド(関数)呼出し単位や、ブロック単位、利用者指定のログ出力箇所単位、あるいはこれらのいずれかの組み合わせを単位として処理することができる。
・メソッド(関数)呼出し単位
p1=method1()→p2=method2()→p4=method3()等
・ブロック単位(if文や{}などで区分けされたブロック)
p1=while(..)→p2=if ()...→p4=else...等
・利用者指定のログ出力箇所
p1={file=foo.java,line=35}→p2={file=foo.java,line=55}→p4={file=boo.java,line=20}等
パス情報は、単純な例としては図3(A)に示すように各機能F1〜F4とチェックポイントp1〜p5とをマトリクスで表現することができる。なお、マトリクス表現は分析フェーズでの処理の一例である。
図3(B)に例示するように、悪化した機能(図2の例でF1及びF2)のチェックポイントを論理和(OR)で検出する。次いで、図3(C)に例示するように、悪化していない機能(図2の例でF3及びF4)のチェックポイントをORで検出する。
さらに、図3(D)に例示するように、図3(B)の結果と図3(C)の結果とで排他的論理和(XOR)をとる。次いで、図3(B)の結果と図3(D)の結果とで論理積(AND)をとる。本例において当該ANDの結果は図3(D)と同じである。図3(D)に例示するように、ANDの結果により、「1」が残っているp5が問題個所と特定できる。
(分析フェーズ)
図4に例示するように、分析フェーズ(分析ブロック401)では、2つの機能を並行して実行することができる。
まず、分析ブロック401では、事前データ採取部410により、ユーザリクエストデータベース403において予め用意したリクエストデータを再生することでサーバ20,30及び40にリクエストメッセージを投入する(データ再生:処理P10)。当該処理は、所定の終了条件が満たされるまで(処理P20でYesと判定されるまで)、繰り返される(処理P20のNoルート)。なお、リクエストデータとしては、実運用時に採取したものや、テストデータとして生成したもの等を用いることができる。
事前データ採取部410は、データ再生でのデータ投入により呼び出されるネットワークデータをキャプチャしたり、サーバ20,30,40のログデータを取得したりする等して、データを取得する(処理P30)。
次いで、分析ブロック401は、例えばパス分析部420により、取得したデータを紐付け処理して、パス情報を生成する(処理P40)。ここで、紐付け処理の一例を図6及び図7に示す。
図6に例示するように、パス分析部420は、紐付け処理対象のデータの有無をチェックし(処理P410)、データが無ければデータが出現するまで待機し(処理P410のNoルート)、データが有ればデータの種別(アプリケーションやデータベース等)を選別する(処理P410のYesルートから処理P420)。
次いで、パス分析部420は、選別した種別毎に一次紐付け処理を実施する(処理P430)。さらにパス分析部420は、トランザクション終了か否かをチェックする(処理P440)。ここで、構成する全データ種別のデータが揃った場合はトランザクション終了と判定し(処理P440のYesルート)、パス分析部420は、構成する全データ種別のデータを、識別キーを使って二次紐付け処理する(処理P450)。なお、トランザクション終了と判定されるまでは、処理P410以降の処理が繰り返される(処理P440のNoルート)。
図7に、一次紐付け処理及び二次紐付け処理の一例を示す。図7の下段左には、アプリケーション(AP)のデータ例として、タイムスタンプ、トランザクションID及びその他の情報を含むデータ構造を示している。また、図7の下段右には、データベース(DB)のデータ例として、タイムスタンプ、セッションID、その他の情報及びトランザクションIDを含むデータ構造を示している。
図7の上段には、図7の下段に例示するデータがデータの種別毎に選別された様子を例示している。また、図7の上段に例示するように、APのデータは、APに固有の選別キー(例えばトランザクションID(t01,t02等))にて一次紐付けされ、DBのデータは、DBに固有の選別キー(例えばセッションID(s34,s35等))にて一次紐付けされる。
そして、異なる種別のデータどうしは、識別キー(例えばトランザクションID(t01,t02等))にて二次紐付けされる。なお、全てのデータが二次紐づけに必要な識別キーを有しているとは限らない。
二次紐付けが完了すると、パス分析部420は、紐付け結果を登録(記憶)する(処理P460)。
このような紐付け処理が完了すると、パス分析部420は、図4に例示するように、機能抽出処理を実施する(処理P50)。機能抽出処理は、上述した紐付け結果とURL+CGIパラメータとから機能を抽出し分類する処理の一例である。
そして、パス分析部420は、分類結果をパス情報としてパス情報データベース404に登録する(処理P60)。なお、後述するように、問題個所特定の精度向上のために出現確率(頻度)情報を使う方法が考えられる。その場合、パス分析部405は、出現確率情報を出現確率情報データベース405(図1参照)に格納する。
(運用フェーズ)
次に、図5を参照して運用フェーズでの処理例について説明する。
運用フェーズ(運用ブロック402)では、運用データ採取部430により、実運用データのうちURL+CGIパラメータ、レスポンス時間等の情報をネットワークスイッチ50やWebサーバ30から採取する(処理P100)。
次いで、運用ブロック402は、機能選別部440により、採取したデータからURL、CGI等のパラメータを基に機能単位を選別する(処理P110)。
さらに、運用ブロック402は、データスライス分割部450により、機能の抽出処理、すなわち、選別した各機能で正常と異常とが混在しない時間区間を切り出す処理(ステートの変化タイミングを演算する処理)を実施する(処理P120)。なお、選別した機能がパス情報に含まれない場合は、パス情報の機能に当てはめる。
その後、データスライス分割部450は、機能及びレスポンス情報を集計情報として分析対象データテーブル(図示省略)に登録(記憶)する(処理P130)。登録形式の一例は次表1に例示するとおりである。
Figure 0005958348
上記表1の例では区間IDで識別される区間にデータが出現したエントリが登録されている。F3はその区間にデータが存在しなかったことを表現している。なお、区間IDと対応する区間情報は、例示的に、次表2に例示するような別のテーブル(区間テーブル)で管理することができる。区間の長さは、スライス毎に異なり得る。
Figure 0005958348
次いで、運用ブロック402は、問題個所特定部460によって、レスポンスが悪化しているかを判定する(処理P140)。判定は、単独レスポンスや集計単位毎等の単位で行なうことができる。
レスポンスが悪化していなければ、運用ブロック402は、処理P100以降の処理を繰り返す(処理P140のNoルート)。一方、レスポンスが悪化していれば(処理P140でYesの場合)、問題個所特定部460は、集計情報とパス情報とを突き合わせることで問題個所の特定を行なう(処理P150)。
問題個所の特定ができれば(処理P160のYesルート)、問題個所特定部460は、特定した問題個所の情報を表示装置等に出力する(処理P170)。このとき、複数の候補がある場合は例えば優先順位付で複数個出力してよい。ただし、優先順位がつかない場合もある。
出力データの一例を図8に示す。図8の左側には、実運用フェーズでの分析結果の通知画面500の一例が示されている。通知画面500には、例示的に、遅延が発生した日時、推定される遅延個所等の情報が表示される。
ここで、遅延個所についてのより詳細な情報が知りたい場合には、例えば通知画面500に設けられた詳細表示ボタン501を選択することで、図8の右側に例示するような詳細表示画面510を表示できる。詳細表示画面510にも、表示する情報に対応して詳細表示ボタン511〜515を配置することができる。詳細表示画面510において更に詳細な情報が知りたい場合に対応する詳細表示ボタン511〜515を選択することで、更に詳細な情報を表示させることができる。
問題個所の特定ができなかった場合(処理P160のNoルート)、問題個所特定部460は、悪化を検知したことを表示装置等に出力する(処理P180)。図9に、遅延検知時の通知画面520の一例を示す。通知画面520には、例示的に、遅延発生を検知した日時、遅延発生を検知した機能(URL等)等の情報が表示される。
通知画面520には、遅延発生を検知した機能に対応して詳細表示ボタン521及び522を配置することができる。詳細表示ボタン521又は522を選択することで、より詳細な情報、例えば、レスポンス時間の平均等を表示させることができる。
次に、正常と異常のデータが混在する場合の問題について図10及び図11を参照して説明する。
図10及び図11において、「異常区間」は異常なデータの時間区間を例示し、「正常区間」は正常なデータの時間区間を例示している。「異常なデータ」は、例えばレスポンス時間が正常範囲よりも長いことを示すデータを意味し、「正常なデータ」は、例えばレスポンス時間が正常範囲にあることを示すデータを意味する。
ここで、同じ機能でもタイミングによって正常なデータと異常なデータとが混在する場合があり、その場合には、既述のマトリックスを使った絞り込みを行なえない。
例えば、レスポンス時間の閾値が1秒(1秒以上なら異常、1秒未満なら正常)の場合、平均すると丁度1秒、を異常と判定(例えば図10の矢印601参照)しても正確な分析であるとはいえない。このように、微妙なタイミングによる問題がある場合に、平均では正常及び異常のいずれかの判定結果となってしまい正しく判定できない。また、複数の機能(F1,F2,…)のレスポンス時間が全て閾値近傍にある場合は分析結果が全く信用できないものになる。
なお、特許文献1の手法は、ネットワーク機器異常の検知なので、正常時と異常時とがはっきり分かれる(正常/異常データの混在を考えない)。
そこで、本実施形態では、正常及び異常のステートが混在しない領域(時間区間)を自動的に切り出すことで絞り込みを可能にする。
基本的な処理の一例としては、まず、各URLで正常及び異常のステートの変化のタイミングを演算し、当該タイミングに基づき、各URLで正常及び異常のステートが混在しない時間区間を区切る。そして、各時間区間が重なり合う範囲で、マトリックスを作って演算(複数の処理(あるいは機能)とモジュールとの「関係の情報」に基づき、問題個所となっている異常モジュールを算出(検出))する。
なお、「関係の情報」は、適宜に更新されてよい。例えば、実運用フェーズにおけるリクエストデータをユーザリクエストデータベース403に保存しておき、事前分析フェーズで出現しなかった未知のデータが実運用フェーズで出現した場合は、保存しておいたリクエストデータを用いて再事前分析を実施することで、「関係の情報」を更新する。
ところで、1つのURLで正常及び異常のステートが混在しない区間を複数のURLで切り出すと、細切れになり過ぎて組み合わせ(計算時間)が膨大になってしまう。そこで、以下の(a)〜(c)に例示する処理のうち、(a)のみ、または(a)+(b)、(a)+(c)、若しくは(a)+(b)+(c)により異常個所の絞り込みを行なう。
(a)異常を含まないスライスを除外する。
(b)より多くのポイント(コンポーネント)を含むスライスを選択して演算〔例えば、URLが利用するコンポーネントは既知(分析済み)なので、組み合わせにより、より多くのコンポーネントを網羅するスライスを選択する。どのURLの組合せを抑えておけば大部分のコンポーネントを網羅できるか、ということを予め計算して組合せの候補を用意しておく〕。
(c)より多くのURLを網羅するスライスを選択して演算する。
(集計区間を極小化する解決方法)
集計区間を調整することで当該演算を適用可能にしたいが、単に集計区間を短くするだけでは、有効なデータを見つけることができない。なぜなら、集計区間を短くしすぎると同時に出現する機能(URL)が少ないために有効な分析にならず、また、時間幅を変えながら様々な時間幅で分析に適したデータを探すと、組み合わせが爆発して計算量の見積もりができない状態になるからである。
例えば図11に符号602で示すように、集計区間を短くした場合、判定に必要なデータ(この場合、F1,F2,F3及びF4)のデータが揃わない。また、図11に符号603で示すように、更に集計区間を短くして、当該集計区間をスライドしながら探索すれば、タイミングによっては分析に必要な区間が偶然見つかることもある。しかし、組み合わせは無限になり、計算時間が足りない。
(正常区間と異常区間とを分離して重なりで判定)
そこで、本実施形態では、例えば図12に示すように、機能(例えばURL)毎に正常区間と異常区間とを分けて、その区間を重ね合わせた領域を分析に使う、という工夫をする。これにより、計算量を抑えて分析可能なデータを見つけることが可能になり、分析精度が向上する。なお、図12において、機能F1及びF4は時間的前後に同様な異常あるいは正常データが存在しているものとする。また、図12には、機能F3のデータにより区間(判定区間)が2分割された様子を例示している。
(事務処理システムにおける事例)
事務処理システムの新サービス(航空券予約システム)提供で問題が発生した場合について図13及び図14を参照して説明する。
図13には、以下のように機能(F1,F2及びF3)とパスとが設定された様子を例示している。
F1=前清算パス=p1(旅費)−p2(清算)−p4(DB1)
F2=後清算パス=p1(旅費)−p3(予約照会)−p5(DB2)−p2(清算)−p4(DB1)
F3=航空券予約状況 パス=p1(旅費)−p3(予約照会)−p5(DB2)
システム運用当初は問題なかったが、1か月後にシステムのスローダウンが発生したとする。直接の原因は、予約照会(p3)では全件探索を実行しており、また旅費の後清算(F3)では航空券予約の有無に関わらず予約照会(p3)を実行しているため、航空券予約状況(F3)と後清算(F2)により予約照会(p3)の負荷が上がったことであった。
運用者は後清算で航空券の予約照会(p3)の負荷が急増することは想像できず、問題の切分けに長時間を要した。
(事務処理システムでの発症)
例えば図14に例示するように、通常の集計区間では、F1=正常、F2=正常、F3=異常、と分類されるため、分析が正しく行なわれない。仮に、F1=正常、F2=異常、F3=異常、であれば判定することが可能である。
(本実施形態による診断)
・事前準備
まず、事前分析ブロック401のパス分析部420(図1参照)は、URL(+引数)で業務及び/又は機能を分類(F1〜F3)し、分類した業務及び/又は機能毎にパス情報を設定する(図16の処理P211及びP212)。例えば、以下のように、機能F1〜F3毎にコンポーネントp1〜p5を設定する。
F1=http://foo/... 前清算:p1−p2−p3
F2=http://boo/... 後清算:p1−p2−p3−p4−p5
F3=http://bar/... 航空券予約状況:p1−p3−p5
・診断概要
F1が正常、F2及びF3が遅延の場合の異常コンポーネントを診断する。F2及びF3が異常の場合、F2及びF3のパス情報から、p1,p2,p3,p4,p5(つまり、本例の場合は全てのコンポーネント)に異常の可能性をあると判断することができる。ここで、F1は正常なので、F1のパス情報からp1,p2,p4が異常の可能性を除外する。
その結果、p3(予約照会)とp5(DB2)とが遅延の原因であると診断する。なお、診断により一次切分けした異常コンポーネントに対して、さらなる監視や分析等を自動実行することで、迅速な対応が可能になる。
図17に実運用フェーズでの処理フローの一例を示す。
まず、データスライス分割部450が、パス毎に正常区間及び異常区間を分類し(処理P221)、各パスで正常区間と異常区間とが混在しない範囲で全区間のスライスを作成する(処理P222)。
次いで、問題個所特定部460(図1参照)が、スライスを順に処理する(処理P223)。まず、問題個所特定部460は、次のスライスがあるか否かをチェックし(処理P224)、次のスライスがあれば(処理P224でYesの場合)、当該スライスに異常区間があるか否かを判定する(処理P225)。異常区間があれば(処理P225でYesの場合)、問題個所特定部460は、異常区間を含むスライスのうち、コンポーネント網羅性の高いスライスを選択し(処理P226)、異常個所の絞込処理を実施する(処理P227)。
そして、問題個所特定部460は、絞込み度を更新し、より絞り込んだスライスを記録する(処理P228)。次いで、問題個所特定部460は、異常個所を特定できたか否かを判定し(処理P229)、特定できた場合(処理P229でYesの場合)、特定した異常個所の情報を表示装置等に表示する等の、通知処理を行なう(処理P230)。
なお、スライスに異常区間が含まれていない場合(処理P225でNoの場合)や、異常個所が特定できない場合(処理P229でNoの場合)は、いずれも処理は処理P223に移行する。また、次のスライスがなければ(処理P224でNoの場合)、通知処理が実施される。
(事務処理システムへの適用)
例えば図15に示すように、正常区間と異常区間とを分類し、各機能の区間を重ね合わせて判定区間毎に判定を行なう。図15の場合、「判定区間1」=「正常,正常,異常」、「判定区間2」=「正常,異常,異常」、「判定区間3」=「正常,正常,異常」となる。この場合、「判定区間2」の領域(範囲)についての分析により、p3(予約照会)及びp5(DB2)が問題個所として絞り込まれる。
(正常区間及び異常区間の分類方法)
正常区間及び異常区間は、まばらに存在する場合と互いに重なり合った場合とが考えられる。
(まばらな場合)
まばらな場合、以下の方式による分類が考えられる。
(方式1)リクエスト−レスポンスデータ(以下「RRデータ」と表記する。)の単位を判定区間とする(図18参照)。別言すると、RRデータの区間=正常区間または異常区間とする。なお、図18において、矩形で示される正常区間あるいは異常区間のデータがRRデータに相当する。
(方式2)正常のRRデータをまとめて正常区間とし、異常のRRデータをまとめて異常区間とする(図19参照)。方式1に比して、区間数を抑えることができるので、処理時間を軽減できる。ここで、図19において、正常区間及び異常区間の切り替わりのRRデータなし区間をどちらに組み入れるかを判定する方式も幾つか考えられる(設定次第)。
(方式2−1)正常区間及び異常区間の切り替わりのRRデータがない区間は、正常でも異常でもなく「データなし」として扱う(図20参照)。正常/異常を厳密に見つけたい場合は本方式2−1を使うとよい。
(方式2−1′)上記の方式2−1と同様であるが、正常区間及び異常区間の閾値を超えるRRデータなし期間については「データなし」として扱う(図21参照)。「データなし」として扱う場合の閾値は、正常/異常RRデータの平均値を使ってもよいし、正常/異常と判断する閾値時間を使ってもよい。
(方式2−2)正常区間及び異常区間の切り替わり(異なる種別(正常/異常))の次のRRデータが出現したタイミングで区間を切り替える(図22参照)。
(方式2−3)同一種別の(正常/異常の種別が同じ)RRデータの最後のRRデータの終了タイミングで区間を切り替える(図23参照)。
(方式2−4)正常RRデータ群及び異常RRデータ群の中間地点で切り替える(図24参照)。なお、中間地点は、非限定的な一例として、データなし区間の中央や、正常RRデータの平均値で区切った地点等とすることができる。
基本的には、方式2−1または方式2−1′を使い、RRデータの存在しない区間が長い場合は「データなし」、として扱うのが良い。なぜなら、あいまいな情報(データが存在しないのに正常として扱う)を元にマトリックスを使った特定処理を行なっても、正しい結果が得られないからである。ただし、あまりにRRデータが少なく、分析のために必要な区間情報が揃わない場合は、例えば閾値をゆるくすることにより、精度を犠牲にして特定処理を行なうようにしてもよい。
(重なり合った場合)
図25に例示するように、RRデータが重なり合う場合、基本的には、図26に例示するように、同一種別のRRデータの開始から終了までを1つの正常区間または異常区間とする。
(方式1)異なる種別(正常/異常)の次のRRデータの開始時点(出現タイミング)で区間を区切る(図27参照)。通常想定される事例では、何らかの原因(例えばDBのロック)により1つの処理に遅延が発生し、他の処理もその処理によって待たされることで同様に遅延する。本方式1は、元となった処理の遅延原因が解消されれば、残りの処理もすぐに終了し、その後のRRデータは正常になるとの想定に基づいている。
(方式2)異なる種別(正常/異常)のRRデータの出現時に、前の種別の最後のRRデータの終了タイミングで区間を区切る(図28参照)。
(方式3)正常のRRデータの開始時に正常区間として切り、正常のRRデータの終了時に区間を区切る(図29参照)。通常はこの方式3を使うとよい。正常のRRデータの終了時に区間を区切る理由は、異常はどの部分にあるか分からないが正常RRデータの終了は、そこまで正常であったことの証左となるからである。正常RRデータの開始時に区間を区切る理由は、正常RRデータの開始は、そこから正常であったことの証左となるからである。
(バリエーション)
できるだけ多数のコンポーネントを網羅するタイミングを探すとよい。多数のコンポーネントが出現するほど絞り込みの度合いが高いからである。また、できるだけ多数の機能(例えばURL種別)が集まるタイミングを探すとよい。パターンが多いほど絞り込みしやすいからである。
例えば、図30(A)に例示する或るタイミングAでは一部の機能(F2)のRRデータが出現しないが、図30(B)に例示する或るタイミングBでは全ての機能(F1,F2,F3)のRRデータが出現する。この場合、タイミングAよりもタイミングBのRRデータを判定に用いるとよい。
また、同じ機能(例えばURL)のRRデータが複数個出現するまで待つとよい。1つだけだと偶然かもしれないからである。例えば図31(A)に例示するタイミングAでは、各機能F1,F2,F3のRRデータがそれぞれ1つだけ出現するが、図31(B)に例示するタイミングBでは各機能F1,F2,F3それぞれのRRデータが複数出現する。この場合、タイミングAよりもタイミングBのRRデータを用いるとよい。
(競合の可能性のある場所を通知する分析装置)
図32(A)に模式的に例示するように、遅延RRデータと時間的に重なるRRデータを切り出して、切り出した範囲で問題個所の絞り込みを行なう。これは、統計値を使ったのでは瞬間的な競合の発生が検知できない、という考えに基づいている。
(具体的な競合を検知)
実際に問題個所として絞り込みができたものを通知する。図32(B)には、p5が具体的な競合個所である例を示している。
(暗黙の競合の検知)
共通の問題個所としては現れないが、問題発生時には高確率で同じように問題が発生する、という場所を暗黙の競合(競合していないはずだが裏で何かしら競合している)として通知する。これは、ある意味で短期分析と長期分析との組み合せに相当する。図32(C)には、p2及びp3が暗黙の競合個所である例を示している。
(競合可能性箇所の通知)
具体的な競合及び/又は暗黙の競合を含めて、競合可能性のある箇所として通知する。絞り込み度、同時発生確率等から確度をランク付けしてもよい。
(分析時の情報で補完し精度を向上)
分析フェーズの情報では絞り込みができない場合、このチェックポイントで問題なし(または悪化)が証明されれば特定できる、というポイントを抽出する。例えば図33において、p4及びp5のどちらが原因か特定したい場合、事前分析フェーズで使ったデータから、そのポイントを通るリクエストを投入する。ここで、ポイントから「候補リクエスト」を抽出する補完テーブル(インデックス)を用意しておくとより効率的である。
補完テーブルを作成するフローを図34に例示する。
例えば、パス分析部420(図1参照)は、パス情報データベース404におけるパス情報(例えば図35(A)参照)に含まれるポイント(p1,p2,p4,p5)を全て走査し(処理P311)、ポイントが存在するか否かをチェックする(処理P312)。
チェックの結果、ポイントが存在すれば(処理P312でYesの場合)、パス分析部420は、現在注目しているポイント(キーポイント)(x)を通る機能IDを全て抽出する(処理P313)。例えば、図33及び図35(A)において、キーポイントがp4であれば、機能F1及びF3が通るので、機能F1及びF3が抽出される。また、キーポイントがp1であれば、機能F1,F2,F2,F3及びF4が通るので、機能F1,F2,F2,F3及びF4が抽出される。
次いで、パス分析部420は、抽出した機能ID群が使うポイント(Y)を全て抽出する(処理P314)。例えば、抽出された機能がF1及びF3であれば、p1,p2,p3,p4,p5が抽出される。また、抽出された機能がF1,F2,F2,F3及びF4であれば、p1,p2,p4及びp5が抽出される。
そして、パス分析部420は、機能ID(a)毎にポイントの組合せ(x)−(Y)で自機能(a)を通らないポイント(排他ポイント)(z)があれば、(x)との組み合わせをテーブルに出力し(処理P315)、処理P311に戻る。
例えば、機能F1で(Y)=p1,p2,p4,p5を通らないものはなく、機能F3で(Y)=p1,p2,p4,p5を通らないものはp5である。この場合、パス分析部420は、p4,p5,F3のレコードをテーブルに出力する。当該レコードは、p4を通るがp5を通らないものは機能F3であることを意味する(図35(B)参照)。
また、機能F1で通らないポイントはない。機能F2で通らないポイントはp4及びp5である。したがって、パス分析部420は、(p1,p4,F2)及び(p1,p5,F2)のレコードをテーブルに出力する。さらに、機能F3で通らないポイントはp5であるから、パス分析部420は、p1,p5,(F2),F3のレコードをテーブルに出力する。また、F4で通らないポイントはp4であるから、パス分析部420は、p1,p4,(F2),F4のレコードをテーブルに出力する。
以上のようにして、図35(A)に例示するパス情報に対して、図35(B)に例示するような補完テーブル(排他ポイントテーブル)が作成される。なお、上述した処理P312において、ポイントが存在しなければ(処理P312のNoルート)、パス分析部420は、処理を終了する。
なお、問題なし(または悪化)の「候補リクエスト」を絞って抽出できるようにテーブル(インデックス)を用意しておくとより効率的である。データが足りない時にデータを補完するフローを図36に例示する。
パス分析部420は、分析を実施し(処理P321)、複数の候補が存在するか否かをチェックする(処理P322)。例えば、実運用フェーズにおいて、機能F1が異常、機能F2が正常というデータが存在し、機能F3及びF4についてのデータが存在しない場合、p4及びp5が遅延候補になる。
複数の候補が存在すれば(処理P322でYesの場合)、パス分析部420は、候補のポイントを分割する(処理P323)。例えば、候補がp4及びp5であれば、p4とp5とに分割する。
次いで、パス分析部420は、分割したポイントの組合せ全てで排他ポイントテーブル(例えば図35(B)参照)を検索する(処理P324)。例えば、検索キー=p4及び排他ポイントキー=p5で図35(B)に例示する排他ポイントテーブルを検索すると、機能F3が見つかる。また、検索キー=p5及び排他ポイントキー=p4で図35(B)に例示する排他ポイントテーブルを検索すると、機能F4が見つかる。
パス分析部420は、排他ポイントが存在するか否かをチェックし(処理P325)、排他ポイントが存在すれば(処理P325でYesの場合)、見つかった機能群を事前分析フェーズのデータから探して再投入して、再分析を行なう(処理P326)。例えば、処理P324及びP325で見つかった機能F3及びF4に対応するデータを再投入して分析する。
「候補リクエスト」を再投入することで、欠落していた目的のチェックポイントの情報を補完することができて、かつ、問題個所の絞り込み(特定)ができればよい。例えば、機能F3に対応するリクエストを再投入して問題なしなら悪化原因はp5であると判定(特定)できる。
なお、絞り込み(特定)ができなかった場合は他の「候補リクエスト」を使えばよい。例えば、機能F4に対応するリクエストを再投入して悪化した場合なら、悪化原因としてp4が疑わしいと判定できる。複数のリクエストを再投入することで信頼度を高めるようにしてもよい。
(出現確率を利用した精度の向上1)
問題個所特定の精度向上のために、出現確率(頻度)を使う方法が考えられる。
(事前分析フェーズ)
例えば図37に示すように、F1=p1−p2−p3及びp1−p2−p3−p4の2種類のパスを通る場合、F1のパラメータ等の外部情報ではどちらを通るか識別できない。
ここで、p1−p2−p3のパスをF1−1、p1−p2−p3−p4のパスをF1−2とする。F1のパラメータではF1−1及びF1−2のどちらを通るか分類できないが、事前分析フェーズではどちらのパスを通るか識別できるので、パス分析部420それぞれの頻度をカウントする。この結果、F1の場合の出現確率は、例示的に、F1−1が70%、F1−2が30%のように準備できる。
(実運用フェーズ)
実運用フェーズの情報だけでは、パラメータによりF1であることが分かっても、それがF1−1のパスかF1−2のパスか識別できない。ここで、F1が70%の確率でレスポンスがよく、30%の確率でレスポンスが悪い場合、問題個所特定部460によりF1−1とF1−2との差分となるp4の個所が悪化の原因箇所であると推定することができる。
(出現確率を利用するフロー)
図4に例示した事前分析フェーズにおけるフローの処理P60において、パス分析部420は、例えば図38に示すような頻度情報(テーブル)を出現確率情報データベース405に登録しておく。
図39に例示するように、パス分析部420は、データと機能とを対応付ける(処理P331)。例えば、「データ1:F1=○」、「データ2:F1=○」、「データ3:F2=○」、「データ4:F3=×」、「データ5:F1=×」…のようにデータと機能とを対応付ける。
次いで、パス分析部420は、複数のパスをもつ機能のデータ群をまとめる(処理P332)。例えば図38に例示する頻度情報テーブルより、機能F1は複数のパス情報をもつことが分かるので、「データ1:F1=○」、「データ2:F1=○」、及び、「データ5:F1=×」の3つデータ群をまとめる。
さらに、パス分析部420は、1つの機能に複数のパスがあるデータについて、正常と異常の比率を求める(処理P333)。上述した例の場合、正常は66.7%、異常は33.3%となる。
そして、パス分析部420は、データの正常と異常の比率が頻度情報と同一とみなせるか否かをチェックする(処理P334)。上述した例の場合、正常は66.7%、異常は33.3%となるので、同一とみなせる。同一とみなせる場合(処理P334でYesの場合)、パス分析部420は、頻度情報と適合するパス情報を対応付ける(処理P335)。一方、同一とみなせない場合(処理P334でNoの場合)、パス分析部420は、頻度が多いパスを代表データとして扱う(処理P336)。
(出現確率を利用した精度の向上2)
図40に例示するように、機能F1のパスはF1(F1−1)=p1−p2−p4−p5とF1(F1−2)=p1−p3−p5の2種類が存在し、機能F2のパスはF2=p1−p3−p5、機能F3のパスはF3=p1−p2−p3であるとする。この場合、機能F1には、パラメータ等によって分類できない複数のパスが存在していることになる。
事前データ採取部410がユーザリクエストデータベース403に保存済みのリクエストデータを再現することで、パス分析部420が例えば図41に例示するように各機能をリクエストデータが通る頻度をカウントする(各Fi、pi毎に頻度をカウントする)。
実運用フェーズでは、機能選別部440が各チェックポイント(pi)の出現頻度をカウントする(図42参照)。ただし、どの機能Fiによるものかといった詳細な情報はログ採取量や紐付け処理等により処理量が増えるのでチェックしない。
ここで、図20において、F1及びF2が悪化し、F3は正常とする。この場合、p4及びp5に悪化原因の可能性が残る。実運用フェーズの機能F1の集計期間中の全リクエストのうち、例示的に、28%(=14/50)のリクエストが悪化しているものとする。この場合、図41に例示した頻度情報テーブルと照らして、F1−2(p1−p3−p5)のパスが悪化していることが推定されるので、p4(F1−1)は悪化していないことが分かる。その結果、p5が原因箇所であると判断できる。
10 ネットワーク
20 サーバ
30 Webサーバ
40 AP(アプリケーション)サーバ
50 ネットワークスイッチ(NS)
401 事前分析ブロック
402 運用ブロック
403 ユーザリクエストデータベース
404 パス情報データベース
405 出現確率情報データベース
410 事前データ採取部
420 パス分析部
430 運用データ採取部
440 機能選別部
450 データスライス分割部
460 問題個所特定部
500,520 通知画面
501,511〜515,521,522 詳細表示ボタン
510 詳細表示画面
F1,F2,F3,F4 機能
p1,p2,p3,p4,p5 コンポーネント

Claims (8)

  1. 共用するモジュールが存在する複数の処理それぞれについて、正常及び異常のステートをログデータより算出し、
    前記ステートの変化のタイミングを算出し、
    算出した前記タイミングに基づき、前記複数の処理それぞれについて正常及び異常のステートが混在しない時間区間を区切り、
    前記時間区間において、前記複数の処理と前記モジュールとの関係情報に基づき、異常モジュールを検出する、分析方法。
  2. 異なる種別のステートの開始タイミングが前記時間区間の終了タイミングである、請求項1に記載の分析方法。
  3. 同一種別のステートの最後の終了タイミングが前記時間区間の終了タイミングである、請求項1に記載の分析方法。
  4. 異なる種別のステートの開始タイミングよりも前に出現した種別のステートの終了タイミングが前記時間区間の終了タイミングである、請求項1に記載の分析方法。
  5. 前記異常モジュールの検出に必要十分なデータが存在しない場合に、保存してあるユーザリクエストから必要なデータを再投入することでデータ補完する、請求項1に記載の分析方法。
  6. 1つの前記処理が前記モジュールの集合である複数のパスを通る場合に、出現確率を用いて前記パスを特定することで、前記異常モジュールの検出を行なう、請求項1に記載の分析方法。
  7. 共用するモジュールが存在する複数の処理それぞれについて、正常及び異常のステートをログデータより算出する手段と、
    前記ステートの変化のタイミングを算出する手段と、
    前記算出したタイミングに基づき、前記複数の処理それぞれについて正常及び異常のステートが混在しない時間区間を区切る手段と、
    前記時間区間において、前記複数の処理と前記モジュールとの関係の情報に基づき、異常モジュールを検出する手段と、を備えた分析装置。
  8. 共用するモジュールが存在する複数の処理それぞれについて、正常及び異常のステートをログデータより算出し、
    前記ステートの変化のタイミングを算出し、
    前記算出したタイミングに基づき、前記複数の処理それぞれについて正常及び異常のステートが混在しない時間区間を区切り、
    前記時間区間において、前記複数の処理と前記モジュールとの関係の情報に基づき、異常モジュールを検出する、
    処理をコンピュータに実行させる、分析プログラム。
JP2013000705A 2013-01-07 2013-01-07 分析方法、分析装置、及び分析プログラム Active JP5958348B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013000705A JP5958348B2 (ja) 2013-01-07 2013-01-07 分析方法、分析装置、及び分析プログラム
US14/069,442 US20140195856A1 (en) 2013-01-07 2013-11-01 Analysis method, analysis apparatus, and computer-readable recording medium storing analysis program
GB1320832.7A GB2509601B (en) 2013-01-07 2013-11-26 Analysis method, analysis apparatus and analysis program
US15/804,034 US10733038B2 (en) 2013-01-07 2017-11-06 Abnormal module detection using aggregated time interval analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013000705A JP5958348B2 (ja) 2013-01-07 2013-01-07 分析方法、分析装置、及び分析プログラム

Publications (2)

Publication Number Publication Date
JP2014132421A JP2014132421A (ja) 2014-07-17
JP5958348B2 true JP5958348B2 (ja) 2016-07-27

Family

ID=49918209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013000705A Active JP5958348B2 (ja) 2013-01-07 2013-01-07 分析方法、分析装置、及び分析プログラム

Country Status (3)

Country Link
US (2) US20140195856A1 (ja)
JP (1) JP5958348B2 (ja)
GB (1) GB2509601B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101594701B1 (ko) * 2014-10-20 2016-02-16 삼성에스디에스 주식회사 이상 접속 검출 장치 및 방법
JP2016081483A (ja) * 2014-10-22 2016-05-16 富士通株式会社 分析プログラム、分析装置、及び分析方法
CN104298570B (zh) * 2014-11-14 2018-04-06 北京国双科技有限公司 数据处理方法和装置
JP6512055B2 (ja) 2015-09-30 2019-05-15 富士通株式会社 分析プログラム、分析装置および分析方法
US12032683B2 (en) * 2021-07-29 2024-07-09 Micro Focus Llc Abnormality detection in log entry collection
CN114296009B (zh) * 2022-03-10 2022-05-24 山东汇能电气有限公司 一种变压器运行智能分析系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4523444B2 (ja) * 2005-02-10 2010-08-11 富士通株式会社 通信ネットワークにおける障害の原因を特定する障害管理装置および方法
JP4244940B2 (ja) * 2005-02-24 2009-03-25 日本電気株式会社 ネットワークの品質劣化箇所推定装置、品質劣化箇所推定方法及び品質劣化箇所推定プログラム
JP4553315B2 (ja) * 2006-03-07 2010-09-29 株式会社Kddi研究所 パケット遅延から輻輳パスを分類する輻輳パス分類方法、管理装置及びプログラム
US7412448B2 (en) * 2006-05-17 2008-08-12 International Business Machines Corporation Performance degradation root cause prediction in a distributed computing system
US8700953B2 (en) * 2008-09-18 2014-04-15 Nec Corporation Operation management device, operation management method, and operation management program
WO2011046228A1 (ja) * 2009-10-15 2011-04-21 日本電気株式会社 システム運用管理装置、システム運用管理方法、及びプログラム記憶媒体
JP5494110B2 (ja) * 2010-03-29 2014-05-14 富士通株式会社 ネットワークの通信経路推定方法、通信経路推定プログラム及び監視装置
JP5732767B2 (ja) * 2010-07-26 2015-06-10 富士通株式会社 処理装置,処理方法,処理用プログラム,同プログラムを記録したコンピュータ読取可能な記録媒体

Also Published As

Publication number Publication date
US20140195856A1 (en) 2014-07-10
US10733038B2 (en) 2020-08-04
JP2014132421A (ja) 2014-07-17
US20180060156A1 (en) 2018-03-01
GB2509601A (en) 2014-07-09
GB2509601B (en) 2020-01-08
GB201320832D0 (en) 2014-01-08

Similar Documents

Publication Publication Date Title
JP5958348B2 (ja) 分析方法、分析装置、及び分析プログラム
Jin et al. A cost-efficient approach to building in continuous integration
US8607198B2 (en) Cross-concern code coverage assessment
US20060004528A1 (en) Apparatus and method for extracting similar source code
US8972374B2 (en) Content acquisition system and method of implementation
US20050138483A1 (en) Method and apparatus for compressing log record information
WO2017081865A1 (ja) ログ分析システム、方法、及び記録媒体
US8006138B2 (en) Software quality assessment based on semantic similarities
KR101588027B1 (ko) 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법
Meskas et al. flowCut: an R package for automated removal of outlier events and flagging of files based on time versus fluorescence analysis
CN116431520A (zh) 测试场景确定方法、装置、电子设备和存储介质
CN111258876B (zh) 一种微服务架构下的精确回归测试方法及装置
CN103426050B (zh) 业务课题分析支持系统
Rodrigues et al. FaST: A linear time stack trace alignment heuristic for crash report deduplication
JP2016081483A (ja) 分析プログラム、分析装置、及び分析方法
JP4973738B2 (ja) 業務フロー処理プログラム、方法及び装置
US12124353B2 (en) Operation logs acquiring device, operation logs acquiring method, and operation logs acquiring program
CN114503080A (zh) 在顺序数据块的异步处理期间的错误处理
US20110191778A1 (en) Computer program, method, and apparatus for grouping tasks into series
CN110968779A (zh) 网页信息爬取的处理方法和装置
CN112100047A (zh) 一种服务性能监控分析方法及装置
Gao et al. Managing concurrent testing of data race with comrade
US11232200B2 (en) Apparatus for selecting representative token from detection names of multiple vaccines, method therefor, and computer readable recording medium storing program for performing the method
US11899737B1 (en) System and method for managing information sourced by a primary server that is sent to other servers when a user interacts with a web page without distorting the other servers
Sergieieva et al. Task identification framework to automatically detect anomalies in users’ interactions with mobile application to support usability evaluation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R150 Certificate of patent or registration of utility model

Ref document number: 5958348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150