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