JP6190539B2 - ログ分析装置、ログ分析システム、ログ分析方法及びコンピュータプログラム - Google Patents

ログ分析装置、ログ分析システム、ログ分析方法及びコンピュータプログラム Download PDF

Info

Publication number
JP6190539B2
JP6190539B2 JP2016545473A JP2016545473A JP6190539B2 JP 6190539 B2 JP6190539 B2 JP 6190539B2 JP 2016545473 A JP2016545473 A JP 2016545473A JP 2016545473 A JP2016545473 A JP 2016545473A JP 6190539 B2 JP6190539 B2 JP 6190539B2
Authority
JP
Japan
Prior art keywords
template
log
event
templates
log analysis
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
JP2016545473A
Other languages
English (en)
Other versions
JPWO2016031681A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2016031681A1 publication Critical patent/JPWO2016031681A1/ja
Application granted granted Critical
Publication of JP6190539B2 publication Critical patent/JP6190539B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、多種多様な機械が出力するログ情報から利用者にとって有用な情報を抽出する技術に関し、特に利用者が機械の生成するログの形式の生成則を事前に直接的に知ることなく必要な情報を逐次的に抽出するのに好適な技術に関するものである。
今日、コスト削減を主な理由として、異なる製造元の、異なる役割を持つ機器、ソフトウェアの一元的な監視・管理が行われている。一方で、こうした多種多様な機器やソフトウェアはそれぞれ独自の形態を持つログを出力する機構を有しており、機器の監視・管理を行う際において使用される。情報機器の発展に伴い、これらのログ情報は複雑・大規模化しており、効率的な監視方法が必要となっている。
こうした中で、非特許文献1では、ログ分析を簡略化するための分析基盤が提案されている。しかしながら、これを利用するためには、個々のログの発生する意味やログメッセージの内容に関しての事前知識が必要となり、膨大な未知のログの分析にはノウハウの蓄積がなければ運用が困難となる。
一方、非特許文献2では、ルータなどのネットワーク機器の生成するsyslogを対象とし、ベンダやメッセージタイプ、エラーコード、詳細なメッセージ内容といったある程度の形式を事前に与えられた場合におけるテンプレートの把握法が与えられている。ルータの位置関係などを利用して、syslogのダイジェスト情報を表示する手法が提案されている。
このような従来技術では、少なくとも情報を収集する段階での事前知識が必要である。例えば、どのベンダからログを収集しているか、メッセージ内のどの部分がエラーコードを示しているのかといったことを把握しておかなければならず、テンプレート把握機構を単純に用意するだけでなく、事前の手動での入力や準備が必要となる。また、syslogのダイジェスト表示機能は、syslogに特化した手法であるため、その他の監視ログ情報への適用が困難である。
Splunk http://www.splunk.com/ T. Qiu, Z. Ge, D. Pei, J. Wang, J, Xu, "What Happened in my Network? Mining Network Events from Router Syslogs", In IMC, 2010. Y. Chi, H. Wang, P.S. Yu, and R. R. Muntz, "Moment: Maintaining Closed Frequent Itemsets over a Stream Sliding Window," In Proc. of ICDM, 2004. N. Jiang, and L. Gruenwald, "CFI-Stream: Mining Closed Frequent Itemsets in Data Streams," In Proc. of KDD, 2006.
本願出願人により出願された特願2013−168226号では、このような事前情報を用いることなく、syslogに限定されない一般的なログのテンプレートを逐次的に抽出する方法が開示されている。一方、当該方法により抽出されるテンプレートは、図1に示されるように、1行単位で規定されるものであり、ネットワークで逐次的に発生するログから抽出されるテンプレートの組み合わせの関連性に関するログ分析が所望される。
従って、本発明の課題は、利用者が機械の生成するログの生成則を事前に知ることなく、相関の高いログの集合を抽出するための技術を提供することである。
上記課題を解決するため、本発明の一態様は、ログメッセージに関するテンプレートを格納するテンプレート格納部と、前記格納されているテンプレートから、監視対象のホストから提供された各ログメッセージに一致するテンプレートを特定するテンプレート特定部と、前記特定されたテンプレートのうち、同一のホストから提供されたログメッセージについて特定されたテンプレートを検出し、前記検出されたテンプレートの系列をイベント候補として抽出するイベント候補抽出部と、前記抽出されたイベント候補から頻出するテンプレートの系列をイベントとして抽出するイベント抽出部とを有するログ分析装置に関する。
本発明によると、利用者が機械の生成するログの生成則を事前に知ることなく、相関の高いログの集合を抽出することができる。
図1は、syslogに関する一例となるテンプレートを示す図である。 図2は、本発明の一実施例によるログ分析システムを示す概略図である。 図3は、本発明の一実施例によるログ分析装置の機能構成を示すブロック図である。 図4は、テンプレート間の発生時間間隔の分布を示す図である。 図5は、本発明の一実施例によるイベント候補抽出処理を示すフロー図である。 図6は、本発明の一実施例によるdur(t0,t)の更新処理を示すフロー図である。 図7は、本発明の一実施例による発生時間差のクラスタリング処理を示すフロー図である。 図8は、本発明の他の実施例によるログ分析システムを示す概略図である。 図9は、本発明の他の実施例によるログ分析処理を示すフローチャートである。 図10は、本発明の他の実施例によるログ分析処理のシミュレーション結果を示す図である。 図11は、本発明の他の実施例によるログ分析システムを示す概略図である。
以下、図面に基づいて本発明の実施の形態を説明する。
後述する実施例では、ログメッセージ間の相関を考慮したログ分析を実行するログ分析装置が開示される。本発明を概略すると、ログ分析装置は、ネットワーク機器からログメッセージを収集し、予め取得されているログメッセージに関するテンプレートから、収集したログメッセージに一致するテンプレートを特定する。ログ分析装置は、特定されたテンプレートのうち、同一のホストから提供されたログメッセージについて特定されたテンプレートを検出し、検出されたテンプレートと当該ホストについて以前に検出されたテンプレートとの発生時間差に基づきテンプレート間の相関を判断し、判断結果に応じて検出されたテンプレートの系列をイベント候補として抽出する。ログ分析装置はさらに、このように抽出されたイベント候補から頻出するテンプレートの系列をイベントとして抽出し、ログ分析結果として利用者に提供する。
これにより、単一のテンプレートに一致したログメッセージを抽出するだけでなく、逐次的に生成されたログメッセージに一致する複数のテンプレートの間の時間的な相関関係に基づき、相関するテンプレート系列をイベントとして抽出することが可能になる。
図2を参照して、本発明の一実施例によるログ分析システムを説明する。図2は、本発明の一実施例によるログ分析システムを示す概略図である。
図2に示されるように、ログ分析システム10は、ログ分析装置100、監視対象機器群200及びユーザ装置300を有する。
ログ分析装置100は、ログメッセージに関するテンプレートを予め保持し、監視対象機器群200の各ホストからログメッセージを収集し、収集したログメッセージに対して後述される処理を実行することによって、相関するテンプレート系列をイベントとして抽出する。図2に示されるように、ログ分析装置100は、ログ収集装置101、ログ・テンプレート情報データベース(DB)102、イベント候補抽出エンジン103、イベント候補データベース(DB)104、イベント抽出エンジン105、イベントデータベース(DB)106及びユーザインタフェース107のハードウェア要素から構成される。
ログ収集装置101は、監視対象機器群200に通信接続され、監視対象機器群200の各ホスト(p.0,p.1,...,p.n)からログメッセージを収集する。当該ログメッセージは、例えば、syslogであってもよいが、これに限定されることなく、ホストから送信されるホストの動作状態などを示す他の何れか適切なメッセージであってもよい。
ログ・テンプレート情報DB102は、ログ収集装置101により収集されたログメッセージを格納すると共に、ログメッセージから抽出されたテンプレートを格納する。本実施例では、格納されているテンプレートは、何れか適切なテンプレート抽出法を利用して、過去に収集されたログメッセージから予め抽出されたものであってもよい。例えば、テンプレートは、図1に示されるような具体的なパラメータ値をワイルドカード"*"としたデータ形式を有し、ログメッセージ内の重要とされる部分や行から構成されてもよい。なお、各テンプレートには、識別子(ID)が割り当てられ、i=1,2,...,Iなどにより表される。
イベント候補抽出エンジン103は、後述されるようなイベント候補抽出処理を実行し、同一のホストから逐次的に収集したログメッセージに関連する1以上のテンプレートの系列をイベント候補として抽出する。
イベント候補DB104は、イベント候補抽出エンジン103により抽出されたイベント候補を格納する。
イベント抽出エンジン105は、後述されるようなイベント抽出処理を実行し、抽出されたイベント候補から頻出するテンプレートの系列又はパターンをイベントとして抽出する。
イベントDB106は、イベント抽出エンジン105により抽出されたイベントを格納する。
ユーザインタフェース107は、抽出されたイベントをユーザ装置300の利用者に提供する。例えば、ユーザインタフェース107は、ユーザ装置300がイベントを利用者に表示できるように、ユーザ装置300に抽出したイベントを送信する。
一例となるハードウェア構成として、ログ分析装置100は、バスを介し相互接続されるドライブ装置、補助記憶装置、メモリ装置、CPU (Central Processing Unit)及びインタフェース装置を有する。ログ分析装置100における後述される各種機能及び処理を実現する各種プログラムは、光ディスクや半導体メモリなどの記録媒体によって提供されてもよい。プログラムを記憶した記録媒体がドライブ装置にセットされると、プログラムが記録媒体からドライブ装置を介して補助記憶装置にインストールされる。但し、プログラムのインストールは必ずしも記録媒体により行う必要はなく、ネットワーク(図示せず)を介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置は、プログラムの起動指示があった場合に、補助記憶装置からプログラムやデータを読み出して格納する。上述された各データベースは、補助記憶媒体やメモリ装置により実現されてもよい。CPUは、情報を処理するプロセッサであって、メモリ装置に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるようなログ分析装置100の各種機能及び処理を実行する。上述された各エンジンは、プロセッサにより実現されてもよい。インタフェース装置は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。しかしながら、ログ分析装置100は、上述したハードウェア構成に限定されるものでなく、何れか適切な情報処理装置として実現されてもよい。
監視対象機器群200は、1以上のホストp.0〜p.nから構成され、ネットワークを介しログ分析装置100に通信接続される。各ホストは、例えば、ルータなどのネットワーク機器であってもよく、syslogメッセージなどの各種ログメッセージを逐次生成し、ログ分析装置100に送信する。一実施例では、ログメッセージは、当該ログメッセージが生成された時間を示すタイムスタンプ、当該ログメッセージを生成したホスト名及びメッセージ本体を含む。なお、各ホストには、識別子(ID)が割り当てられ、h=1,2,...,Hなどにより表される。
ユーザ装置300は、パーソナルコンピュータ、スマートフォンやタブレットなどの情報処理装置であり、ネットワークを介しログ分析装置100に通信接続される。利用者は、ユーザ装置300を介しログ分析装置100から分析結果であるイベントを確認することができる。
次に、図3〜6を参照して、本発明の一実施例によるログ分析装置を説明する。図3は、本発明の一実施例によるログ分析装置の機能構成を示すブロック図である。
図3に示されるように、ログ分析装置100は、テンプレート格納部110、テンプレート特定部120、イベント候補抽出部130及びイベント抽出部140を有する。
テンプレート格納部110は、ログメッセージに関するテンプレートを格納する。具体的には、ログ分析装置100は、監視対象機器群200の各ホストhからログメッセージを収集し、何れか適切なテンプレート抽出法に従ってこれまでに収集したログメッセージから抽出されたテンプレートを保持する。一実施例では、各テンプレートは、利用者に有用なログメッセージから構成され、図1に示されるようなログメッセージ内の具体的なパラメータ値をワイルドカード"*"としたデータ形式を有してもよい。例えば、テンプレートは、本願出願人により出願済みの特願2013−168226号に記載されるテンプレート抽出法に従って自動的に抽出されてもよいし、あるいは、ログ分析装置100のオペレータにより予め設定されてもよい。各テンプレートには、識別子(ID)が割り当てられ、i=1,2,...,Iなどにより表される。
テンプレート特定部120は、格納されているテンプレートから、監視対象のホストから提供された各ログメッセージに一致するテンプレートを特定する。具体的には、各ログメッセージは、当該ログメッセージが生成された時間を示すタイムスタンプ、当該ログメッセージを生成したホスト名及びメッセージ本体を含む。
テンプレート特定部120は、監視対象機器群200の各ホストから受信したログメッセージ内の各行と、テンプレート格納部110に格納されているテンプレートとを対比し、受信したログメッセージに一致するテンプレートを抽出する。例えば、図1に示されるログメッセージとテンプレートとの具体例では、ログメッセージは、テンプレートのワイルドカード"*"に具体的な値"662288"などが設定されている点を除きテンプレートに一致する。このため、テンプレート特定部120は、当該ログメッセージがテンプレートに一致していると判断することができる。テンプレート特定部120は、格納されている各ログメッセージに対してテンプレートとの対比を順次実行し、格納されているテンプレートに一致するログメッセージを特定する。なお、後述するように、テンプレート特定部120は、オンライン又はオフラインに提供されたログメッセージに一致するテンプレートを特定し、特定したテンプレートをイベント候補抽出部130に提供してもよい。
イベント候補抽出部130は、特定されたテンプレートのうち、同一のホストから提供されたログメッセージについて特定されたテンプレートを検出し、検出されたテンプレートの系列をイベント候補として抽出する。具体的には、テンプレート特定部120がログメッセージに一致していると特定したテンプレートについて、イベント候補抽出部130はまず、当該ログメッセージ内の生成元のホスト名を参照して、同一のホストから送信されたログメッセージについて特定されたテンプレートを検出する。
一実施例では、同一のホストから提供されたログメッセージについて特定されたテンプレートを検出すると、イベント候補抽出部130は、当該ログメッセージのタイムスタンプに基づき同一のホストから提供されたログメッセージについて特定されたテンプレートのうち、検出されたテンプレートの直前のテンプレートを抽出し、検出されたテンプレートと直前のテンプレートとの発生時間差に基づき、検出されたテンプレートと直前のテンプレートとが同一のイベント候補に属するか判断してもよい。一般に、発生時間差が小さい場合、これら2つのテンプレートは相関して生起したと推定することが可能であり、同一のイベント候補に属している可能性が高いと考えられるためである。
例えば、図4に示されるように、テンプレート間の発生時間間隔は多峰性の分布に従う傾向があることが知られている。図示された例は、過去のデータに基づくテンプレート間の発生時間間隔を示したものであり、3組のテンプレート間の発生時間間隔(秒)の分布が示されている。図から分かるように、テンプレート間の発生時間間隔は多峰性の分布に従うケースが多く、各分布の峰によってイベントが区別されると考えられる。そこで、以下において、テンプレート間の発生時間間隔の分布の各峰について閾値を学習する方法を説明する。当該方法は、テンプレート発生時間間隔をクラスタとして捉え、クラスタ毎に発生時間差の閾値(後述するdur(t0,t))を逐次的に更新又は学習するというアプローチに基づく。
ここで、図5を参照して、当該イベント候補抽出処理をより詳細に説明する。図5は、本発明の一実施例によるイベント候補抽出処理を示すフロー図である。
図5に示されるように、ステップS101において、イベント候補抽出部130は、ホストhについて特定されたテンプレートtについて、ホストhにおいて直前に発生したログメッセージに対して一致していると特定されたテンプレートt0の発生時間と、テンプレートtの発生時間との間の発生時間差dを計算する。
ステップS102において、イベント候補抽出部130は、後述されるような更新処理に従って、テンプレートt0とテンプレートtとに依存する発生時間間隔dur(t0,t)を更新する。上述したように、テンプレートt0とテンプレートtとが所定の時間内で発生する場合、テンプレートt0とテンプレートtとは相関して生起したと推定可能であり、dur(t0,t)は当該時間として定義される。発生時間間隔dur(t0,t)は、テンプレートの種別やイベントの種別などに応じて異なる値に定義されてもよい。ここで、発生時間間隔dur(t0,t)はテンプレートt0及びtに依存する。これは、テンプレート及びイベント毎にその発生時間間隔が異なるためである。しかしながら、発生時間間隔dur(t0,t)の値は、一般には自明でなく、例えば、後述されるような更新処理に従って逐次的に推定されてもよい。
ステップS103において、イベント候補抽出部130は、発生時間差dが発生時間間隔dur(t0,t)より大きいか、すなわち、テンプレートt0とテンプレートtとが相関して発生したと推定可能であるか判定する。発生時間差dが発生時間間隔dur(t0,t)より大きい場合(S103:yes)、イベント候補抽出部130は、テンプレートt0とテンプレートtとが相関して発生したものでないと判断し、テンプレートt0までのテンプレート系列をイベント候補として確定する。換言すると、イベント候補抽出部130は、発生時間差dが発生時間間隔dur(t0,t)より大きい場合、同一のホストhから提供されたログメッセージについて特定された直前のテンプレートt0までに発生したテンプレートt1,t2,...をイベント候補として確定し、検出されたテンプレートtを新たなイベント候補として抽出する。
他方、発生時間差dが発生時間間隔dur(t0,t)以下である場合(S103:no)、イベント候補抽出部130は、テンプレートt0とテンプレートtとが相関して発生したものであると判断し、テンプレートt0までのテンプレート系列にテンプレートtを追加する。換言すると、イベント候補抽出部130は、検出されたテンプレートtと直前のテンプレートt0とに依存する発生時間間隔dur(t0,t)を推定し、発生時間差dが発生時間間隔dur(t0,t)以下である場合、検出されたテンプレートtと直前のテンプレートt0とが同一のイベント候補t,t1,t2,...に属すると判断する。
ここで、図6を参照して、上述した発生時間間隔dur(t0,t)の算出に関するステップS102をより詳細に説明する。一実施例では、イベント候補抽出部130は、過去に算出された発生時間差について生成されたクラスタのうち発生時間差dが属するクラスタを特定し、特定されたクラスタの平均及び分散に基づき発生時間間隔dur(t0,t)を推定してもよい。図6は、本発明の一実施例によるdur(t0,t)の更新処理を示すフロー図である。
図6に示されるように、ステップS201において、イベント候補抽出部130は、テンプレートtとテンプレートt0との発生時間差dをクラスタリングし、dが属するクラスタを検索する。具体的には、イベント候補抽出部130は、ホストhにおけるtより前の過去P個のテンプレート(t0, t1, …, tp-1)に対して、各時間間隔t-t0, t-t1, …, t-tp-1を計算し、各計算結果を対応する発生間隔リスト群DL(t0,t), DL(t1,t), …, DL(tp-1,t)に追加する。その後、イベント候補抽出部130は、各DL(ti,t) (i=0,1,…p-1)について、新たに追加した発生時間差dをクラスタリングする。これは、同じテンプレートの発生間隔は一意的な値であるとは限らず、ある範囲を有すると考えられるためである。
ここで、当該クラスタリングは、逐次的に実行可能な任意のクラスタリング方法が適用可能であるが、以下でより詳細に説明されるようなDBSCANベースの方法を利用してもよい。
ステップS202において、イベント候補抽出部130は、発生時間差dが属するクラスタCiに含まれる要素の個数が所定の閾値以上であるか判断する。クラスタCiに含まれる要素の個数が閾値以上である場合(S202:yes)、イベント候補抽出部130は、ステップS203に移行する。他方、クラスタCiに含まれる要素の個数が閾値未満である場合(S202:no)、イベント候補抽出部130は、ステップS204において、当該クラスタCiは外れ値に対応するものであると判断し、発生時間間隔dur(t0,t)をデフォルト値に設定する。
ステップS203において、イベント候補抽出部130は、クラスタCiに対する平均値M及び分散Vを以下の式に従って更新する。
Figure 0006190539
ここで、nは更新回数を示し、α,βは所定の定数である。
すなわち、更新後の平均値M(n+1)は、クラスタCiの更新前の平均値M(n)と発生時間差dとに基づき算出され、更新後の分散V(n+1)は、クラスタCiの更新前の分散V(n)と発生時間差d及び更新前の平均値M(n)に基づき算出される。
ステップS205において、イベント候補抽出部130は、更新後の分散V(n+1)が所定の閾値以下であるか判断する。分散V(n+1)が当該閾値以下である場合(S205:yes)、イベント候補抽出部130は、ステップS206に移行し、他方、分散V(n+1)が当該閾値を超える場合(S205:no)、イベント候補抽出部130は、テンプレートtとテンプレートt0とが相関して発生したものでないと判断し、ステップS207において、当該クラスタCiは外れ値に対応するものであると判断し、発生時間間隔d(t0,t)をデフォルト値に設定する。
ステップS206において、イベント候補抽出部130は、以下の式に従って発生時間間隔dur(t0,t)を更新する。
Figure 0006190539
ここで、γは所定の定数である。
このように取得した発生時間間隔dur(t0,t)を用いて、イベント候補抽出部130は、ステップS102におけるdur(t0,t)の更新処理を実行する。上述したDBSCANベースクラスタリング方法によると、計算が全て逐次的に実行可能であるため、計算速度の大きな劣化は発生しない。なお、本発明によるdur(t0,t)の更新処理は、これに限定されるものでなく、逐次的なクラスタリングを可能にする何れか適切な方法が適用されてもよい。
ここで、図7を参照して、上述したクラスタリング処理に関するステップS201をより詳細に説明する。図7は、本発明の一実施例による発生時間差のクラスタリング処理を示すフロー図である。
図7に示されるように、現時点までに取得された発生間隔群のクラスタをC1,…,CLとする。Ci (i=1,2,…,L)は昇順にソートされ、Ciに含まれる値のうち、最小のものをCiminとし、最大のものをCimaxとする。ここで、新たな発生時間差dが到着すると、イベント候補抽出部130は、ステップS301において、当該発生時間差dが過去に発生した何れかのクラスタCiに属するか否か、すなわち、d<C1min-δ又はCLmax+δ<dであるか判定する。
d<C1min-δ又はCLmax+δ<dでない場合(S301:no)、イベント候補抽出部130は、発生時間差dが過去に発生した何れかのクラスタCiに属すると判断し、ステップS302に移行し、他方、d<C1min-δ又はCLmax+δ<dである場合(S301:yes)、発生時間差dが過去に発生したクラスタCiの何れにも属さないと判断し、発生時間差dを要素とする新たなクラスタを生成する。
ステップS302において、イベント候補抽出部130は、クラスタC1から昇順にd<C(i+1)minとなる最小のiを検索する。

