(57)【要約】  本発明の一実施形態に係るログ分析システム１００は、第１ログを分析対象ログ１０として入力するログ入力部１１０と、第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する第１順序判定部１３０と、第１ログから第１部分ログを除いて得られる第２ログに含まれるログのうち、識別子を有しないログの出現順序である第２順序を判定する第２順序判定部１５０と、第１順序および第２順序を用いて、分析対象ログに含まれるログの出現順序である第３順序を出力する第３順序出力部１７０と、を備える。
2018066661.tif 000002
【特許請求の範囲】
【請求項１】
第１ログを分析対象ログとして入力する工程と、
前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する工程と、
前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する工程と、
前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する工程と、
を含むログ分析方法。
【請求項２】
前記第２順序を判定する工程は、前記識別子を有しないログ間の時系列の相関関係に基づいて、前記第２順序を判定する、請求項１に記載のログ分析方法。
【請求項３】
前記第２順序を判定する工程は、前記識別子を有しないログの中で第１の種類のログの次に第２の種類のログが出現する遷移確率が所定の閾値より高いログ群の順序を、前記第２順序として判定する、請求項２に記載のログ分析方法。
【請求項４】
前記第１順序を判定する工程は、前記第１部分ログの中で共通の前記識別子を有するログ群の順序を、前記第１順序として判定する、請求項１〜３のいずれか一項に記載のログ分析方法。
【請求項５】
前記第３順序を出力する工程は、前記分析対象ログから前記第１順序および前記第２順序に該当するログを除外した後に、前記分析対象ログに前記第１順序および前記第２順序に該当するログの位置を示す情報を挿入することによって生成された第３ログから、前記第３順序を出力する、請求項１〜４のいずれか一項に記載のログ分析方法。
【請求項６】
前記分析対象ログを入力する工程は、第１の分析対象ログおよび第２の分析対象ログを入力し、
前記第１順序を判定する工程は、前記第１の分析対象ログおよび前記第２の分析対象ログのそれぞれに対して個別に前記第１順序を判定し、
前記第２順序を判定する工程は、前記第１の分析対象ログおよび前記第２の分析対象ログのそれぞれに対して個別に前記第２順序を判定し、
前記第３順序を出力する工程は、前記第１の分析対象ログおよび前記第２の分析対象ログの前記第１順序および前記第２順序を統合することによって、前記第３順序を出力する、請求項１〜５のいずれか一項に記載のログ分析方法。
【請求項７】
前記分析対象ログに含まれる各ログが、変化可能な変数部分と変化しない定数部分とを含む、予め決められた複数の形式のいずれに合致するか判定する工程をさらに含み、
前記第１順序を判定する工程および前記第２順序を判定する工程は、前記分析対象ログに含まれる各ログの前記形式を用いて前記第１順序および前記第２順序を判定する、請求項１〜６のいずれか一項に記載のログ分析方法。
【請求項８】
前記第１順序、前記第２順序および前記第３順序は、ログの順列又は組み合わせである、請求項１〜７のいずれか一項に記載のログ分析方法。
【請求項９】
コンピュータに、
第１ログを分析対象ログとして入力する工程と、
前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する工程と、
前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する工程と、
前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する工程と、
を実行させるログ分析プログラムが記録された記録媒体。
【請求項１０】
第１ログを分析対象ログとして入力するログ入力部と、
前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する第１順序判定部と、
前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する第２順序判定部と、
前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する第３順序出力部と、
を備えるログ分析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログの分析を行うためのログ分析方法、システムおよび記録媒体に関する。
【背景技術】
【０００２】
コンピュータ上で実行されるシステムでは、一般的にイベントの結果やメッセージ等を含むログが出力される。システム異常等が発生した際には、多数のログを参照してログ分析が行われる。特に近年、システムの大規模化が進んでおり、ログの数が膨大になっているため、ユーザ（オペレータ等）が目視で関連するログを辿ることは難しい。したがって、システムによって互いに関連するログを自動的に出力することが求められている。【０００３】
特許文献１に記載の技術は、複数のログ間の共起確率を算出し、共起確率の高いログのパターン（すなわち順列又は組み合わせ）を抽出する。また、特許文献１に記載の技術は、複数のシステムからのログを統合し、統合されたログからさらに共起確率を算出し、共起確率の高いメッセージ群を抽出する。このような構成により、関連性の高いメッセージを集約して出力することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−７６０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的なシステムにおいては、複数の種類の装置およびプログラムから、様々な種類のログが出力される。そのため出力されるログの内容は、出力元の装置やプログラムによって大きく異なる。例えば第１の種類のログは関連性を示す識別子を含むため関連性の判定が容易であるが、第２の種類のログは識別子を有さないため関連性の判定が難しい場合がある。また、第１の種類のログと第２の種類のログとが関連する場合に、それらのログが時系列で混在する（例えば入れ子に出力される）ため、関連性を判定することはさらに難しい。【０００６】
しかしながら、特許文献１に記載の技術は複数の種類のログを想定しておらず、単純に共起確率の高いログのパターン（順列又は組み合わせ）を抽出している。そのため、複数の種類のログが混在している状況では、関連性の高いログのパターンを正確に検出できない場合がある。【０００７】
本発明は、上述の問題に鑑みて行われたものであって、複数の種類が混在しているログから関連性の高いログの順序を高精度に出力することができるログ分析方法、システムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、ログ分析方法であって、第１ログを分析対象ログとして入力する工程と、前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する工程と、前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する工程と、前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する工程と、を含む。【０００９】
本発明の第２の態様は、ログ分析プログラムが記録された記録媒体であって、当該ログ分析プログラムは、コンピュータに、第１ログを分析対象ログとして入力する工程と、前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する工程と、前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する工程と、前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する工程と、を実行させる。【００１０】
本発明の第３の態様は、ログ分析システムであって、第１ログを分析対象ログとして入力するログ入力部と、前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する第１順序判定部と、前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する第２順序判定部と、前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する第３順序出力部と、を備える。
【発明の効果】
【００１１】
本発明によれば、関連性を示す識別子を有するログ、および識別子を有さないログに対して別々にログの順序を判定し、判定された順序を用いて分析対象ログ全体に対するログの順序を出力する。そのため、複数の種類が混在しているログからも、関連性の高いログの順序を出力することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係るログ分析システムのブロック図である。
【図２Ａ】第１の実施形態に係る分析対象ログの模式図である。
【図２Ｂ】第１の実施形態に係るフォーマットの模式図である。
【図３】第１の実施形態に係るログ分析方法の模式図である。
【図４】第１の実施形態に係る関連識別子定義の模式図である。
【図５】第１の実施形態に係るログ分析システムの概略構成図である。
【図６】第１の実施形態に係るログ分析方法のフローチャートを示す図である。
【図７】第２の実施形態に係るログ分析システムのブロック図である。
【図８】各実施形態に係るログ分析システムのブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態を説明するが、本発明は本実施形態に限定されるものではない。なお、以下で説明する図面で、同機能を有するものは同一符号を付け、その繰り返しの説明は省略することもある。
【００１４】
（第１の実施形態）
図１は、本実施形態に係るログ分析システム１００のブロック図である。図１において、矢印は主なデータの流れを示しており、図１に示したもの以外のデータの流れがあってよい。図１において、各ブロックはハードウェア（装置）単位の構成ではなく、機能単位の構成を示している。そのため、図１に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に別れて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
【００１５】
ログ分析システム１００は、処理部として、ログ入力部１１０、フォーマット判定部１２０、第１順序判定部１３０、第１ログ再構成部１４０、第２順序判定部１５０、第２ログ再構成部１６０および第３順序出力部１７０を備える。また、ログ分析システム１００は、記憶部として、フォーマット記憶部１８１、関連識別子記憶部１８２および結果記憶部１８３を備える。
【００１６】
ログ入力部１１０は、分析の対象とする分析対象ログ１０を受け取り、ログ分析システム１００に入力する。分析対象ログ１０は、ログ分析システム１００の外部から取得されてよく、あるいはログ分析システム１００の内部に予め記録されたものを読み出すことにより取得されてよい。分析対象ログ１０は、１つ以上の装置又はプログラムから出力される１つ以上のログを含む。分析対象ログ１０は、任意のデータ形式（ファイル形式）で表されたログであり、例えばバイナリデータ又はテキストデータでよい。また、分析対象ログ１０はデータベースのテーブルとして記録されてよく、あるいはテキストファイルとして記録されてよい。
【００１７】
図２Ａは、例示的な分析対象ログ１０の模式図である。本実施形態における分析対象ログ１０は、装置又はプログラムから出力される１つのログを１単位とし、１つ以上の任意の数のログを含む。１つのログは１行の文字列でよく、あるいは複数行の文字列でよい。すなわち、分析対象ログ１０は分析対象ログ１０に含まれるログの総体を指し、ログは分析対象ログ１０から抜き出された１つのログを指す。各ログは、タイムスタンプおよびメッセージ等を含む。ログ分析システム１００は、特定の種類のログに限らず、広範な種類のログを分析対象とすることができる。例えば、ｓｙｓｌｏｇ、イベントログ等のオペレーティングシステムやアプリケーションなどから出力されるメッセージを記録する任意のログを分析対象ログ１０として用いることができる。
【００１８】
フォーマット判定部１２０は、分析対象ログ１０に含まれる各ログに対して、フォーマット記憶部１８１に予め記録されているいずれのフォーマット（形式）に適合するかを判定し、適合するフォーマットを用いて各ログを変数部分と定数部分とに分離する。フォーマットとは、ログの特性に基づいて予め決められた、ログの形式である。ログの特性は、互いに類似するログ間で変化しやすい又は変化しづらいという性質や、ログ中で変化しやすい部分とみなせる文字列が記載されているという性質を含む。変数部分とはフォーマットの中で変化可能な部分であり、定数部分とはフォーマットの中で変化しない部分である。入力されたログ中の変数部分の値（数値、文字列およびその他のデータを含む）を変数値と呼ぶ。変数部分および定数部分はフォーマット毎に異なる。そのため、あるフォーマットでは変数部分として定義される部分が、別のフォーマットでは定数部分として定義されることや、その逆があり得る。
【００１９】
図２Ｂは、フォーマット記憶部１８１に記録される例示的なフォーマットの模式図である。フォーマットは、一意のフォーマットＩＤに関連付けられたフォーマットを表す文字列を含む。フォーマットは、ログ中の変化可能な部分に所定の識別子を記載することによって変数部分として規定し、ログ中の変数部分以外の部分を定数部分として規定する。変数部分の識別子として、例えば「＜変数：タイムスタンプ＞」はタイムスタンプを表す変数部分を示し、「＜変数：文字列＞」は任意の文字列を表す変数部分を示し、「＜変数：数値＞」は任意の数値を表す変数部分を示し、「＜変数：ＩＰ＞」は任意のＩＰアドレスを表す変数部分を示す。変数部分の識別子はこれらに限られず、正規表現や、取り得る値のリスト等の任意の方法により定義されてよい。また、フォーマットは変数部分を含まずに定数部分のみによって構成されてよく、あるいは定数部分を含まずに変数部分のみによって構成されてよい。
【００２０】
例えば、フォーマット判定部１２０は、図２Ａの３行目のログを、図２ＢのＩＤが１であるフォーマットに適合すると判定する。そして、フォーマット判定部１２０は、判定されたフォーマットに基づいて該ログを処理し、タイムスタンプである「２０１５／０８／１７  ０８：２８：３７」、文字列である「ＳＶ００３」、数値である「３２５８」およびＩＰアドレスである「１９２．１６８．１．２３」を変数値として決定する。
【００２１】
図２Ｂにおいて、フォーマットは視認性のために文字列のリストで表されているが、任意のデータ形式（ファイル形式）で表されてよく、例えばバイナリデータ又はテキストデータでよい。また、フォーマットはバイナリファイル又はテキストファイルとしてフォーマット記憶部１８１に記録されてよく、あるいはデータベースのテーブルとしてフォーマット記憶部１８１に記録されてよい。
【００２２】
第１順序判定部１３０、第１ログ再構成部１４０、第２順序判定部１５０、第２ログ再構成部１６０および第３順序出力部１７０は、以下に説明するログ分析方法によって分析対象ログ１０に対して２段階の順序判定を行い、該２段階の順序判定の結果に基づいて単一の順序を出力する。
【００２３】
図３は、本実施形態に係るログ分析方法の模式図である。フォーマット判定部１２０によってフォーマットが判定された後の分析対象ログ１０を、第１ログＬ１とする。図３の第１ログＬ１中のＩＤはフォーマットＩＤである。まず、第１順序判定部１３０は、第１ログＬ１のうち所定の関連識別子を有するログ（第１部分ログという）を抽出する。関連識別子とは、ログが互いに関連することを示す識別子であり、関連識別子記憶部１８２中に予め定義される。より具体的には、関連識別子は、２つ以上のログが互いに関連するものとして出力された順列又は組み合わせであることを示す、該２つ以上のログ中に記載された文字列である。図３の第１ログＬ１中のＩＤ：５からＩＤ：６までのログは、図２Ａの２行目〜７行目のログに対応する。例えば、図２Ａの３行目〜６行目のログは共通する文字列「ＪＮＷ」を含んでおり、互いに関連するログであることがわかる。そのため、第１順序判定部１３０は、この文字列「ＪＮＷ」を関連識別子として用いることができる。
【００２４】
図４は、関連識別子記憶部１８２に記録される例示的な関連識別子定義の模式図である。関連識別子定義は、一意の関連識別子ＩＤに関連付けられた関連識別子を表す文字列を含む。関連識別子は、同一の値によってログ同士の関連性を表してよく、あるいは所定の規則によってログ同士の関連性を表してよい。例えば、関連識別子ＩＤが１０１の関連識別子定義は、ログ中に同一の文字列「ＪＮＷ」が含まれることによって関連性を示す。また、関連識別子ＩＤが１０２の関連識別子定義は、ログ中に「Ｌ００１」、「Ｌ００２」、「Ｌ００３」のような連番を含む文字列が含まれることによって順序を示す（なお、関連識別子中の「＜ＮＮＮ＞」の部分は３桁の連番であることを表す）。関連識別子は、ここに示したものに限られず、ログ同士の関連性を表すことが可能な任意の文字列又は数値でよい。関連識別子定義は、予めログ分析システム１００内に記録されるか、あるいはユーザによって入力される。
【００２５】
第１順序判定部１３０は、第１ログＬ１のうち関連識別子を有するログ（第１部分ログ）に対して、該関連識別子に基づいて第１順序判定を行う。具体的には、第１順序判定部１３０は、第１ログＬ１のうち関連識別子を有するログの中で、所定の時間範囲内で共通の関連識別子（すなわち、同一の関連識別子又は連番の関連識別子）を有するログ群の順序を第１順序Ｓ１として判定する。図３の第１順序Ｓ１中のＩＤはフォーマットＩＤである。ログ群を検出する時間範囲は、その範囲内であれば互いに関連する一連のログであるとみなせる任意の値（例えば５分以内）でよい。判定された第１順序Ｓ１は、メモリ等に一時的に記録される。第１ログＬ１中に複数の関連識別子が存在する場合には、第１順序判定部１３０はそれぞれの関連識別子について別々に順序を判定する。第１順序Ｓ１は、互いに関連するログのパターン（順列又は組み合わせ）である。
【００２６】
第１ログ再構成部１４０は、第１順序判定部１３０により判定された第１順序Ｓ１に該当するログ群（第１部分ログ）を第１ログＬ１から除外することによって、第２ログＬ２を生成する。図３の第２ログＬ２中のＩＤはフォーマットＩＤである。生成された第２ログＬ２は、メモリ等に一時的に記録される。
【００２７】
第２順序判定部１５０は、第１ログ再構成部１４０により生成された第２ログＬ２に対して、第２ログＬ２に含まれるログのうち、関連識別子を有しないログの時系列の相関関係に基づいて第２順序判定を行う。具体的には、第２順序判定部１５０は、第１順序Ｓ１に該当するログ群を含まない第２ログＬ２において、関連識別子を有しない各ログのフォーマットＩＤが時系列で出現する回数を含む時系列情報を生成する。そして、第２順序判定部１５０は、時系列情報からフォーマットＩＤの時系列の相関関係としてフォーマットＩＤ間の遷移確率を算出し、遷移確率が所定の閾値より高いログ群の順序を第２順序Ｓ２として判定する。図３の第２順序Ｓ２中のＩＤはフォーマットＩＤである。換言すると、遷移確率は、第１の種類（ここではフォーマット）のログの後に第２の種類のログが出現する確率である。互いに関連するログは特定の順序で出現する確率が高いため、ログ（フォーマットＩＤ）の時系列の相関関係に基づいて互いに関連するログ群の順序を抽出することができる。
【００２８】
判定された第２順序Ｓ２は、メモリ等に一時的に記録される。第２順序Ｓ２は、互いに関連するログのパターン（順列又は組み合わせ）である。第２順序Ｓ２の判定方法として、ここに示したものに限られず、パターンマッチング、機械学習等の任意の方法を用いてよい。
【００２９】
このように、本実施形態では識別子を有するログに対する第１順序判定と、識別子を有さないログに対する第２順序判定とが独立して行われるため、そのような異なる種類のログが混在している状況であってもそれぞれの順序を高精度に判定することができる。
【００３０】
第２ログ再構成部１６０は、第２順序判定部１５０により判定された第２順序Ｓ２に該当するログ群を第２ログＬ２から除外し、さらに第１順序Ｓ１および第２順序Ｓ２を示す仮ログＴを第２ログＬ２に挿入することによって、第３ログＬ３を生成する。図３の第３ログＬ３中のＩＤはフォーマットＩＤである。仮ログＴは、実体的なログ（すなわち具体的なメッセージを含むログ）そのものではなく、第１順序Ｓ１および第２順序Ｓ２に該当するログが存在する位置（時刻）を示す情報である。生成された第３ログＬ３は、メモリ等に一時的に記録される。
【００３１】
図３の例では、第２順序Ｓ２の中に、第１順序Ｓ１が入れ子になっている。そのため、仮ログＴとして、第２順序Ｓ２の前半を表す文字列「Ｂ［１］」、第１順序Ｓ１を表す文字列「Ａ」、第２順序Ｓ２の後半を表す文字列「Ｂ［２］」が第２ログＬ２に挿入される。仮ログＴ中の第１順序Ｓ１および第２順序Ｓ２の出現位置の記載方法はこれに限られない。仮ログＴは、ここに示したものに限られず、第１順序Ｓ１および第２順序Ｓ２を示すことが可能な任意の方法で表されてよい。
【００３２】
第３順序出力部１７０は、第２ログ再構成部１６０により生成された第３ログＬ３から所定の規則に基づいて順序を判定し、仮ログＴを実体的なログに戻してから第３順序Ｓ３として出力する。図３の第３順序Ｓ３中のＩＤはフォーマットＩＤである。例えば第２順序判定と同様に、第３順序出力部１７０は、第１順序Ｓ１および第２順序Ｓ２を用いて再構成された第３ログＬ３（仮ログＴを含む）から遷移確率を算出し、遷移確率が所定の閾値より高いログ群の順序を第３順序Ｓ３として判定し、出力する。第３順序Ｓ３の判定方法として、ここに示したものに限られず、相関分析、機械学習等の任意の方法を用いてよい。第３順序Ｓ３は、互いに関連するログのパターン（順列又は組み合わせ）である。第３順序Ｓ３の判定方法として、ここに示したものに限られず、パターンマッチング、機械学習等の任意の方法を用いてよい。
【００３３】
判定された第３順序Ｓ３は、結果記憶部１８３に記録される。また、判定された第３順序Ｓ３の出力は、結果記憶部１８３への記録に限られず、表示装置への表示、ネットワークを介した送信等、任意の方法によって行われてよい。
【００３４】
ログ分析システム１００は、判定された第３順序Ｓ３を用いて分析対象ログ１０の異常を検出する異常検出部をさらに備えてよい。異常検出部は、分析対象ログ１０の中に結果記憶部１８３に記録された第３順序Ｓ３に合致しないログのパターンが存在する場合に、異常であることを検出して出力する。異常の出力は、データの記録、ネットワークを介した送信等、任意の方法によって行われてよい。
【００３５】
このように、本実施形態では識別子を有するログから判定された第１順序と、識別子を有さないログから判定された第２順序を用いてログを再構成し、該再構成されたログから単一の第３順序を判定するため、識別子を有するログおよび識別子を有さないログを組み合わせた順序を判定することができる。
【００３６】
図５は、本実施形態に係るログ分析システム１００の例示的な機器構成を示す概略構成図である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、メモリ１０２と、記憶装置１０３と、通信インターフェース１０４とを備えるログ分析システム１００は独立した装置でよく、あるいは他の装置と一体に構成されてよい。
【００３７】
通信インターフェース１０４は、データの送受信を行う通信部であり、有線通信および無線通信の少なくとも一方の通信方式を実行可能に構成される。通信インターフェース１０４は、該通信方式に必要なプロセッサ、電気回路、アンテナ、接続端子等を含む。通信インターフェース１０４は、ＣＰＵ１０１からの信号に従って、該通信方式を用いてネットワークに接続され、通信を行う。通信インターフェース１０４は、例えば分析対象ログ１０を外部から受信する。
【００３８】
記憶装置１０３は、ログ分析システム１００が実行するプログラムや、プログラムによる処理結果のデータ等を記憶する。記憶装置１０３は、読み取り専用のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）や、読み書き可能のハードディスクドライブ又はフラッシュメモリ等を含む。また、記憶装置１０３は、ＣＤ−ＲＯＭ等のコンピュータ読取可能な可搬記憶媒体を含んでもよい。メモリ１０２は、ＣＰＵ１０１が処理中のデータや記憶装置１０３から読み出されたプログラムおよびデータを一時的に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を含む。
【００３９】
ＣＰＵ１０１は、処理に用いる一時的なデータをメモリ１０２に一時的に記録し、記憶装置１０３に記録されたプログラムを読み出し、該プログラムに従って該一時的なデータに対して種々の演算、制御、判別などの処理動作を実行する処理部としてのプロセッサである。また、ＣＰＵ１０１は、記憶装置１０３に処理結果のデータを記録し、また通信インターフェース１０４を介して処理結果のデータを外部に送信する。
【００４０】
本実施形態においてＣＰＵ１０１は、記憶装置１０３に記録されたプログラムを実行することによって、図１のログ入力部１１０、フォーマット判定部１２０、第１順序判定部１３０、第１ログ再構成部１４０、第２順序判定部１５０、第２ログ再構成部１６０および第３順序出力部１７０として機能する。また、本実施形態において記憶装置１０３は、図１のフォーマット記憶部１８１、関連識別子記憶部１８２および結果記憶部１８３として機能する。
【００４１】
ログ分析システム１００は、図５に示す具体的な構成に限定されない。ログ分析システム１００は、１つの装置に限られず、２つ以上の物理的に分離した装置が有線又は無線で接続されることにより構成されていてもよい。ログ分析システム１００に含まれる各部は、それぞれ電気回路構成により実現されていてもよい。ここで、電気回路構成とは、単一のデバイス、複数のデバイス、チップセット又はクラウドを概念的に含む文言である。
【００４２】
また、ログ分析システム１００の少なくとも一部がＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）形式で提供されてよい。すなわち、ログ分析システム１００を実現するための機能の少なくとも一部が、ネットワーク経由で実行されるソフトウェアによって実行されてよい。
【００４３】
図６は、本実施形態に係るログ分析システム１００を用いるログ分析方法のフローチャートを示す図である。まず、ログ入力部１１０は、分析対象ログ１０を取得し、ログ分析システム１００に入力する（ステップＳ１０１）。フォーマット判定部１２０は、ステップＳ１０１で入力された分析対象ログ１０に含まれる各ログについて、フォーマット記憶部１８１に記録されたいずれのフォーマットに適合するか判定する（ステップＳ１０２）。
【００４４】
第１順序判定部１３０は、ステップＳ１０２においてフォーマットが判定されたログ（第１ログＬ１）から、関連識別子記憶部１８２に記録された関連識別子を有するログ（第１部分ログ）を抽出し、抽出された第１部分ログに対して上述の方法によって第１順序判定を行う（ステップＳ１０３）。ステップＳ１０３で判定された第１順序Ｓ１は、メモリ１０２に一時的に記録される。
【００４５】
第１ログ再構成部１４０は、ステップＳ１０３で判定された第１順序Ｓ１に該当するログ群（第１部分ログ）を第１ログＬ１から除外することによって、第２ログＬ２を生成する（ステップＳ１０４）。生成された第２ログＬ２は、メモリ１０２に一時的に記録される。
【００４６】
第２順序判定部１５０は、ステップＳ１０４で生成された第２ログＬ２のうち、関連識別子を有しないログに対して、上述の方法によって第２順序判定を行う（ステップＳ１０５）。ステップＳ１０５で判定された第２順序Ｓ２は、メモリ１０２に一時的に記録される。
【００４７】
第２ログ再構成部１６０は、ステップＳ１０５で判定された第２順序Ｓ２に該当するログ群を第２ログＬ２から除外し（ステップＳ１０６）、さらに第１順序Ｓ１および第２順序Ｓ２を示す仮ログＴを第２ログＬ２に挿入することによって、第３ログＬ３を生成する（ステップＳ１０７）。生成された第３ログＬ３は、メモリ１０２に一時的に記録される。
【００４８】
第３順序出力部１７０は、ステップＳ１０７で生成された第３ログＬ３から上述の方法によって順序を判定し、仮ログＴを実体的なログに戻してから第３順序Ｓ３として出力する（ステップＳ１０８）。
【００４９】
ログ分析システム１００のＣＰＵ１０１は、図６に示すログ分析方法に含まれる各ステップ（工程）の主体となる。すなわち、ＣＰＵ１０１は、図６に示すログ分析方法を実行するためのプログラムをメモリ１０２または記憶装置１０３から読み出し、該プログラムを実行してログ分析システム１００の各部を制御することによって図６に示すログ分析方法を実行する。
【００５０】
本実施形態に係るログ分析システム１００は、識別子を有するログに対する第１順序判定と、識別子を有さないログに対する第２順序判定とを行い、それらによって判定された第１順序および第２順序に基づいて再構成されたログから第３順序を出力する。そのため、識別子を有するログと識別子を有さないログとが混在した状況であっても、識別子を有するログおよび識別子を有さないログを組み合わせた順序を高精度に判定および出力することができる。また、ログ分析システム１００は、識別子を有するログについては識別子を用いて素早くかつ正確に順序を判定しつつも、識別子を有さないログについては時系列の相関関係を用いて順序を判定する。そのため、識別子の情報を無駄にせず、識別子を有するログおよび識別子を有さないログの全体の順序判定の効率化を計ることができる。
【００５１】
（第２の実施形態）
本実施形態では、２つ以上の装置又はプログラムから出力された分析対象ログに対して個別に第１および第２順序を判定し、その後に集約されたログに対して第３順序を判定して出力する。これにより、２つ以上の装置又はプログラムにまたがるログの順序をより高精度に判定および出力することができる。
【００５２】
図７は、本実施形態に係るログ分析システム２００のブロック図である。ログ分析システム２００は、図１の構成に加えて、処理部であるログ集約部２９０をさらに備える。また、本実施形態においてはログ入力部１１０に第１の分析対象ログ１１および第２の分析対象ログ１２が入力される。ここでは簡略化のために２つの分析対象ログ１１、１２を用いているが、３つ以上の分析対象ログを用いてよい。
【００５３】
ログ入力部１１０、フォーマット判定部１２０、第１順序判定部１３０、第１ログ再構成部１４０、第２順序判定部１５０および第２ログ再構成部１６０は、２つの分析対象ログ１１、１２に対して、それぞれ第１の実施形態と同様に第１順序判定および第２順序判定を行い、それぞれ仮ログＴを含む第３ログＬ３を生成する。２つの分析対象ログ１１、１２に対する処理は並列で行われてよく、あるいは順次行われてよい。
【００５４】
ログ集約部２９０は、２つの分析対象ログ１１、１２から生成された２つの第３ログＬ３を統合して時系列順に並び替えた集約ログを生成する。そして、第３順序出力部１７０は、集約ログに対して、第１の実施形態と同様に第３順序出力を行う。
【００５５】
本実施形態に係るログ分析システム２００は、２つ以上の装置又はプログラムから出力された分析対象ログに対して、個別に第１および第２順序を判定する。そのため装置又はプログラムから出力された分析対象ログが混在する前に、高精度に順序を判定することができる。
【００５６】
（その他の実施形態）
図８は、上述の各実施形態に係るログ分析システム１００、２００の概略構成図である。図８には、ログ分析システム１００、２００が識別子を有するログから判定された第１順序と、識別子を有さないログから判定された第２順序を用いて再構成されたログから単一の第３順序を判定する装置として機能するための構成例が示されている。ログ分析システム１００、２００は、互いに関連することを示す識別子を有する第１ログおよび前記識別子を有さない第２ログを含む分析対象ログを入力するログ入力部１１０と、前記第１ログにおいて、前記識別子を用いて前記第１ログに含まれるログの出現順序である第１順序を判定する第１順序判定部１３０と、前記第２ログにおいて、前記識別子を用いずに前記第２ログに含まれるログの出現順序である第２順序を判定する第２順序判定部１５０と、前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する第３順序出力部１７０と、を備える。
【００５７】
本発明は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【００５８】
上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラム（より具体的には、図６に示す処理をコンピュータに実行させるプログラム）を記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
【００５９】
該記録媒体としては例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、ＯＳ上で動作して処理を実行するものも各実施形態の範疇に含まれる。
【００６０】
上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００６１】
（付記１）
第１ログを分析対象ログとして入力する工程と、
前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する工程と、
前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する工程と、
前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する工程と、
を含むログ分析方法。
【００６２】
（付記２）
前記第２順序を判定する工程は、前記識別子を有しないログ間の時系列の相関関係に基づいて、前記第２順序を判定する、付記１に記載のログ分析方法。
【００６３】
（付記３）
前記第２順序を判定する工程は、前記識別子を有しないログの中で第１の種類のログの次に第２の種類のログが出現する遷移確率が所定の閾値より高いログ群の順序を、前記第２順序として判定する、付記２に記載のログ分析方法。
【００６４】
（付記４）
前記第１順序を判定する工程は、前記第１部分ログの中で共通の前記識別子を有するログ群の順序を、前記第１順序として判定する、付記１〜３のいずれか一項に記載のログ分析方法。
【００６５】
（付記５）
前記第３順序を出力する工程は、前記分析対象ログから前記第１順序および前記第２順序に該当するログを除外した後に、前記分析対象ログに前記第１順序および前記第２順序に該当するログの位置を示す情報を挿入することによって生成された第３ログから、前記第３順序を出力する、付記１〜４のいずれか一項に記載のログ分析方法。
【００６６】
（付記６）
前記分析対象ログを入力する工程は、第１の分析対象ログおよび第２の分析対象ログを入力し、
前記第１順序を判定する工程は、前記第１の分析対象ログおよび前記第２の分析対象ログのそれぞれに対して個別に前記第１順序を判定し、
前記第２順序を判定する工程は、前記第１の分析対象ログおよび前記第２の分析対象ログのそれぞれに対して個別に前記第２順序を判定し、
前記第３順序を出力する工程は、前記第１の分析対象ログおよび前記第２の分析対象ログの前記第１順序および前記第２順序を統合することによって、前記第３順序を出力する、付記１〜５のいずれか一項に記載のログ分析方法。
【００６７】
（付記７）
前記分析対象ログに含まれる各ログが、変化可能な変数部分と変化しない定数部分とを含む、予め決められた複数の形式のいずれに合致するか判定する工程をさらに含み、
前記第１順序を判定する工程および前記第２順序を判定する工程は、前記分析対象ログに含まれる各ログの前記形式を用いて前記第１順序および前記第２順序を判定する、付記１〜６のいずれか一項に記載のログ分析方法。
【００６８】
（付記８）
前記第１順序、前記第２順序および前記第３順序は、ログの順列又は組み合わせである、付記１〜７のいずれか一項に記載のログ分析方法。
【００６９】
（付記９）
コンピュータに、
第１ログを分析対象ログとして入力する工程と、
前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する工程と、
前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する工程と、
前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する工程と、
を実行させるログ分析プログラムが記録された記録媒体。
【００７０】
（付記１０）
第１ログを分析対象ログとして入力するログ入力部と、
前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する第１順序判定部と、
前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する第２順序判定部と、
前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する第３順序出力部と、
を備えるログ分析システム。
【００７１】
この出願は、２０１６年１０月６日に出願された日本出願特願２０１６−１９８０２８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００７２】
１００、２００  ログ分析システム
１０１  ＣＰＵ
１０２  メモリ
１０３  記憶装置
１０４  通信インターフェース
１１０  ログ入力部
１２０  フォーマット判定部
１３０  第１順序判定部
１４０  第１ログ再構成部
１５０  第２順序判定部
１６０  第２ログ再構成部
１７０  第３順序出力部
１８１  フォーマット記憶部
１８２  関連識別子記憶部
１８３  結果記憶部
２９０  ログ集約部
【図１】
2018066661.tif 000003
【図２Ａ】
2018066661.tif 000004
【図２Ｂ】
2018066661.tif 000005
【図３】
2018066661.tif 000006
【図４】
2018066661.tif 000007
【図５】
2018066661.tif 000008
【図６】
2018066661.tif 000009
【図７】
2018066661.tif 000010
【図８】
2018066661.tif 000011
【手続補正書】
【提出日】平成31年1月24日(2019.1.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１ログを分析対象ログとして入力する工程と、
前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する工程と、
前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する工程と、
前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する工程と、
を含むログ分析方法。
【請求項２】
前記第２順序を判定する工程は、前記識別子を有しないログ間の時系列の相関関係に基づいて、前記第２順序を判定する、請求項１に記載のログ分析方法。
【請求項３】
前記第２順序を判定する工程は、前記識別子を有しないログの中で第１の種類のログの次に第２の種類のログが出現する遷移確率が所定の閾値より高いログ群の順序を、前記第２順序として判定する、請求項２に記載のログ分析方法。
【請求項４】
前記第１順序を判定する工程は、前記第１部分ログの中で共通の前記識別子を有するログ群の順序を、前記第１順序として判定する、請求項１〜３のいずれか一項に記載のログ分析方法。
【請求項５】
前記第３順序を出力する工程は、前記分析対象ログから前記第１順序および前記第２順序に該当するログを除外した後に、前記分析対象ログに前記第１順序および前記第２順序に該当するログの位置を示す情報を挿入することによって生成された第３ログから、前記第３順序を出力する、請求項１〜４のいずれか一項に記載のログ分析方法。
【請求項６】
前記分析対象ログを入力する工程は、第１の分析対象ログおよび第２の分析対象ログを入力し、
前記第１順序を判定する工程は、前記第１の分析対象ログおよび前記第２の分析対象ログのそれぞれに対して個別に前記第１順序を判定し、
前記第２順序を判定する工程は、前記第１の分析対象ログおよび前記第２の分析対象ログのそれぞれに対して個別に前記第２順序を判定し、
前記第３順序を出力する工程は、前記第１の分析対象ログおよび前記第２の分析対象ログの前記第１順序および前記第２順序を統合することによって、前記第３順序を出力する、請求項１〜５のいずれか一項に記載のログ分析方法。
【請求項７】
前記分析対象ログに含まれる各ログが、変化可能な変数部分と変化しない定数部分とを含む、予め決められた複数の形式のいずれに合致するか判定する工程をさらに含み、
前記第１順序を判定する工程および前記第２順序を判定する工程は、前記分析対象ログに含まれる各ログの前記形式を用いて前記第１順序および前記第２順序を判定する、請求項１〜６のいずれか一項に記載のログ分析方法。
【請求項８】
前記第１順序、前記第２順序および前記第３順序は、ログの順列又は組み合わせである、請求項１〜７のいずれか一項に記載のログ分析方法。
【請求項９】
コンピュータに、
第１ログを分析対象ログとして入力する工程と、
前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する工程と、
前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する工程と、
前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する工程と、
を実行させるログ分析プログラム。
【請求項１０】
第１ログを分析対象ログとして入力するログ入力部と、
前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する第１順序判定部と、
前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する第２順序判定部と、
前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する第３順序出力部と、
を備えるログ分析システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の第２の態様は、ログ分析プログラムであって、当該ログ分析プログラムは、コンピュータに、第１ログを分析対象ログとして入力する工程と、前記第１ログに含まれるログのうち、互いに関連することを示す識別子を有する第１部分ログの出現順序である第１順序を判定する工程と、前記第１ログから前記第１部分ログを除いて得られる第２ログに含まれるログのうち、前記識別子を有しないログの出現順序である第２順序を判定する工程と、前記第１順序および前記第２順序を用いて、前記分析対象ログに含まれるログの出現順序である第３順序を出力する工程と、を実行させる。
【国際調査報告】
2018066661.tif 000012
2018066661.tif 000013
2018066661.tif 000014
2018066661.tif 000015