JP6665784B2 - ログ分析システム、ログ分析方法およびログ分析プログラム - Google Patents

ログ分析システム、ログ分析方法およびログ分析プログラム Download PDF

Info

Publication number
JP6665784B2
JP6665784B2 JP2016558878A JP2016558878A JP6665784B2 JP 6665784 B2 JP6665784 B2 JP 6665784B2 JP 2016558878 A JP2016558878 A JP 2016558878A JP 2016558878 A JP2016558878 A JP 2016558878A JP 6665784 B2 JP6665784 B2 JP 6665784B2
Authority
JP
Japan
Prior art keywords
log
pattern
reference pattern
appearance
information
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
JP2016558878A
Other languages
English (en)
Other versions
JPWO2016075915A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2016075915A1 publication Critical patent/JPWO2016075915A1/ja
Application granted granted Critical
Publication of JP6665784B2 publication Critical patent/JP6665784B2/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理システムが出力したログを分析するログ分析システム、ログ分析方法およびログ分析プログラムに関する。
コンピュータシステムなどの情報処理システムの運用管理者は、当該コンピュータシステムが出力するログを監視し、当該システムの正常性の確認や障害などの異常の分析を行う。ログの監視および分析は、当該ログに含まれる複数のメッセージの関連性に基づいて行うことが重要である。
コンピュータシステムが大規模化かつ複雑化した結果、コンピュータシステムが出力するログの数量は膨大となっている。そのため、運用管理者がコンピュータシステムの全てを知悉することはできず、ログに含まれるメッセージ間の関連性を把握しきることは難しい。
このような背景を踏まえ、コンピュータシステムが出力する膨大なログを分析するために、以下のような技術が開示されている。
特許文献1は、複数のコンピュータシステムから収集したメッセージを基に障害の発生を検知し、検知した障害を分析するメッセージ分析システムについて開示している。特許文献1のメッセージ分析システムは、事例に対応して発生するメッセージの時間的要素を蓄積し、受信したメッセージの時刻と蓄積した時間的要素とを用いて事例を集約する。そして、そのメッセージ分析システムは、複数のメッセージを事例毎に集約して分析する。
特許文献2は、コンピュータが実行するアプリケーションソフト等から出力されるログ情報を予め定義された条件に基づいて分析することによって、特定の事象を検知するログ監視システムについて開示している。特許文献2のログ監視システムは、蓄積されたログ情報に含まれるログ発現時刻に基づいて、予め設定された時間帯単位で各ログ情報を分類する。そのログ監視システムは、同じ時間帯内の各ログ情報に含まれるメッセージを比較し、同一メッセージを含むログ情報の数を発現回数条件として計測する。そして、そのログ監視システムは、単位時間あたりのログ情報の発現回数が発現回数条件に合致する場合、そのログ情報の通知処理を行う事象検知装置が参照する通知条件情報の候補を生成する。
さらに、以下の技術には、膨大なログを網羅的に分析するための分析ルールを自動で生成する技術が開示されている。
特許文献3は、障害メッセージのフィルタ精度を高めることを支援する情報処理装置について開示している。特許文献3の情報処理装置は、障害時に機器から送信された複数のメッセージから関連するメッセージのみを抽出し、抽出された複数のメッセージをグループ化する。その情報処理装置は、任意のメッセージと、当該メッセージが送信された前後の時間に出力されたメッセージとの共起関係に着目してメッセージ同士の関係を判定する。その情報処理装置は、共起関係の強さを示す指標の値が一定値以上の場合、メッセージ同士をグループ化する。
特許文献4は、複数の情報処理装置からなる分散システムにおいて発生するメッセージの異常を検知する通知装置について開示している。特許文献4の通知装置は、任意の曜日および時間帯において発生していたメッセージと、そのメッセージの発生回数とを記録し、別途定義された最大長の値まで当該メッセージを一連のメッセージとしてグループ化する。その通知装置は、分析対象の機器から送信された正常時の複数のメッセージを関連する一連のメッセージとしてグループ化する。
特開2006−331026号公報 特開2008−41041号公報 特開2014−106851号公報 特許第4944391号公報
特許文献1のメッセージ分析システムは、様々な形式で定義された事例とのマッチング処理によって、リアルタイムに受信するメッセージを分析することができる。しかし、そのメッセージ分析システムには、定義されていない事例に関してはリアルタイムで分析することができないという問題点があった。なぜならば、そのメッセージ分析システムは、定義済みの事例に基づいてメッセージの分析を行うためである。
特許文献2のログ監視システムによれば、同じ時間帯の同一メッセージを含むログ情報を分析することによって、既知事象の更新および新規事象の検知に必要な条件を生成することができる。しかし、そのログ監視システムには、同じメッセージが検出されない限り、既知事象の更新および新規事象の検知に必要な条件を生成することができないという問題点があった。
特許文献3の情報処理装置は、連続するメッセージの共起確率と、共起確率を用いて算出されるスコアとを用いてメッセージ間の関係性を定義する。そのため、例えば、関係性を定義しなければならないメッセージの種類がログの数量の増加に伴って増加した場合、考慮すべきメッセージの組み合わせも増加してしまう。その結果、その情報処理装置には、メッセージの組み合わせ自体の数が増加した際に計算量も増加することによって、適切な解を得るのに時間が掛かるという問題点があった。
特許文献4の通知装置は、連続する一連のメッセージの種類数を最大長で定義しているが、最大長を定義する基準を具体的に開示していない。また、その通知装置は、任意の時間帯に出現した全てのメッセージをグループ化の対象とするため、関係の無いメッセージまでグループ化されてしまうという問題点があった。
本発明は、情報処理システムから出力されたログメッセージを分析する際に、一定時間内に連続して出力されたログメッセージの組み合わせを抽出する時間を短縮することができるログ分析システムを提供することを目的とする。
本発明のログ分析システムは、ログメッセージの出現情報に基づいて、同期して出現するログメッセージの組み合わせ毎に基準パターンを生成する基準パターン生成手段と、基準パターンに含まれるログメッセージの出現情報を基準パターン間で比較し、比較した結果に基づいて基準パターン同士を結合する基準パターン結合手段とを備える。
本発明のログ分析方法においては、ログメッセージの出現情報に基づいて、同期して出現するログメッセージの組み合わせ毎に基準パターンを生成し、基準パターンに含まれるログメッセージの出現情報を基準パターン間で比較し、比較した結果に基づいて基準パターン同士を結合する。
本発明のログ分析プログラムは、ログメッセージの出現情報に基づいて、同期して出現するログメッセージの組み合わせ毎に基準パターンを生成する処理と、基準パターンに含まれるログメッセージの出現情報を基準パターン間で比較し、比較した結果に基づいて基準パターン同士を結合する処理とをコンピュータに実行させる。
本発明によれば、情報処理システムから出力されたログメッセージを分析する際に、同期して出現するメッセージの組み合わせを抽出する時間を短縮することができる。
本発明の第1の実施形態に係るログ分析システムの構成を示すブロック図である。 本発明の第1の実施形態に係るログ分析システムで用いるログファイルの一例を示す図である。 本発明の第1の実施形態に係るログ分析システムで用いる統合ログの一例を示す図である。 本発明の第1の実施形態に係るログ分析システムで用いる出現情報の一例を示す図である。 本発明の第1の実施形態に係るログ分析システムで用いるパターンの一例を示す図である。 本発明の第1の実施形態に係るログ分析システムの動作に関するフローチャートである。 本発明の第1の実施形態に係るログ分析システムの出現情報集計処理に関するフローチャートである。 本発明の第1の実施形態に係るログ分析システムの基準パターン生成処理に関するフローチャートである。 本発明の第1の実施形態に係るログ分析システムの基準パターン結合処理に関するフローチャートである。 本発明の第1の実施形態に係るログ分析システムの基準パターン結合処理に関するフローチャートである。 本発明の第1の実施形態に係るログ分析システムの特徴部分の構成を示すブロック図である。 本発明の第2の実施形態に係るログ分析システムの構成を示すブロック図である。 本発明の第2の実施形態に係るログ分析システムで用いるパターンの一例を示す図である。 本発明の第2の実施形態に係るログ分析システムの順序情報生成処理に関するフローチャートである。 本発明の第3の実施形態に係るログ分析システムの構成を示すブロック図である。 本発明の第3の実施形態に係るログ分析システムで用いるログ識別情報の一例を示す図である。 本発明の第3の実施形態に係るログ分析システムのログ識別処理に関するフローチャートである。 本発明の第4の実施形態に係るログ分析システムの構成を示すブロック図である。 本発明の第4の実施形態に係るログ分析システムのログ分類処理に関するフローチャートである。 本発明の第5の実施形態に係るログ分析システムの構成を示すブロック図である。 本発明の第5の実施形態に係るログ分析システムで用いるパターンの一例を示す図である。 本発明の第5の実施形態に係るログ分析システムの遷移時間学習処理に関するフローチャートである。 本発明の実施形態に係るログ分析システムを可能とするためのハードウェア構成を示すブロック図である。
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
(第1の実施形態)
まず、本発明の第1の実施形態に係るログシステム1について、図面を参照しながら説明する。
〔構成〕
図1は、本発明の第1の実施形態に係るログ分析システム1の構成を示すブロック図である。なお、図1以降の全てのブロック図中に示した矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
図1に示すように、本実施形態に係るログ分析システム1は、ログ収集手段11と、ログ集計手段12と、基準パターン生成手段13と、基準パターン結合手段14と、パターン記憶手段15とを備える。
[ログ収集手段]
ログ収集手段11は、分析対象システム10のログファイルを収集する。ログ収集手段11は、分析対象システム10からログファイルを受信してもよいし、図示しない記憶部からログファイルを読み出してもよい。また、ログ収集手段11は、運用管理者からログファイルの入力を受け付けてもよい。
図2に、ログ分析システム1が収集するログファイルの一例(ログファイル101〜103)を示す。ログファイルは、ログメッセージ(ログレコードとも呼ぶ)の集合であり、図2のように少なくとも一つのログメッセージから構成される。ログメッセージは、それぞれのログメッセージを識別するための識別子であるログID(Identifier)、当該ログメッセージが出力された時刻、メッセージの本文、ログレベルなどといった複数のログ要素により構成される。なお、ログIDはログ識別子とも呼ばれ、以下においては単にIDと記載されることもある。
ログ収集手段11は、収集した少なくとも一つのログファイルに基づいて、全てのログファイルに格納されたログメッセージを時系列順に並び替えた統合ログを生成する。ログ収集手段11は、生成した統合ログをログ集計手段12に向けて送信する。
図3に、ログ収集手段11が生成する統合ログの一例(統合ログ104)を示す。統合ログは、ログメッセージの集合であり、図3のように少なくとも一つのログメッセージから構成される。なお、統合ログは、元々は異なるログファイルを構成していたログメッセージを結合したものである。また、統合ログは、ログファイルを識別するための識別子と、ログファイルにおける当該ログメッセージの行番号とを組み合わせた情報の集合であってもよい。
ログ収集手段11は、例えば、収集対象のログファイルそのものの指定や、ログファイルに記録されたログメッセージの日時の指定など、収集するログメッセージの範囲の指定を運用管理者から受け付けてもよい。また、ログ収集手段11は、ログメッセージの分析に必要な情報を定義したファイル(図示しない)を読み込み、ファイルが定義する情報に従って、取得したログファイルの形式をログ分析システム1が分析しやすい形式に変換してもよい。
[ログ集計手段]
ログ集計手段12は、ログ収集手段11から受信した情報と、別途定義された時間幅とに基づいて、それぞれのログメッセージの出現情報を算出する。時間幅は、ログ集計手段12が集計対象とするログメッセージの出現時間の範囲を示す。時間幅は、ユーザによって定義されたものであってもよいし、図示しないファイルに予め記録されたものであってもよい。
図4は、出現情報の一例(出現情報105)を示す図である。出現情報は、図4のように、ログメッセージのログIDに対応させた少なくとも一つの出現時刻と出現回数との組によって構成されている。なお、出現情報は、出現回数の総和を含んでいてもよい。図4の出現情報105には、それぞれのログIDに関して、複数の出現時刻が記録されるとともに、複数の出現時刻それぞれに対応する出現回数が記録されている。
ログ集計手段12は、統合ログを時間幅毎に読み込み、読み込んだ時間幅内の統合ログの当該箇所に含まれるIDの種類とその数を出現回数として集計する。ログ集計手段12は、時間幅で分割された時間の中で任意の時刻を1つ選択して、当該IDの出現時刻として登録する。ログ集計手段12は、例えば、分割された時間の中央値や最小値、最大値を出現時刻として登録してもよい。ログ集計手段12は、算出した出現情報を基準パターン生成手段13へ送信する。
基準パターン生成手段13は、ログ集計手段12から受信した少なくとも一つの出現情報を比較し、同一の出現情報をもつID同士を結合する。そして、基準パターン生成手段13は、結合したIDの組み合わせとその出現情報とを基準パターン結合手段14に送信する。すなわち、基準パターン生成手段13は、ログメッセージの出現情報に基づいて、同期して出現するログメッセージの組み合わせ毎に基準パターンを生成する。

