(57)【要約】  監視対象のログメッセージが所定の条件を満たす場合にアラートを出力するログ監視部と、前記ログ監視部が出力した前記アラートに基づいて、前記ログメッセージの中から当該アラートと関連するログである関連ログを抽出する関連ログ抽出部と、を有し、前記ログ監視部が出力した前記アラートと、前記関連ログ抽出部が抽出した前記関連ログに応じた情報と、を出力する。
2020012579.tif 000002
【特許請求の範囲】
【請求項１】
監視対象のログメッセージが所定の条件を満たす場合にアラートを出力するログ監視部と、
前記ログ監視部が出力した前記アラートに基づいて、前記ログメッセージの中から当該アラートと関連するログである関連ログを抽出する関連ログ抽出部と、
を有し、
前記ログ監視部が出力した前記アラートと、前記関連ログ抽出部が抽出した前記関連ログに応じた情報と、を出力する
ログ分析装置。
【請求項２】
請求項１に記載のログ分析装置であって、
前記関連ログ抽出部は、前記関連ログとして、前記アラートの原因となったログと同一の発生元から出力されたログを抽出する
ログ分析装置。
【請求項３】
請求項１または請求項２に記載のログ分析装置であって、
前記関連ログ抽出部は、前記関連ログとして、前記アラートの原因となったログの発生元の装置と物理的、又は、仮想的に関係のある装置から出力されたログを抽出する
ログ分析装置。
【請求項４】
請求項１から請求項３までのいずれか１項に記載のログ分析装置であって、
前記ログ監視部が出力した複数の前記アラートを、前記アラートの時系列分布に従って複数のクラスタに分類するアラート分析部を有し、
前記関連ログ抽出部は、前記関連ログとして、前記アラート分析部が分類したクラスタに基づいて前記アラートと同時間帯に出力されたと判断されるログを抽出する
ログ分析装置。
【請求項５】
請求項１から請求項４までのいずれか１項に記載のログ分析装置であって、
前記ログメッセージ中の各ログを、所定のパターンに分類するログ分類部と、
前記関連ログ抽出部が抽出した前記関連ログを前記ログ分類部が分類した前記パターンに基づいて要約するログ要約部と、
を有する
ログ分析装置。
【請求項６】
請求項５に記載のログ分析装置であって、
前記ログ要約部は、前記関連ログ抽出部が抽出した前記関連ログを時系列に基づいて複数のグループに分割し、前記グループごとに前記関連ログの要約を行う
ログ分析装置。
【請求項７】
請求項６に記載のログ分析装置であって、
前記ログ要約部は、前記グループ内において、同一の前記パターンが同時刻に存在する場合、同一の前記パターンが連続する場合、同一の前記パターンの並びが繰り返される場合、のうちの少なくとも一つの条件を満たす場合に、前記関連ログの要約を行う
ログ分析装置。
【請求項８】
請求項５から請求項７までのいずれか１項に記載のログ分析装置であって、
前記ログ要約部は、前記関連ログ抽出部が抽出した前記関連ログを時系列に基づいて複数のグループに分割し、前記グループ間の要約を行う
ログ分析装置。
【請求項９】
請求項８に記載のログ分析装置であって、
前記ログ要約部は、複数の前記グループ間で同一の前記パターンの並びが繰り返される場合に前記グループ間の要約を行う
ログ分析装置。
【請求項１０】
請求項５から請求項９までのいずれか１項に記載のログ分析装置であって、
前記ログ監視部が出力した前記アラートと、前記関連ログ抽出部が抽出した前記関連ログを前記ログ要約部が要約した結果に基づく情報であるサマリ情報と、を出力する
ログ分析装置。
【請求項１１】
情報処理装置が、
監視対象のログメッセージが所定の条件を満たす場合にアラートを出力し、
出力したアラートに基づいて、当該アラートと関連するログである関連ログを抽出し、
出力した前記アラートと、抽出した前記関連ログに応じた情報と、を出力する
ログ分析方法。
【請求項１２】
情報処理装置に、
監視対象のログメッセージが所定の条件を満たす場合にアラートを出力するログ監視部と、
前記ログ監視部が出力したアラートに基づいて、当該アラートと関連するログである関連ログを抽出する関連ログ抽出部と、
を実現させ、
前記ログ監視部が出力した前記アラートと、前記関連ログ抽出部が抽出した前記関連ログに応じた情報と、を出力する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ分析装置、ログ分析方法、プログラムに関する。
【背景技術】
【０００２】
システムログやアプリケーションログなどのログメッセージを監視するための技術が知られている。【０００３】
例えば、特許文献１には、形式判定手段と、集合判定手段と、接続情報取得手段と、ログ集計手段と、情報出力手段と、を有するログ分析システムが記載されている。特許文献１によると、出力される複数のログが予め定められる複数の形式のうちのいずれの形式であるか、形式判定手段が判定するとともに、複数の形式の集合のうち、判定された形式ごとの複数のログがいずれの集合であるかを集合判定手段が判定する。また、接続情報取得手段は、判定された集合ごとの複数のログを出力した構成要素の関係性を示す接続情報を取得する。そして、ログ集計手段は、集合ごとの複数のログを構成要素ごとに集計する。その後、情報出力手段は、接続情報に基づき、構成要素ごとに集計結果を出力する。【０００４】
また、関連する技術として、例えば、特許文献２がある。特許文献２には、ログを収集して記憶するとともに、ログから抽出する重要部分であるログテンプレートを記憶し、また、ログテンプレートの同時生起性によりグループ化して記憶するログ分析装置が記載されている。特許文献２によると、ログ分析装置は、上記各情報に基づいて、ログを示す情報をリアルタイムに生成する。また、ログ分析装置は、上記各情報を含む情報の遷移の生起回数または生起回数を計算し、遷移が発生している情報を抽出して記憶し、遷移が発生したログと記憶している遷移とを比較して、ログの遷移を表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１７／１１０９９６号
【特許文献２】特開２０１５−９５０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ログの分析を行う際には、システムから出力される多数のログを確認することが必要となる。ここで、分析を行う際に確認することが必要なログは大量に存在する。その結果、ログの確認を行うことが難しくなる、という問題があった。【０００７】
このような問題に対して、特許文献１に記載されている技術の場合、集計結果を出力しているものの、上記課題を解決するための手段は何ら提示していない。また、特許文献２に記載されている技術もログの遷移を提示するというものであり、上記課題は解決できない。そのため、依然として、ログの分析を行う際、分析対象のログが大量に存在しており、人が確認することが難しい、という課題が生じていた。【０００８】
そこで、本発明の目的は、ログの分析を行う際、分析対象のログが大量に存在しており、人が確認することが難しい、という課題を解決するログ分析装置、ログ分析方法、プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
かかる目的を達成するため本発明の一形態であるログ分析装置は、
監視対象のログメッセージが所定の条件を満たす場合にアラートを出力するログ監視部と、
前記ログ監視部が出力した前記アラートに基づいて、前記ログメッセージの中から当該アラートと関連するログである関連ログを抽出する関連ログ抽出部と、
を有し、
前記ログ監視部が出力した前記アラートと、前記関連ログ抽出部が抽出した前記関連ログに応じた情報と、を出力する
という構成をとる。【００１０】
また、本発明の他の形態であるログ分析方法は、
情報処理装置が、
監視対象のログメッセージが所定の条件を満たす場合にアラートを出力し、
出力したアラートに基づいて、当該アラートと関連するログである関連ログを抽出し、
出力した前記アラートと、抽出した前記関連ログに応じた情報と、を出力する
という構成をとる。【００１１】
また、本発明の他の形態であるプログラムは、
情報処理装置に、
監視対象のログメッセージが所定の条件を満たす場合にアラートを出力するログ監視部と、
前記ログ監視部が出力したアラートに基づいて、当該アラートと関連するログである関連ログを抽出する関連ログ抽出部と、
を実現させ、
前記ログ監視部が出力した前記アラートと、前記関連ログ抽出部が抽出した前記関連ログに応じた情報と、を出力する
プログラムである。
【発明の効果】
【００１２】
本発明は、以上のように構成されることにより、ログの分析を行う際、分析対象のログが大量に存在しており、人が確認することが難しい、という課題を解決するログ分析装置、ログ分析方法、プログラムを提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態におけるログ分析装置の構成の一例を示すブロック図である。
【図２】図１で示すログメッセージの一例を示す図である。
【図３】図１で示す監視ルール記憶部が記憶する監視ルールの一例を示す図である。
【図４】図１で示すアラート分析部が行うクラスタリングの一例を示す図である。
【図５】図１で示すログ分類部が図２で示すログメッセージに基づいて生成するパターンの一例を示す図である。
【図６】図１で示すログ要約部が行う集約処理の一例を示す図である。
【図７】図１で示すログ要約部が行う集約処理の他の一例を示す図である。
【図８】図１で示す出力部による出力の内容の一例を示す図である。
【図９】本発明の第１の実施形態におけるログ監視部の動作の一例を示すフローチャートである。
【図１０】本発明の第１の実施形態におけるアラート分析部の動作の一例を示すフローチャートである。
【図１１】本発明の第１の実施形態における関連ログ抽出部の動作の一例を示すフローチャートである。
【図１２】本発明の第１の実施形態におけるログ要約部の動作の一例を示すフローチャートである。
【図１３】本発明の第１の実施形態を実現可能なコンピュータ（情報処理装置）のハードウェア構成を例示的に説明する図である。
【図１４】本発明の第２の実施形態におけるログ分析装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１４】
［第１の実施形態］
本発明の第１の実施形態を図１から図１３までを参照して説明する。図１は、ログ分析装置１０の構成の一例を示すブロック図である。図２は、ログメッセージ２の一例を示す図である。図３は、監視ルール記憶部１２が記憶する監視ルールの一例を示す図である。図４は、アラート分析部１３が行うクラスタリングの一例を示す図である。図５は、ログ分類部１４がログメッセージ２に基づいて生成するパターンの一例を示す図である。図６、図７は、ログ要約部１７が行う集約処理の一例を示す図である。図８は、出力部１８による出力の内容の一例を示す図である。図９は、ログ監視部１１の動作の一例を示すフローチャートである。図１０は、アラート分析部１３の動作の一例を示すフローチャートである。図１１は、関連ログ抽出部１６の動作の一例を示すフローチャートである。図１２は、ログ要約部１７の動作の一例を示すフローチャートである。図１３は、ログ分析装置１０を実現可能なコンピュータ（情報処理装置）のハードウェア構成を例示的に説明する図である。
【００１５】
本発明の第１の実施形態では、アラートを出力する際に、アラートとともに当該アラートに関連するログである関連ログに応じた情報を出力するログ分析装置１０について説明する。後述するように、ログ分析装置１０は、アラートを時系列分布に従って分類したクラスタごとに、クラスタ内の各アラートに関連する関連ログを抽出する。そして、ログ分析装置１０は、抽出した関連ログを当該関連ログが属するパターンに基づいて要約した後、要約した結果に応じた情報をアラートとともに出力する。
【００１６】
なお、本実施形態においては、ログメッセージ２中のログはそれぞれ何らかのパターンに属しているものとする。例えば、パターンとは、ログを複数の変数の並び（一部は固定の文字列（値）であっても構わない）として捉えたものである。ログがどのパターンに属するかは、例えば、ログ中の各フィールドの値を当該フィールドの属性に応じた変数に変換した際の変数の並びなどから判断することが出来る。ここで、フィールドとは、ログ中の値、変数を判断する際の基準となる区切りのことをいう。例えば、ログは、日付日時、IPアドレス（Internet Protocol address）、英字のみ、英数混合、数字のみ、など、ログが示す対象・情報の中身（属性）が変化する箇所で各フィールドに区切られている。なお、日付と日時で異なるフィールドになるなど、上記例示した以外の個所でフィールドを区切っても構わない。また、フィールドの属性に応じた変数には、例えば、英字のみ（WORD）、英数混合（NOTSPACE）、数字のみ（NUM）などがある。変数は、日付日時を示す数字のみの変数やＩＰアドレスを示す変数など、上記をより細分化したものや上記例示したもの以外であっても構わない。
【００１７】
例えば、「2017/02/24 09:01:00 success 127.0.0.1 bear」というログの場合、当該ログは、日付日時のフィールド、英字のみのフィールド、IPアドレスのフィールド、英字のみのフィールドの４つのフィールドを含んでいる。また、上記ログの場合、日付日時のフィールドの値が2017/02/24 09:01:00であり、１番目の英字のみのフィールドの値がsuccessであり、IPアドレスのフィールドの値が127.0.0.1であり、２番目の英字のみのフィールドの値がbearである。このようなログ中の各フィールドの値を変数に変換すると、例えば、「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛WORD｝」というパターンとなる。つまり、値「2017/02/24 09:01:00」が変数%｛NUM_TS｝に対応し、値「success」が変数%｛WORD｝に対応所定、値「127.0.0.1」が変数%｛IP_NUM｝に対応し、値「bear」が変数%｛WORD｝に対応する。このような場合、上記ログ「2017/02/24 09:01:00 success 127.0.0.1 bear」は、パターン「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛WORD｝」に属している、ということが出来る。
【００１８】
ログ分析装置１０は、アラートを出力する際に、アラートとともに関連ログに応じた情報を出力する情報処理装置である。図１は、ログ分析装置１０の構成の一例を示している。図１を参照すると、ログ分析装置１０は、例えば、ログ監視部１１と、監視ルール記憶部１２と、アラート分析部１３と、ログ分類部１４と、分類ルール記憶部１５と、関連ログ抽出部１６と、ログ要約部１７と、出力部１８と、を有している。
【００１９】
ログ監視部１１は、所与の監視ルールに基づいて異常を検知する。そして、ログ監視部１１は、検知した内容を示すアラートを出力する。換言すると、ログ監視部１１は、監視対象のログメッセージ２が所定の条件である監視ルールを満たす場合に、異常を検知してアラートを出力する。
【００２０】
例えば、図２で示すようなログメッセージ２を、外部装置などからログ分析装置１０が受信したとする。図２を参照すると、ログメッセージ２には、例えば、「2017/02/24 09:01:00 success 127.0.0.1 bear」、「2017/02/24 09:02:00 success 127.0.0.2 root」、「2017/02/24 09:04:00 fail 192.10.0.5 zaq123」、「2017/02/24 09:04:00 fail 192.10.0.5 zaq123」、「2017/02/24 09:04:00 fail 192.10.0.5 zaq123」、「2017/02/24 09:04:00 fail 192.10.0.5 zaq123」、「2017/02/24 09:04:00 fail 192.10.0.5 zaq123」、「2017/02/24 09:04:40 success 192.10.0.6 bear_1」、などのログが含まれている。
【００２１】
また、所与の監視ルールとして、監視ルール記憶部１２が図３で示すような監視ルールを記憶しているとする。図３を参照すると、監視ルール記憶部１２は、例えば、「”fail”が5回以上連続して発生」することを条件として、「fail count exceeds its upper limit」というアラートを出力する旨の監視ルールを予め記憶している。
【００２２】
このような場合、ログ監視部１１は、09:04:00に連続して5回”fail”が発生したため、監視ルール記憶部１２に格納された監視ルールに基づいて、異常を検知する。そして、ログ監視部１１は、検知した内容を示すアラートを出力する。例えば、ログ監視部１１は、「2017/02/24 09:04:10 fail count exceeds its upper limit :｛2017/02/24 09:04:00 fail 192.10.0.5 zaq123｝」のようなアラートを出力する。
【００２３】
このように、ログ監視部１１は、監視ルール記憶部１２に記憶された監視ルールに基づいて、ログメッセージ２中の異常を検知する。そして、ログ監視部１１は、検知した結果に応じたアラートを出力する。
【００２４】
監視ルール記憶部１２は、監視ルールを記憶する記憶装置である。本実施形態の場合、監視ルール記憶部１２は、条件とアラートとを対応づけた情報を監視ルールとして記憶している（図３参照）。例えば、図３の１行目では、条件「”fail”が5回以上連続して発生」とアラート「fail count exceeds its upper limit」とが対応づけられている。
【００２５】
なお、監視ルール記憶部１２が記憶する監視ルールは上記例示したもの以外であっても構わない。本実施形態においては、監視ルール記憶部１２が記憶する監視ルールの数も特に限定しない。また、監視ルールは、人が定義したものであっても構わないし、機械学習によって生成されたモデルなどであっても構わない。
【００２６】
アラート分析部１３は、ログ監視部１１から出力された複数のアラートを、アラートの時系列分布に従って複数のクラスタに分類する。
【００２７】
例えば、アラート分析部１３は、図４で示すように、時刻によるクラスタ分類を行うことが出来る。具体的には、アラート分析部１３は、ログ監視部１１から出力された複数のアラートを一定の時間幅で分割する。そして、アラート分析部１３は、同一の時間幅に含まれるアラートを同一のクラスタに含まれるアラートと判定する。例えば、図４の場合、アラート分析部１３は、時間１００〜１１０の間に存在する４つのアラートを同一のクラスタに分類する。また、アラート分析部１３は、時間１２０〜１３０の間に存在する２つのアラートを同一のクラスタに分類する。このように、アラート分析部１３は、同一時間帯に存在するアラートを同一のクラスタに分類するクラスタ分類を行うことが出来る。なお、上記時間幅は任意の幅で構わない。
【００２８】
なお、アラート分析部１３は、複数のアラート間の時間差が予め定められた閾値以上となった場合に別のクラスタとなるように判定しても構わない。つまり、アラート分析部１３は、アラート間の時間差と閾値とに基づいて、クラスタ分類を行うよう構成しても構わない。なお、上記閾値は任意の値で構わない。
【００２９】
また、例えば、アラート分析部１３は、アラート発生元の情報を加えてクラスタ分類を行うことが出来る。具体的には、アラート分析部１３は、共通する任意の装置、ログファイル、ログメッセージに起因するアラートであり、かつ、それらアラートが所定の時間幅（任意の幅で構わない）に含まれる場合に、当該複数のアラートを同一のクラスタに含まれるアラートと判断することが出来る。
【００３０】
また、例えば、アラート分析部１３は、既知の機械学習的方法によりアラートの時系列分布からクラスタを生成しても構わない。
【００３１】
アラート分析部１３は、上述した方法のいずれか、または、その組み合わせにより、ログ監視部１１から出力された複数のアラートを、アラートの時系列分布に従って複数のクラスタに分類することが出来る。
【００３２】
なお、本実施形態においては、アラート分析部１３が上述した分類処理を開始するタイミングについては特に限定しない。例えば、アラート分析部１３は、予め定められた周期ごとに上記分類を行っても構わないし、分類を行っていないアラートの数が所定数以上となるごとに上記分類を行っても構わない。アラート分析部１３は、ログ監視部１１がアラートを出力するごとなど上記例示した以外のタイミングで分類処理を開始しても構わない。
【００３３】
ログ分類部１４は、ログメッセージ２に含まれる各ログが属するパターンを判断する。換言すると、ログ分類部１４は、ログメッセージ２に含まれる各ログを、ログが属するパターンに応じて分類する。そして、ログ分類部１４は、分類した結果を分類ルール記憶部１５に格納する。
【００３４】
例えば、ログ分類部１４は、ログ中の各フィールドの値を変数に変換した際の変数の並びに基づいて、ログが属するパターンを判断する。例えば、ログ分類部１４が図２で示すようなログメッセージ２を受信したとする。図２で示す場合、１番目のログと２番目のログの各フィールドの値を変数に変換した際の変数の並びは、「日付日時を示す数字のみ、英字のみ、ＩＰアドレスを示す数字のみ、英字のみ」となる。そこで、ログ分類部１４は、図２中の１番目、２番目のログについて、パターン「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛WORD｝」に属すると判断する。また、ログ分類部１４は、図２で示す場合、３番目から８番目までのログの各フィールドの値を変数に変換した際の変数の並びは、「日付日時を示す数字のみ、英字のみ、ＩＰアドレスを示す数字のみ、英数混合」となる。そこで、ログ分類部１４は、図２中の３番目から８番目までのログについて、パターン「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛NOTSPACE｝」に属すると判断する。このように、ログ分類部１４は、ログメッセージ２に含まれる各ログを、ログが属するパターンに基づいて分類する。
【００３５】
なお、ログ分類部１４は、上記例示した以外の方法を用いてログを分類しても構わない。例えば、ログ分類部１４は、ログメッセージ２に含まれる各ログを、クラスタ分析などを用いて複数の部分集合に分割し、分割した部分集合ごとに、フィールドの値を変数に変換した際の変数の並びに基づくパターンを判断するよう構成しても構わない。ログ分類部１４は、その他既知の方法を用いて、ログが属するパターンを判断するよう構成しても構わない。
【００３６】
分類ルール記憶部１５は、ログ分類部１４が分類したログとパターンとの対応を記憶する記憶装置である。例えば、図２、図５で示す場合、分類ルール記憶部１５は、図２中の１番目、２番目のログと、パターン「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛WORD｝」と、を対応付けて記憶する。また、分類ルール記憶部１５は、図２中の３番目から８番目までのログと、パターン「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛NOTSPACE｝」と、を対応付けて記憶する。
【００３７】
関連ログ抽出部１６は、アラート分析部１３から出力されるクラスタごとに、クラスタ内の各アラートに関連する、ログメッセージ２に含まれるログである関連ログを抽出する。例えば、あるクラスタに３つのアラートが存在すると仮定した場合、関連ログ抽出部１６は、クラスタ内に存在する３つのアラートそれぞれについて、関連ログを抽出する。
【００３８】
例えば、関連ログ抽出部１６は、各アラートの発生元の情報に基づき、関連ログを抽出する。具体的には、例えば、関連ログ抽出部１６は、アラート発生元の情報と、クラスタ内のアラートのうちの最も時刻が早いアラートの時刻と最も時刻が遅いアラートの時刻との間の時間帯を示す情報と、に基づいて、関連ログを抽出する。例えば、関連ログ抽出部１６は、アラートの原因となったログと同一の発生元（装置など）から出力されたログのうち上記時間帯に生じたログを、関連ログとして抽出する。
【００３９】
また、関連ログ抽出部１６は、上記抽出した関連ログに加えて、アラート発生元の装置と物理的、又は、仮想的に関係のある装置（例えば、直接接続されているなど接続関係にある装置）から出力されたログを関連ログとして抽出することが出来る。例えば、関連ログ抽出部１６は、トポロジ情報などに基づいて、アラート発生元の装置と物理的・仮想的に関係のある装置を特定する。そして、関連ログ抽出部１６は、特定した接続関係にある装置から出力されたログのうち上記時間帯に生じたログを、関連ログとして抽出する。
【００４０】
以上のように、関連ログ抽出部１６は、アラートの発生元である装置からアラートと同時間帯に出力されたログやアラートの発生元である装置と接続関係にある装置からアラートと同時間帯に出力されたログを、関連ログとして抽出することが出来る。
【００４１】
ログ要約部１７は、クラスタごとに、関連ログ抽出部１６が抽出した関連ログを関連ログの属するパターンに基づいて要約する。
【００４２】
図６は、ログ要約部１７の処理の一例を示している。図６を参照すると、ログ要約部１７は、時系列に基づいて、クラスタごとに関連ログをさらに分割する。例えば、ログ要約部１７は、図６（A）に示すように、一定時間幅ごとに、クラスタ内の関連ログを分割する。図６（A）の場合、ログ要約部１７は、あるクラスタ内の関連ログを、時系列に応じて５つのグループに分割している。図６（A）の場合、例えば、左側のグループほど早い時刻のグループとなる。なお、上記時間幅は任意の幅で構わない。
【００４３】
続いて、ログ要約部１７は、グループ内に含まれる関連ログを、関連ログが属するパターンに応じて集約することで、グループ内に含まれる関連ログを要約する。つまり、ログ要約部１７は、パターンに基づいてグループごとの要約を行う。
【００４４】
なお、関連ログの集約は、例えば、パターンを用いて行うことが出来る。例えば、パターン「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛WORD｝」に属する２つのログ「2017/02/24 09:01:00 success 127.0.0.1 bear」と「2017/02/24 09:02:00 success 127.0.0.2 root」を集約するとする。この場合、ログ要約部１７は、「2017/02/24 09:01:00 success 127.0.0.1 bear」と「2017/02/24 09:02:00 success 127.0.0.2 root」の２つのログをパターン「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛WORD｝」に集約することが出来る。このような集約を行った場合、パターン「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛WORD｝」が上記２つの関連ログを含んでいることになる。つまり、パターン「%｛NUM_TS｝%｛WORD｝%｛IP_NUM｝%｛WORD｝」が上記２つの関連ログを示していることになる。
【００４５】
例えば、ログ要約部１７は、図６（B）で示すように、同一のパターンに属する関連ログが同一時刻に存在する場合、当該同一時刻に存在するパターンを一つに集約する。図６（B）の場合、３番目の時刻にパターンP1に属する関連ログが２つ存在している。そこで、ログ要約部１７は、当該２つの関連ログを１つに集約する。なお、同一のパターンに属する関連ログが同一時刻に複数存在する場合、ログ要約部１７は、当該同一時刻に存在する複数のログすべてを一つに集約して構わない。
【００４６】
また、ログ要約部１７は、図６（C）で示すように、同一のパターンに属する関連ログが連続する場合、当該連続する同一のパターンを一つに集約する。図６（C）の場合、図６（B）で２つの関連ログを集約した結果、２番目の時刻と３番目の時刻でパターンP1が連続することになる。そこで、ログ要約部１７は、連続する２つの関連ログ（３番目の関連ログは図６（B）で集約されているもの）を１つに集約する。なお、同一のパターンが複数連続する場合、ログ要約部１７は、当該連続する複数のパターンすべてを一つに集約して構わない。
【００４７】
例えば、上記のようにして、ログ要約部１７は、グループごとの要約を行う。なお、ログ要約部１７は、上記例示した要約のうちのいずれか一つのみを実行するよう構成しても構わないし、複数組み合わせて実行するよう構成しても構わない。
【００４８】
また、ログ要約部１７は、上記例示した以外の方法を用いてグループ内のログの要約を行うよう構成しても構わない。例えば、図７で示すように、グループ内で同一のシーケンスが繰り返される場合（つまり、同一のパターンの並びが繰り返される場合）、当該同一のシーケンスを繰り返す関連ログを一つに集約することが出来る。図７の場合、パターンP2に属する関連ログの後パターンP1に属する関連ログが続く、というシーケンスが繰り返されている。そこで、ログ要約部１７は、繰り返すシーケンスを一つに集約する。その結果、パターンP2に属するログの後にパターンP1に属するログが続くというシーケンスが一つ残ることになる。なお、同一のシーケンスが複数連続する場合、ログ要約部１７は、当該連続するシーケンスすべてを一つに集約して構わない。
【００４９】
なお、ログ要約部１７は、図７で示すような図６で例示した以外の方法と、図６で例示した方法とを組み合わせてグループ内の関連ログの要約を行うよう構成しても構わない。
【００５０】
また、ログ要約部１７は、グループ間の集約を行うことで、グループ間の要約を行う。
【００５１】
例えば、ログ要約部１７は、図６（D）で示すように、複数のグループ間で同一のシーケンスが連続している場合、一つのグループに要約することが出来る。図６（D）の場合、あるグループにおいてパターンP2に属するログの後パターンP1に属するログが続いており、また、上記グループの後のグループにおいて、パターンP2に属するログの後パターンP1に属するログが続いている。つまり、連続する２つのグループにおいて、同一のシーケンスが連続している。そこで、ログ要約部１７は、同一のシーケンスを有する２つのグループを一つに集約する。その結果、２つのグループが一つに集約されることになる。なお、同一のシーケンスを有するグループが複数連続する場合、ログ要約部１７は、連続するグループすべてを一つに集約して構わない。
【００５２】
例えば、上記のようにして、ログ要約部１７は、グループ間の要約を行う。なお、ログ要約部１７は、上記例示した方法以外の方法を用いてグループ間の要約を行うよう構成しても構わない。
【００５３】
以上のように、ログ要約部１７は、グループごとの要約を行うとともに、グループ間の要約を行う。なお、ログ要約部１７は、グループごとの要約とグループ間の要約のいずれか一方のみを行うよう構成しても構わない。
【００５４】
出力部１８は、ログ監視部１１が出力したアラートを出力するとともに、当該アラートと同一のクラスタに属する関連ログなどを要約した結果に応じた情報を出力する。例えば、出力部１８は、ログ分析装置１０が有するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ、液晶ディスプレイ）などの画面表示装置や外部装置に対して、上記情報を出力する。
【００５５】
例えば、出力部１８は、ログ監視部１１が出力したアラートを出力するとともに、要約した結果（パターンや関連ログ）などをそのまま出力することが出来る。この際、出力部１８は、パターンに含まれる関連ログの情報（例えば、各変数に含まれる値の情報）を出力しても構わない。
【００５６】
また、出力部１８は、図８で示すように、ログ監視部１１が出力したアラートを出力するとともに、要約した結果に応じたサマリ情報を出力することが出来る。サマリ情報は、例えば、要約した結果であるパターンの一部（例えば、パターンのうち予め定められたフィールドの値）を示す情報やパターンの出力頻度を示す情報などから構成される。出力部１８は、サマリ情報として、上記例示した以外の情報を出力しても構わない。なお、出力部１８は、予め定められたフィールドの値の代わりに、パターン中の各変数に含まれる値の分布演算の結果などに基づいて特定されるフィールドの値をサマリ情報に含めるよう構成しても構わない。出力部１８は、上記例示した方法以外の方法を用いて特定したフィールドの値をサマリ情報に含めるよう構成しても構わない。
【００５７】
なお、出力部１８は、要約した結果をそのまま出力するとともに、サマリ情報も出力するよう構成しても構わない。
【００５８】
以上が、ログ分析装置１０の構成の一例である。続いて図９から図１２までを参照して、ログ分析装置１０の処理の一例について説明する。
【００５９】
まず、図９を参照して、ログ分析装置１０のうちログ監視部１１の動作の一例について説明する。図９を参照すると、ログ監視部１１は、ログメッセージ２を監視する。例えば、ログ監視部１１は、監視ルール記憶部１２が記憶する監視ルールをログメッセージ２が満たすか否か監視する（ステップS101）。
【００６０】
監視ルール記憶部１２が記憶する監視ルールをログメッセージ２が満たさない場合（ステップS101、No）、ログ監視部１１は、監視を継続する。一方、監視ルール記憶部１２が記憶する監視ルールをログメッセージ２が満たす場合（ステップS101、No）、ログ監視部１１は、アラートを出力する（ステップS102）。例えば、監視ルール記憶部１２が図３で示すような監視ルールを記憶している状態で、図２で示すようなログメッセージ２を受信した場合、ログ監視部１１は、09:04:00に連続して5回”fail”が発生したため、ログメッセージ２が監視ルールを満たすとしてアラートを出力する。
【００６１】
続いて、図１０を参照して、ログ分析装置１０のうちアラート分析部１３の動作の一例について説明する。図１０を参照すると、アラート分析部１３は、ログ監視部１１から出力された複数のアラートを、アラートの時系列分布に従って複数のクラスタに分類する（ステップS201）。例えば、アラート分析部１３は、図４で示すように、ログ監視部１１から出力された複数のアラートを一定の時間幅で分割して、同一の時間幅に含まれるアラートを同一のクラスタに含まれるアラートと判定する。これにより、アラート分析部１３は、一定の時間幅ごとのクラスタにアラートを分類する。
【００６２】
なお、アラート分析部１３は、予め定められた周期ごとに上記分類を行っても構わないし、分類を行っていないアラートの数が所定数以上となるごとに上記分類を行っても構わない。アラート分析部１３は、ログ監視部１１がアラートを出力するごとに上記分類を行っても構わない。アラート分析部１３は、上記例示した以外のタイミングで分類処理を開始しても構わない。
【００６３】
続いて、図１１を参照して、関連ログ抽出部１６の動作の一例について説明する。図１１を参照すると、関連ログ抽出部１６は、各アラートの発生元の情報に基づき、関連ログを抽出する。具体的には、例えば、関連ログ抽出部１６は、アラート発生元の情報と、クラスタ内のアラートのうちの最も時刻が早いアラートの時刻と最も時刻が遅いアラートの時刻との間の時間帯を示す情報と、に基づいて、クラスタごとに関連ログを抽出する（ステップS301）。関連ログ抽出部１６は、アラートの発生元である装置からアラートと同時間帯に出力されたログを関連ログとして抽出しても構わないし、上記ログに加えて、アラートの発生元である装置と接続関係にある装置からアラートと同時間帯に出力されたログも関連ログとして抽出しても構わない。
【００６４】
続いて、図１２を参照して、ログ要約部１７の動作の一例について説明する。図１２を参照すると、ログ要約部１７は、クラスタごとに、関連ログ抽出部１６が抽出した関連ログをさらに分割する。例えば、ログ要約部１７は、図６（A）に示すように、一定時間幅ごとに、関連ログを分割する（ステップS401）。
【００６５】
ログ要約部１７は、グループ内に含まれる関連ログを、関連ログが属するパターンに応じて集約することで、グループ内に含まれる関連ログを要約する。例えば、グループ内の関連ログが所定の条件を満たす場合（ステップS402、YES）、ログ要約部１７は、条件を満たす関連ログを集約する（ステップS403）。一方、グループ内の関連ログが所定の条件を満たさない場合（ステップS402、NO）、ログ要約部１７は、関連ログを集約しない。なお、集約する際の条件には、同一のパターンが同時刻に存在する場合、同一のパターンが連続する場合、グループ内で同一のシーケンスが繰り返される場合、などがある。
【００６６】
また、ログ要約部１７は、グループ間の集約を行うことで、グループ間の要約を行う。例えば、グループ間で所定の条件を満たす場合（ステップS404、YES）、ログ要約部１７は、条件を満たすグループを集約する（ステップS405）。一方、グループ間で所定の条件を満たさない場合（ステップS404、NO）、ログ要約部１７は、グループを集約しない。なお、グループを集約する際の条件には、複数のグループ間で同一のシーケンスが連続している場合などがある。
【００６７】
このように、本実施形態におけるログ分析装置１０は、アラート分析部１３と、関連ログ抽出部１６と、を有している。このような構成により、関連ログ抽出部１６は、アラート分析部１３から出力されるクラスタごとに、クラスタ内の各アラートに関連するログである関連ログを抽出することが出来る。その結果、出力部１８は、アラートともに、抽出した関連ログに応じた出力を行うことが可能となる。これにより、確認が必要なログを絞ることが可能となり、ログの分析を行う際、分析対象のログが大量に存在しており、人が確認することが難しい、という課題を解決することが可能となる。
【００６８】
また、本実施形態のログ分析装置１０は、上記構成に加えて、ログ分類部１４と、ログ要約部１７と、を有している。このような構成により、ログ要約部１７は、ログ分類部１４が判断した関連ログのパターンに基づいて、関連ログを集約することが出来る。その結果、出力部１８は、アラートともに、抽出した関連ログを集約した結果に応じた出力を行うことが可能となる。これにより、確認する情報をより絞ることが可能となり、より効率的に上記課題を解決することが可能となる。
【００６９】
＜ハードウェア構成について＞
なお、上述した第１の実施形態において、ログ分析装置１０が有する各構成要素は、機能単位のブロックを示している。ログ分析装置１０が有する各構成要素の一部又は全部は、例えば図１３に示すような情報処理装置３００とプログラムとの任意の組み合せにより実現することが出来る。図１３は、ログ分析装置１０の各構成要素を実現する情報処理装置３００のハードウェア構成の一例を示すブロック図である。情報処理装置３００は、一例として、以下のような構成を含むことが出来る。
・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１
・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３
・ＲＡＭ３０３にロードされるプログラム群３０４
・プログラム群３０４を格納する記憶装置３０５
・情報処理装置３００外部の記録媒体３１０の読み書きを行うドライブ装置３０６
・情報処理装置３００外部の通信ネットワーク３１１と接続する通信インタフェース３０７
・データの入出力を行う入出力インタフェース３０８
・各構成要素を接続するバス３０９
【００７０】
上述したログ分析装置１０が有する各構成要素は、これらの機能を実現するプログラム群３０４をＣＰＵ３０１が取得して実行することで実現することが出来る。ログ分析装置１０が有する各構成要素の機能を実現するプログラム群３０４は、例えば、予め記憶装置３０５やＲＯＭ３０２に格納されており、必要に応じてＣＰＵ３０１がＲＡＭ３０３にロードして実行する。なお、プログラム群３０４は、通信ネットワーク３１１を介してＣＰＵ３０１に供給されてもよいし、予め記録媒体３１０に格納されており、ドライブ装置３０６が該プログラムを読み出してＣＰＵ３０１に供給してもよい。
【００７１】
なお、図１３は、情報処理装置３００の構成の一例を示しており、情報処理装置３００の構成は上述した場合に例示されない。例えば、情報処理装置３００は、ドライブ装置３０６を有さないなど、上述した構成の一部から構成されても構わない。
【００７２】
［第２の実施形態］
次に、図１４を参照して、本発明の第２の実施形態について説明する。第２の実施形態では、ログ分析装置４０の構成の概要について説明する。
【００７３】
ログ分析装置４０は、ログメッセージを監視してアラートを出力する情報処理装置である。図１４は、ログ分析装置４０の構成の一例を示している。図１４を参照すると、ログ分析装置４０は、例えば、ログ監視部４１と、関連ログ抽出部４２と、を有している。
【００７４】
例えば、ログ分析装置４０は、ＣＰＵなどの演算装置と、記憶装置と、を有している。例えば、ログ分析装置４０は、記憶装置が有するプログラムを演算装置が実行することで、上記各処理部を実現する。
【００７５】
ログ監視部４１は、監視対象のログメッセージが所定の条件を満たす場合にアラートを出力する。
【００７６】
関連ログ抽出部４２は、ログ監視部４１が出力したアラートに基づいて、ログメッセージの中から当該アラートと関連するログである関連ログを抽出する。
【００７７】
このように、ログ分析装置４０は、ログ監視部４１と、関連ログ抽出部４２と、を有している。このような構成により、ログ分析装置４０は、ログ監視部４１が出力したアラートと、関連ログ抽出部４２が抽出した関連ログに応じた情報と、を出力することが出来る。これにより、確認が必要なログを絞ることが可能となり、ログの分析を行う際、分析対象のログが大量に存在しており、人が確認することが難しい、という課題を解決することが可能となる。
【００７８】
また、上述したログ分析装置４０は、当該ログ分析装置４０に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、情報処理装置に、監視対象のログメッセージが所定の条件を満たす場合にアラートを出力するログ監視部４１と、ログ監視部４１が出力したアラートに基づいて、当該アラートと関連するログである関連ログを抽出する関連ログ抽出部４２と、を実現させ、ログ監視部４１が出力したアラートと、関連ログ抽出部４２が抽出した関連ログに応じた情報と、を出力するプログラムである。
【００７９】
また、上述したログ分析装置４０により実行されるログ分析方法は、情報処理装置が、監視対象のログメッセージが所定の条件を満たす場合にアラートを出力し、出力したアラートに基づいて、当該アラートと関連するログである関連ログを抽出し、出力したアラートと、抽出した関連ログに応じた情報と、を出力する、という方法である。
【００８０】
上述した構成を有する、プログラム、又は、ログ分析方法、の発明であっても、上記ログ分析装置４０と同様の作用を有するために、上述した本発明の目的を達成することが出来る。
【００８１】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるログ分析装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【００８２】
（付記１）
監視対象のログメッセージが所定の条件を満たす場合にアラートを出力するログ監視部と、
前記ログ監視部が出力した前記アラートに基づいて、前記ログメッセージの中から当該アラートと関連するログである関連ログを抽出する関連ログ抽出部と、
を有し、
前記ログ監視部が出力した前記アラートと、前記関連ログ抽出部が抽出した前記関連ログに応じた情報と、を出力する
ログ分析装置。
（付記２）
付記１に記載のログ分析装置であって、
前記関連ログ抽出部は、前記関連ログとして、前記アラートの原因となったログと同一の発生元から出力されたログを抽出する
ログ分析装置。
（付記３）
付記１または付記２に記載のログ分析装置であって、
前記関連ログ抽出部は、前記関連ログとして、前記アラートの原因となったログの発生元の装置と物理的、又は、仮想的に関係のある装置から出力されたログを抽出する
ログ分析装置。
（付記４）
付記１から付記３までのいずれか１項に記載のログ分析装置であって、
前記ログ監視部が出力した複数の前記アラートを、前記アラートの時系列分布に従って複数のクラスタに分類するアラート分析部を有し、
前記関連ログ抽出部は、前記関連ログとして、前記アラート分析部が分類したクラスタに基づいて前記アラートと同時間帯に出力されたと判断されるログを抽出する
ログ分析装置。
（付記５）
付記１から付記４までのいずれか１項に記載のログ分析装置であって、
前記ログメッセージ中の各ログを、所定のパターンに分類するログ分類部と、
前記関連ログ抽出部が抽出した前記関連ログを前記ログ分類部が分類した前記パターンに基づいて要約するログ要約部と、
を有する
ログ分析装置。
（付記６）
付記５に記載のログ分析装置であって、
前記ログ要約部は、前記関連ログ抽出部が抽出した前記関連ログを時系列に基づいて複数のグループに分割し、前記グループごとに前記関連ログの要約を行う
ログ分析装置。
（付記７）
付記６に記載のログ分析装置であって、
前記ログ要約部は、前記グループ内において、同一の前記パターンが同時刻に存在する場合、同一の前記パターンが連続する場合、同一の前記パターンの並びが繰り返される場合、のうちの少なくとも一つの条件を満たす場合に、前記関連ログの要約を行う
ログ分析装置。
（付記８）
付記５から付記８までのいずれか１項に記載のログ分析装置であって、
前記ログ要約部は、前記関連ログ抽出部が抽出した前記関連ログを時系列に基づいて複数のグループに分割し、前記グループ間の要約を行う
ログ分析装置。
（付記９）
付記８に記載のログ分析装置であって、
前記ログ要約部は、複数の前記グループ間で同一の前記パターンの並びが繰り返される場合に前記グループ間の要約を行う
ログ分析装置。
（付記１０）
付記から付記９までのいずれか１項に記載のログ分析装置であって、
前記ログ監視部が出力した前記アラートと、前記関連ログ抽出部が抽出した前記関連ログを前記ログ要約部が要約した結果に基づく情報であるサマリ情報と、を出力する
ログ分析装置。
（付記１１）
情報処理装置が、
監視対象のログメッセージが所定の条件を満たす場合にアラートを出力し、
出力したアラートに基づいて、当該アラートと関連するログである関連ログを抽出し、
出力した前記アラートと、抽出した前記関連ログに応じた情報と、を出力する
ログ分析方法。
（付記１１−１）
付記１１に記載のログ分析方法であって、
前記関連ログとして、前記アラートの原因となったログと同一の発生元から出力されたログを抽出する
ログ分析方法。
（付記１１−２）
付記１１または付記１１−１に記載のログ分析方法であって、
前記関連ログとして、前記アラートの原因となったログの発生元の装置と物理的、又は、仮想的に関係のある装置から出力されたログを抽出する
ログ分析方法。
（付記１２）
情報処理装置に、
監視対象のログメッセージが所定の条件を満たす場合にアラートを出力するログ監視部と、
前記ログ監視部が出力したアラートに基づいて、当該アラートと関連するログである関連ログを抽出する関連ログ抽出部と、
を実現させ、
前記ログ監視部が出力した前記アラートと、前記関連ログ抽出部が抽出した前記関連ログに応じた情報と、を出力する
プログラム。
（付記１２−１）
付記１２に記載のプログラムであって、
前記関連ログ抽出部は、前記関連ログとして、前記アラートの原因となったログと同一の発生元から出力されたログを抽出する
プログラム。
（付記１２−２）
付記１１または付記１１−１に記載のプログラムであって、
前記関連ログ抽出部は、前記関連ログとして、前記アラートの原因となったログの発生元の装置と物理的、又は、仮想的に関係のある装置から出力されたログを抽出する
プログラム。
【００８３】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００８４】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【００８５】
１０  ログ分析装置
１１  ログ監視部
１２  監視ルール記憶部
１３  アラート分析部
１４  ログ分類部
１５  分類ルール記憶部
１６  関連ログ抽出部
１７  ログ要約部
１８  出力部
２  ログメッセージ
３００  情報処理装置
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  プログラム群
３０５  記憶装置
３０６  ドライブ装置
３０７  通信インタフェース
３０８  入出力インタフェース
３０９  バス
３１０  記録媒体
３１１  通信ネットワーク
４０  ログ分析装置
４１  ログ監視部
４２  関連ログ抽出部
【図１】
2020012579.tif 000003
【図２】
2020012579.tif 000004
【図３】
2020012579.tif 000005
【図４】
2020012579.tif 000006
【図５】
2020012579.tif 000007
【図６】
2020012579.tif 000008
【図７】
2020012579.tif 000009
【図８】
2020012579.tif 000010
【図９】
2020012579.tif 000011
【図１０】
2020012579.tif 000012
【図１１】
2020012579.tif 000013
【図１２】
2020012579.tif 000014
【図１３】
2020012579.tif 000015
【図１４】
2020012579.tif 000016
【国際調査報告】
2020012579.tif 000017
2020012579.tif 000018
2020012579.tif 000019
2020012579.tif 000020