ステップS304において、イベント候補抽出部130は、Cimin-δ<d<Cimax+δであるか判断する。Cimin-δ<d<Cimax+δである場合(S304:yes)、イベント候補抽出部130は、ステップS306において、発生時間差dをクラスタCiに割り当てる。他方、Cimin-δ<d<Cimax+δでない場合(S304:no)、イベント候補抽出部130は、発生時間差dがクラスタCiに属さないと判断し、ステップS305において、クラスタCi+1に属するか、すなわち、0<C(i+1)min-d<δであるか判断する。
0<C(i+1)min-d<δでない場合(S305:no)、イベント候補抽出部130は、発生時間差dがクラスタCi, Ci+1の何れにも属さないと判断し、発生時間差dを要素とする新たなクラスタを生成する。他方、0<C(i+1)min-d<δである場合(S305:yes)、イベント候補抽出部130は、発生時間差dがクラスタCi+1に属すると判断し、ステップS308において、発生時間差dをクラスタCi+1に割り当てる。このようにして、イベント候補抽出部130は、発生時間差dが属するクラスタCi+1を特定する。
その後、イベント候補抽出部130は、同一ホストhについて特定されたテンプレートiの系列を時間順につなぎ合わせ、生成されたテンプレートiの系列をイベント候補として出力する。
イベント抽出部140は、抽出されたイベント候補から頻出するテンプレートの系列をイベントとして抽出する。具体的には、イベント抽出部140は、抽出された各イベント候補から共通で頻出するテンプレートの集合又はパターンをイベントとして取得する。イベント抽出部140は、何れか適当な頻出パターンのカウント方法を利用可能であり、例えば、Y.Chi, H.Wang, P.S.Yu, and R.R.Muntz, "Moment: Maintaining Closed Frequent Itemsets over a Stream Sliding Window", In proc. of ICDM. 2004やN.Jiang, and L.Gruenwald, "CFI-Stream: Mining Closed Frequent Itemsets in Data Streams", In proc. of KDD, 2006に開示される逐次的にclosedな頻出パターンを列挙する方法を利用してもよい。ここで、closedなパターンとは、同一発生回数を有するパターンのうち最大の集合を表すものである。例えば、CFI-Streamでは、内部にPrefix Treeに類似したclosedな頻出パターンを列挙したDIUTreeと呼ばれる木を保持し、これを逐次的に新たに到着したイベント候補に対して更新する。当該更新は、主として既にDIUTreeに新しいイベント候補が含まれているか、又は新しいclosedパターンになるか、というチェックを必要最小限の走査で行うものである。利用者は、特定のイベント発生回数の閾値Eを設定することによって、E回以上発生したイベントをDIUTreeにより逐次把握することができる。
次に、図8〜10を参照して、本発明の他の実施例によるログ分析システムを説明する。上述したログ分析システム10は、一定の期間において監視対象機器群200において生成されたログメッセージをログ分析装置100が収集し、当該期間内に収集したログメッセージに対して上述したログ分析が実行されるオフライン処理に関するものである。他の実施例では、ログ分析システム10は、図8に示されるように、オンライン処理に関するものであってもよい。すなわち、ログ分析装置100は、ホストからログメッセージを取得する毎に、取得したログメッセージに対してイベントを抽出してもよい。具体的には、監視対象機器群200からログメッセージを取得する毎に、ログ分析装置100は、取得したログメッセージをテンプレート付加データベース(DB)108に格納する。さらに、ログ分析装置100は、格納した各ログメッセージに対して、上述したイベント候補抽出処理を実行し、イベント候補を抽出し、抽出したイベント候補からイベントを抽出するようにしてもよい。抽出されたイベントは、例えば、抽出される毎に、あるいはユーザ装置300からのクエリの発行や特定のイベントが更新された場合に、ユーザインタフェース107を介しユーザ装置300に送信されてもよい。
図9は、本発明の他の実施例によるログ分析処理を示すフローチャートである。オンラインのログ分析処理は、ログメッセージを取得する毎に、図5〜7を参照して説明したオフラインのログ分析処理を実行するというものである。当該ログ分析処理は、コンピュータがプログラムを実行することによって実現されてもよい。
図9に示されるように、ステップS401において、ログ分析装置100は、監視対象機器群200のホストからログメッセージを取得したか判断し、ログメッセージを取得すると、以降のステップを実行する。なお、ホストから所定数(1,2,3,...)のログメッセージを取得した後、ログ分析装置100が以降のステップを実行するようにしてもよい。あるいは、ホストからログメッセージを所定の期間取得した後、ログ分析装置100が以降のステップの実行するようにしてもよい。
ステップS402において、ログ分析装置100は、格納されているログメッセージに関するテンプレートから、監視対象のホストから提供された各ログメッセージに一致するテンプレートを特定する。具体的には、ログ分析装置100は、格納されているテンプレートから、取得したログメッセージに一致するテンプレートを抽出する。
ステップS403において、ログ分析装置100は、特定されたテンプレートのうち、同一のホストから提供されたログメッセージについて特定されたテンプレートを検出し、検出されたテンプレートの系列をイベント候補として抽出する。具体的には、ログ分析装置100は、上述した図5〜7の処理を実行することによって、イベント候補を抽出すると共に、発生時間間隔dur(t0,t)を更新又は学習する。
ステップS404において、ログ分析装置100は、抽出されたイベント候補から頻出するテンプレートの系列をイベントとして抽出する。具体的には、ログ分析装置100は、上述したような何れか既知の方法を利用して、抽出された各イベント候補から共通で頻出するテンプレートの集合又はパターンをイベントとして取得する。その後、当該処理は、ステップS401に戻り、ログメッセージが取得される毎に上述したステップが実行される。
図10は、本発明の他の実施例によるログ分析処理のシミュレーション結果を示す図である。図では、上述したオンラインのログ分析処理が適用された際のシミュレーション結果が示され、1万行のログメッセージを処理する毎の処理時間の推移が示されている。オフラインのログ分析処理では、ログメッセージが取得される毎に全てのデータに対して上述したログ分析処理が実行され、処理行数と共に処理時間が増加する。他方、本実施例によるオンラインのログ分析処理は、図示されるように、安定した速度により逐次処理が可能になる。
また、他の実施例では、図11に示されるように、ログ分析装置100は、故障・工事情報データベース(DB)250に通信接続され、ネットワーク機器の故障時に発生するログメッセージや工事に関するログメッセージに関してイベントを抽出してもよい。
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
本国際出願は、2014年8月25日に出願した日本国特許出願2014−170097号に基づく優先権を主張するものであり、2014−170097号の全内容を本国際出願に援用する。
10 ログ分析システム
100 ログ分析装置
110 テンプレート格納部
120 テンプレート特定部
130 イベント候補抽出部
140 イベント抽出部
200 監視対象機器群
300 ユーザ装置

