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

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

Info

Publication number
JP6756379B2
JP6756379B2 JP2018558511A JP2018558511A JP6756379B2 JP 6756379 B2 JP6756379 B2 JP 6756379B2 JP 2018558511 A JP2018558511 A JP 2018558511A JP 2018558511 A JP2018558511 A JP 2018558511A JP 6756379 B2 JP6756379 B2 JP 6756379B2
Authority
JP
Japan
Prior art keywords
log
analysis
abnormality
anomaly
format
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
JP2018558511A
Other languages
English (en)
Other versions
JPWO2018122890A1 (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 JPWO2018122890A1 publication Critical patent/JPWO2018122890A1/ja
Application granted granted Critical
Publication of JP6756379B2 publication Critical patent/JP6756379B2/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection

Description

本発明は、ログを分析するためのログ分析方法、システムおよびプログラムに関する。
コンピュータ上で実行されるシステムでは、一般的にイベントの結果やメッセージ等を含むログが出力される。システム異常等が発生した際には、通常時と比べてログの出力頻度および内容に変化が生じる。そのため、ログの出力頻度や内容に基づいて異常を検出する様々な方法が考案されている。
特許文献1に記載の技術は、過去のログ(イベント)が出力された頻度の分布から平均および標準偏差を算出し、算出された平均および標準偏差から理論的分布(正規分布、ポワソン分布等)を生成する。そして該技術は、理論的分布に基づいて分析対象のログから異常が発生したか否かを判定する。
特開2005−236862号公報
特許文献1に記載の技術は、ログの出力頻度の変化に基づいて異常の発生を検出する。しかしながら、特許文献1に記載の技術では、さらに異常の原因を分析するために他のログ分析方法を協調させて動作させることは想定されていない。
また、複数のログ分析方法を独立して実行する場合には、異常の発生時に多数の通知が発生する。そのため、利用者は多数の通知を同時に受けることになり、迅速に異常の対応および分析を行うことが難しい。
本発明は、上述の問題に鑑みて行われたものであって、複数の分析を協調させてログの異常を段階的に分析することができるログ分析方法、システムおよびプログラムを提供することを目的とする。
本発明の第1の態様は、ログ分析方法であって、ログの出力に基づいて異常を検出する第1の分析を行う工程と、前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う工程とを含み、前記第2の分析を行う工程は、前記ログに含まれる前記変数部分の値に基づいて前記異常を分析し、前記ログの前記形式および前記ログに含まれる前記変数部分の値の組み合わせごとに前記ログの分布を生成することによって前記異常を分析する
本発明の第2の態様は、ログ分析プログラムであって、コンピュータに、ログの出力に基づいて異常を検出する第1の分析を行う工程と、前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う工程と、前記ログが、変化可能な変数部分と変化しない定数部分とを含む、予め決められた複数の形式のいずれに合致するか判定する工程とを実行させ、前記第2の分析を行う工程は、前記ログに含まれる前記変数部分の値に基づいて前記異常を分析し、前記ログの前記形式および前記ログに含まれる前記変数部分の値の組み合わせごとに前記ログの分布を生成することによって前記異常を分析する。
本発明の第3の態様は、ログ分析システムであって、ログの出力に基づいて異常を検出する第1の分析を行う簡易異常分析部と、前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う詳細異常分析部と、前記ログが、変化可能な変数部分と変化しない定数部分とを含む、予め決められた複数の形式のいずれに合致するか判定する判定部とを備え、前記詳細異常分析部は、前記ログに含まれる前記変数部分の値に基づいて前記異常を分析し、前記ログの前記形式および前記ログに含まれる前記変数部分の値の組み合わせごとに前記ログの分布を生成することによって前記異常を分析する。


本発明によれば、ログの出力に基づく第1の分析を行った後に、該第1の分析の結果を用いてログの詳細な内容に基づく第2の分析を行うため、複数の分析を協調させてログの異常を段階的に分析することができる。
第1の実施形態に係るログ分析システムのブロック図である。 第1の実施形態に係る分析対象ログの模式図である。 第1の実施形態に係るフォーマットの模式図である。 第1の実施形態に係るログ分析方法の模式図である。 第1の実施形態に係るログ分析システムの概略構成図である。 第1の実施形態に係るログ分析方法のフローチャートを示す図である。 第2の実施形態に係るログ分析システムのブロック図である。 第2の実施形態に係るログ分析方法の模式図である。 第3の実施形態に係るログ分析方法の模式図である。 第3の実施形態に係るログ分析方法の模式図である。 各実施形態に係るログ分析システムのブロック図である。
以下、図面を参照して、本発明の実施形態を説明するが、本発明は本実施形態に限定されるものではない。なお、以下で説明する図面で、同機能を有するものは同一符号を付け、その繰り返しの説明は省略することもある。
(第1の実施形態)
図1は、本実施形態に係るログ分析システム100のブロック図である。図1において、矢印は主なデータの流れを示しており、図1に示したもの以外のデータの流れがあってよい。図1において、各ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図1に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に別れて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
ログ分析システム100は、処理部として、ログ入力部110、フォーマット判定部120、簡易異常分析部130、詳細異常分析部140および通知制御部150を備える。また、ログ分析システム100は、記憶部として、フォーマット記憶部161およびログ履歴記憶部162を備える。
ログ入力部110は、分析の対象とする分析対象ログ10を受け取り、ログ分析システム100に入力する。分析対象ログ10は、ログ分析システム100の外部から取得されてよく、あるいはログ分析システム100の内部に予め記録されたものを読み出すことにより取得されてよい。分析対象ログ10は、1つ以上の装置又はプログラムから出力される1つ以上のログを含む。分析対象ログ10は、任意のデータ形式(ファイル形式)で表されたログであり、例えばバイナリデータ又はテキストデータでよい。また、分析対象ログ10はデータベースのテーブルとして記録されてよく、あるいはテキストファイルとして記録されてよい。
図2は、例示的な分析対象ログ10の模式図である。本実施形態における分析対象ログ10は、装置又はプログラムから出力される1つのログを1単位とし、1つ以上の任意の数のログを含む。1つのログは1行の文字列でよく、あるいは複数行の文字列でよい。すなわち、分析対象ログ10は分析対象ログ10に含まれるログの総体を指し、ログは分析対象ログ10から抜き出された1つのログを指す。各ログは、タイムスタンプおよびメッセージ等を含む。ログ分析システム100は、特定の種類のログに限らず、広範な種類のログを分析対象とすることができる。例えば、syslog、イベントログ等のオペレーティングシステムやアプリケーションなどから出力されるメッセージを記録する任意のログを分析対象ログ10として用いることができる。
フォーマット判定部120は、分析対象ログ10に含まれる各ログに対して、フォーマット記憶部161に予め記録されているいずれのフォーマット(形式)に合致するかを判定し、合致するフォーマットを用いて各ログを変数部分と定数部分とに分離する。フォーマット判定が行われたログは、判定されたフォーマットを示す情報とともにログ履歴記憶部162に記録される。フォーマットとは、ログの特性に基づいて予め決められた、ログの種類である。ログの特性は、互いに類似するログ間で変化しやすい又は変化しづらいという性質や、ログ中で変化しやすい部分を示す文字列が記載されているという性質を含む。変数部分とはフォーマットの中で変化可能な部分であり、定数部分とはフォーマットの中で変化しない部分である。入力されたログ中の変数部分の値(数値、文字列およびその他のデータを含む)を変数値と呼ぶ。変数部分および定数部分はフォーマット毎に異なる。そのため、あるフォーマットでは変数部分として定義される部分が、別のフォーマットでは定数部分として定義されることや、その逆があり得る。
図3は、フォーマット記憶部161に記録される例示的なフォーマットの模式図である。フォーマットは、一意のフォーマットIDに関連付けられたフォーマットを表す文字列を含む。フォーマットは、ログ中の変化可能な部分に所定の識別子を記載することによって変数部分として規定し、ログ中の変数部分以外の部分を定数部分として規定する。変数部分の識別子として、例えば「<変数:タイムスタンプ>」はタイムスタンプを表す変数部分を示し、「<変数:文字列>」は任意の文字列を表す変数部分を示し、「<変数:数値>」は任意の数値を表す変数部分を示し、「<変数:IP>」は任意のIPアドレスを表す変数部分を示す。変数部分の識別子はこれらに限られず、正規表現や、取り得る値のリスト等の任意の方法により定義されてよい。また、フォーマットは変数部分を含まずに定数部分のみによって構成されてよく、あるいは定数部分を含まずに変数部分のみによって構成されてよい。
例えば、フォーマット判定部120は、図2の3行目のログを、図3のIDが1であるフォーマットに合致すると判定する。そして、フォーマット判定部120は、判定されたフォーマットに基づいて該ログを処理し、タイムスタンプである「2015/08/17 08:28:37」、文字列である「SV003」、数値である「3258」およびIPアドレスである「192.168.1.23」を変数値として決定する。
図3において、フォーマットは視認性のために文字列のリストで表されているが、任意のデータ形式(ファイル形式)で表されてよく、例えばバイナリデータ又はテキストデータでよい。また、フォーマットはバイナリファイル又はテキストファイルとしてフォーマット記憶部161に記録されてよく、あるいはデータベースのテーブルとしてフォーマット記憶部161に記録されてよい。
簡易異常分析部130および詳細異常分析部140は、以下に説明するログ分析方法によって、分析対象ログ10に対して2つの段階で異常を検出および分析する。
図4は、本実施形態に係るログ分析方法の模式図である。まず、簡易異常分析部130は、分析対象ログ10に対して簡易異常分析(第1の分析)を行い、異常が発生したことおよびその時間を検出する。簡易異常分析は、分析対象ログ10中のログの出力数の傾向の変化等、ログ出力の時系列変化を用いて異常を検出する分析である。
具体的には、簡易異常分析部130は、分析対象ログ10に含まれるログが各時間(時刻)までに出力された数を合計した累積出力数の分布A1を生成する。累積出力数は、1つのフォーマットのログの出力数でよく、あるいは複数のフォーマットのログの出力数の合計でよく、あるいは全てのフォーマットのログの出力数の合計でよい。そして、簡易異常分析部130は、累積出力数の分布A1から、累積出力数が急激に増加する時間を異常検出時間t1として検出する。累積出力数が急激に増加することは、例えばある時間から次の時間の累積出力数の増加数又は増加率が所定の閾値以上であることによって検出される。閾値は、実験やシミュレーションによって適宜決定される。簡易異常分析のために、累積出力数に代えて、単位時間あたりの出力頻度を用いてもよい。
詳細異常分析部140は、簡易異常分析部130によって異常が検出された場合に、簡易異常分析部130によって検出された異常検出時間t1を含む所定の時間範囲内に出力されたログをログ履歴記憶部162から読み出して詳細異常分析(第2の分析)を行い、異常の原因を示す情報を検出する。詳細異常分析は、分析対象ログ10中のログに含まれる変数値等、ログの内容を用いて異常を検出する分析である。
具体的には、詳細異常分析部140は、簡易異常分析部130によって検出された異常検出時間t1の前後の第1の時間範囲(例えば異常検出時間t1の前後12時間)に該当するログおよびそのフォーマットをログ履歴記憶部162から取得し、取得されたログに含まれる変数値ごとのログの出力数の分布A2を生成する。図4の例では、変数としてサーバ名を用いているが、ファイル名、IPアドレス等、異常の原因となり得る任意の変数を用いて変数値ごとの分布A2を生成してよい。
詳細異常分析部140は、変数値ごとの分布A2から、異常検出時間t1の近傍で出力数が増加している変数値(ここではサーバ名「SV003」)を異常の原因を示す情報として検出する。出力数が増加していることは、例えば異常検出時間t1の前後の第1の時間範囲(例えば異常検出時間t1の前後12時間)の平均出力数に対する、異常検出時間t1の前後の第2の時間範囲(例えば異常検出時間t1の前後1時間)の平均出力数の増加数又は増加率が所定の閾値以上であることによって検出される。ここで第2の時間範囲は、第1の時間範囲より短く設定される。これにより、ログの定期的又は規則的な出力ではなく、異常の発生の近傍でのログの不定期又は不規則な出力を検出することができる。詳細異常分析のために、出力数に代えて、単位時間あたりの出力頻度を用いてもよい。
通知制御部150は、簡易異常分析部130および詳細異常分析部140によって検出された異常を示す情報(例えば異常が検出された時間、該時間の前後のログ、および異常の原因を示す情報)を、ディスプレイ20を用いて通知する制御を行う。通知制御部150による異常の通知は、ディスプレイ20による表示に限らず、プリンタによる印刷、スピーカによる音声出力等、利用者に対して通知することが可能な任意の方法によって行われてよい。
簡易異常分析では、ログの出力(ここではログの出力数又はログの出力頻度の時系列変化)に基づいて異常を検出するため、計算コストが低い。一方、詳細異常分析では、ログの内容(ここではログに含まれる変数値)の詳細な分析を行うため、詳細な異常の分析を行うことができるものの、簡易異常分析よりも計算コストが高い。そのため、本実施形態は、ログの出力に基づいて異常を検出する簡易異常分析を行った後に、簡易異常分析によって検出された異常の発生時間を含む所定の時間範囲内に出力されたログの内容に基づいて異常を分析する詳細異常分析を行う。すなわち、本実施形態では、簡易異常分析を行って詳細異常分析の対象とする分析範囲を絞り込むことによって、計算コストを低減しつつ詳細な異常の分析を行うことができる。また、簡易異常分析によって絞り込まれた分析範囲についてのみ詳細異常分析を行うため、簡易異常分析および詳細異常分析を独立して実行するよりも無駄な異常の通知の数を低減することができる。
図5は、本実施形態に係るログ分析システム100の例示的な機器構成を示す概略構成図である。ログ分析システム100は、CPU(Central Processing Unit)101と、メモリ102と、記憶装置103と、通信インターフェース104と、ディスプレイ20とを備える。ログ分析システム100は独立した装置でよく、あるいは他の装置と一体に構成されてよい。
通信インターフェース104は、データの送受信を行う通信部であり、有線通信および無線通信の少なくとも一方の通信方式を実行可能に構成される。通信インターフェース104は、該通信方式に必要なプロセッサ、電気回路、アンテナ、接続端子等を含む。通信インターフェース104は、CPU101からの信号に従って、該通信方式を用いてネットワークに接続され、通信を行う。通信インターフェース104は、例えば分析対象ログ10を外部から受信する。
記憶装置103は、ログ分析システム100が実行するプログラムや、プログラムによる処理結果のデータ等を記憶する。記憶装置103は、読み取り専用のROM(Read Only Memory)や、読み書き可能のハードディスクドライブ又はフラッシュメモリ等を含む。また、記憶装置103は、CD−ROM等のコンピュータ読取可能な可搬記憶媒体を含んでもよい。メモリ102は、CPU101が処理中のデータや記憶装置103から読み出されたプログラムおよびデータを一時的に記憶するRAM(Random Access Memory)等を含む。
CPU101は、処理に用いる一時的なデータをメモリ102に一時的に記録し、記憶装置103に記録されたプログラムを読み出し、該プログラムに従って該一時的なデータに対して種々の演算、制御、判別などの処理動作を実行するプロセッサである。また、CPU101は、記憶装置103に処理結果のデータを記録し、また通信インターフェース104を介して処理結果のデータを外部に送信する。
本実施形態においてCPU101は、記憶装置103に記録されたプログラムを実行することによって、図1のログ入力部110、フォーマット判定部120、簡易異常分析部130、詳細異常分析部140および通知制御部150として機能する。また、本実施形態において記憶装置103は、図1のフォーマット記憶部161およびログ履歴記憶部162として機能する。
ディスプレイ20は、利用者に対して情報を表示する表示装置である。ディスプレイ20として、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ等の任意の表示装置を用いてよい。ディスプレイ20は、CPU101からの信号に従って、所定の情報を表示する。
ログ分析システム100は、図5に示す具体的な構成に限定されない。ログ分析システム100は、1つの装置に限られず、2つ以上の物理的に分離した装置が有線又は無線で接続されることにより構成されていてもよい。ログ分析システム100に含まれる各部は、それぞれ電気回路構成により実現されていてもよい。ここで、電気回路構成とは、単一のデバイス、複数のデバイス、チップセット又はクラウドを概念的に含む文言である。
また、ログ分析システム100の少なくとも一部がSaaS(Software as a Service)形式で提供されてよい。すなわち、ログ分析システム100を実現するための機能の少なくとも一部が、ネットワーク経由で実行されるソフトウェアによって実行されてよい。
図6は、本実施形態に係るログ分析システム100を用いるログ分析方法のフローチャートを示す図である。図6のフローチャートは、例えば利用者がログ分析システム100に対してログ分析を実行するための所定の操作を行うことによって開始される。まず、ログ入力部110は、分析対象ログ10を受け取り、ログ分析システム100に入力する(ステップS101)。フォーマット判定部120は、ステップS101で入力された分析対象ログ10に含まれる各ログについて、フォーマット記憶部161に記録されたいずれのフォーマットに適合するか判定する(ステップS102)。フォーマット判定部120は、フォーマット判定が行われた分析対象ログ10に含まれる各ログを、判定されたフォーマットを示す情報とともにログ履歴記憶部162に記録する。
次に、簡易異常分析部130は、ステップS102でフォーマットが判定されたログに対して、上述の簡易異常分析(第1の分析)を行い、異常が発生したことおよびその時間を検出する(ステップS103)。
簡易異常分析部130によって異常が検出された場合に(ステップS104のYES)、詳細異常分析部140は、ステップS102でフォーマットが判定されたログのうちステップS103で検出された異常検出時間を含む所定の時間範囲内のログに対して、上述の詳細異常分析(第2の分析)を行い、異常の原因を分析し、異常の原因を示す情報を検出する(ステップS105)。
通知制御部150は、ステップS103およびS105で検出された異常を示す情報(例えば異常が検出された時間、該時間の前後のログ、および異常の原因を示す情報)を、ディスプレイ20を用いて通知する制御を行う(ステップS106)。ステップS106における通知を行った後、あるいはステップS103で異常が検出されない場合に(ステップS104のNO)、ログ分析方法を終了する。
ログ分析システム100のCPU101は、図6に示すログ分析方法に含まれる各ステップ(工程)の主体となる。すなわち、CPU101は、図6に示すログ分析方法を実行するためのプログラムをメモリ102又は記憶装置103から読み出し、該プログラムを実行してログ分析システム100の各部を制御することによって図6に示すログ分析方法を実行する。
従来、複数のログ分析方法を協調させて行うことは想定されていなかった。異なる種類の分析を行う複数のログ分析方法を独立して実行する場合には、無駄な計算コストが発生し、また異常の発生時にそれぞれのログ分析方法から多数の通知が発生するおそれがあった。多数の通知が発生すると利用者が各通知の重要性を判断する必要があり、利用者の業務の負荷が増加してしまう。それに対して、本実施形態では簡易異常分析を行って詳細異常分析の対象とする分析範囲を絞り込むことによって、計算コストを低減しつつ詳細な異常の分析を行うことができる。また、簡易異常分析によって絞り込まれた分析範囲についてのみ詳細異常分析を行うため、簡易異常分析および詳細異常分析を独立して実行するよりも無駄な異常の通知の数を低減することができる。
(第2の実施形態)
本実施形態では、第1の実施形態とは異なる手法を用いて簡易異常分析および詳細異常分析を行う。図7は、本実施形態に係るログ分析システム200のブロック図である。ログ分析システム200は、図1のログ分析システム100の構成に加えて、記憶部としてモデル記憶部263を備えており、簡易異常分析部230において行われる簡易異常分析および詳細異常分析部240において行われる詳細異常分析の内容が異なる。以下では第1の実施形態と異なる部分のみを説明する。
図8は、本実施形態に係るログ分析方法の模式図である。まず、簡易異常分析部230は、分析対象ログ10に対して簡易異常分析(第1の分析)を行い、異常が発生したことおよびその時間を検出する。
具体的には、簡易異常分析部230は、分析対象ログ10に含まれる各ログB1が、モデル記憶部263に予め記録されたフォーマットおよび変数値の少なくとも一方を示すモデルのいずれかに該当するか否かを判定する。すなわち、簡易異常分析部230は、ログB1のフォーマットおよび変数値がモデル記憶部263に記録されたいずれかのモデルのフォーマットおよび変数値に合致する場合に該ログB1は正常であり、いずれのモデルのフォーマットおよび変数値にも合致しない場合に該ログB1は異常であると判定する。そして、簡易異常分析部230は、異常なログB1が出力された時間を異常検出時間t1として検出する。このようなモデルに基づくログの異常の判定は計算コストが低いため、簡易異常分析として用いることができる。
モデル記憶部263には、正常なフォーマットおよび変数値の組み合わせを示すモデルが予め記録されている。モデル記憶部263に記録されるモデルは、フォーマットおよび変数値の組み合わせに限らず、フォーマットおよび変数値の少なくとも一方によって規定されてよい。すなわち、フォーマットのみを示すモデルについては、簡易異常分析部230は、分析対象ログ10に含まれるログのフォーマットが、いずれかのモデルのフォーマットに合致するか否かによって正常および異常を判定する。変数値のみを示すモデルについては、簡易異常分析部230は、分析対象ログ10に含まれるログに、いずれかのモデルの変数値が含まれるか否かによって正常および異常を判定する。
詳細異常分析部240は、簡易異常分析部230によって異常が検出された場合に、簡易異常分析部230によって検出された異常検出時間t1を含む所定の時間範囲内に出力されたログをログ履歴記憶部162から読み出して詳細異常分析(第2の分析)を行い、異常の原因を示す情報を検出する。
具体的には、詳細異常分析部240は、ログ履歴記憶部162に記録された分析対象ログ10から簡易異常分析部230によって検出された異常検出時間t1の前後の第1の時間範囲(例えば異常検出時間t1の前後12時間)に該当するログおよびそのフォーマットをログ履歴記憶部162から取得する。そして、詳細異常分析部240は、取得されたログをフォーマットおよび変数値の組み合わせごとに分離して、フォーマットおよび変数値の組み合わせごとのログの出力数の分布B2を生成する。
例えば図8の例では、フォーマットおよび変数値の組み合わせα、β、γについて分布B2が生成されている。例えば、組み合わせαはフォーマットIDが「1」および変数値が「SV002」の組み合わせであり、組み合わせβはフォーマットIDが「1」および変数値が「SV003」の組み合わせであり、組み合わせγはフォーマットIDが「3」および変数値が「SV003」の組み合わせである。これに限らず、フォーマットおよび変数値の任意の組み合わせについて分布B2が生成されてよい。分布B2は、フォーマットおよび変数値の全ての組み合わせについて生成されてよく、あるいは所定の条件を満たす(例えばサーバ名を示す変数値を含む)一部の組み合わせについて生成されてよい。
そして、詳細異常分析部240は、組み合わせごとの分布B2から、異常検出時間t1の近傍で出力数が増加している組み合わせを異常の原因を示す情報として検出する。出力数が増加していることは、例えば異常検出時間t1の前後の第1の時間範囲(例えば異常検出時間t1の前後12時間)の平均出力数に対する、異常検出時間t1の前後の第2の時間範囲(例えば異常検出時間t1の前後1時間)の平均出力数の増加数又は増加率が所定の閾値以上であることによって検出される。ここで第2の時間範囲は、第1の時間範囲より短く設定される。これにより、ログの定期的又は規則的な出力ではなく、異常の発生の近傍でのログの不定期又は不規則な出力を検出することができる。詳細異常分析のために、出力数に代えて、単位時間あたりの出力頻度を用いてもよい。また、日付および時刻を含む時間ごとの出力数又は出力頻度ではなく、複数の日付のログの出力数又は出力頻度を1日の中の時刻ごとに集計したログの周期を用いて詳細異常分析を行ってもよい。
通知制御部150は、簡易異常分析部230および詳細異常分析部240によって検出された異常を示す情報(例えば異常が検出された時間、該時間の前後のログ、および異常の原因を示す情報)を、ディスプレイ20を用いて通知する制御を行う。通知制御部150による異常の通知は、ディスプレイ20による表示に限らず、プリンタによる印刷、スピーカによる音声出力等、利用者に対して通知することが可能な任意の方法によって行われてよい。
本実施形態においても、第1の実施形態と同様に、簡易異常分析では、ログの出力(ここでは正常なモデルに合致しないログの出力)に基づいて異常を検出するため、計算コストが低い。一方、詳細異常分析では、ログの内容(ここではログのフォーマットおよびログに含まれる変数値の組み合わせ)の詳細な分析を行うため、異常の詳細な原因分析を行うことができるものの、簡易異常分析よりも計算コストが高い。そのため、本実施形態は、ログの出力に基づいて異常を検出する簡易異常分析を行った後に、簡易異常分析によって検出された異常の発生時間を含む所定の時間範囲内に出力されたログの内容に基づいて詳細異常分析を行う。すなわち、本実施形態では、簡易異常分析を行って詳細異常分析の対象とする分析範囲を絞り込むことによって、計算コストを低減しつつ詳細な異常の分析を行うことができる。また、簡易異常分析によって絞り込まれた分析範囲についてのみ詳細異常分析を行うため、簡易異常分析および詳細異常分析を独立して実行するよりも不要な異常の通知の数を低減することができる。さらに、フォーマットおよび変数の組み合わせごとに分離された分布を生成することによって検出を行うため、変数値単独の分布では埋もれていた分布の特徴に基づいて異常の原因を示す情報を検出することができる。
(第3の実施形態)
本実施形態は、第2の実施形態の詳細異常分析においてログの分布から異常の原因を示す情報を検出するための方法を提供する。本実施形態の方法は、第2の実施形態に係るログ分析システム200において利用される。
図9および10は、それぞれ本実施形態に係るログ分析方法の模式図である。図9および10は異なる種類のグラフを用いているが、共通のログ分析方法を示す。図9の方法では、詳細異常分析部240は、フォーマットおよび変数値の組み合わせごとに、各時間(時刻)までに簡易異常分析部230によって判定された異常なログの数を合計した累積異常発生数のグラフC1を生成する。図10の方法では、詳細異常分析部240は、フォーマットおよび変数値の組み合わせごとに、各時間(時刻)における簡易異常分析部230によって判定された異常なログの単位時間あたりの出現頻度である異常発生頻度のグラフD1を生成する。図9、10には、正常時および異常時の累積異常発生数のグラフC1、D1とともに、各時間における異常なログの出力数の分布C2、D2が示されている。
図9、10の上のグラフのように、正常時であっても、分布C2、D2に示す定期的又は規則的に出力される異常なログは、例えば単にモデルとして未登録のログであることが多く、異常の原因を示す情報として検出する重要性は低い。それに対して、図9、10の下のグラフのように、異常時には分布C2、D2に不定期又は不規則な変化が起こる。このような異常なログの出力数の不定期又は不規則な変化は異常が発生していることを示していることが多いため、本実施形態に係る詳細異常分析部240は、異常なログの出力数の不定期又は不規則な変化に基づいて異常の原因を示す情報を検出する。
分布C2、D2における不定期又は不規則な変化を検出するために、本実施形態に係る詳細異常分析部240は、累積異常発生数のグラフC1又は異常発生頻度のグラフD1の変化点を検出する。累積異常発生数のグラフC1の変化点としては、グラフC1中の変曲点を用いる。図9の下のグラフのように、異常なログの出力数に不定期又は不規則な変化が発生すると、特定の時間t4においてグラフC1の傾きが不連続に変化する。そのため、詳細異常分析部240は、フォーマットおよび変数値の組み合わせごとにグラフC1中で傾きの変化量が所定の閾値以上である変曲点を検出する。そして、詳細異常分析部240は、変曲点が存在するグラフC1のフォーマットおよび変数値の組み合わせを、異常の原因を示す情報として検出する。変曲点を検出するための閾値は、実験やシミュレーションによって適宜決定される。
異常発生頻度のグラフD1の変化点としては、グラフD1中の不連続点を用いる。図10の下のグラフのように、異常なログの出力数に不定期又は不規則な変化が発生すると、特定の時間t5においてグラフD1が不連続に変化する。そのため、詳細異常分析部240は、フォーマットおよび変数値の組み合わせごとにグラフD1中で変化量が所定の閾値以上である不連続点を検出する。そして、詳細異常分析部240は、不連続点が存在するグラフD1のフォーマットおよび変数値の組み合わせを、異常の原因を示す情報として検出する。不連続点を検出するための閾値は、実験やシミュレーションによって適宜決定される。
このように本実施形態に係る詳細異常分析部240は、累積異常発生数又は異常発生頻度のグラフの変化点を用いることによって、異常なログの数の分布そのものを直接分析するよりも、高精度に不定期又は不規則な変化を検出することができる。本実施形態は第2の実施形態と組み合わせているが、第1の実施形態と組み合わせてもよい。その場合には、詳細異常分析部240は、累積ログ出力数又はログ出力頻度のグラフの変化点を検出することによって異常の原因を示す情報を検出してよい。
(その他の実施形態)
図11は、上述の各実施形態に係るログ分析システム100、200の概略構成図である。図11には、ログ分析システム100、200が複数の分析を協調させてログの異常を段階的に分析する装置として機能するための構成例が示されている。ログ分析システム100、200は、ログの出力に基づいて異常を検出する第1の分析を行う簡易異常分析部130、230と、前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う詳細異常分析部140、240と、を備える。
本発明は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラム(より具体的には、図6に示す処理をコンピュータに実行させるログ分析プログラム)を記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
該記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性メモリカード、ROMを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS上で動作して処理を実行するものも各実施形態の範疇に含まれる。
上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ログの出力に基づいて異常を検出する第1の分析を行う工程と、
前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う工程と、
を含むログ分析方法。
(付記2)
前記ログが、変化可能な変数部分と変化しない定数部分とを含む、予め決められた複数の形式のいずれに合致するか判定する工程をさらに含み、
前記第2の分析を行う工程は、前記ログに含まれる前記変数部分の値に基づいて前記異常を分析する、付記1に記載のログ分析方法。
(付記3)
前記第2の分析を行う工程は、前記ログに含まれる前記変数部分の値ごとに前記ログの分布を生成することによって前記異常を分析することを特徴とする、付記2に記載のログ分析方法。
(付記4)
前記第2の分析を行う工程は、前記ログの前記形式および前記ログに含まれる前記変数部分の値の組み合わせごとに前記ログの分布を生成することによって前記異常を分析することを特徴とする、付記2に記載のログ分析方法。
(付記5)
前記第1の分析を行う工程は、前記ログの出力数又は出力頻度の時系列変化に基づいて前記異常を検出することを特徴とする、付記1〜4のいずれか一項に記載のログ分析方法。
(付記6)
前記第1の分析を行う工程は、予め記録された前記形式および前記変数部分の値のいずれにも合致しない前記ログが出力された場合に、前記異常を検出することを特徴とする、付記2〜4のいずれか一項に記載のログ分析方法。
(付記7)
前記第2の分析を行う工程は、前記第1の分析を行う工程における予め記録された前記形式および前記変数部分の値のいずれにも合致しない前記ログの数又は頻度の時系列のグラフを生成し、前記グラフ中の変化点に基づいて前記異常を分析することを特徴とする、付記6に記載のログ分析方法。
(付記8)
コンピュータに、
ログの出力に基づいて異常を検出する第1の分析を行う工程と、
前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う工程と、
を実行させるログ分析プログラム。
(付記9)
ログの出力に基づいて異常を検出する第1の分析を行う簡易異常分析部と、
前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う詳細異常分析部と、
を備えるログ分析システム。

Claims (7)

  1. ログの出力に基づいて異常を検出する第1の分析を行う工程と、
    前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う工程と、
    前記ログが、変化可能な変数部分と変化しない定数部分とを含む、予め決められた複数の形式のいずれに合致するか判定する工程と
    を含み、
    前記第2の分析を行う工程は、
    前記ログに含まれる前記変数部分の値に基づいて前記異常を分析し、
    前記ログの前記形式および前記ログに含まれる前記変数部分の値の組み合わせごとに前記ログの分布を生成することによって前記異常を分析することを特徴とする、
    ログ分析方法。
  2. 前記第2の分析を行う工程は、前記ログに含まれる前記変数部分の値ごとに前記ログの分布を生成することによって前記異常を分析することを特徴とする、請求項に記載のログ分析方法。
  3. 前記第1の分析を行う工程は、前記ログの出力数又は出力頻度の時系列変化に基づいて前記異常を検出することを特徴とする、請求項1または2に記載のログ分析方法。
  4. 前記第1の分析を行う工程は、予め記録された前記形式および前記変数部分の値のいずれにも合致しない前記ログが出力された場合に、前記異常を検出することを特徴とする、請求項1または2に記載のログ分析方法。
  5. 前記第2の分析を行う工程は、前記第1の分析を行う工程における予め記録された前記形式および前記変数部分の値のいずれにも合致しない前記ログの数又は頻度の時系列のグラフを生成し、前記グラフ中の変化点に基づいて前記異常を分析することを特徴とする、請求項に記載のログ分析方法。
  6. コンピュータに、
    ログの出力に基づいて異常を検出する第1の分析を行う工程と、
    前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う工程と、
    前記ログが、変化可能な変数部分と変化しない定数部分とを含む、予め決められた複数の形式のいずれに合致するか判定する工程と
    を実行させ
    前記第2の分析を行う工程は、
    前記ログに含まれる前記変数部分の値に基づいて前記異常を分析し、
    前記ログの前記形式および前記ログに含まれる前記変数部分の値の組み合わせごとに前記ログの分布を生成することによって前記異常を分析することを特徴とする、
    ログ分析プログラム。
  7. ログの出力に基づいて異常を検出する第1の分析を行う簡易異常分析部と、
    前記第1の分析によって検出された前記異常の発生時間を含む時間範囲内に出力された前記ログの内容に基づいて前記異常を分析する第2の分析を行う詳細異常分析部と、
    前記ログが、変化可能な変数部分と変化しない定数部分とを含む、予め決められた複数の形式のいずれに合致するか判定する判定部と
    を備え
    前記詳細異常分析部は、
    前記ログに含まれる前記変数部分の値に基づいて前記異常を分析し、
    前記ログの前記形式および前記ログに含まれる前記変数部分の値の組み合わせごとに前記ログの分布を生成することによって前記異常を分析することを特徴とする、
    ログ分析システム。
JP2018558511A 2016-12-27 2016-12-27 ログ分析方法、システムおよびプログラム Active JP6756379B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/005239 WO2018122890A1 (ja) 2016-12-27 2016-12-27 ログ分析方法、システムおよびプログラム

Publications (2)

Publication Number Publication Date
JPWO2018122890A1 JPWO2018122890A1 (ja) 2019-07-25
JP6756379B2 true JP6756379B2 (ja) 2020-09-16

Family

ID=62707089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018558511A Active JP6756379B2 (ja) 2016-12-27 2016-12-27 ログ分析方法、システムおよびプログラム

Country Status (3)

Country Link
US (1) US20190303231A1 (ja)
JP (1) JP6756379B2 (ja)
WO (1) WO2018122890A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102509381B1 (ko) * 2022-07-28 2023-03-14 (주)와치텍 머신러닝 로그 분석 기반의 smart 로그병합 및 추이예측 시각화 시스템

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452465B2 (en) * 2017-09-08 2019-10-22 Oracle International Corporation Techniques for managing and analyzing log data
CN111555895B (zh) * 2019-02-12 2023-02-21 北京数安鑫云信息技术有限公司 一种分析网站故障的方法、装置、存储介质及计算机设备
US11093349B2 (en) * 2019-04-24 2021-08-17 Dell Products L.P. System and method for reactive log spooling
US11500713B2 (en) * 2020-10-12 2022-11-15 Vmware, Inc. Methods and systems that rank and display log/event messages and transactions

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5375829B2 (ja) * 2008-09-18 2013-12-25 日本電気株式会社 運用管理装置、運用管理方法、および運用管理プログラム
JP2010134862A (ja) * 2008-12-08 2010-06-17 Nec Corp ログ分析システム、方法、及び、プログラム
WO2015146086A1 (ja) * 2014-03-28 2015-10-01 日本電気株式会社 ログ分析システム、障害原因分析システム、ログ分析方法、および、記録媒体
JP6417742B2 (ja) * 2014-06-18 2018-11-07 富士通株式会社 データ管理プログラム、データ管理装置及びデータ管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102509381B1 (ko) * 2022-07-28 2023-03-14 (주)와치텍 머신러닝 로그 분석 기반의 smart 로그병합 및 추이예측 시각화 시스템

Also Published As

Publication number Publication date
WO2018122890A1 (ja) 2018-07-05
JPWO2018122890A1 (ja) 2019-07-25
US20190303231A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
JP6756379B2 (ja) ログ分析方法、システムおよびプログラム
JP6643211B2 (ja) 異常検知システム及び異常検知方法
JP6708219B2 (ja) ログ分析システム、方法およびプログラム
US8751874B2 (en) Managing apparatus, managing method
JP6780655B2 (ja) ログ分析システム、方法およびプログラム
JP6787340B2 (ja) ログ分析システム、ログ分析方法及びプログラム
EP2634733A1 (en) Operations task management system and method
WO2018069950A1 (ja) ログ分析方法、システムおよびプログラム
CN108073707B (zh) 金融业务数据更新方法、装置及计算机可读取存储介质
JPWO2018066661A1 (ja) ログ分析方法、システムおよび記録媒体
CN109815243B (zh) 一种文档界面化修改时的结构化存储方法和装置
CN108595685B (zh) 一种数据处理方法及装置
JP6741217B2 (ja) ログ分析システム、方法およびプログラム
JP6756378B2 (ja) 異常検出方法、システムおよびプログラム
CN111782264A (zh) 代码分类信息提取方法、装置、计算机设备及存储介质
JP2007164346A (ja) 決定木変更方法、異常性判定方法およびプログラム
JP6798504B2 (ja) ログ分析システム、ログ分析方法及びプログラム
JP7103392B2 (ja) 異常検出方法、システムおよびプログラム
US20150277858A1 (en) Performance evaluation device, method, and medium for information system
JP7276550B2 (ja) 異常検出方法、システムおよびプログラム
JP6965748B2 (ja) ログ分析システム、方法およびプログラム
CN114880713B (zh) 基于数据链路的用户行为分析方法、装置、设备及介质
WO2022196627A1 (ja) 運用支援装置、システム及び方法並びにコンピュータ可読媒体
JP6147269B2 (ja) コンピュータによるコンポーネントの動作状態の検出
JP6986928B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200619

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200810

R150 Certificate of patent or registration of utility model

Ref document number: 6756379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150