基準パターン生成手段13は、例えば、出現情報の同一性に関する判定基準などの指定を運用管理者から受け付けてもよい。また、基準パターン生成手段13は、出現情報の同一性の判定に必要な情報を定義したファイル(図示しない)を読み込み、入力されたIDの出現情報をそのファイルに基づいて比較してもよい。
[基準パターン結合手段]
基準パターン結合手段14は、基準パターン生成手段13から受信したIDまたは複数のIDの組み合わせに関する出現情報を比較する。基準パターン結合手段14は、別途定義した条件を満たす単独のIDまたは複数のIDの組み合わせを結合する。すなわち、基準パターン結合手段14は、基準パターンに含まれるログメッセージの出現情報を基準パターン間で比較し、比較した結果に基づいて基準パターン同士を結合する。基準パターン結合手段14は、結合した結果の集合を「パターン(組み合わせ)」としてパターン記憶手段15へ出力する。なお、このパターン(組み合わせ)の集合を「パターン集合」とも呼ぶ。
図5には、パターン(組み合わせ)を表形式でまとめた組み合わせ情報テーブル106を示す。パターン(組み合わせ)は、単独のIDまたは複数のIDの組み合わせと、それらに対応する出現情報とを含む。図5の組み合わせ情報テーブル106において、出現情報は、出現時刻および出現回数によって構成されている。
パターン記憶手段15は、基準パターン結合手段14が出力したパターン(組み合わせ)を格納する。
以上が、本実施形態に係るログ分析システム1の構成についての説明である。
〔動作〕
次に、本実施形態に係るログ分析システム1の動作について説明する。
図6は、本実施形態に係るログ分析システム1の動作の概略に関するフローチャートである。本実施形態に係るログ分析システム1は、出現情報集計処理、基準パターン生成処理および基準パターン結合処理という三つの処理を行う。
図6において、ステップS1の出現情報集計処理は、ログ収集手段11がログファイルを読み込み、ログ集計手段12がID毎の出現情報を集計する処理である。
ステップS2の基準パターン生成処理は、基準パターン生成手段13が、ID毎の出現情報に基づいて、同期して出現する少なくとも一つのログメッセージを基準パターンとして結びつける処理である。なお、「同期して出現する少なくとも一つのログメッセージ」とは、「一定時間内に連続して出力された少なくとも一つのログメッセージ」を意味する。
ステップS3の基準パターン結合処理は、基準パターン結合手段14が、基準パターン集合に基づいてIDの組み合わせを結合し、パターン(組み合わせ)を生成する処理である。
以下において、第1の実施形態に係るログ分析システム1の動作を、出現情報集計処理、基準パターン生成処理および基準パターン結合処理の三つに分けて詳細に説明する。
[出現情報集計処理]
まず、出現情報集計処理について説明する。出現情報集計処理とは、ログ収集手段11がログファイルを読み込み、ログ集計手段12がID毎の出現情報を集計する処理である。図7は、出現情報集計処理に関するフローチャートである。
図7において、まず、ログ収集手段11は、分析対象システム10から出力されたログファイルを読み込む(ステップS101)。
ログ収集手段11は、取得した全てのログファイルを結合することによって、統合ログを生成する(ステップS102)。
ログ収集手段11は、各ログメッセージの時刻情報に基づいて、統合ログのログメッセージを時系列順に並び変える(ステップS103)。
次に、ログ集計手段12は、定義された時間幅に基づいて、統合ログのログメッセージを読み込む(ステップS104)。
例えば、読み込みを開始するログメッセージの時刻が「2014/07/01_12:00:01」であり、定義された時間幅が「1分」であったとする。このとき、ログ集計手段12は、「2014/07/01_12:00:01」から「2014/07/01_12:01:00」までの区間のログメッセージを読み込む。
次に、ログ集計手段12は、読み込んだログメッセージの集合から同一のIDの出現数を集計し、時刻情報と出現回数との組をID毎に出現情報として記録する(ステップS105)。
例えば、「2014/07/01_12:00:01」から「2014/07/01_12:01:00」までの区間で、ID「1001」のログメッセージが「10回」、ID「2034」のログメッセージが「3回」出現していたとする。このとき、ログ集計手段12は、ID「1001」の出現情報に出現時刻「2014/07/01_12:00:01」と出現回数「10」とを追加する。同様に、ログ集計手段12は、ID「2034」の出現情報に、出現時刻「2014/07/01_12:00:01」と、出現回数「3」とを追加する。
ここで、ログ集計手段12は、統合ログの最後のログメッセージに到達したか否かを判断する(ステップS106)。
統合ログの最後のログメッセージに到達すると(ステップS106でYes)、ログ集計手段12は、ID毎の出現情報を基準パターン生成手段12に出力する(ステップS107)。
一方、統合ログの最後のログメッセージに到達していない場合は(ステップS106でNo)、ステップS104に戻る。
すなわち、ログ集計手段12は、統合ログの最後のログメッセージに到達するまで上記のステップS104およびステップS105の処理を繰り返す。なお、任意の時刻においてログメッセージの読み込みを完了することができるように、ユーザによる時刻の入力を可能としたり、図示しない定義情報からの読み込みを完了する時刻の取得を可能としたりするようにログ集計手段12を構成してもよい。
以上が、出現情報集計処理についての説明である。
[基準パターン生成処理]
次に、基準パターン生成処理について説明する。基準パターン生成処理とは、基準パターン生成手段13が、ID毎の出現情報に基づき、同期して出現するログメッセージを基準パターンとして結びつける処理である。図8は、基準パターン生成処理に関するフローチャートである。なお、図8を用いて説明するログメッセージの結合に関する動作は一例であって、同時刻に発生するIDを比較して結び付けることができる手法であればどのような手法を用いてもかまわない。
図8において、まず、基準パターン生成手段13は、ログ集計手段12によって出力されたID毎の出現情報を読み込む(ステップS201)。
基準パターン生成手段13は、受信したID毎の出現情報の集合(以下、結合候補集合)に基づいて、各IDの出現時刻毎に出現回数の総和(以下、出現頻度)を算出する(ステップS202)。
基準パターン生成手段13は、結合候補集合を構成する出現情報を出現頻度の昇順に並び替える(ステップS203)。
基準パターン生成手段13は、結合候補集合から比較元となるID(以下、比較元ID)を選択する(ステップS204)。ここでは、基準パターン生成手段13は、結合候補集合から出現頻度が最小である出現情報のIDを比較元IDとして選択し、選択した比較元IDを他のID(比較対象ID)の出現情報と比較するものとして説明するが、それとは別の基準で選択してもよい。
ここで、基準パターン生成手段13は、選択した比較元IDの出現頻度が、結合候補集合を構成する出現情報のうち最大であるか否かを判断する(ステップS205)。
選択した比較元IDの出現頻度が最大ではない場合(ステップS205でNo)、基準パターン生成手段13は、選択した比較元IDと同一の出現情報をもつIDがあるか否かを検証する(ステップS206)。一方、選択した比較元IDの出現頻度が最大である場合(ステップS205でYes)、ステップS209に進む。
選択した比較元IDと同一の出現情報を持つID(以下、比較対象ID)がある場合(ステップS206でYes)、基準パターン生成手段13は、比較元IDと比較対象IDとを結合し、IDの組み合わせを生成する(ステップS207)。一方、ステップS206において、比較元IDと同一の出現情報を持つIDがない場合(ステップS206でNo)、別のIDを比較元IDとして取得するためにステップS204の処理に戻る。
このように、ステップS204〜ステップS206の処理は、選択した比較元IDと同一の出現情報を持つ比較対象IDがなくなるまで繰り返される。
ここで、ステップS207に関して補足説明をする。
ステップS207において、例えば、ある比較元ID「2048」の出現時刻が、以下の10通りであるとする。
「2014/07/01_9:00:01、2014/07/01_10:00:01、2014/07/01_11:00:01、2014/07/01_12:00:01、2014/07/01_13:00:01、2014/07/01_14:00:01、2014/07/01_15:00:01、2014/07/01_16:00:01、2014/07/01_17:00:01、2014/07/01_18:00:01」
そして、比較元ID「2048」の各出現時刻に対応する出現回数が「2、2、2、2、2、2、2、2、2、2」であるとする。
このとき、比較対象ID「2049」の出現時刻が、以下の10通りであるとする。
「2014/07/01_9:00:01、2014/07/01_10:00:01、2014/07/01_11:00:01、2014/07/01_12:00:01、2014/07/01_13:00:01、2014/07/01_14:00:01、2014/07/01_15:00:01、2014/07/01_16:00:01、2014/07/01_17:00:01、2014/07/01_18:00:01」
そして、比較対象ID「2049」の各出現時刻に対応する出現回数が「2、2、2、2、2、2、2、2、2、2」であるとする。
この場合、比較元ID「2048」および比較対象ID「2049」の出現回数の合計値(出現頻度)はともに「20」であり、出現時刻も同一である。そのため、比較元ID「2048」と比較対象ID「2049」とは結合の対象となる。
また、上述の出現頻度と出現時刻との比較において、出現頻度は同一であるが、出現時刻のみが1単位(例えば1分)ずれていた場合、当該ID同士は同一の出現情報を持つとみなしてもよい。
例えば、ある比較元ID「3018」の出現時刻が以下の4通りであるとする。
「2014/07/01_9:00:01、2014/07/01_12:00:01、2014/07/01_15:00:01、2014/07/01_18:00:01」
そして、比較元ID「3018」の各出現時刻に対応する出現回数が「3、3、3、3」であるとする。
同様に、比較対象ID「4024」の出現時刻が以下の6通りであるとする。
「2014/07/01_9:00:01、2014/07/01_12:00:01、2014/07/01_12:01:01、2014/07/01_15:00:01、2014/07/01_18:00:01、2014/07/01_18:01:01」
そして、比較対象ID「4024」の各出現時刻に対応する出現回数が、「3、2、1、3、1、2」であるとする。
このとき、比較元ID「3018」および比較対象ID「4024」の出現回数の合計値(出現頻度)はともに「12」回である。しかし、比較対象ID「4024」では、比較元ID「3018」にはなかった出現時刻の差分「2014/07/01_12:01:01、2014/07/01_18:01:01」がある。このとき、時間幅が「1分」であったとすると、出現時刻の差分は、比較元ID「3018」の出現時刻「2014/07/01_12:00:01、2014/07/01_18:00:01」と隣接した時刻である。この場合、差分となった時刻は、その隣接した時刻に属するものとし、比較元ID「3018」と比較対象ID「4024」とを結合の対象とする。
なお、時刻の差分をどの範囲まで同一とみなすかの基準は、ユーザが別途定義するように構成してもよい。また、出現頻度および出現情報の一致度について閾値を設定し、設定した閾値条件を満たすID同士を結合するように構成してもよい。
図8のフローチャート(ステップS206でYes)に戻ると、基準パターン生成手段13は、ステップS207において比較元IDと比較対象IDとを結合した後に、結合候補集合の出現情報を更新する(ステップS208)。出現情報の更新において、第一に、基準パターン生成手段13は、生成したIDの組み合わせとIDの出現情報との組を結合候補集合に追加する。第二に、基準パターン生成手段13は、比較元IDおよび比較対象IDを結合候補集合から削除する。結合候補集合が更新されると、ステップS203の処理に戻る。
このように、ステップS203〜ステップS208の処理は、結合候補集合のうち出現頻度が最大の結合候補(出現情報)に到達するまで繰り返される。
最後に、選択した比較元IDの出現頻度が最大である場合(ステップS205でYes)、基準パターン生成手段13は、結合候補集合を構成する出現情報を出現頻度の昇順に並び替えた集合を基準パターン集合として基準パターン結合手段14に出力する(ステップS209)。なお、選択した比較元IDの出現頻度が最大であるとは、結合候補集合のうち出現頻度が最大の結合候補(出現情報)に到達したことを意味する。
以上が、基準パターン生成処理についての説明である。
[基準パターン結合処理]
次に、基準パターン結合処理について説明する。基準パターン結合処理とは、基準パターン結合手段14が、基準パターン集合に基づいてIDの組み合わせを結合し、パターン(組み合わせ)を生成する処理である。図9および図10は、基準パターン結合処理に関するフローチャートである。なお、基準パターン集合とは、基準パターンの集合であり、パターン(組み合わせ)の集合と同様に、IDの組み合わせと、当該組み合わせの出現情報との組で構成されるパターンである。
図9において、まず、基準パターン結合手段14は、基準パターン生成処理において基準パターン生成手段13が生成した基準パターン集合を読み込む(ステップS301)。
基準パターン結合手段14は、読み込んだ基準パターン集合から、出現頻度が最も低い基準パターンを選択する(ステップS302)。ここで選択された基準パターンを比較元パターンと呼ぶ。基準パターン結合手段14は、出現頻度が低い順に基準パターン集合から基準パターンを選択する。
ここで、基準パターン結合手段14は、ステップS301で読み込んだ基準パターン集合の中に比較元パターンがあるか否かを判断する(ステップS303)。
比較元パターンがある場合(ステップS303でYes)、基準パターン結合手段14は、比較元パターンの出現頻度以下のパターンを比較対象のパターン(以下、比較対象パターン)として基準パターン集合から選択する(ステップS304)。この比較対象パターンの集合を比較対象パターン集合と呼ぶ。一方、比較元パターンがなかった場合(ステップS303でNo)、図10のステップS312に進む。
ここで、基準パターン結合手段14は、ステップS301で読み込んだ基準パターン集合の中に比較対象パターンがあるか否かを判断する(ステップS305)。
比較対象パターンがある場合(ステップS305でYes)、基準パターン結合手段14は、比較元パターンの出現情報と、比較対象パターン集合に含まれる比較対象パターンの出現情報とを比較し、出現情報の類似度を算出する(ステップS306)。一方、比較対象パターンがない場合(ステップS305でNo)、ステップS308に進む。
ここで、ステップS306について補足説明をする。
例えば、比較元パターン「5025、6036」の出現時刻が以下の5通りであるとする。
「2014/7/1_12:00:01、2014/7/2_12:00:01、2014/7/3_12:00:01、2014/7/4_12:00:01、2014/7/5_12:00:01」
そして、比較元パターン「5025、6036」の各出現時刻に対応する出現回数が「2、2、2、2、2」であるとする。
一方で、比較対象パターン「1001、3009、7049」の出現時刻が以下の5通りであるとする。
「2014/7/1_12:00:01、2014/7/2_12:00:01、2014/7/3_12:00:01、2014/7/4_12:00:01、2014/7/5_12:00:01」
そして、比較対象パターン「1001、3009、7049」の各出現時刻に対応する出現回数が「2、1、1、2、2」であるとする。
すなわち、二つの基準パターンに共通する出現情報は、出現時刻が「2014/7/1_12:00:01、2014/7/2_12:00:01、2014/7/3_12:00:01、2014/7/4_12:00:01、2014/7/5_12:00:01」、出現回数が「2、1、1、2、2」である。
このとき、比較元パターン「5025、6036」と比較対象パターン「1001、3009、7049」との類似度は、出現回数の比から「8/8」すなわち「1.0」であると計算される。ただし、出現回数の比は、「共通する出現情報の出現頻度」と「比較対象の出現情報の出現頻度」との比であり、以下の式1によって算出する。
(出現回数の比)=(共通する出現情報の出現頻度)/(比較対象の出現情報の出現頻度)・・・(1)
なお、式1においては、類似度の指標として、比較対象の出現頻度に対する共通部分の出現頻度の比を用いたが、これに加えて比較元の出現頻度に対する共通部分の出現頻度の比を用いてもよい。また、出現回数の比の算出において、出現情報の出現頻度を用いたが、その代わりに出現時刻の個数を用いてもよい。
基準パターン結合手段14は、ステップS306の処理で算出した類似度が別途定義した閾値条件を満たす比較対象パターンを結合候補パターンとして選択する(ステップS307)。そして、ステップS304に戻る。閾値条件は、例えば、前述の類似度が所定の閾値を超える場合や、所定の閾値以上の場合に満たされるとすればよい。
基準パターン結合手段14は、比較対象パターンがなくなるまで(ステップS305でNo)ステップS304〜S307の処理を繰り返し、結合候補パターンの集合を生成する。
ここで、ステップS307について補足説明する。
例えば、比較元パターン「5025、6036」と比較対象パターン「1001、3009、7049」との類似度が「1.0」であったとする。このとき、所定の閾値が「0.9」であれば、類似度が閾値以上であるため、比較対象パターン「1001、3009、7049」は結合候補パターンとなる。ここでは、類似度の指標を1つのみとしたが、複数の類似度の指標がある場合は、単一の値を閾値として適用してもよいし、それぞれの指標に対して個別に閾値を用意してもよい。
ところで、比較対象パターンがない場合(ステップS305でNo)、基準パターン結合手段14は、結合候補パターンの集合から全ての出現情報を抽出し、抽出した全ての出現情報を結合した候補出現情報を生成する(ステップS308)。
ここで、ステップS308に関して補足説明をする。以下では、結合候補パターンが「1001、3009、7049」および「2004、4016」の2種類であった場合を例としてあげる。
結合候補パターン「1001、3009、7049」の出現時刻が以下の5通りであるとする。
「2014/7/1_12:00:01、2014/7/2_12:00:01、2014/7/3_12:00:01、2014/7/4_12:00:01、2014/7/5_12:00:01」
そして、結合候補パターン「1001、3009、7049」の各出現時刻に対応する出現回数が「2、1、1、2、2」であるとする。
さらに、結合候補パターン「2004、4016」の出現時刻が「2014/7/2_12:00:01、2014/7/3_12:00:01」、出現回数が「1、1」であるとする。
このとき、候補出現情報は、出現時刻が「2014/7/1_12:00:01、2014/7/2_12:00:01、2014/7/3_12:00:01、2014/7/4_12:00:01、2014/7/5_12:00:01」、出現回数が「2、2、2、2、2」となる。
そして、基準パターン結合手段14は、比較元パターンの出現情報と、結合候補パターンの候補出現情報とを比較し、ステップS306の処理と同様に二者間の類似度を算出する(ステップS309)。
ここで、基準パターン結合手段14は、ステップS309で算出した類似度が、別途定義した閾値以上であるか否かを判定する(ステップS310)。なお、比較元パターンの出現情報と、結合候補パターンの候補出現情報との間の類似度に関しては、その類似度が所定の閾値条件を満たすか否かで判定してもよい。
類似度が閾値より小さい場合(ステップS310でNo)、基準パターン結合手段14は、新たなる比較元パターンとして次の基準パターンを取得するために、ステップS302の処理に戻る。
一方、類似度が閾値以上の場合(ステップS310でYes)、基準パターン結合手段14は基準パターンを更新する(ステップS311)。基準パターンの更新において、第一に、基準パターン結合手段14は、比較元パターンと結合候補パターンとをそれぞれ結合した結合済みパターンを生成し、生成した結合済みパターンを基準パターン集合に追加する。第二に、基準パターン結合手段14は、比較元パターンと結合候補パターンとを基準パターン集合から削除する。基準パターンを更新すると、ステップS302に戻る。
このように、基準パターン結合手段14は、比較元パターンの出現情報と結合候補パターンの候補出現情報との類似度が閾値以上になるまで、ステップS302〜ステップS309に相当する処理を繰り返す。
次に、図9のステップS303において、基準パターン集合の中に比較元パターンがない場合(ステップS303でNo)について、図10を用いて説明する。
図10において、基準パターン結合手段14は、基準パターン集合のパターンを出現頻度の昇順に並び替える(ステップS312)。
次に、基準パターン結合手段14は、基準パターン集合から、出現頻度が低い順に基準パターンを取得する(ステップS313)。ここで選択された基準パターンが比較元の基準パターン(以下、比較元パターン)に相当する。
ここで、基準パターン結合手段14は、基準パターン集合の中に比較元パターンがあるか否かを判断する(ステップS314)。
比較元パターンがある場合(ステップS314でYes)、基準パターン結合手段14は、比較元パターンの出現頻度以下のパターンを比較対象のパターン(以下、比較対象パターン)として基準パターン集合から選択する(ステップS315)。この比較対象パターンの集合を比較対象パターン集合と呼ぶ。一方、比較元パターンがない場合(ステップS314でNo)、ステップS320に進む。
ここで、基準パターン結合手段14は、基準パターン集合の中に比較対象パターンがあるか否かを判断する(ステップS316)。
ここで、比較対象パターンがある場合(ステップS316でYes)、基準パターン結合手段14は、比較元パターンの出現情報と、比較対象パターンの出現情報とを比較し、出現情報の類似度Aおよび類似度Bを算出する(ステップS317)。
類似度A(第1の類似度)は、比較元パターン(第1のパターンとも呼ぶ)の出現頻度(第1の頻度とも呼ぶ)と共通する出現頻度との比である。類似度Aは以下の式2によって算出する。
(類似度A)=(共通する出現情報の出現頻度)/(比較元パターンの出現情報の出現頻度)・・・(2)
類似度B(第2の類似度)は、出現候補である比較対象パターン(第2のパターンとも呼ぶ)の出現頻度(第2の頻度とも呼ぶ)と共通する出現頻度との比である。類似度Bは以下の式3によって算出する。
(類似度B)=(共通する出現情報の出現頻度)/(比較対象パターンの出現情報の出現頻度)・・・(3)
なお、共通する出現頻度とは、比較元パターンの出現情報における出現時刻および出現回数と、比較対象パターンの出現情報における出現時刻および出現回数とを比較した際に、両者間で出現時刻および出現回数が一致した際の一致した出現回数の総和である。すなわち、第1のパターンと第2のパターンとを比較した際に、出現情報が一致するパターンの出現回数の総和が共通頻度に相当する。
例えば、比較元パターンの出現時刻が「2014/7/1_12:00:01、2014/7/2_12:00:01、2014/7/3_12:00:01、2014/7/4_12:00:01、2014/7/5_12:00:01」であるとする。そして、比較元パターンの出現回数が「2、1、1、2、2」であるとする。また、比較対象パターンの出現時刻が「2014/7/1_12:00:01、2014/7/4_12:00:01、2014/7/5_12:00:01」であるとする。そして、比較対象パターンの出現回数が「2、2、2」であるとする。このとき、両者間で共通する出現時刻は「2014/7/1_12:00:01、2014/7/4_12:00:01、2014/7/5_12:00:01」である。そして、それに対応する出現回数は「2、2、2」であるので、出現回数の総和の「6」が共通する出現頻度となる。その結果、比較元パターンの出現頻度は「8」なので、式2に基づき類似度Aは6/8となり、比較対象パターンの出現頻度は「6」なので、式3に基づき類似度Bは6/6となる。例えば、類似度Aに対する所定の閾値が1、類似度Bに対する所定の閾値が0.8の場合、類似度Aおよび類似度Bの両方において所定の閾値が満たされたことになる。なお、出現情報の比較においては、ステップS207の処理と同様に、出現時刻に差分がある場合であっても出現情報が一致すると判定してもよい。
一方、比較対象パターンがない場合(ステップS316でNo)、ステップS313に戻る。
ここで、基準パターン結合手段14は、ステップS317で算出した類似度Aおよび類似度Bのそれぞれが、別途定義した所定の閾値以上であるか否かを判定する(ステップS318)。なお、類似度Aおよび類似度Bに関しては、他の所定の閾値条件を満たすか否かを判定してもよい。
類似度Aおよび類似度Bのそれぞれが、別途定義した閾値未満である場合(ステップS318でNo)、基準パターン結合手段14は、新たなる比較元パターンとして次の基準パターンを取得するために、ステップS313の処理に戻る。
一方、類似度Aおよび類似度Bのそれぞれが、別途定義した閾値以上である場合(ステップS318でYes)、基準パターン結合手段14は基準パターンを更新する(ステップS319)。基準パターンの更新において、第一に、基準パターン結合手段14は、結合候補パターンと、比較元の基準パターンとを結合した新規基準パターンを生成し、生成した新規基準パターンを基準パターン集合に追加する。なお、新規基準パターンの出現情報は、結合候補パターンと比較元パターンとの共通要素である。第二に、基準パターン結合手段14は、基準パターン集合から比較元パターンおよび結合候補パターンを削除する。基準パターンを更新すると、新たなる比較元パターンとして次の基準パターンを選択するために、ステップS313に戻る。
最後に、最大の出現頻度を持つ基準パターンに到達した場合(ステップS314でNo)、基準パターン結合手段14は、ステップS313〜S319の繰り返し処理を離脱する。そして、基準パターン結合手段14は、更新された基準パターン集合をパターン集合としてパターン記憶手段15へ出力する(ステップS320)。
以上が、基準パターン結合処理についての説明である。
ここで、本実施形態に係るログ分析システムの特徴部分の構成を図11に示す。図11において、基準パターン生成手段13は、ログメッセージの出現情報に基づいて、同期して出現するログメッセージを組み合わせた基準パターンを生成する。基準パターン結合手段14は、基準パターン間の出現情報を比較し、比較した結果に基づいて少なくとも一つの基準パターンを結合する。なお、少なくとも一つの基準パターンを結合するという概念には、結合すべき他の基準パターンが無い基準パターンをそのまま更新することを含む。
〔効果〕
以上の第1の実施形態に係るログ分析システムによれば、ログメッセージを分析する際に、一定時間内に連続して出力されたメッセージの組み合わせを抽出する時間を短縮することができる。なぜならば、本実施形態に係るログ分析システムの基準パターン生成手段13は、パターン生成時に同期して出力されるログメッセージの出現を個別に比較するのではなく、一つのまとまったメッセージとして比較するからである。
また、第1の実施形態に係るログ分析システムによれば、ログメッセージの分析時に閾値を定義することによって一定の閾値条件を充足し、共起確率が高いログメッセージのみをグループ化できる。
さらに、第1の実施形態に係るログ分析システムによれば、メッセージの個数という制約条件では分割される可能性のある時間幅内にまとまって出現する複数のメッセージを、パターンとして正しく抽出することができる。なぜならば、本実施形態に係るログ分析システムは、時間幅に従って統合ログファイルを読み込み、個々のIDの関係を閾値に従って算出するためである。
(第2の実施形態)
次に、本発明の第2の実施形態に係るログ分析システム2について説明する。
〔構成〕
図12は、本実施形態に係るログ分析システム2の機能構成を示すブロック図である。本実施形態に係るログ分析システム2は、第1の実施形態に係るログ分析システム1に順序学習手段21を追加した構成をもつ。なお、本実施形態に係るログ分析システム2において、第1の実施形態に係るログ分析システム1の構成(図1)と実質的に同一の構成については、同様の符号を付与して説明を省略する。
順序学習手段21は、基準パターン結合手段14が出力したパターン集合に基づいて統合ログを参照し、パターン毎に順序情報22を抽出する。なお、順序情報22は、パターン(組み合わせ)を用いたログの分析時に、当該パターン(組み合わせ)に含まれるログIDが、「パターン(順序)」に含まれた順序通りに出現しているかを分析する際に利用する情報である。なお、パターン(順序)とは、「順序パターン」とも呼ばれ、ログIDを出現順で並べたパターンである。
順序学習手段21は、生成した順序情報22をパターン記憶手段15に出力して記録する。なお、図12には、パターン記憶手段15が順序情報22およびパターン集合150を格納する様子を図示している。
順序情報22は、少なくとも1つのIDを組み合わせたパターン(組み合わせ)と、そのパターン(組み合わせ)に含まれるIDの並び順を考慮したパターン(順序)と、それぞれのパターン(順序)の発生確率とを含む。また、順序情報22は、パターン(組み合わせ)の集合を別の形式で有し、共通のIDで一意性を保ったままパターン(組み合わせ)を管理できるように構成してもよい。また、順序情報22は、パターンの出現情報を含んでもよい。
図13は、順序情報22の一例の順序情報テーブル220である。図13の順序情報テーブル220では、パターン(組み合わせ)「1001、2004、3009、5025」に関して、2通りの並び順をもつパターン(順序)があることを示す。一つは、パターン(組み合わせ)「1001、2004、3009、5025」、パターン(順序)「1001、2004、3009、5025」、発生回数「90」の組み合わせである。もう一つは、パターン(組み合わせ)「1001、2004、3009、5025」、パターン(順序)「1001、3009、2004、5025」、発生回数「10」の組み合わせである。
なお、図13の順序情報テーブル220に示す表記は一例であり、同様の意味をもつ表記方式であれば、樹形図などの一般的な表記方式を用いてパターン(順序)を記憶してもよい。また、発生回数ではなく、発生回数の総和に対する各発生回数の比を発生確率として出力するように構成してもよい。
以上が、本実施形態に係るログ分析システム2の構成についての説明である。
[動作]
次に、第2の実施形態に係るログ分析システム2がログメッセージを分析する動作について説明する。なお、出現情報集計処理、基準パターン生成処理および基準パターン結合処理に関しては、第1の実施形態に係るログ分析システム1と同様であるため、説明は省略する。
[順序情報生成処理]
図14は、本実施形態に係るログ分析システム2のログ分析システム2による順序情報生成処理に関するフローチャートである。
図14において、まず、順序学習手段21は、パターン記憶手段15からパターン集合を受信する(ステップS401)。なお、順序学習手段21は、基準パターン結合手段14からパターン集合を直接受信するように構成してもよい。
次に、順序学習手段21は、受信したパターン集合に含まれる各パターンの出現情報に基づいて統合ログの該当箇所を読み込む(ステップS402)。
順序学習手段21が読み込む統合ログの該当箇所は、出現情報に記録された出現時刻と別途定義された時間幅によって決定される。例えば、出現時刻が「2014/7/7_09:00:01」、時間幅が「1分」の場合、順序学習手段21は、「2014/7/7_09:00:01」から「2014/7/7_09:01:01」の時間帯の統合ログを読み込む。
次に、順序学習手段21は、読み込んだ統合ログの該当箇所に含まれるログメッセージのうち、各パターンに含まれるIDの順序を読み込む(ステップS403)。
例えば、パターン「1001、2004、3009、5025」に関して、読み込んだデータが「1001、7049、6036、4900、3009、2004、8088、5025」であったとする。このとき、順序学習手段21は、読み込んだデータに関して、パターン「1001、2004、3009、5025」に含まれるIDのみを参照すると、「1001、3009、2004、5025」というIDの順序が読み込まれる。
次に、順序学習手段21は、読み込んだIDの順序に関して発生回数を1追加し、順序情報を抽出する(ステップS404)。
ここで、順序学習手段21は、受信したパターン集合に含まれる全てのパターンに対して順序情報22を生成したか否かを検証する(ステップS405)。
受信したパターン集合に含まれる全てのパターンに対して順序情報22を生成した場合(ステップS405でYes)、順序学習手段21は、生成した順序情報22をパターン記憶手段15に出力して記録する(ステップS406)。一方、受信したパターン集合に含まれる全てのパターンに対して順序情報22を生成していない場合(ステップS405でNo)、未処理のパターンに対して順序情報22を生成するためにステップS402に戻る。
順序学習手段21は、上記のステップS402〜ステップS405の処理を繰り返し、基準パターン結合手段14から受信したパターン集合に含まれる全てのパターンに対して順序情報22を生成する。
以上が、ログ分析システム2による順序情報生成処理に関する説明である。
〔効果〕
第2の実施形態に係るログ分析システムは、基準パターン結合手段が生成した結果に基づいてパターンの順序情報を生成し、少ない計算量でパターンとその順序情報を生成することができる。その理由は、本実施形態に係るログ分析システムが、基準パターン生成手段を備えるからである。
(第3の実施形態)
次に、本発明の第3の実施形態に係るログ分析システム3について説明する。
〔構成〕
図15は、本実施形態に係るログ分析システム3の機能構成を示すブロック図である。本実施形態に係るログ分析システム3は、第1の実施形態に係るログ分析システム1にログ識別手段31およびログ識別情報32を追加した構成をもつ。なお、本実施形態に係るログ分析システム3において、第1の実施形態に係るログ分析システム1の構成(図1)と実質的に同一の構成については、同様の符号を付与して説明を省略する。
図16は、ログ識別情報32の一例(ログ識別情報320)を示す図である。
ログ識別情報32は、ログIDと、そのログIDに対応するレコード表現との組の集合である。ログIDとは、ログ識別子とも呼ばれ、ログメッセージに付与された識別子である。レコード表現とは、ログIDに対応するログメッセージの本文を表現したものである。
図16の例では、ログID「1001」に該当するログメッセージは、「mysqld started」という文字列を含むことを意味している。なお、図16の例では文字列を示しているが、レコード表現は、ログメッセージとの比較が可能な形態であれば、正規表現や独自に定義したテンプレートなどの任意の情報を用いて表現してもよい。
ログ識別手段31は、ログ収集手段11から読み込んだ統合ログに含まれるログメッセージに対し、ログ識別情報32に記録されたレコード表現を参照してログIDを割り当てる。そして、ログ識別手段31は、ログIDを付与したログメッセージの統合ログをログ集計手段12に出力する。
以上が、本実施形態に係るログ分析システム3の構成についての説明である。
〔動作〕
次に、第3の実施形態に係るログ分析システム3の動作について説明する。なお、出現情報集計処理、基準パターン生成処理および基準パターン結合処理に関しては、第1の実施形態に係るログ分析システム1と同様であるため、説明は省略する。
〔ログ識別処理〕
図17は、本実施形態に係るログ分析システム3のログ識別手段31によるログ識別処理に関するフローチャートである。
図17において、まず、ログ識別手段31は、ログ収集手段11が生成した統合ログを読み込む(ステップS501)。
次に、ログ識別手段31は、ログ識別情報32を参照し、読み込んだ統合ログに含まれるログメッセージに対してログIDを付与する(ステップS502)。
ここで、ログ識別手段31は、読み込んだ統合ログに含まれる全てのログメッセージに対してログIDが付与されたか否かを判断する(ステップS503)。
全てのログメッセージに対してログIDが付与された場合(ステップS503でYes)、ログ識別手段31は、その統合ログをログ集計手段12に送信する(ステップS504)。
一方、ログIDが付与されていないログメッセージがある場合(ステップS503でNo)、ログIDが付与されていないログメッセージに対してログIDを付与するために、ステップS502に戻る。
以降の動作は、第1の実施形態に係るログ分析システム1と同様であるため、説明を省略する。
〔効果〕
第3の実施形態に係るログ分析システムは、ログ識別情報に基づいて、共通のログIDが付与されていない複数のログファイルからもパターン(組み合わせ)を少ない計算量で生成することができる。なぜならば、第3の実施形態に係るログ分析システムは、ログ識別情報に基づいてログメッセージに対してログIDを付与するログ識別手段と、同期して出現するログをまとめて基準パターンを生成する基準パターン生成手段とを備えているためである。
(第4の実施形態)
次に、本発明の第4の実施形態に係るログ分析システム4について説明する。
〔構成〕
図18は、第4の実施形態に係るログ分析システム4の機能構成を示すブロック図である。第4の実施形態に係るログ分析システムは、第1の実施形態に係るログ分析システム1に、ログ分類手段41を追加した構成をもつ。なお、本実施形態に係るログ分析システム4において、第1の実施形態に係るログ分析システム1の構成(図1)と実質的に同一の構成については、同様の符号を付与して説明を省略する。
ログ分類手段41は、ログ収集手段11から統合ログを読み込み、読み込んだ統合ログに含まれるログメッセージの特徴に基づいて、特徴の類似度を算出する。ログ分類手段41は、算出した類似度が高い複数のログメッセージ同士をグループ化して分類し、同一のグループに分類されたログメッセージに共通のログID(グループ識別子とも呼ぶ)を付与する。そして、ログ分類手段41は、グループ毎に共通のログIDが付与されたログメッセージの統合ログをログ集計手段12に出力する。
以上が、本実施形態に係るログ分析システム4の構成についての説明である。
〔動作〕
次に、第4の実施形態に係るログ分析システム4の動作について説明する。なお、出現情報集計処理、基準パターン生成処理および基準パターン結合処理に関しては、第1の実施形態に係るログ分析システム1と同様であるため、説明は省略する。
〔ログ識別処理〕
図19は、本実施形態に係るログ分析システム4のログ分類手段41によるログ分類処理に関するフローチャートである。
図19において、まず、ログ分類手段41は、ログ収集手段11が生成した統合ログを読み込む(ステップS601)。
次に、ログ分類手段41は、読み込んだ統合ログに含まれる全てのログメッセージについて特徴量を算出し、類似度に基づく分類を行う(ステップS602)。
なお、特徴量の算出ならびに類似度に基づく分類においては、例えば、最短距離法や最長距離法、群平均法、ウォード法、k−Means法などのアルゴリズムならびに指標を用いることができる。
次に、ログ分類手段41は、分類結果に従って、分類された各グループにログIDを付与する(ステップS603)。
そして、ログ分類手段41は、各グループに付与されたログIDに従い、統合ログに含まれる全てのログメッセージに対してログIDを付与する(ステップS604)。
最後に、ログ分類手段41は、グループ毎に共通のログIDが付与されたログメッセージの統合ログをログ集計手段12に出力する(ステップS605)。
以降の動作は、第1の実施形態に係るログ分析システム1と同様であるため、説明を省略する。
〔効果〕
第4の実施形態に係るログ分析システムによれば、共通のログIDが付与されていない複数のログファイルからもパターン(組み合わせ)を少ない計算量で生成することができる。なぜならば、ログメッセージに基づいて特徴量を算出して分類することで類似するログメッセージに対し一意に識別可能なログIDを付与するログ分類手段と、同期して出現するログをまとめて基準パターンを生成する基準パターン生成手段とを備えるためである。
(第5の実施形態)
次に、本発明の第5の実施形態に係るログ分析システム5について説明する。
〔構成〕
図20は、第5の実施形態に係るログ分析システム5の機能構成を示すブロック図である。第5の実施形態に係るログ分析システム5は、第2の実施形態に係るログ分析システム2に、遷移時間学習手段51を加えた構成をもつ。なお、本実施形態に係るログ分析システム5において、第2の実施形態に係るログ分析システム2の構成(図12)と実質的に同一の構成については、同様の符号を付与して説明を省略する。また、図20には、パターン記憶手段15が遷移情報52およびパターン集合150を格納する様子を図示している。図20においては省略しているが、パターン記憶手段15は、図12と同様に順序情報22を格納している。
遷移時間学習手段51は、順序学習手段21が抽出した各パターンの順序情報22に基づいて、パターン内部における個々のログID間の遷移に掛かる遷移時間を抽出する。
図21は、遷移時間学習手段51が出力する遷移時間の一例(遷移時間テーブル510)を示す図である。遷移時間は、順序情報22におけるログID間の遷移と、遷移に掛かる時間とを表現する。
図21では、「1001、2004、3009、5025」というパターン(順序)には、「1001→2004」と「2004→3009」と「3009→5025」という三種類の遷移が含まれる。それぞれの遷移時間は、図21の遷移時間テーブル510中の括弧内に示すように、「1秒」「2秒」「1秒」である。
なお、図21では、一例として個々の遷移を分割して表現したが、個々の遷移を記録せずに、対応する遷移時間のみを記録するよう構成してもよい。また、図21では、パターン(組み合わせ)およびパターン(順序)を含むように記録しているが、それぞれ別に記憶されたものを固有の識別子を用いて読み込みできるように構成してもよい。
以上が、本実施形態に係るログ分析システム5の構成についての説明である。
〔動作〕
次に、第5の実施形態に係るログ分析システム5の動作について説明する。なお、順序情報生成処理、出現情報集計処理、基準パターン生成処理および基準パターン結合処理に関しては、第2の実施形態に係るログ分析システム2と同様であるため、説明は省略する。
〔遷移時間学習処理〕
図22は、本実施形態に係るログ分析システム4のログ分類手段41による遷移時間学習処理に関するフローチャートである。
まず、図22において、順序学習手段21は、パターン集合に含まれる各パターンの出現情報に基づき、統合ログの該当箇所を読み込む(ステップS701)。
なお、順序学習手段21によって読み込まれる該当箇所は、出現情報に記録された出現時刻と、別途定義された時間幅とによって決定される。例えば、出現時刻「2014/7/7_09:00:01」、時間幅「1分」ならば、「2014/7/7_09:00:01」から「2014/7/7_09:01:01」の統合ログを読み込む。
次に、順序学習手段21は、読み込んだ該当箇所に含まれるログメッセージのうち、パターンに含まれるIDの順序を読み込む(ステップS702)。
例えば、パターン「1001、2004、3009、5025」に関して、読み込んだデータが「1001、7049、6036、4900、3009、2004、8088、5025」であったとする。このとき、読み込んだデータに関してパターンに含まれるIDのみを参照すると、その順序は「1001、3009、2004、5025」である。
次に、遷移時間学習手段51は、順序学習手段21が読み込んだIDの順序に基づいて、ID間の遷移時間を計算する(ステップS703)。
例えば、ID「1001」の時刻が「2014/7/7_09:00:01」、ID「3009」の時刻が「2014/7/7_09:00:12」であった場合、遷移「1001→3009」の遷移時間は「11秒」である。
ここで、遷移時間学習手段51は、パターンの出現情報に含まれる全ての出現時刻に関して遷移時間が計算されたか否かを判断する(ステップ704)。
パターンの出現情報に含まれる出現時刻のうち、全ての遷移時間が計算された場合(ステップS704でYes)、ステップS705に進む。一方、パターンの出現情報に含まれる全ての出現時刻に関して遷移時間が計算されていない場合(ステップS704でNo)、ステップS702に戻る。
遷移時間学習手段51は、パターンの出現情報に含まれる全ての出現時刻に対し、上述のステップS702とステップS703の処理を繰り返し、各遷移の遷移時間を取得する。
次に、遷移時間学習手段51は、取得した遷移毎の遷移時間を集計し、平均値や中央値などの値を算出し、各遷移の遷移時間として記録する(ステップS705)。遷移時間学習手段51は、遷移時間として、平均値や中央値、分散などの値を求めて記録してもよいし、最大値と最小値との組のみを記録してもよい。あるいは、遷移時間学習手段51は、全ての遷移時間をそのまま記録するように構成してもよい。
ここで、遷移時間学習手段51は、パターン集合に含まれる全てのパターンとその遷移に対して遷移時間が計算されたか否かを判断する(ステップS706)。
パターン集合に含まれる全てのパターンとその遷移に対して遷移時間が計算された場合(ステップS706でYes)、遷移時間学習手段51は、生成した遷移時間に関する情報(遷移情報52)をパターン記憶手段15に記録する(ステップS707)。一方、パターン集合に含まれる全てのパターンとその遷移に対して遷移時間が計算されていない場合(ステップS706でNo)、ステップS701に戻る。
遷移時間学習手段51は、上記のステップS701〜ステップS706の処理をパターン毎に繰り返し、パターン集合に含まれる全てのパターンとその遷移に対して遷移時間を算出する。
以上が、ログ分類手段41による遷移時間学習処理に関する説明である。
〔効果〕
第5の実施形態に係るログ分析システムによれば、基準パターン結合手段が生成した結果に基づいてパターン内の各要素間の遷移時間を生成し、少ない計算量でパターンと当該パターンに含まれる識別子間の遷移時間を生成することができる。その理由は、本実施形態に係るログ分析システムが、基準パターン生成手段と遷移時間学習手段とを備えるからである。
(ハードウェア構成)
次に、本発明の実施形態に係るログ分析システムを可能とするためのハードウェア構成について、図23のコンピュータ60を一例として挙げて説明する。
図23のように、コンピュータ60は、プロセッサ61、主記憶装置62、補助記憶装置63、入出力インターフェース64、通信インターフェース67を備える。プロセッサ61、主記憶装置62、補助記憶装置63、入出力インターフェース64および通信インターフェース67は、バス68を介して互いにデータ授受可能に接続される。また、プロセッサ61、主記憶装置62、補助記憶装置63および入出力インターフェース64は、通信インターフェース67を介して図示しないネットワークと接続される。
プロセッサ61は、補助記憶装置63等に格納されたプログラムを主記憶装置62に展開し、展開されたプログラムを実行する。本実施形態においては、コンピュータ60にインストールされたソフトウェアプログラムを用いる構成とすればよい。また、ネットワーク経由でアクセスできるストレージなどに格納されていたソフトウェアプログラムを用いる構成としてもよい。
主記憶装置62は、例えばDRAM等の揮発性メモリとすればよい(DRAM:Dynamic Random Access Memory)。また、MRAM等の不揮発性メモリを主記憶装置62として構成・追加してもよい(MRAM:Magnetoresistive Random Access Memory)。主記憶装置62には、プログラムが展開される。
補助記憶装置63は、ハードディスクやフラッシュメモリ等のローカルディスクによって構成される。なお、補助記憶装置63は、コンピュータ60に接続された外部記憶装置としてもよいし、ネットワークを経由して接続されたネットワークストレージとしてもよい。
入出力インターフェース64は、コンピュータ60と周辺機器との接続規格に基づいて、コンピュータ60と周辺機器とを接続する装置である。通信インターフェース67は、図示しないネットワークとプロセッサ61との間のデータ授受を仲介する装置である。なお、図23においては、インターフェースをI/Fと略して表記している(I/F:Interface)。
また、コンピュータ60には、必要に応じて、キーボードやマウス、タッチパネルなどといった入力機器を備え付けてもよい。それらの入力機器は、情報や設定の入力に使用するために使用される。なお、タッチパネルを入力機器として用いる場合は、表示機器が入力機器を兼ねる構成となる。プロセッサ61と入力機器との間のデータ授受は、入出力インターフェース64に仲介させればよい。
また、コンピュータ60には、情報を表示するための表示機器を備え付けてもよい。表示機器を備え付ける場合、コンピュータ60には、表示機器の表示を制御するための表示制御装置(図示しない)が備えられる。図示しない表示機器は、入出力インターフェース64を介して接続すればよい。
また、コンピュータ60には、必要に応じて、リーダライタを備え付ける。リーダライタは、バス68に接続され、プロセッサ61と図示しない記録媒体(プログラム記録媒体)との間のデータ授受を仲介し、記録媒体からのデータ・プログラムの読み出し、コンピュータ60の処理結果を記録媒体に書き込む。記録媒体は、例えばSDカード等の半導体記録媒体などで実現できる(SD:Secure Digital)。また、記録媒体は、フレキシブルディスク等の磁気記録媒体、CDやDVD等の光学記録媒体によって実現してもよい(CD:Compact Disc、DVD:Digital Versatile Disc)。
以上が、本発明の実施形態に係るログ分析システムを可能とするためのハードウェア構成の一例である。なお、図23のハードウェア構成は、本実施形態に係るログ分析システムを可能とするためハードウェア構成の一例であって、本発明の範囲を限定するものではない。また、本実施形態に係るログ分析システムの処理をコンピュータに実行させるログ分析プログラムも本発明の範囲に含まれる。さらに、本発明の実施形態に係るログ分析プログラムを記録したプログラム記録媒体も本発明の範囲に含まれる。
上述した各実施形態は、適宜組み合わせて実施されることが可能である。各ブロック図に示したブロック分けは、説明の便宜上から表された構成である。各実施形態を例に説明された本発明は、その実装に際して、各ブロック図に示した構成には限定されない。また、本発明の実施形態に係るログ分析システムの動作の説明においては、複数の動作を順番に説明しているが、それらの動作の順番は支障のない範囲で変更することができる。また、それらの動作は、それぞれ別々のタイミングで実行されるとは限らない。例えば、ある動作の実行中に他の動作が並行して発生したり、ある動作と他の動作との実行タイミングが部分的にないし全部において重複したりしてもよい。さらに、各動作の説明においては、発明の理解を容易にするため、ある動作が他の動作の契機になるように記載しているが、そのような記載は、ある動作と他の動作との関係を限定するものではない。そのため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。
本発明の実施形態に係るログ分析システムは、情報処理システムや物理プラントなどを運用管理する技術に応用することができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2014年11月10日に出願された日本出願特願2014−227706を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1、2、3、4、5 ログ分析システム
11 ログ収集手段
12 ログ集計手段
13 基準パターン生成手段
14 基準パターン結合手段
15 パターン記憶手段
21 順序学習手段
22 順序情報
31 ログ識別手段
32 ログ識別情報
41 ログ分類手段
51 遷移時間学習手段
52 遷移情報
60 コンピュータ
61 プロセッサ
62 主記憶装置
63 補助記憶装置
64 入出力インターフェース
67 通信インターフェース
68 バス

