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