(57)【要約】  正常ログから正常パターンを適切に抽出すること、または抽出することを支援する。  複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、複数のロググループへと分割し、複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づけ、あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する。
2015045262.tif 000002
【特許請求の範囲】
【請求項１】
イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、時系列順に連続する複数のログレコードの集合である複数のロググループへと分割する分割手段と、
複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づける抽出手段と、
あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する選択手段と、
を備えるログ分析システム。
【請求項２】
前記ログファイルは、実行する処理に応じて複数のイベントを所定の順番で発生することが可能な情報処理装置から出力された情報に基づくログファイルであって、
前記選択手段は、特定の処理が実行されたことに応じて発生した一連のイベントを過不足なく含むパターンを選択する、
請求項１に記載のログ分析システム。
【請求項３】
一方のパターンを構成する時系列的に連続する複数のイベントが、他方のパターンを構成する時系列的に連続する複数のイベントの部分集合である場合に、前記他方パターンを前記一方のパターンの親パターンと定義し、前記一方のパターンを前記他方のパターンの子パターンと定義する場合において、
前記選択手段は、前記複数のパターンを対象として親子関係を分析し、親パターンと子パターンとの間の、信頼度、支持度、またはリフト値に基づいて、前記複数のパターンから出力するパターンを選択する、
請求項２に記載のログ分析システム。
【請求項４】
一方のパターンを構成する時系列的に連続する複数のイベントが、他方のパターンを構成する時系列的に連続する複数のイベントの部分集合である場合に、前記他方パターンを前記一方のパターンの親パターンと定義し、前記一方のパターンを前記他方のパターンの子パターンと定義する場合において、
前記選択手段は、前記複数のパターンを対象として親子関係を分析し、所定の閾値よりも大きい数量の親パターンを有する子パターンを優先的に選択する、
請求項２または３に記載のログ分析システム。
【請求項５】
一方のパターンを構成する時系列的に連続する複数のイベントが、他方のパターンを構成する時系列的に連続する複数のイベントの部分集合である場合に、前記他方パターンを前記一方のパターンの親パターンと定義し、前記一方のパターンを前記他方のパターンの子パターンと定義する場合において、
前記選択手段は、前記複数のパターンのそれぞれについて親子関係を分析し、あるパターンに対して親パターンと子パターンとの両方が存在する場合において、前記親パターンの頻度に対する前記あるパターンの頻度の割合が第１の閾値未満であって、かつ、前記あるパターンの頻度に対する前記子パターンの頻度の割合が第２の閾値以上である場合に、前記あるパターンを優先的に選択する、
請求項２から４のいずれかに記載のログ分析システム。
【請求項６】
前記選択手段は、パターンを構成する時系列的に連続するイベントの数が所定の閾値よりも大きく、かつ、所定の閾値よりも高い頻度と関連づけられたパターンを優先的に選択する、請求項２から５のいずれかに記載のログ分析システム。
【請求項７】
前記ログファイルは、前記情報処理装置が正常に動作していた環境におけるログファイルであって、
前記選択手段が出力したパターンに基づいて、前記ログファイルから前記処理が実行された順序および頻度を示す情報である正常パターンを抽出する正常パターン抽出手段を更に備える、
請求項２から５のいずれかに記載のログ分析システム。
【請求項８】
前記選択手段が出力したパターンに基づいて、前記情報処理装置から出力された他のログファイルから、前記処理が実行された順序および頻度を示す情報を抽出し、前記抽出されたパターンと、請求項７に記載のログ分析システムが抽出した正常パターンと、を比較することにより、前記他のログファイルに異常なパターンが含まれているか否かを分析し、異常なパターンが含まれている場合には、当該異常なパターンを構成するログレコードを出力する、
障害原因分析システム。
【請求項９】
コンピュータが、
イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、時系列順に連続する複数のログレコードの集合である複数のロググループへと分割し、
複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づけ、
あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する、
ログ分析方法。
【請求項１０】
コンピュータに、
イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、時系列順に連続する複数のログレコードの集合である複数のロググループへと分割する処理と、
複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づける処理と、
あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する処理と、
を実行させるプログラムを記憶する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムが出力するログを分析する技術に関する。
【背景技術】
【０００２】
情報処理システムを運用保守する際には、運用保守を行う者（以下、「管理者」と記載する）は、当該情報処理システムに障害が発生した場合、当該障害の原因を特定する必要がある。管理者が障害の原因を特定する際に、当該情報処理システムが出力したログは重要な手がかりとなり得る。しかし、情報処理システムが出力するログのサイズは膨大であるので、管理者はその全てを詳細に分析することはできない。【０００３】
そのため、管理者が障害の原因を特定する際には、情報処理システムが出力する膨大な量のログから、当該障害が発生した直接的または間接的な原因を示すメッセージ（以下、「原因メッセージ」と記載する）を特定する必要がある。そして管理者は、特定された原因メッセージ、および、当該原因メッセージの周辺のログを詳細に分析することにより、障害の原因を特定する。【０００４】
特許文献１は、情報処理システムが出力する膨大なサイズのログから、正常動作時とは異なる頻度で出現するメッセージのパターンを検出する技術の一例を開示する。特許文献１が開示する技術は、情報処理システムが正常に動作していた際に当該情報処理システムが出力したログ（以下、「正常ログ」と記載する）から、正常ログにおけるメッセージの出現頻度等の典型的なパターン（以下、「正常パターン」と記載する）を抽出する。特許文献１が開示する技術は、正常パターンと、当該情報処理システムが出力した分析対象のログ（以下、「分析対象ログ」）とを比較し、両者の差分を抽出する。これにより特許文献１が開示する技術は、分析対象ログから正常動作時とは異なる頻度で出現するメッセージを検出することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４９４４３９１号公報
【特許文献２】特開２０１２−１９４６０４号公報
【特許文献３】特開２０１２−１６８７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、正常ログから正常パターンをどのように抽出するかについて、詳細には開示していない。情報処理システムに発生した障害の原因分析が適切に行われるためには、正常ログから正常パターンが適切に抽出されることが必要である。【０００７】
「正常ログから正常パターンを適切に抽出する」ということについて説明する。「正常ログから正常パターンを適切に抽出する」ということは、正常ログに基づいて、情報処理装置においてどのような処理がどれくらいの頻度で実行されたかを示す情報を抽出する、ということである。【０００８】
情報処理装置において何らかの処理が実行されると、情報処理装置は、当該処理が実行されたことに応じて複数のメッセージを所定の時系列順に出力する。以降、情報処理装置が特定の処理を実行したことに応じて当該情報処理装置が出力した所定の時系列順の複数のメッセージを、「一連のメッセージ」と記載する。【０００９】
正常ログには、膨大な数量のメッセージが含まれる。正常ログに基づいて、どのような処理がどれくらいの頻度で実行されたかを示す情報を抽出するためには、「一連のメッセージを処理単位でグループ化する情報」が必要である。【００１０】
特許文献２および特許文献３は、「一連のメッセージを処理単位でグループ化する情報」に基づいて、ログを分析する技術を開示する。【００１１】
特許文献２が開示する技術は、メッセージに含まれるトランザクションＩＤを「一連のメッセージを処理単位でグループ化する情報」として用いる。特許文献２が開示する技術は、メッセージに含まれるトランザクションＩＤに基づいて、同一のトランザクションＩＤを含む複数のメッセージを、当該トランザクションに関連する一連のメッセージとしてグルーピングする。【００１２】
特許文献３が開示する技術は、プロセスに関連する一連のメッセージを事前に定義した情報を、「一連のメッセージを処理単位でグループ化する情報」として用いる。特許文献３が開示する技術は、特許文献３が開示する技術は、当該情報に基づいて、複数のメッセージを、特定のプロセスに関連する一連のメッセージとしてグルーピングする。【００１３】
しかし、正常ログから正常パターンを適切に抽出する場合において、「一連のメッセージを処理単位でグループ化する情報」は、必ずしも事前に与えられるとは限らない。特許文献２が開示する技術において、メッセージにトランザクションＩＤが付与されていない状況も考えられる。【００１４】
本発明は、一連のメッセージを処理単位でグループ化する情報が事前に与えられることなしに、正常ログから正常パターンを適切に抽出すること、または抽出することを支援することを目的の１つとする。
【課題を解決するための手段】
【００１５】
本発明の第１の側面は、イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、時系列順に連続する複数のログレコードの集合である複数のロググループへと分割する分割手段と、複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づける抽出手段と、あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する選択手段と、を備えるログ分析システムである。【００１６】
本発明の第２の側面は、コンピュータが、イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、時系列順に連続する複数のログレコードの集合である複数のロググループへと分割し、複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づけ、あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する、ログ分析方法である。【００１７】
本発明の第３の側面は、コンピュータに、イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、時系列順に連続する複数のログレコードの集合である複数のロググループへと分割する処理と、複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づける処理と、あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する処理と、を実行させるプログラムを記録する記憶媒体である。【００１８】
また、本発明の目的は、上記のプログラムが格納されたコンピュータ読み取り可能な記録媒体に加えて、その記憶媒体に格納されているプログラムによっても達成される。
【発明の効果】
【００１９】
本発明によれば、一連のメッセージを処理単位でグループ化する情報が事前に与えられることなしに、正常ログから正常パターンを適切に抽出すること、または抽出することを支援することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、本発明の第１の実施形態にかかるログ分析システム１００を説明するブロック図である。
【図２】図２は、本発明の第１の実施形態にかかるログ分析システム１００に入力される正常ログ９１０の一例を表す図である。
【図３】図３は、本発明の第１の実施形態にかかるログ分析システム１００の構成を表すブロック図である。
【図４】図４は、本発明の第１の実施形態にかかる分割部１１０によって分割されたログファイルの一例を表す図である。
【図５】図５は、本発明の第１の実施形態にかかる抽出部１２０によって抽出されたパターンの一例を表す図である。
【図６】図６は、本発明の第１の実施形態にかかる選択部１３０の動作を説明する図である。
【図７】図７は、本発明の第１の実施形態にかかる選択部１３０の動作を説明する図である。
【図８】図８は、本発明の第１の実施形態にかかるログ分析システム１００の動作を説明するフローチャートである。
【図９】図９は、ログ分析システム１００を実現するハードウェア構成の一例を表す図である
【図１０】図１０は、本発明の第２の実施形態にかかるログ分析システム１０１の構成を表すブロック図である。
【図１１Ａ】図１１Ａは、本発明の第２の実施形態にかかる変換部１５０に入力されるログファイルの一例を表す第１の図である。
【図１１Ｂ】図１１Ｂは、本発明の第２の実施形態にかかる変換部１５０に入力されるログファイルの一例を表す第２の図である。
【図１１Ｃ】図１１Ｃは、本発明の第２の実施形態にかかる変換部１５０に入力されるログファイルの一例を表す第３の図である。
【図１２】図１２は、本発明の第２の実施形態にかかるフォーマットの一例を表す図である。
【図１３】図１３は、本発明の第２の実施形態にかかるフォーマットの一例を表す図である。
【図１４】図１４は、本発明の第２の実施形態にかかるログ分析システム１０１の動作を説明するフローチャートである。
【図１５】図１５は、本発明の第３の実施形態にかかる障害原因分析システム３００の構成を表すブロック図である。
【図１６】図１６は、本発明の第４の実施形態にかかる第４の実施形態にかかるログ分析システム１０２の動作を説明するフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００２２】
＜第１の実施形態＞
図１は、本発明の第１の実施形態にかかるログ分析システム１００を説明するブロック図である。図１に示すように、ログ分析システム１００は、情報処理システム９００から出力された正常ログ９１０を取得する。上述したように、正常ログ９１０とは、情報処理システム９００が正常に動作していた際に当該情報処理システム９００が出力したログである。ログ分析システム１００は、正常ログ９１０に基づいて、情報処理システム９００においてどのような処理がどれくらいの頻度で実行されたかを示す情報、すなわち正常パターン９２０を抽出する。なお、後述するように、正常パターン９２０においては、必ずしも具体的な処理が特定される必要はない。ログ分析システム１００は、正常パターン９２０を、正常パターン記憶部２００に出力する。以下の説明において、「情報処理システム９００」は、本実施形態に係るログ分析システム１００及び本発明の他の実施形態に係るログ分析システムによって取得される、正常ログ９１０を出力する情報処理装置である。「情報処理システム９００」本発明の他の実施形態に係る障害原因分析システム３００によって取得される、分析対象ログ９９０を出力する情報処理装置でもある。
【００２３】
図２は、情報処理システム９００から出力された正常ログ９１０の一例を説明する図である。正常ログ９１０は、ログファイルとも呼ばれる。正常ログ９１０は、複数のログレコードが時系列順に整列された情報を含む。
【００２４】
ログレコードは、情報処理システム９００において発生したイベントと当該イベントが発生した時刻とが関連づけられた情報である。ログレコードは、メッセージとも呼ばれる。ログレコードは、図２に示した「行」に相当する情報である。図２の１行目に示したログレコードを参照すると、情報処理システム９００において、イベントＩＤ（識別子）「Ａ」によって識別されるイベントが時刻０９：０４：０１に発生したことがわかる。図２の２行目に示したログレコードを参照すると、情報処理システム９００において、イベントＩＤ（識別子）「Ｂ」によって識別されるイベントが時刻０９：０４：０２に発生したことがわかる。イベントＩＤは、情報処理システム９００において発生したイベントを識別する識別子である。
【００２５】
以降、実施形態を説明する際に、イベントを特定する必要がある場合には、イベントＩＤを用いて特定する。また、以降、例えば「ある時刻においてイベントＡが発生したことを示すログレコード」を、「イベントＡのログレコード」と表現する場合がある。
【００２６】
情報処理システム９００が何らかの処理を実行すると、情報処理システム９００は、当該処理が実行されたことに応じて複数のイベントを所定の時系列順に発生する。以降、情報処理システム９００が特定の処理を実行したことに応じて当該情報処理システム９００が発生する所定の時系列順の複数のイベントを、「一連のイベント」と記載する。
【００２７】
理解を容易にするため、以下に示すような具体的な前提をおいて、本実施形態を説明する。情報処理システム９００が（処理１）を実行した場合、情報処理システム９００は、イベントＡ、イベントＢおよびイベントＣをこの順番で発生することとする。情報処理システム９００が（処理２）を実行した場合、情報処理システム９００は、イベントＸ、およびイベントＹをこの順番で発生することとする。
【００２８】
従って、情報処理システム９００は、（処理１）を実行した場合、イベントＡのログレコード、イベントＢのログレコードおよびイベントＣのログレコードを、この順番で出力する。情報処理システム９００は、（処理２）を実行した場合、イベントＸのログレコードおよびイベントＹのログレコードを、この順番で出力する。
【００２９】
正常ログ９１０には、膨大な数量のログレコードが含まれる。ログ分析システム１００は、正常ログ９１０に基づいてどのような処理がどれくらいの頻度で実行されたかを示す情報を抽出する。例えば、ログ分析システム１００は、「所定時間の間に処理１が１０回実行され処理２が１８回実行された」というような情報を正常パターン９２０として抽出する。なお、正常パターン９２０にあっては、必ずしも具体的な処理が特定される必要はない。例えば、正常パターン９２０は「所定時間の間にイベントＡ→Ｂ→Ｃというパターンが１０回発生し、イベントＸ→Ｙというパターンが１８回発生した」というような情報でもよい。正常パターン９２０がこのような情報であっても、情報処理システム９００に発生した障害の原因を分析する際の比較対象としての役割は十分に果たすことができる。
【００３０】
なお、記号「→」は、当該記号の前後に発生したイベントが、正常ログ９１０において時系列的に連続していることを示す記号である。すなわち、「Ａ→Ｂ→Ｃ」とは、正常ログ９１０においてイベントＡのログレコードとイベントＢのログレコードとイベントＣのログレコードとがこの順番で連続していることを示す。以降、複数のイベントが連続して発生したことを表す際に、記号「→」を省略して、例えば「Ａ→Ｂ→Ｃ」を「ＡＢＣ」と表現する場合がある。
【００３１】
ログ分析システム１００が正常ログ９１０に基づいてこのような情報を抽出するためには、「一連のログレコードを処理単位でグループ化する情報」が必要である。
【００３２】
ここで、「一連のログレコードを処理単位でグループ化する情報」は、例えば、「イベントＡのログレコード、イベントＢのログレコードおよびイベントＣのログレコードが何らかの処理に関連付いている」あるいは「イベントＸのログレコードおよびイベントＹのログレコードが何らかの処理に関連付いている」という情報である。
【００３３】
本実施形態にかかるログ分析システム１００は、事前に「一連のログレコードを処理単位でグループ化する情報」を明示的に与えられることなく、正常ログ９１０に基づいて正常パターン９２０を適切に抽出できる。なぜなら、本実施形態にかかるログ分析システム１００は、正常ログ９１０に基づいて、「一連のログレコードを処理単位でグループ化する情報」を自ら抽出することができるからである。
【００３４】
言い換えると、ログ分析システム１００は、事前に「イベントＡのログレコード、イベントＢのログレコードおよびイベントＣのログレコードが何らかの処理に関連付いている」あるいは「イベントＸのログレコードおよびイベントＹのログレコードが何らかの処理に関連付いている」という情報を与えられていなくても、正常ログ９１０に基づいて、このような情報を自ら抽出することができる、ということである。
【００３５】
本実施形態にかかる情報処理システム９００は、前提として、下記に示すような性質を有するものとする。
【００３６】
（前提１）情報処理システム９００は、複数の処理を並行して実行する。
【００３７】
（前提２）例えば情報処理システム９００が、処理１と処理２とを並列に実行すると、情報処理システム９００が出力するログファイルにおいて処理１に関連するイベントのログレコードと、処理２に関連するログレコードとが、時系列的に混ざって出力される場合がある。例えば、図２に示す０９：０４：１２から０９：０４：１６までに出力されたログレコードにおいては、処理１に関連するイベントのログレコードと、処理２に関連するイベントのログレコードとが、時系列的に混ざっている。図２に示す例では、イベントＡ→Ｂ→Ｃが、処理１に関連するイベントである。イベントＸ→Ｙが、処理２に関連するイベントである。
【００３８】
（前提３）上述したような、ある処理に関連するイベントのログレコードと、他の処理に関連するイベントのログレコードとが、時系列的に混ざって出力されることは、稀である。ほとんどの場合、特定の処理に関連するイベントのログレコードは、ログファイルにおいて時系列的に連続となる。
【００３９】
かかる前提に基づいて、ログ分析システム１００が、正常ログ９１０からどのように正常パターン９２０を適切に抽出するかを、以下、詳細に説明する。
【００４０】
図３は、図１に示すログ分析システム１００の構成を示すブロック図である。図３に示すように、ログ分析システム１００は、分割部１１０と、抽出部１２０と、選択部１３０と、正常パターン抽出部１４０と、を備える。
【００４１】
分割部１１０は、正常ログ９１０を取得し、取得した正常ログ９１０を複数のロググループへと分割する。ロググループは、時系列的に連続する複数のログレコードの集合である（詳細は後述する）。
【００４２】
抽出部１２０は、複数のロググループから、時系列的に連続する複数のイベントから構成される複数の「パターン」を抽出する。抽出部１２０は、パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づける（詳細は後述する）。
【００４３】
選択部１３０は、あるパターンを構成する時系列的に連続する複数のイベントと他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、前記複数のパターンから出力するパターンを選択する。また、選択部１３０は、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力するパターンを選択する（詳細は後述する）。
【００４４】
正常パターン抽出部１４０は、選択部１３０が出力したパターンに基づいて、正常ログ９１０から正常パターン９２０を抽出する。
【００４５】
分割部１１０の詳細を説明する。図４は、図２に示す正常ログ９１０が、分割部１１０によって複数のロググループに分割された様子を説明する図である。図４に示すロググループは、分割部１１０が、５秒間隔で、正常ログ９１０をロググループに分割した場合における、ロググループである。
【００４６】
分割部１１０は、あらかじめ指定された所定の時間間隔で正常ログ９１０を分割する。好ましくは、分割部１１０は、情報処理システム９００が実行する処理に応じて出力される一連のイベントのログレコードが、一つのロググループに包含されると見込まれる程度の時間間隔で、正常ログ９１０を分割することが望ましい。情報処理システム９００が特定の処理を実行するのに要する時間は、情報処理システム９００の負荷状況等によって毎回異なるが、分割部１１０は例えば、平均処理時間等の値を算出し、このような値に基づいて分割の時間幅を決定することが望ましい。
【００４７】
分割の時間幅を決定する際には、プロセスまたはトランザクションの実行時間のポアソン分布等の値が参酌されてもよい。
【００４８】
抽出部１２０の詳細を説明する。図５は、抽出部１２０によって複数のロググループから抽出された「パターン」の一例と、当該パターンが抽出された「頻度」とを表す図である。「パターン」とは、ロググループの中に見られる、時系列的に連続する複数のイベントから構成される組み合わせである。「頻度」とは、当該パターンが幾つのログレコードから抽出されたかを表す情報である。
【００４９】
具体例を用いて説明する。例えば、抽出部１２０が、図４に示すロググループ１からパターンを抽出する場合を考える。ロググループ１を構成する時系列的に連続する複数のログレコードは、すなわち「ＡＢＣＸＹ」である。抽出部１２０が、ロググループ１から抽出し得るパターンを、以下に列挙する。「ＡＢＣＸＹ」、「ＡＢＣＸ」、「ＢＣＸＹ」、「ＡＢＣ」、「ＢＣＸ」、「ＣＸＹ」、「ＡＢ」、「ＢＣ」、「ＣＸ」、「ＸＹ」、「Ａ」、「Ｂ」、「Ｃ」、「Ｘ」、「Ｙ」。
【００５０】
抽出部１２０は、複数のロググループから「パターン」を抽出する。抽出部１２０は、パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づける。例えば図５において、パターン「ＡＢＣ」の頻度は４３である。これは、パターン「ＡＢＣ」は、４３個のロググループから抽出されたことを意味する。
【００５１】
抽出部１２０がパターンを抽出する具体的な方法としては、さまざまなアルゴリズムを用いることができる。抽出部１２０は例えば、apriori、prefixspan、LCM (Linear time Closed itemset Miner)、BIDE (Bi-Directional Execution)もしくはFP (Frequent Pattern)-growth、またはこれらのアルゴリズムの応用を用いて、パターンを抽出する。
【００５２】
以降、情報処理システム９００が実行する特定の処理に関連付くパターンを、「意味のあるパターン」と記載する。例えば、パターン「ＡＢＣ」は処理１に関連するパターンなので、意味のあるパターンである。例えば、パターン「ＸＹ」は処理２に関連するパターンなので、意味のあるパターンである。
【００５３】
以降、情報処理システム９００が実行する特定の処理に関連付かないパターンを、「意味の無いパターン」と記載する。意味の無いパターンの１つの類型は、例えば、意味のあるパターンの部分集合に過ぎないパターンである。例えば、「ＡＢ」または「ＢＣ」などのパターンは、独立してそれ自身何らかの処理に関連付いているわけではないので、意味のないパターンである。意味の無いパターンの他の類型は、例えば、意味のあるパターンに何らかのイベントが付加されたパターンである。例えば、「ＡＢＣＸ」または「ＸＹＡ」などのパターンは、独立してそれ自身何らかの処理に関連付いているわけではないので、意味のないパターンである。意味の無いパターンの他の類型は、例えば、ある処理に関連するパターンと他の処理に関連するパターンとが時系列的に混じっているパターンである。例えば、「ＡＢＸＣＹ」または「ＸＡＹＢＣ」などのパターンは、独立してそれ自身何らかの処理に関連付いているわけではないので、意味のないパターンである。
【００５４】
選択部１３０の詳細を説明する。選択部１３０は、抽出部１２０が抽出した複数のパターンのうちから、「意味のあるパターン」を選択し、選択したパターンを「一連のメッセージを処理単位でグループ化する情報」として出力する。
【００５５】
上述した（前提３）を鑑みると、ある処理に関連するパターンと他の処理に関連するパターンとが時系列的に混じっているパターンは稀である。そのため、選択部１３０は、所定の閾値よりも低い頻度のパターンを選択しないことによって、このようなパターンをノイズとして除去することができる。
【００５６】
同様に、上述した（前提３）を鑑みると、情報処理システム９００が実行する特定の処理に関連付くパターン「ＡＢＣ」および「ＸＹ」が抽出される頻度は、他のパターンの頻度よりも高くなると考えられる。しかし、例えば、パターン「ＡＢＣ」の頻度が高い場合には、当該パターンの部分集合であるパターン「ＡＢ」または「ＢＣ」の頻度も、当然に高くなる。また、当該パターンに何らかのイベントが付加された「ＡＢＣＸ」または「ＹＡＢＣ」などのパターンの頻度もある程度高くなることが考えられる。よって選択部１３０は、単純に頻度の高いパターンを選択するのみでは、「意味のあるパターン」を選択することはできない。
【００５７】
なぜなら、選択部１３０が単純に頻度の高いパターンを抽出すると、「意味のあるパターン」、「意味のあるパターンの部分集合のパターン」または「意味のあるパターンに何らかのイベントが付加されたパターン」が区別なく抽出されるからである。選択部１３０はこれらのパターンから「意味のあるパターン」を区別して選択することはできない。
【００５８】
選択部１３０は、以下に示す動作によって、これら複数のパターンから、「意味のあるパターン」を選択する。以下、選択部１３０の動作を具体的に説明する。
【００５９】
選択部１３０は、あるパターンを構成する時系列的に連続する複数のイベントと他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、複数のパターンから出力するパターンを選択する。また、選択部１３０は、パターンに関連づけられた頻度情報に基づいて、複数のパターンから出力するパターンを選択する。
【００６０】
理解を容易にするため、「親パターン」、「子パターン」という用語を定義する。一方のパターンを構成する時系列的に連続する複数のイベントが、他方のパターンを構成する時系列的に連続する複数のイベントの部分集合である場合に、前記他方のパターンを前記一方のパターンの親パターンと定義する。また、前記一方のパターンを前記他方のパターンの子パターンと定義する。例えば、「ＡＢＣＤ」というパターンは、「ＡＢＣ」というパターンの親パターンである。例えば、「ＡＢ」というパターンは、「ＡＢＣ」というパターンの子パターンである。同様に、「孫パターン」という用語等も定義することができる。
【００６１】
選択部１３０は、抽出部１２０が抽出したパターンのそれぞれについて親子関係を分析する。図６は、選択部１３０が「ＡＢＣＤ」というパターンについて親子関係を分析した様子を表す図である。図６に示すように、選択部１３０は、イベントの順序が共通するパターンを同じ分類集合にまとめる。そして、選択部１３０は、パターンに含まれるイベント数（要素数）に基づいて、パターンの親子関係を分析する。
【００６２】
以下、選択部１３０の動作として、具体例１から具体例４までを説明する。選択部１３０は、例えば、下記に示す具体例を組み合わせることにより、「意味のあるパターン」を抽出する。
【００６３】
（具体例１）
選択部１３０は、前記複数のパターンのそれぞれについて親子関係を分析する。選択部１３０による分析の結果、例えば、パターン「ＡＢＣＸ」に対して、親パターンが「ＡＢＣＸ」であり、子パターンが「ＡＢＣ」であり、孫パターンが「ＡＢ」であるというような親子関係が得られる。
【００６４】
選択部１３０は、親パターンの頻度に対する子パターンの頻度の比を算出する。図５に示した例では、親パターン「ＡＢＣＸ」の頻度は１７であり、子パターン「ＡＢＣ」の頻度は４３であるので、頻度の比は４３／１７＝２．５である。ここで「／」は除算を表す記号である。ここで、当該比が比較的大きな値の場合（例えば２以上の場合など）、当該親パターンは「意味の無いパターン」である可能性が高いと考えられる。なぜなら、そのような親パターンは、子パターンに単にイベントが付加しただけのパターンと考えられるからである。
【００６５】
同様に選択部１３０は、親パターンの頻度に対する子パターンの頻度の比を算出する。図５に示した例では、親パターン「ＡＢＣ」の頻度は４３であり、子パターン「ＡＢ」の頻度は４６であるので、頻度の比は４６／４３＝１．０７である。当該比が１に近い値である場合（例えば１．１以下の場合など）、当該子パターンは「意味の無いパターン」である可能性が高いと考えられる。なぜなら、このような子パターンのほとんどは親パターンの部分集合として抽出されているにすぎず、このような子パターンが独立して何らかの処理に関連付いているとは考えにくいためである。このような子パターンが、親パターンの部分集合として以外に抽出される場合としては、例えば、例えば図４に示すロググループ２と３との境界のように、分割部１１０が、たまたま、「意味のあるパターン」の途中で正常ログ９１０を分割してしまうような場合、と考えられる。
【００６６】
（具体例２）
選択部１３０は、前記複数のパターンのそれぞれについて親子関係を分析する。選択部１３０は、パターンを構成する要素（イベント）の数が多く、かつ、頻度の高いパターンを、優先的に「意味のあるパターン」として選択してもよい。例えば、パターン「ＡＢＣ」は、パターンを構成する要素の数が３つ（ＡとＢとＣ）であり、頻度が４３と高いので、優先的に「意味のあるパターン」として選択される。パターンを構成する要素の数の多少の判断基準、および、頻度の高低の判断基準は、例えば、あらかじめ定められていてもよい。
【００６７】
（具体例３）
選択部１３０は、前記複数のパターンのそれぞれについて親子関係を分析する。図７は、選択部１３０が、各パターンについて、当該パターンが幾つの親パターンを有するかを分析した表である。選択部１３０は、よりたくさんの親パターンを有する子パターンを、優先的に「意味のあるパターン」として選択してもよい。
【００６８】
（具体例４）
選択部１３０は、前記複数のパターンのそれぞれについて親子関係を分析する。選択部１３０は、パターンの支持度、子パターンに対する親パターンの信頼度、または、支持度に対する信頼度の比（リフト値）等に基づいて、「意味のあるパターン」を選択してもよい。支持度、信頼度、またはリフト値は、例えばあらかじめオペレータにより定義されていてもよい。
【００６９】
（具体例５）
選択部１３０は、例えば、「ＸＹＡＢＣ」というパターンが抽出された場合に、当該パターンを充足するような子パターンを優先的に選択してもよい。例えば、上述の例では、「ＡＢＣ」と「ＸＹ」という子パターンは、「ＡＢＣＸＹ」という親パターンを充足するので、優先的に選択される。例えば、上述の例では、「ＸＡＢ」や「ＸＢＣ」という子パターンでは、「ＡＢＣＸＹ」という親パターンを充足しない（例えば、ＸＡＢではＹＣが余る）ので、候補から除外される。
【００７０】
以上、選択部１３０の動作として（具体例１）、（具体例２）、（具体例３）、（具体例４）および（具体例５）を説明した。選択部１３０は、上述した具体例に示す動作により、抽出部１２０が抽出したパターンのうち、「ＡＢＣ」および「ＸＹ」を、「意味のあるパターン」として選択する。選択部１３０は、選択したパターンを、正常パターン抽出部１４０に出力する。
【００７１】
正常パターン抽出部１４０は、選択部１３０から「意味のあるパターン」の入力を受け付ける。正常パターン抽出部１４０は、当該パターンに基づいて、正常ログ９１０から正常パターン９２０を抽出する。
【００７２】
次に、ログ分析システム１００の動作を説明する。図８は、第１の実施形態にかかるログ分析システム１００の動作を示すフローチャートである。
【００７３】
分割部１１０は、正常ログ９１０（ログファイル）を、複数のロググループに分割する（ステップＳ１０１）。抽出部１２０は、複数のロググループからパターンを抽出する（ステップＳ１０２）。選択部１３０は、抽出部１２０が抽出したパターンのうちから、「意味があるパターン」を選択し、選択された「意味があるパターン」を出力する（ステップＳ１０３）。正常パターン抽出部１４０は、選択部１３０が選択したパターンに基づいて、正常ログ９１０から正常パターン９２０を抽出する（ステップＳ１０４）。
【００７４】
次に、ログ分析システム１００を実現可能なハードウェア構成の一例を説明する。図９はログ分析システム１００を実現可能なハードウェア構成の一例を示す図である。
【００７５】
本実施形態のログ分析システム１００及び他の実施形態に係るログ分析システムは、図９に示すハードウェア構成を備えるコンピュータによって実現できる。そのコンピュータは、ＣＰＵ（Central Processing Unit）１、メモリ２、記憶装置３、通信インターフェース（Ｉ／Ｆ）４を備える。ログ分析システムは、入力装置５または出力装置６を備えていてもよい。ログ分析システムの機能は、例えばＣＰＵ１が、メモリ２に読み出されたコンピュータプログラム（ソフトウェアプログラム、以下単に「プログラム」と記載する）を実行することにより実現される。実行に際して、ＣＰＵ１は、通信インターフェース４、入力装置５および出力装置６を適宜制御する。
【００７６】
尚、本実施形態および後述する各実施形態を例として説明される本発明は、係るプログラムが格納されたコンパクトディスク等の不揮発性の記憶媒体８によっても構成される。記憶媒体８が格納するプログラムは、例えばドライブ装置７により読み出される。
【００７７】
ログ分析システムが実行する通信は、例えばＯＳ（Operating System）が提供する機能を使ってアプリケーションプログラムが通信インターフェース４を制御することによって実現される。入力装置５は、例えばキーボード、マウスまたはタッチパネルである。出力装置６は、例えばディスプレイである。ログ分析システムは、２つ以上の物理的に分離した装置が有線または無線で通信可能に接続されることによって構成されていてもよい。なお、ログ分析システムおよびその各機能ブロックのハードウェア構成は、上述した構成に限定されない。また、上述したハードウェア構成は、後述する他の実施形態にかかるログ分析システム、および、障害原因分析システムにも適用可能である。
【００７８】
第１の実施形態にかかるログ分析システム１００の効果を説明する。ログ分析システム１００は、一連のメッセージを処理単位でグループ化する情報が事前に与えられることなしに、正常ログ９１０から正常パターン９２０を適切に抽出すること、または抽出することを支援することができる。その理由は、ログ分析システム１００は、正常ログ９１０に基づいて「一連のメッセージを処理単位でグループ化する情報」を自ら抽出することができるからである。
【００７９】
（第１の実施形態の変形例）
分割部１１０と、抽出部１２０と、選択部１３０と、正常パターン抽出部１４０は、それぞれ、例えば、図示しない入力装置からユーザあるいは他のプログラムやソフトウェアなどによるパターン生成開始の命令を受信することを契機に動作を開始してもよい。分割部１１０と、抽出部１２０と、選択部１３０と、正常パターン抽出部１４０は、それぞれ、例えば、ログファイルの入力、更新などを契機に動作を開始してもよい。
【００８０】
分割部１１０は、ログファイルを、所定の個数のログレコードが１つのロググループを構成するように分割してもよい。例えば、分割部１１０は、ログファイルを、５つのログレコードが１つのロググループを構成するように、分割してもよい。分割部１１０は、所定の時間間隔でログファイルを取得してもよい。分割部１１０は、例えば、５分間分のログファイルを５分間隔で取得する、５分間分のログを３分間隔で取得する、というように動作してもよい。
【００８１】
抽出部１２０は、時系列的に連続しないイベントをパターンと見なして抽出してもよい。例えば抽出部１２０は、ロググループ１「ＡＢＣＸＹ」から、パターン「ＡＢＸＹ」、「ＡＣＹ」または「ＢＣＹ」などのパターンを抽出してもよい。
【００８２】
選択部１３０は、時系列的に連続しないイベントに基づいて親子関係を分析してもよい。例えば、選択部１３０は、親パターン「ＡＢＣＸ」に対して、「ＡＣ」または「ＡＣＸ」などのパターンを子パターンとして関連づけてもよい。
【００８３】
＜第２の実施形態＞
図１０は、本発明の第２の実施形態にかかるログ分析システム１０１の構成を示すブロック図である。図３に示した構成と実質的に同一の構成については、同様の符号を付与し、説明を省略する。第２の実施形態にかかるログ分析システム１０１は、第１の実施形態にかかるログ分析システム１００に加えて、更に、変換部１５０を備える。
【００８４】
第１の実施形態において、ログ分析システム１００が受け付ける正常ログ９１０は、図２に示すように、ログレコード毎に既にイベントＩＤが付与されていた。第２の実施形態において、ログ分析システム１０１が受け付ける正常ログ９１１は、より生データに近いログファイルである。変換部１５０は、例えば、図１１Ａ、図１１Ｂ、又は図１１Ｃに示すようなログファイルを受け取り、受け取ったログファイルを図２に示すようなログに変換する。
【００８５】
図１１Ａ、図１１Ｂおよび図１１Ｃは、それぞれ、変換部１５０が受け取る正常ログ９１１（ログファイル）の一例を示す図である。ログファイルは、少なくとも１以上のログレコードで構成される。ログレコードは、少なくとも１以上のログ要素を含んで構成される。ログ要素とは、日時、ログＩＤ（識別子）、メッセージなどログレコードを構成する要素である。
【００８６】
変換部１５０は、事前にオペレータにより定義されたフォーマットに従って、正常ログ９１１を変換する。図１２は、オペレータが事前に定義したフォーマットの一例を表す図である。図１２に示すフォーマットは、「2013/07/01 09:00:00〜2013/07/01 18:00:00」という期間を指定し、「日時」「ログＩＤ」というログ要素を指定している。なお、フォーマットにはログファイルからログ要素を抽出するために、各ログ要素の正規表現などの、抽出するログ要素を識別可能な情報を記録してもよい。また、フォーマットには、対象とするログファイルの名称など、ログファイルを識別可能な情報を記録してもよい。フォーマットは、ログ要素により構成されるログレコードの構造を正規表現として記録してもよい。
【００８７】
図１３は、オペレータが事前に定義したフォーマットの他の例を表す図である。図１３は、イベントＩＤと、当該イベントＩＤが付与されるべきイベントの表現（レコード表現）とを関連づける情報を表す。レコード表現は、各ログレコードを表す文字列である。レコード表現として、各ログレコードがそのまま記録されていてもよい。また、レコード表現として、各ログレコードのログ要素を抽出した情報が記録されていてもよい。あるいは、レコード表現として、各ログレコードと合致する正規表現が記録されていてもよい。
【００８８】
変換部１５０は、例えば図１１Ａ、図１１Ｂ、又は図１１Ｃに示すような正常ログ９１１の入力を受け付けると、図１２または図１３に示すフォーマットに基づいて、図２に示すようなログファイルに変換する。変換部１５０は、例えば、ログフォーマットにおいて指定された期間分のログを情報処理システム９００から読み込んでもよい。なお、読み込む対象のログファイルは複数存在していてもよい。変換部１５０は、取得した、または、読み込んだログファイルから、フォーマットが指定するログ要素を抽出する。例えば、図１２に示すフォーマットの場合、変換部１５０は、ログファイルに含まれるログレコードから、日時と、ログＩＤのみを抽出する。変換部１５０は、変換したログを時系列順に並べ替え、出力する。これにより、分割部１１０、抽出部１２０、選択部１３０、正常パターン抽出部１４０は、正常ログ９１１を処理可能となる。
【００８９】
図１４は、第２の実施形態にかかるログ分析システム１０１の動作を説明するフローチャートである。図８において説明したステップと同一の動作を行うステップに関しては、同一の符号を付与し、説明を省略する。
【００９０】
変換部１５０は、ログファイル９１１を受け付け、受け付けたログファイルを、各ログレコードにイベントＩＤが付与されるように変換する（ステップＳ２０１）。分割部１１０は、変換部１５０から変換されたログファイルを受け付ける。以降の動作は、図３におけるステップＳ１０１ないしステップＳ１０４に示した動作と同様であるので、説明を省略する。
【００９１】
第２の実施形態にかかるログ分析システム１０１の効果を説明する。ログ分析システム１０１は、変換部１５０を備える。変換部１５０は、情報処理システム９００が出力するログを、分割部１１０、抽出部１２０、選択部１３０、及び正常パターン抽出部１４０が処理可能な形式に変換する。これにより、ログ分析システム１０１は、様々なフォーマットで出力される正常ログ９１１を処理することができる。
【００９２】
＜第３の実施形態＞
図１５は、本発明の第３の実施形態における障害原因分析システム３００の構成を説明するブロック図である。障害原因分析システム３００は、第２の変換部３１０と、パターン比較部３２０と、異常パターン出力部３３０とを備える。
【００９３】
第２の変換部３１０は、情報処理システム９００が出力した、分析対象のログファイルである分析対象ログ９９０を取得する。第２の変換部３１０には、あらかじめ、選択部１３０が選択した「一連のメッセージを処理単位でグループ化する情報」が登録されている。第２の変換部３１０は、分析対象ログ９９０から、「一連のメッセージを処理単位でグループ化する情報」に基づいて、パターンを抽出する。
【００９４】
パターン比較部３２０は、第２の変換部３１０が分析対象ログ９９０を変換したパターンと、正常パターン記憶部２００が記憶するパターンとを比較する。パターン比較部３２０は、分析対象ログ９９０を変換したパターンにおいて、正常パターン９２０と異なるパターンを抽出する。
【００９５】
異常パターン出力部３３０は、パターン比較部３２０が実行した比較の結果に基づいて、分析対象ログ９９０のうち、異常な箇所を出力する。
【００９６】
第３の実施形態にかかる障害原因分析システム３００によれば、情報処理システム９００が出力する膨大な量のログから、当該障害が発生した直接的または間接的な原因を示すメッセージを抽出し、出力することができる。
【００９７】
＜第４の実施形態＞
図１６は、本発明の第４の実施形態にかかるログ分析システム１０２の構成を表すブロック図である。図１６に示すように、ログ分析システム１０２は、分割部１１２と、抽出部１２２と、選択部１３２とを備える。
【００９８】
分割部１１２は、ログファイルを、所定のルールに従って、複数のロググループへと分割する。ログファイルは、イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含む。ロググループは、時系列順に連続する複数のログレコードの集合である。
【００９９】
抽出部１２２は、複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づける。
【０１００】
選択部１３２は、前記複数のパターンから出力すべきパターンを選択する。その際、選択部１３２は、あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、選択する。
【０１０１】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【０１０２】
各ブロック図に示したブロック分けは、説明の便宜上から表された構成である。各実施形態を例に説明された本発明は、その実装に際して、各ブロック図に示した構成には限定されない。
【０１０３】
以上、本発明を実施するための形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【０１０４】
この出願は、２０１３年９月２４日に出願された日本出願特願２０１３−１９７４１６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１０５】
１    ＣＰＵ
２    メモリ
３    記憶装置
４    通信インターフェース
５    入力装置
６    出力装置
７    ドライブ装置
８    記憶媒体
１００    ログ分析システム
１０１    ログ分析システム
１０２    ログ分析システム
１１０    分割部
１１２    分割部
１２０    抽出部
１２２    抽出部
１３０    選択部
１３２    選択部
１４０    正常パターン抽出部
１５０    変換部
２００    正常パターン記憶部
３００    障害原因分析システム
３１０    第２の変換部
３２０    パターン比較部
３３０    異常パターン出力部
９００    情報処理システム
９１０    正常ログ
９１１    正常ログ
９２０    正常パターン
９９０    分析対象ログ
【図１】
2015045262.tif 000003
【図２】
2015045262.tif 000004
【図３】
2015045262.tif 000005
【図４】
2015045262.tif 000006
【図５】
2015045262.tif 000007
【図６】
2015045262.tif 000008
【図７】
2015045262.tif 000009
【図８】
2015045262.tif 000010
【図９】
2015045262.tif 000011
【図１０】
2015045262.tif 000012
【図１１Ａ】
2015045262.tif 000013
【図１１Ｂ】
2015045262.tif 000014
【図１１Ｃ】
2015045262.tif 000015
【図１２】
2015045262.tif 000016
【図１３】
2015045262.tif 000017
【図１４】
2015045262.tif 000018
【図１５】
2015045262.tif 000019
【図１６】
2015045262.tif 000020
【手続補正書】
【提出日】平成28年3月14日(2016.3.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、時系列順に連続する複数のログレコードの集合である複数のロググループへと分割する分割手段と、
複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づける抽出手段と、
あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する選択手段と、
を備えるログ分析システム。
【請求項２】
前記ログファイルは、実行する処理に応じて複数のイベントを所定の順番で発生することが可能な情報処理装置から出力された情報に基づくログファイルであって、
前記選択手段は、特定の処理が実行されたことに応じて発生した一連のイベントを過不足なく含むパターンを選択する、
請求項１に記載のログ分析システム。
【請求項３】
一方のパターンを構成する時系列的に連続する複数のイベントが、他方のパターンを構成する時系列的に連続する複数のイベントの部分集合である場合に、前記他方パターンを前記一方のパターンの親パターンと定義し、前記一方のパターンを前記他方のパターンの子パターンと定義する場合において、
前記選択手段は、前記複数のパターンを対象として親子関係を分析し、親パターンと子パターンとの間の、信頼度、支持度、またはリフト値に基づいて、前記複数のパターンから出力するパターンを選択する、
請求項２に記載のログ分析システム。
【請求項４】
一方のパターンを構成する時系列的に連続する複数のイベントが、他方のパターンを構成する時系列的に連続する複数のイベントの部分集合である場合に、前記他方パターンを前記一方のパターンの親パターンと定義し、前記一方のパターンを前記他方のパターンの子パターンと定義する場合において、
前記選択手段は、前記複数のパターンを対象として親子関係を分析し、所定の閾値よりも大きい数量の親パターンを有する子パターンを優先的に選択する、
請求項２または３に記載のログ分析システム。
【請求項５】
一方のパターンを構成する時系列的に連続する複数のイベントが、他方のパターンを構成する時系列的に連続する複数のイベントの部分集合である場合に、前記他方パターンを前記一方のパターンの親パターンと定義し、前記一方のパターンを前記他方のパターンの子パターンと定義する場合において、
前記選択手段は、前記複数のパターンのそれぞれについて親子関係を分析し、あるパターンに対して親パターンと子パターンとの両方が存在する場合において、前記親パターンの頻度に対する前記あるパターンの頻度の割合が第１の閾値未満であって、かつ、前記あるパターンの頻度に対する前記子パターンの頻度の割合が第２の閾値以上である場合に、前記あるパターンを優先的に選択する、
請求項２から４のいずれかに記載のログ分析システム。
【請求項６】
前記選択手段は、パターンを構成する時系列的に連続するイベントの数が所定の閾値よりも大きく、かつ、所定の閾値よりも高い頻度と関連づけられたパターンを優先的に選択する、請求項２から５のいずれかに記載のログ分析システム。
【請求項７】
前記ログファイルは、前記情報処理装置が正常に動作していた環境におけるログファイルであって、
前記選択手段が出力したパターンに基づいて、前記ログファイルから前記処理が実行された順序および頻度を示す情報である正常パターンを抽出する正常パターン抽出手段を更に備える、
請求項２から５のいずれかに記載のログ分析システム。
【請求項８】
前記選択手段が出力したパターンに基づいて、前記情報処理装置から出力された他のログファイルから、前記処理が実行された順序および頻度を示す情報を抽出し、前記抽出されたパターンと、請求項７に記載のログ分析システムが抽出した正常パターンと、を比較することにより、前記他のログファイルに異常なパターンが含まれているか否かを分析し、異常なパターンが含まれている場合には、当該異常なパターンを構成するログレコードを出力する、
障害原因分析システム。
【請求項９】
コンピュータが、
イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、時系列順に連続する複数のログレコードの集合である複数のロググループへと分割し、
複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づけ、
あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する、
ログ分析方法。
【請求項１０】
コンピュータに、
イベントと当該イベントが発生した時刻とが関連づけられた情報である複数のログレコードが時系列順に整列された情報を含むログファイルを、所定のルールに従って、時系列順に連続する複数のログレコードの集合である複数のロググループへと分割する処理と、
複数の前記ロググループから、時系列的に連続する複数のイベントによって構成される複数のパターンを抽出し、前記パターンを、当該パターンが幾つのログレコードから抽出されたかを表す頻度情報と関連づける処理と、
あるパターンを構成する時系列的に連続する複数のイベントと、他のパターンを構成する時系列的に連続した複数のイベントとの包含関係に基づいて、かつ、前記パターンに関連づけられた頻度情報に基づいて、前記複数のパターンから出力すべきパターンを選択する処理と、
を実行させるプログラム。
【国際調査報告】
2015045262.tif 000021
2015045262.tif 000022
2015045262.tif 000023
2015045262.tif 000024