(57)【要約】  本発明は、相関関係を有するログを集約して出力することができるログ分析システム、方法およびプログラムを提供する。本発明の一実施形態に係るログ分析システム１００は、分析対象ログ１０のうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定するシーケンス判定部１３０と、シーケンス判定部によりシーケンスに合致すると判定された複数のログを、シーケンスに基づいて集約して出力するログ集約部１４０と、を備える。
2017081866.tif 000002
【特許請求の範囲】
【請求項１】
分析対象ログのうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定するシーケンス判定部と、
前記シーケンス判定部により前記シーケンスに合致すると判定された前記複数のログを、前記シーケンスに基づいて集約して出力するログ集約部と、
を備えるログ分析システム。
【請求項２】
前記シーケンスは、前記複数のログに係る情報と、前記複数のログを出力する順序とを関連付ける情報である請求項１に記載のログ分析システム。
【請求項３】
前記複数のログが予め決められたいずれの形式に合致するかを判定する形式判定部をさらに備え、
前記複数のログに係る情報は、前記形式を示す情報を含む請求項２に記載のログ分析システム。
【請求項４】
前記形式判定部は、前記形式に基づいて前記複数のログから変数値を抽出するように構成され、
前記複数のログに係る情報は、前記変数値を示す情報を含む請求項３に記載のログ分析システム。
【請求項５】
前記分析対象ログは複数のデータからなり、
前記シーケンス判定部は、前記複数のデータから読み取った前記複数のログに対して判定を行うように構成される請求項１〜４のいずれか一項に記載のログ分析システム。
【請求項６】
前記シーケンスに合致しないと判定された前記複数のログに基づいて、前記シーケンスを新たに生成するシーケンス学習部をさらに備える請求項１〜５のいずれか一項に記載のログ分析システム。
【請求項７】
分析対象ログのうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定する工程と、
前記シーケンスに合致すると判定された前記複数のログを、前記シーケンスに基づいて集約して出力する工程と、
を備えるログ分析方法。
【請求項８】
コンピュータに、
分析対象ログのうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定する工程と、
前記シーケンスに合致すると判定された前記複数のログを、前記シーケンスに基づいて集約して出力する工程と、
を実行させるログ分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログの分析を行うためのログ分析システム、方法およびプログラムに関する。
【背景技術】
【０００２】
コンピュータ上で実行されるシステムにおいては、イベントの結果やメッセージ等を含むログが出力される。システム異常の原因の追及等のためにログ分析を行う際、ユーザ（オペレータ等）はシステムから出力される多数のログを参照する必要がある。ユーザへの負担を軽減するために、ログを見やすく出力することが求められている。【０００３】
特許文献１には、ユーザにより入力されたキーワードに従ってログを抽出するとともに、該ログの出現位置を時系列のマップ中に表示する技術が開示されている。特許文献１の技術を用いることによって、ユーザは特定のキーワードを含むログを取得することができ、また該ログが出現するタイミングや分布を視覚的に知ることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１４１６６３号公報
【発明の概要】
【０００５】
一般的なシステムには複数の装置およびプログラムが含まれており、それらの装置およびプログラムからは複数の種類のログデータ（例えばログファイル等）が出力される。しかしながら、特許文献１の技術はキーワードを含むか否かに基づいてログを抽出するため、複数の種類のログデータからログ同士の相関関係に基づいてログを抽出することはできない。複数のログの相関関係を分析するために、ユーザは複数の種類のログデータから関連箇所を見つけ出す必要がある。
【０００６】
本発明は、上述の問題に鑑みて行われたものであって、相関関係を有するログを集約して出力することができるログ分析システム、方法およびプログラムを提供することを目的とする。
【０００７】
本発明の第１の態様は、ログ分析システムであって、分析対象ログのうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定するシーケンス判定部と、前記シーケンス判定部により前記シーケンスに合致すると判定された前記複数のログを、前記シーケンスに基づいて集約して出力するログ集約部と、を備える。
【０００８】
本発明の第２の態様は、ログ分析方法であって、分析対象ログのうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定する工程と、前記シーケンスに合致すると判定された前記複数のログを、前記シーケンスに基づいて集約して出力する工程と、を備える。
【０００９】
本発明の第３の態様は、ログ分析プログラムであって、コンピュータに、分析対象ログのうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定する工程と、前記シーケンスに合致すると判定された前記複数のログを、前記シーケンスに基づいて集約して出力する工程と、を実行させる。
【００１０】
本発明によれば、複数のログが予め決められたシーケンスに合致するか否かに基づき、所定の相関関係を有する複数のログを集約して出力することができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係るログ分析システムのブロック図である。
【図２Ａ】第１の実施形態に係る分析対象ログの模式図である。
【図２Ｂ】第１の実施形態に係るフォーマットの模式図である。
【図２Ｃ】第１の実施形態に係るシーケンスの模式図である。
【図３】第１の実施形態に係る集約結果の模式図である。
【図４Ａ】第１の実施形態に係る集約結果を表示する画面の模式図である。
【図４Ｂ】第１の実施形態に係る集約結果を表示する画面の模式図である。
【図５】第１の実施形態に係るログ分析システムの概略構成図である。
【図６】第１の実施形態に係るログ分析システムを用いるログ分析方法のフローチャートを示す図である。
【図７Ａ】第２の実施形態に係るシーケンスの模式図である。
【図７Ｂ】第２の実施形態に係るシーケンスの模式図である。
【図７Ｃ】第２の実施形態に係るシーケンスの模式図である。
【図８】第２の実施形態に係る集約結果の模式図である。
【図９】第３の実施形態に係るログ分析システムのブロック図である。
【図１０Ａ】第４の実施形態に係るシーケンス編集画面の模式図である。
【図１０Ｂ】第４の実施形態に係るシーケンス編集画面の模式図である。
【図１１】各実施形態に係るログ分析システムのブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態を説明するが、本発明は本実施形態に限定されるものではない。なお、以下で説明する図面で、同機能を有するものは同一符号を付け、その繰り返しの説明は省略することもある。
【００１３】
（第１の実施形態）
図１は、本実施形態に係るログ分析システム１００のブロック図である。図１において、矢印は主なデータの流れを示しており、図１に示したもの以外のデータの流れがあってよい。図１において、各ブロックはハードウェア（装置）単位の構成ではなく、機能単位の構成を示している。そのため、図１に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に別れて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
【００１４】
ログ分析システム１００は、処理部として、ログ入力部１１０、フォーマット判定部１２０、シーケンス判定部１３０、ログ集約部１４０および出力部１５０を備える。また、ログ分析システム１００は、記憶部として、フォーマット記憶部１６１およびシーケンス記憶部１６２を備える。
【００１５】
ログ入力部１１０は、分析対象ログ１０を取得し、ログ分析システム１００に入力する。分析対象ログ１０は、ログ分析システム１００の外部から取得されてよく、あるいはログ分析システム１００の内部に予め記録されたものを読み出すことにより取得されてよい。分析対象ログ１０は、１つ以上の装置又はプログラムから出力される１つ以上のログを含む。分析対象ログ１０は、任意のデータ形式（ファイル形式）で表されたログであり、例えばバイナリデータ又はテキストデータでよい。また、分析対象ログ１０はデータベースのテーブルとして記録されてよく、あるいはテキストファイルとして記録されてよい。
【００１６】
図２Ａは、例示的な分析対象ログ１０の模式図である。本実施形態における分析対象ログ１０は、装置又はプログラムから出力される１つのログを１単位とし、１つ以上の任意の数のログを含む。１つのログは１行の文字列でよく、あるいは複数行の文字列でよい。すなわち、分析対象ログ１０は分析対象ログ１０に含まれるログの総体を指し、ログは分析対象ログ１０から抜き出された１つのログを指す。各ログは、タイムスタンプおよびメッセージ等を含む。
【００１７】
分析対象ログ１０は、第１のログデータ１１および第２のログデータ１２からなる。第１のログデータ１１および第２のログデータ１２は別々のデータ（例えばファイル、テーブル等）として記録され、それぞれ１つ以上のログを含む。第１のログデータ１１および第２のログデータ１２にはそれぞれ識別子（例えばｍｅｓｓａｇｅ．ｌｏｇ、ｓｙｓｌｏｇ．ｌｏｇのようなファイル名）が付されて区別される。ログデータの数はこれに限られず、１つ以上の任意の数でよい。
【００１８】
フォーマット判定部１２０は、形式判定部であり、分析対象ログ１０（第１のログデータ１１および第２のログデータ１２）に含まれる各ログに対して、フォーマット記憶部１６１に予め記録されているいずれのフォーマットに適合するかを判定し、適合するフォーマットを用いて各ログを変数と共通部分とに分離する。フォーマットとは、既知のログの形式である。変数とはフォーマットの中で変化可能な部分であり、共通部分とはログのフォーマットの中で変化しない部分である。入力されたログ中の変数の値（数値、文字列およびその他のデータを含む）を変数値と呼ぶ。
【００１９】
図２Ｂは、フォーマット記憶部１６１に記録される例示的なフォーマットの模式図である。フォーマットは、一意のＩＤに関連付けられたフォーマットを表す文字列を含む。フォーマットは、ログ中の変化可能な部分に所定の識別子を記載することによって変数として規定し、ログ中の変数以外の部分を共通部分として規定する。変数の識別子として、例えば「＜変数：タイムスタンプ＞」はタイムスタンプを表す変数を示し、「＜変数：文字列＞」は任意の文字列を表す変数を示し、「＜変数：数値＞」は任意の数値を表す変数を示し、「＜変数：ＩＰ＞」は任意のＩＰアドレスを表す変数を示す。変数の識別子はこれらに限られず、正規表現や、取り得る値のリスト等の任意の方法により定義されてよい。また、フォーマットは変数を含まずに共通部分のみによって構成されてよく、あるいは共通部分を含まずに変数のみによって構成されてよい。
【００２０】
例えば、フォーマット判定部１２０は、第２のログデータ１２の２行目のログを、図２ＢのＩＤが２２３であるフォーマットに適合すると判定する。そして、フォーマット判定部１２０は、判定されたフォーマットに基づいて該ログを処理し、タイムスタンプである「２０１５／０８／１７  ０８：２９：５９」、文字列である「ＳＶ００３」およびＩＰアドレスである「１９２．１６８．１．２３」を変数値として決定する。
【００２１】
図２Ｂにおいて、フォーマットは視認性のために文字列のリストで表されているが、任意のデータ形式（ファイル形式）で表されてよく、例えばバイナリデータ又はテキストデータでよい。また、フォーマットはテキストファイルとしてフォーマット記憶部１６１に記録されてよく、あるいはデータベースのテーブルとしてフォーマット記憶部１６１に記録されてよい。
【００２２】
シーケンス判定部１３０は、ログ分析部であり、フォーマット判定部１２０によりフォーマットが判定されたログに対して、シーケンス記憶部１６２に記録されたシーケンス情報に基づいてシーケンスの判定を行う。シーケンス情報は、ログに係る情報に基づいてログを出力する順序（シーケンス）を定義する情報である。
【００２３】
図２Ｃは、シーケンス記憶部１６２に記録される例示的なシーケンス情報の模式図である。シーケンス情報は、シーケンスの識別子であるシーケンスＩＤに関連付けられた、シーケンスを定義するフォーマットＩＤのリストを含む。各シーケンスは、シーケンス記憶部１６２に記録されたフォーマットＩＤの順序でログを出力することを定義する。シーケンスを定義するために用いられるログの内容は、フォーマットＩＤに限られず、ログに含まれる変数値、ログの識別子（ファイル名）等、分析対象のログに係る任意の情報でよい。シーケンス判定部１３０は、フォーマット判定部１２０によりフォーマットが判定されたログから、シーケンス記憶部１６２に記録されたいずれかのシーケンスに合致するものを抽出する。そして、ログ集約部１４０はシーケンス判定部１３０により判定されたシーケンスに従って、該シーケンスに合致するログを並び替え、集約して出力する。シーケンス判定部１３０によるシーケンス判定処理は、複数の種類のログデータ（例えば第１のログデータ１１および第２のログデータ１２）に対して行われてよく、あるいは１つのログデータに対して行われてよい。本実施形態においてシーケンス判定部１３０は、シーケンスとして定義された順序でログを出力するが、順序に関係なくフォーマットＩＤのリストに含まれるログを集約して出力してもよい。
【００２４】
例えば、シーケンス判定部１３０は、第１のログデータ１１の２行目および３行目のログのフォーマットＩＤが０３９であり、第２のログデータ１２の２行目のログのフォーマットＩＤが２２３であることから、これらのログは図２ＣのシーケンスＩＤがＡのシーケンス（シーケンスＡと呼ぶ）に合致すると判定する。そして、シーケンス判定部１３０は、これらのログをシーケンスＡに合致するものとして抽出する。ログ集約部１４０は、シーケンスＡに従って該ログを並び替え、集約して出力する。１つのシーケンスに複数のログの組が合致してもよい。シーケンス判定部１３０は、他のシーケンスＩＤについて判定を繰り返す。
【００２５】
図３は、ログ集約部１４０による例示的な集約結果を示す模式図である。集約結果は、互いに関連付けられた、ログを含むファイル名、ログ、ログのフォーマットＩＤ、およびログ集約部１４０により判定されたシーケンスＩＤを含む。このように、ログのフォーマットＩＤが図２Ｃに示すシーケンス定義に合致している一群のログに対して、該シーケンス定義に対応するシーケンスＩＤが記録される。図３に示す集約結果は一例であり、任意の形式で記録されてよい。図３において集約結果は視認性のために文字列のリストで表されているが、任意のデータ形式（ファイル形式）で表されてよく、例えばバイナリデータ又はテキストデータでよい。また、集約結果は複数のファイル又はテーブルに別れて記録されてもよい。
【００２６】
出力部１５０は、ログ集約部１４０による集約結果の出力を行う。本実施形態において、出力部１５０は表示装置２０に集約結果を出力し、表示装置２０はユーザに向けて集約結果を画像として表示する。表示装置２０は、画像を表示するための液晶ディスプレイ、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ等の表示部を備える。
【００２７】
図４Ａ、４Ｂは、表示装置２０を用いる例示的な集約結果の表示画面を示す模式図である。図４Ａに示す画面Ｃは、ログ集約部１４０による集約結果に従って、各シーケンスの見出しＣ１を表示する。見出しＣ１は、シーケンスに合致するログの時間範囲および件数を含む。見出しＣ１はその他の情報を含んでよい。
【００２８】
ユーザが入力装置を用いて特定のシーケンスの見出しＣ１を選択すると、図４Ｂに示すように、画面Ｃは該シーケンスに合致するログＣ２を展開して表示する。選択されたシーケンス中のログＣ２は、ログ中のタイムスタンプに基づいて時間順に並び替えられて表示される。図４Ｂでは、シーケンスＡに合致するログＣ２が上から古い順に表示されているが、逆の順でもよい。各ログＣ２の先頭には、そのログが含まれるログデータの識別子（ここではファイル名）が表示される。
【００２９】
図４Ａ、４Ｂに示す画面は一例であり、ログ集約部１４０による集約結果をユーザに対して視認可能にログを表示できれば、いずれの表示方法を用いてもよい。ユーザは図４Ａ、４Ｂの画面を参照することによって、予め登録されたシーケンスに合致するログをまとめて取得することができ、複数のログデータにまたがるログを時系列で見ることができる。
【００３０】
集約結果の出力方法は、ユーザに向けた画像表示に限られない。例えば、出力部１５０は集約結果をデータとして出力し、ログ分析システム１００又はその他システムは出力部１５０からの集約結果のデータに対して分析処理、統計処理等を行ってもよい。
【００３１】
図５は、本実施形態に係るログ分析システム１００の例示的な機器構成を示す概略構成図である。ログ分析システム１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、メモリ１０２と、記憶装置１０３と、通信インターフェース１０４とを備える。ログ分析システム１００は、表示装置２０に通信インターフェース１０４を介して接続されてよく、あるいは表示装置２０を含んでよい。ログ分析システム１００は独立した装置でよく、あるいは他の装置と一体に構成されてよい。
【００３２】
通信インターフェース１０４は、データの送受信を行う通信部であり、有線通信および無線通信の少なくとも一方の通信方式を実行可能に構成される。通信インターフェース１０４は、該通信方式に必要なプロセッサ、電気回路、アンテナ、接続端子等を含む。通信インターフェース１０４は、ＣＰＵ１０１からの信号に従って、該通信方式を用いてネットワークに接続され、通信を行う。通信インターフェース１０４は、例えば分析対象ログ１０を外部から受信する。
【００３３】
記憶装置１０３は、ログ分析システム１００が実行するプログラムや、プログラムによる処理結果のデータ等を記憶する。記憶装置１０３は、読み取り専用のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）や、読み書き可能のハードディスクドライブ又はフラッシュメモリ等を含む。また、記憶装置１０３は、ＣＤ−ＲＯＭ等のコンピュータ読取可能な可搬記憶媒体を含んでもよい。メモリ１０２は、ＣＰＵ１０１が処理中のデータや記憶装置１０３から読み出されたプログラムおよびデータを一時的に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を含む。
【００３４】
ＣＰＵ１０１は、処理に用いる一時的なデータをメモリ１０２に一時的に記録し、記憶装置１０３に記録されたプログラムを読み出し、該プログラムに従って該一時的なデータに対して種々の演算、制御、判別などの処理動作を実行する処理部としてのプロセッサである。また、ＣＰＵ１０１は、記憶装置１０３に処理結果のデータを記録し、また通信インターフェース１０４を介して処理結果のデータを外部に送信する。
【００３５】
本実施形態においてＣＰＵ１０１は、記憶装置１０３に記録されたプログラムを実行することによって、図１のログ入力部１１０、フォーマット判定部１２０、シーケンス判定部１３０、ログ集約部１４０および出力部１５０として機能する。また、本実施形態において記憶装置１０３は、図１のフォーマット記憶部１６１およびシーケンス記憶部１６２として機能する。
【００３６】
ログ分析システム１００は、図５に示す具体的な構成に限定されない。ログ分析システム１００は、１つの装置に限られず、２つ以上の物理的に分離した装置が有線又は無線で接続されることにより構成されていてもよい。ログ分析システム１００に含まれる各部は、それぞれ電気回路構成により実現されていてもよい。ここで、電気回路構成とは、単一のデバイス、複数のデバイス、チップセット又はクラウドを概念的に含む文言である。
【００３７】
また、ログ分析システム１００の少なくとも一部がＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）形式で提供されてよい。すなわち、ログ分析システム１００を実現するための機能の少なくとも一部が、ネットワーク経由で実行されるソフトウェアによって実行されてよい。
【００３８】
図６は、本実施形態に係るログ分析システム１００を用いるログ分析方法のフローチャートを示す図である。まず、ログ入力部１１０は、分析対象ログ１０を取得し、ログ分析システム１００に入力する（ステップＳ１０１）。フォーマット判定部１２０は、ステップＳ１０１で入力された分析対象ログ１０に含まれる１つのログを判定対象として、フォーマット記憶部１６１に記録されたいずれかのフォーマットに適合するか否かを判定する（ステップＳ１０２）。
【００３９】
ステップＳ１０２において判定対象のログがフォーマット記憶部１６１に記録されたいずれのフォーマットにも適合しない場合には（ステップＳ１０３のＮＯ）、分析対象ログ１０の次のログを判定対象としてステップＳ１０２〜Ｓ１０３を繰り返す。
【００４０】
ステップＳ１０２において判定対象のログがフォーマット記憶部１６１に記録されたいずれかのフォーマットに適合した場合には（ステップＳ１０３のＹＥＳ）、フォーマット判定部１２０は、該フォーマットを用いて判定対象のログを変数と共通部分とに分離する（ステップＳ１０４）。フォーマット判定部１２０は、判定対象のログ中の変数値を記録する。
【００４１】
分析対象ログ１０中の全てのログに対して分析が終了していない場合には（ステップＳ１０５のＮＯ）、分析対象ログ１０の次のログを判定対象としてステップＳ１０２〜Ｓ１０５を繰り返す。
【００４２】
分析対象ログ１０中の全てのログに対して分析が終了した場合には（ステップＳ１０５のＹＥＳ）、ステップＳ１０４においてフォーマットが判定されたログに対して、シーケンス記憶部１６２に記録されたいずれのシーケンスに合致するかを判定し、シーケンスに合致するログを抽出する（ステップＳ１０６）。そして、ログ集約部１４０は、ステップＳ１０６においてシーケンスに合致すると判定されたログを、該シーケンスに従って並び替え、集約して出力する（ステップＳ１０７）。
【００４３】
最後に、出力部１５０は、ステップＳ１０６で取得された集約結果を表示装置２０に出力し、ユーザに向けて表示させる（ステップＳ１０８）。
【００４４】
以上のように、ログ分析システム１００は、予め登録されたシーケンスに従ってログを集約して表示する。そのため、ユーザはログ同士の相関関係に基づいて抽出および並べられたログを参照してログ分析を行うことができる。また、複数の種類のログデータから横断してログを集約できるため、ユーザが複数のログデータを参照してログ分析を行う負担を軽減することができる。
【００４５】
（第２の実施形態）
第１の実施形態はフォーマットの識別子（フォーマットＩＤ）を用いてシーケンスを定義するのに対して、本実施形態はログに係る他の情報を用いてシーケンスを定義する。本実施形態において用いる装置および実行する処理は、第１の実施形態と同様である。
【００４６】
図７Ａは、本実施形態に係る第１のシーケンス情報の模式図である。図７Ａに示すシーケンス情報は、シーケンスの識別子であるシーケンスＩＤに関連付けられた、フォーマットＩＤおよび変数値の組のリストを含む。例えば、図７Ａにおける「３００（Ｓｔａｒｔ）」という文字列は、フォーマットＩＤ「３００」と変数値「Ｓｔａｒｔ」とが組になっていることを定義する。
【００４７】
シーケンス判定部１３０は、フォーマット判定部１２０によりフォーマットが判定されたログのうち、該フォーマットがシーケンス記憶部１６２に記録されたシーケンスのフォーマットＩＤに合致するとともに、該フォーマットＩＤの組となっている変数値を含むログを抽出する。このような構成により、ログが該当するフォーマットの識別子だけでなく、ログに含まれる変数値に基づいてシーケンスの判定ができる。
【００４８】
図８は、図７Ａに示す第１のシーケンス情報を用いて生成した例示的な集約結果を示す模式図である。集約結果は、互いに関連付けられた、ログを含むファイル名、ログ、ログのフォーマットＩＤ、およびログ集約部１４０により判定されたシーケンスＩＤを含む。この集約結果においては、図７Ａの第１のシーケンス情報に従って、フォーマットＩＤが「３００」であり、かつ「Ｓｔａｒｔ」、「Ｒｅｔｒｙ」、「Ｅｎｄ」の変数値を含むログが集約されている。
【００４９】
図７Ｂは、本実施形態に係る第２のシーケンス情報の模式図である。図７Ｂに示すシーケンス情報は、シーケンスの識別子であるシーケンスＩＤに関連付けられた、変数値のリストを含む。さらに、各フォーマットＩＤには、ログデータの識別子であるファイル名が付されている。
【００５０】
シーケンス判定部１３０は、フォーマット判定部１２０によりフォーマットが判定されたログのうち、該ログがシーケンス記憶部１６２に記録された変数値を含むログを抽出する。このような構成により、ログに含まれる変数値に基づいてシーケンスの判定ができる。
【００５１】
図７Ｃは、本実施形態に係る第３のシーケンス情報の模式図である。図７Ｃに示すシーケンス情報は、シーケンスの識別子であるシーケンスＩＤに関連付けられた、フォーマットＩＤおよびログデータの識別子としてのファイル名の組のリストを含む。例えば、図７Ｃにおける「０３９（ｍｅｓｓａｇｅ．ｌｏｇ）」という文字列は、フォーマットＩＤ「０３９」とファイル名「ｍｅｓｓａｇｅ．ｌｏｇ」とが組になっていることを定義する。
【００５２】
シーケンス判定部１３０は、フォーマット判定部１２０によりフォーマットが判定されたログのうち、該フォーマットがシーケンス記憶部１６２に記録されたシーケンスのフォーマットＩＤに合致するとともに、該フォーマットＩＤの組となっているファイル名のログデータに含まれるログを抽出する。このような構成により、ログが該当するフォーマットの識別子だけでなく、ログが含まれるログデータの識別子（ファイル名）に基づいてシーケンスの判定ができる。
【００５３】
図７Ａ〜７Ｃのシーケンス情報を組み合わせ、ログデータの識別子、フォーマットの識別子および変数値を用いてシーケンスを定義してよい。また、さらにログに関する別の情報を組み合わせて用いることによってシーケンスを定義してもよい。
【００５４】
以上のように、本実施形態では、分析対象のログに係る様々な情報を用いてシーケンスの判定を行い、ログの集約を行うことができる。
【００５５】
（第３の実施形態）
図９は、本実施形態に係るログ分析システム１００−１のブロック図である。ログ分析システム１００−１は、図１の構成に加えて、フォーマット学習部１７１およびシーケンス学習部１７２を備える。
【００５６】
フォーマット学習部１７１は、フォーマット判定部１２０がフォーマットの判定を行う際、判定対象のログがフォーマット記憶部１６１に記録されているいずれのフォーマットにも適合しない場合に、新たなフォーマットを作成してフォーマット記憶部１６１に記録する。
【００５７】
フォーマット学習部１７１がフォーマットを学習するための第１の方法として、フォーマット学習部１７１は、フォーマットが未知である複数のログを蓄積し、それらに対して統計的に変化する変数と変化しない共通部分とを分離することによって、新たなフォーマットとして定義することができる。フォーマット学習部１７１がフォーマットを学習するための第２の方法として、フォーマット学習部１７１は、既知の変数値のリストを読み込み、フォーマットが未知であるログの中で既知の変数値と一致する又は類似する部分を変数と判定し、それ以外の部分を共通部分と判定することによって、新たなフォーマットを定義することができる。既知の変数値として、値そのものを用いてよく、あるいは正規表現のようなパターンを用いてよい。フォーマットの学習方法はこれらに限られず、入力されたログに対して新たなフォーマットを定義することが可能な任意の学習アルゴリズムを用いてよい。
【００５８】
シーケンス学習部１７２は、シーケンス判定部１３０がシーケンスの判定を行う際、判定対象のログがシーケンス記憶部１６２に記録されているいずれのシーケンスにも合致しない場合に、該ログのフォーマットおよびフォーマットの組み合わせ毎に出現回数（頻度）をカウントする。シーケンス学習部１７２は、あるフォーマットの組み合わせについて算出した頻度が所定の閾値以上になった場合に、当該フォーマットの組み合わせに基づいて、新たなシーケンスを作成し、シーケンス記憶部１６２に記録する。
【００５９】
シーケンス学習部１７２は、ユーザによる入力に基づいて新たなシーケンスを定義してもよい。この場合には、ユーザは入力装置を介してシーケンスを定義したいログの組み合わせを指定すると、シーケンス学習部１７２は当該ログのフォーマットの組み合わせに基づいて新たなシーケンスを作成し、シーケンス記憶部１６２に記録する。シーケンスの学習方法はこれらに限られず、入力されたログから新たにシーケンスを定義することが可能な任意の学習アルゴリズムを用いてよい。
【００６０】
以上のように、ログ分析システム１００−１は、フォーマットおよびシーケンスの学習部を備えるため、未知のフォーマットおよびシーケンスのログから新たにフォーマットおよびシーケンスを生成し、記録することができる。
【００６１】
（第４の実施形態）
本実施形態は、シーケンス情報の編集を行うための画面を提供する。図１０Ａ、１０Ｂは、表示装置２０を用いる例示的なシーケンス情報の編集画面を示す模式図である。図１０Ａに示す画面Ｄは、分析対象ログ１０から指定されたログをシーケンスに追加するための画面である。画面Ｄは、分析対象ログ１０中のログＤ１と、シーケンスＩＤを選択するための選択ボックスＤ２と、選択した内容を登録するための設定ボタンＤ３とを含む。
【００６２】
ユーザは、入力装置を用いて、シーケンスに追加したい１つ以上のログＤ１に対して、選択ボックスＤ２上でシーケンスＩＤを選択した後、設定ボタンＤ３を押下する。その後、ログ分析システム１００は、シーケンス記憶部１６２に記録されたシーケンス情報において、選択ボックスＤ２上で選択されたシーケンスＩＤに対して、シーケンスに追加したいログＤ１に対応するフォーマットＩＤを追加する。シーケンス記憶部１６２に選択ボックスＤ２上で選択されたシーケンスＩＤがシーケンス記憶部１６２のシーケンス情報に未登録である場合には、選択ボックスＤ２上で選択されたシーケンスＩＤと、シーケンスに追加したいログＤ１に対応するフォーマットＩＤとの組を新たに記録する。
【００６３】
図１０Ｂに示す画面Ｅは、シーケンス記憶部１６２に記録されたシーケンス情報を変更するための画面である。画面Ｅは、シーケンス記憶部１６２中のシーケンスＩＤを表示するシーケンスＩＤ欄Ｅ１と、該シーケンスＩＤに関連付けられたフォーマットＩＤを表示するフォーマットＩＤ欄Ｅ２と、順序変更ボタンＥ３と、削除ボタンＥ４と、設定ボタンＥ５とを含む。
【００６４】
フォーマットＩＤ欄Ｅ２は、シーケンスＩＤに関連付けられたフォーマットＩＤを、シーケンス記憶部１６２中のシーケンス情報により定義された順番で上から下に表示する。順序変更ボタンＥ３は、フォーマットＩＤ欄Ｅ２のフォーマットＩＤを移動させるボタンであり、押下される度にフォーマットＩＤが上又は下に１つ移動する。また、削除ボタンＥ４は、フォーマットＩＤ欄Ｅ２のフォーマットＩＤを削除するボタンであり、押下されるとフォーマットＩＤを削除する。
【００６５】
ユーザは、入力装置を用いて、順序変更ボタンＥ３によるフォーマットＩＤの順序変更、又は削除ボタンＥ４によりフォーマットＩＤの削除を行った後、設定ボタンＥ５を押下する。その後、ログ分析システム１００は、シーケンス記憶部１６２に記録されたシーケンス情報において、画面Ｅで設定されたようにフォーマットＩＤの順序を変更し、又はフォーマットＩＤを削除する。
【００６６】
図１０Ａ、１０Ｂに示す画面は一例であり、シーケンス記憶部１６２中のシーケンス情報を編集可能であれば、どのような画面を用いてもよい。
【００６７】
（その他の実施形態）
図１１は、上述の各実施形態に係るログ分析システム１００の概略構成図である。図１１には、ログ分析システム１００がログのシーケンスに基づいてログの分析を行う装置として機能するための構成例が示されている。ログ分析システム１００は、分析対象ログ１０のうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定するシーケンス判定部１３０と、シーケンス判定部１３０によりシーケンスに合致すると判定された複数のログを、シーケンスに基づいて集約して出力するログ集約部１４０と、を備える。
【００６８】
本発明は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【００６９】
上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラム（より具体的には、図６に示す処理をコンピュータに実行させるプログラム）を記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
【００７０】
該記録媒体としては例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、ＯＳ上で動作して処理を実行するものも各実施形態の範疇に含まれる。
【００７１】
上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７２】
（付記１）
分析対象ログのうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定するシーケンス判定部と、
前記シーケンス判定部により前記シーケンスに合致すると判定された前記複数のログを、前記シーケンスに基づいて集約して出力するログ集約部と、
を備えるログ分析システム。
【００７３】
（付記２）
前記シーケンスは、前記複数のログに係る情報と、前記複数のログを出力する順序とを関連付ける情報である付記１に記載のログ分析システム。
【００７４】
（付記３）
前記複数のログが予め決められたいずれの形式に合致するかを判定する形式判定部をさらに備え、
前記複数のログに係る情報は、前記形式を示す情報を含む付記２に記載のログ分析システム。
【００７５】
（付記４）
前記形式判定部は、前記形式に基づいて前記複数のログから変数値を抽出するように構成され、
前記複数のログに係る情報は、前記変数値を示す情報を含む付記３に記載のログ分析システム。
【００７６】
（付記５）
前記分析対象ログは複数のデータからなり、
前記シーケンス判定部は、前記複数のデータから読み取った前記複数のログに対して判定を行うように構成される付記１〜４のいずれか一項に記載のログ分析システム。
【００７７】
（付記６）
前記シーケンスに合致しないと判定された前記複数のログに基づいて、前記シーケンスを新たに生成するシーケンス学習部をさらに備える付記１〜５のいずれか一項に記載のログ分析システム。
【００７８】
（付記７）
分析対象ログのうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定する工程と、
前記シーケンスに合致すると判定された前記複数のログを、前記シーケンスに基づいて集約して出力する工程と、
を備えるログ分析方法。
【００７９】
（付記８）
コンピュータに、
分析対象ログのうち複数のログが、予め決められたいずれのシーケンスに合致するかを判定する工程と、
前記シーケンスに合致すると判定された前記複数のログを、前記シーケンスに基づいて集約して出力する工程と、
を実行させるログ分析プログラム。
【００８０】
この出願は、２０１５年１１月１３日に出願された日本出願特願２０１５−２２３０５３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2017081866.tif 000003
【図２Ａ】
2017081866.tif 000004
【図２Ｂ】
2017081866.tif 000005
【図２Ｃ】
2017081866.tif 000006
【図３】
2017081866.tif 000007
【図４Ａ】
2017081866.tif 000008
【図４Ｂ】
2017081866.tif 000009
【図５】
2017081866.tif 000010
【図６】
2017081866.tif 000011
【図７Ａ】
2017081866.tif 000012
【図７Ｂ】
2017081866.tif 000013
【図７Ｃ】
2017081866.tif 000014
【図８】
2017081866.tif 000015
【図９】
2017081866.tif 000016
【図１０Ａ】
2017081866.tif 000017
【図１０Ｂ】
2017081866.tif 000018
【図１１】
2017081866.tif 000019
【国際調査報告】
2017081866.tif 000020
2017081866.tif 000021