Claims (11)

  1. ログメッセージに関するテンプレートを格納するテンプレート格納部と、
    前記格納されているテンプレートから、監視対象のホストから提供された各ログメッセージに一致するテンプレートを特定するテンプレート特定部と、
    前記特定されたテンプレートのうち、同一のホストから提供されたログメッセージについて特定されたテンプレートを検出し、前記検出されたテンプレートの系列をイベント候補として抽出するイベント候補抽出部と、
    前記抽出されたイベント候補から頻出するテンプレートの系列をイベントとして抽出するイベント抽出部と、
    を有するログ分析装置。
  2. 当該ログ分析装置は、前記ホストからログメッセージを取得する毎に、前記取得したログメッセージに対して前記イベントを抽出する、請求項1記載のログ分析装置。
  3. 前記イベント候補抽出部は、前記同一のホストから提供されたログメッセージについて特定されたテンプレートを検出すると、前記ログメッセージのタイムスタンプに基づき前記同一のホストから提供されたログメッセージについて特定されたテンプレートのうち、前記検出されたテンプレートの直前のテンプレートを抽出し、前記検出されたテンプレートと前記直前のテンプレートとの発生時間差に基づき、前記検出されたテンプレートと前記直前のテンプレートとが同一のイベント候補に属するか判断する、請求項1又は2記載のログ分析装置。
  4. 前記イベント候補抽出部は、前記検出されたテンプレートと前記直前のテンプレートとに依存する発生時間間隔を推定する、請求項3記載のログ分析装置。
  5. 前記イベント候補抽出部は、前記発生時間差が前記推定された発生時間間隔以下である場合、前記検出されたテンプレートと前記直前のテンプレートとが同一のイベント候補に属すると判断する、請求項4記載のログ分析装置。
  6. 前記イベント候補抽出部は、前記発生時間差が前記推定された発生時間間隔より大きい場合、前記同一のホストから提供されたログメッセージについて特定された前記直前のテンプレートまでに発生したテンプレートをイベント候補として確定し、前記検出されたテンプレートを新たなイベント候補として抽出する、請求項4記載のログ分析装置。
  7. 前記イベント候補抽出部は、過去に算出された発生時間差について生成されたクラスタのうち前記発生時間差が属するクラスタを特定し、前記特定されたクラスタの平均及び分散に基づき前記発生時間間隔を推定する、請求項4記載のログ分析装置。
  8. 前記テンプレート特定部は、オンライン又はオフラインに提供されたログメッセージに一致するテンプレートを特定し、特定したテンプレートを前記イベント候補抽出部に提供する、請求項1又は2記載のログ分析装置。
  9. ログ分析装置と、
    監視対象のホストと、
    前記ログ分析装置からイベントを受信するユーザ装置と、
    を有するログ分析システムであって、
    前記ログ分析装置は、
    ログメッセージに関するテンプレートを格納するテンプレート格納部と、
    前記格納されているテンプレートから、前記監視対象のホストから提供された各ログメッセージに一致するテンプレートを特定するテンプレート特定部と、
    前記特定されたテンプレートのうち、同一のホストから提供されたログメッセージについて特定されたテンプレートを検出し、前記検出されたテンプレートの系列をイベント候補として抽出するイベント候補抽出部と、
    前記抽出されたイベント候補から頻出するテンプレートの系列をイベントとして抽出するイベント抽出部と、
    を有するログ分析システム。
  10. ログ分析装置により実現されるログ分析方法であって、
    格納されているログメッセージに関するテンプレートから、監視対象のホストから提供された各ログメッセージに一致するテンプレートを特定するステップと、
    前記特定されたテンプレートのうち、同一のホストから提供されたログメッセージについて特定されたテンプレートを検出し、前記検出されたテンプレートの系列をイベント候補として抽出するステップと、
    前記抽出されたイベント候補から頻出するテンプレートの系列をイベントとして抽出するステップと、
    を有するログ分析方法。
  11. 格納されているログメッセージに関するテンプレートから、監視対象のホストから提供された各ログメッセージに一致するテンプレートを特定するステップと、
    前記特定されたテンプレートのうち、同一のホストから提供されたログメッセージについて特定されたテンプレートを検出し、前記検出されたテンプレートの系列をイベント候補として抽出するステップと、
    前記抽出されたイベント候補から頻出するテンプレートの系列をイベントとして抽出するステップと、
    をコンピュータに実行させるためのコンピュータプログラム。