Claims (10)

  1. ログメッセージの出現情報に基づいて、同期して出現する前記ログメッセージの組み合わせ毎に基準パターンを生成する基準パターン生成手段と、
    前記基準パターンに含まれる前記ログメッセージの出現情報を前記基準パターン間で比較し、比較した結果に基づいて前記基準パターン同士を結合する基準パターン結合手段とを備えるログ分析システム。
  2. 分析対象システムのログファイルを少なくとも一つ取得し、取得した前記ログファイルに含まれる前記ログメッセージをまとめた統合ログを生成するログ収集手段と、
    前記ログ収集手段が生成した前記統合ログに含まれる前記ログメッセージのそれぞれに付与されたログ識別子に対応させて、所定の時間帯において、前記ログメッセージが出現する出現時刻と、前記出現時刻において前記ログメッセージが出現する出現回数とを前記出現情報として集計するログ集計手段とを備える請求項1に記載のログ分析システム。
  3. 前記基準パターン生成手段は、
    前記ログ集計手段が集計した前記出現時刻および前記出現回数のうち少なくとも一方に基づいて前記ログ識別子同士を組み合わせることによって前記基準パターンを生成し、
    前記基準パターン結合手段は、
    前記基準パターン生成手段が組み合わせた前記基準パターンに関して、前記出現時刻および前記出現回数のうち少なくとも一方の類似度が所定の閾値条件を満たす前記基準パターンを少なくとも一つ選択し、選択した前記少なくとも一つの基準パターンを結合した基準パターン集合を出力する請求項2に記載のログ分析システム。
  4. 前記基準パターン結合手段は、
    前記基準パターン集合の中から選択した比較元となる第1のパターンと、前記基準パターン集合に含まれる比較対象となる第2のパターンとを比較し、前記第1および第2のパターンのうち前記出現情報が一致するパターンの出現回数の総和に相当する共通頻度に関して、前記第1のパターンの出現回数の総和に相当する第1の出現頻度と前記共通頻度との比である第1の類似度と、前記第2のパターンの出現回数の総和に相当する第2の出現頻度と前記共通頻度との比である第2の類似度を算出し、前記第1および前記第2の類似度の両方が所定の閾値条件を満たす前記基準パターン同士を結合する請求項3に記載のログ分析システム。
  5. 前記ログ収集手段から前記統合ログを読み込み、前記ログメッセージに付与された前記ログ識別子と、前記ログ識別子に対応する前記ログメッセージの本文との組の集合であるログ識別情報に基づいて、前記統合ログに含まれる前記ログメッセージの本文を参照して前記ログメッセージに前記ログ識別子を割り当てるログ識別手段を備える請求項2乃至4のいずれか一項に記載のログ分析システム。
  6. 前記ログ収集手段から前記統合ログを読み込み、前記統合ログに含まれる前記ログメッセージの特徴の類似度が高い前記ログメッセージ同士をグループ化して分類し、同一のグループに分類された前記ログメッセージに対して共通のグループ識別子を付与するログ分類手段を備える請求項2乃至5のいずれか一項に記載のログ分析システム。
  7. 前記基準パターン結合手段が出力した前記基準パターン集合に基づいて前記統合ログを参照し、前記基準パターン集合に含まれるパターン毎に前記パターンの順序情報を抽出する順序学習手段を備える請求項3または4に記載のログ分析システム。
  8. 順序学習手段が抽出した前記パターンの順序情報に基づいて、前記パターン内部における個々の前記ログ識別子間の遷移に掛かる遷移時間を抽出する遷移時間学習手段を備える請求項7に記載のログ分析システム。
  9. ログメッセージの出現情報に基づいて、同期して出現する前記ログメッセージの組み合わせ毎に基準パターンを生成し、
    前記基準パターンに含まれる前記ログメッセージの出現情報を前記基準パターン間で比較し、比較した結果に基づいて前記基準パターン同士を結合するログ分析方法。
  10. ログメッセージの出現情報に基づいて、同期して出現する前記ログメッセージの組み合わせ毎に基準パターンを生成する処理と、
    前記基準パターンに含まれる前記ログメッセージの出現情報を前記基準パターン間で比較し、比較した結果に基づいて前記基準パターン同士を結合する処理とをコンピュータに実行させるログ分析プログラム。