JP2016545473A 2014-08-25 2015-08-20 ログ分析装置、ログ分析システム、ログ分析方法及びコンピュータプログラム Active JP6190539B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014170097 2014-08-25
JP2014170097 2014-08-25
PCT/JP2015/073424 WO2016031681A1 (ja) 2014-08-25 2015-08-20 ログ分析装置、ログ分析システム、ログ分析方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JPWO2016031681A1 JPWO2016031681A1 (ja) 2017-04-27
JP6190539B2 true JP6190539B2 (ja) 2017-08-30

Family

ID=55399574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016545473A Active JP6190539B2 (ja) 2014-08-25 2015-08-20 ログ分析装置、ログ分析システム、ログ分析方法及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US10572318B2 (ja)
JP (1) JP6190539B2 (ja)
CN (1) CN106575254B (ja)
WO (1) WO2016031681A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6643211B2 (ja) * 2016-09-14 2020-02-12 株式会社日立製作所 異常検知システム及び異常検知方法
JP6955676B2 (ja) * 2016-10-06 2021-10-27 日本電気株式会社 ログ分析方法、システムおよび記録媒体
US11398083B2 (en) 2017-04-03 2022-07-26 Nippon Telegraph And Telephone Corporation Analysis device, analysis method, and analysis program
CN109359484A (zh) * 2018-08-22 2019-02-19 北京中测安华科技有限公司 云平台的安全审计终端日志的处理方法、装置、设备和介质
CN109783459A (zh) * 2019-01-04 2019-05-21 平安科技(深圳)有限公司 从日志中提取数据的方法、装置及计算机可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209567B2 (en) 2010-01-28 2012-06-26 Hewlett-Packard Development Company, L.P. Message clustering of system event logs
JP5867136B2 (ja) 2012-02-14 2016-02-24 Tdk株式会社 静電気保護部品
US20130151197A1 (en) * 2011-11-23 2013-06-13 General Electric Company Automated performance measurement processes and systems
JP5711677B2 (ja) * 2012-02-21 2015-05-07 日本電信電話株式会社 監視情報分析装置及び方法
JP2014010666A (ja) 2012-06-29 2014-01-20 Fujitsu Ltd 情報出力装置、方法及びプログラム
JP5798095B2 (ja) * 2012-08-10 2015-10-21 日本電信電話株式会社 ログ生成則作成装置及び方法
JP5948291B2 (ja) 2013-08-13 2016-07-06 日本電信電話株式会社 監視情報分析装置及び方法
CN103514398B (zh) * 2013-10-18 2016-08-17 中国科学院信息工程研究所 一种实时在线日志检测方法及系统
US9892121B2 (en) * 2014-07-15 2018-02-13 Hitachi, Ltd. Methods and systems to identify and use event patterns of application workflows for data management