JP2016558878A 2014-11-10 2015-11-06 ログ分析システム、ログ分析方法およびログ分析プログラム Active JP6665784B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014227706 2014-11-10
JP2014227706 2014-11-10
PCT/JP2015/005570 WO2016075915A1 (ja) 2014-11-10 2015-11-06 ログ分析システム、ログ分析方法およびプログラム記録媒体

Publications (2)

Publication Number Publication Date
JPWO2016075915A1 JPWO2016075915A1 (ja) 2017-08-17
JP6665784B2 true JP6665784B2 (ja) 2020-03-13

Family

ID=55954018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016558878A Active JP6665784B2 (ja) 2014-11-10 2015-11-06 ログ分析システム、ログ分析方法およびログ分析プログラム

Country Status (2)

Country Link
JP (1) JP6665784B2 (ja)
WO (1) WO2016075915A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6803754B2 (ja) * 2017-01-16 2020-12-23 株式会社日立製作所 ログメッセージグループ化装置、ログメッセージグループ化システムおよびログメッセージグループ化方法
KR20190059055A (ko) * 2017-11-22 2019-05-30 한화정밀기계 주식회사 데이터 시각화 시스템, 방법 및 컴퓨터 판독 가능한 기록매체
JP7006347B2 (ja) * 2018-02-13 2022-01-24 日本電気株式会社 管理装置、管理方法とそのプログラム
KR20200070756A (ko) * 2018-12-10 2020-06-18 삼성전자주식회사 전자장치, 그 제어방법 및 기록매체
JP2020149250A (ja) * 2019-03-12 2020-09-17 富士通株式会社 出力プログラム、出力方法および情報処理装置
JP2022167451A (ja) * 2021-04-23 2022-11-04 日立Astemo株式会社 情報処理装置、情報処理方法、プログラムおよび記憶媒体
CN113595787B (zh) * 2021-07-27 2024-03-29 招商银行股份有限公司 基于日志模板的实时日志自动告警方法、程序及介质
JP2023124581A (ja) * 2022-02-25 2023-09-06 三菱電機株式会社 分析装置及び分析方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4314123B2 (ja) * 2004-01-30 2009-08-12 株式会社山武 アラーム解析装置、アラーム解析方法及びアラーム解析プログラム
JP4746850B2 (ja) * 2004-06-21 2011-08-10 富士通株式会社 パターン生成プログラム
US8738625B2 (en) * 2012-06-05 2014-05-27 Hitachi, Ltd. Log management system and program
JP5798095B2 (ja) * 2012-08-10 2015-10-21 日本電信電話株式会社 ログ生成則作成装置及び方法