Also Published As

Publication number Publication date
US20170228265A1 (en) 2017-08-10
JPWO2016031681A1 (ja) 2017-04-27
WO2016031681A1 (ja) 2016-03-03
US10572318B2 (en) 2020-02-25
CN106575254A (zh) 2017-04-19
CN106575254B (zh) 2019-05-28

Similar Documents

Publication Publication Date Title
JP6190539B2 (ja) ログ分析装置、ログ分析システム、ログ分析方法及びコンピュータプログラム
CN109861844B (zh) 一种基于日志的云服务问题细粒度智能溯源方法
US10514974B2 (en) Log analysis system, log analysis method and program recording medium
Lou et al. Mining dependency in distributed systems through unstructured logs analysis
US9612898B2 (en) Fault analysis apparatus, fault analysis method, and recording medium
US11294754B2 (en) System and method for contextual event sequence analysis
JP6875179B2 (ja) システム分析装置、及びシステム分析方法
JP6919569B2 (ja) ログ分析システム、方法、及び記録媒体
CN104461693B (zh) 一种桌面云计算环境下的虚拟机更新方法和系统
JPWO2017090098A1 (ja) 設備管理装置および方法
JP6473234B2 (ja) 分析方法、分析装置、および分析プログラム
JP2018045403A (ja) 異常検知システム及び異常検知方法
CN110489317B (zh) 基于工作流的云系统任务运行故障诊断方法与系统
CN110427298B (zh) 一种分布式日志的自动特征提取方法
JP6280862B2 (ja) イベント分析システムおよび方法
WO2019169760A1 (zh) 测试用例范围确定方法、装置及存储介质
US9621679B2 (en) Operation task managing apparatus and method
JP2014153723A (ja) ログ生起異常検知装置及び方法
CN104484175A (zh) Android应用程序密码学误用检测方法
JP5651381B2 (ja) 障害原因判定ルール検証装置及びプログラム
WO2016070642A1 (zh) 一种多故障数据解耦方法和装置
US10802823B2 (en) Method for identifying critical parts in software code
CN111064637B (zh) NetFlow数据去重方法及装置
CN114416417A (zh) 系统异常监测方法、装置、设备及存储介质
WO2021100140A1 (ja) ネットワーク監視装置、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170804

R150 Certificate of patent or registration of utility model

Ref document number: 6190539

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150