Also Published As

Publication number Publication date
WO2016075915A1 (ja) 2016-05-19
JPWO2016075915A1 (ja) 2017-08-17

Similar Documents

Publication Publication Date Title
JP6665784B2 (ja) ログ分析システム、ログ分析方法およびログ分析プログラム
US9753801B2 (en) Detection method and information processing device
JP6233411B2 (ja) 障害分析装置、障害分析方法、および、コンピュータ・プログラム
US9021304B2 (en) Fault analysis rule extraction device, fault analysis rule extraction method and storage medium
US10248517B2 (en) Computer-implemented method, information processing device, and recording medium
JP7247021B2 (ja) 情報処理装置、予測判別システム、および予測判別方法
CN103714086A (zh) 用于生成非关系数据库的模式的方法和设备
JP6242540B1 (ja) データ変換システム及びデータ変換方法
JP4383484B2 (ja) メッセージ解析装置、制御方法および制御プログラム
JP6955676B2 (ja) ログ分析方法、システムおよび記録媒体
JP2017045080A (ja) 業務フロー仕様再生方法
CN104603779A (zh) 文本挖掘设备、文本挖掘方法和计算机可读记录介质
JP2013149061A (ja) 文書類似性評価システム、文書類似性評価方法およびコンピュータ・プログラム
CN110019017B (zh) 一种基于访问特征的高能物理文件存储方法
US10042686B2 (en) Determination method, selection method, and determination device
JP2016085152A (ja) 診断装置、診断プログラム及び診断方法
JP7003574B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP6393411B2 (ja) データ分析支援システム及びデータ分析支援方法
KR102183053B1 (ko) 지식 그래프를 정제하기 위한 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
JPWO2018122889A1 (ja) 異常検出方法、システムおよびプログラム
JP2017207878A (ja) 欠落データ推定方法、欠落データ推定装置および欠落データ推定プログラム
JP2016126532A (ja) 算出プログラム、情報処理装置、および算出方法
JP6508202B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
US20220253529A1 (en) Information processing apparatus, information processing method, and computer readable medium
JP7021401B1 (ja) ロギング支援装置、ロギングシステム、ロギング支援方法及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190829

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200203

R150 Certificate of patent or registration of utility model

Ref document number: 6665784

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150