(57)【特許請求の範囲】
【請求項１】
レコードが含まれるログを読み込み、前記ログを正常なログであると判定した場合、前記ログを正常ログとして送信し、前記ログを正常なログでないと判定した場合、前記ログを異常ログとして送信するログ読み込み手段と、
前記正常ログに含まれるレコードの出現順序であるパターンと、前記異常ログとを比較し、前記異常ログが前記パターンと部分的に一致している場合、前記パターンと部分的に一致しているレコードを未完了パターンに、前記パターンと一致していないレコードを不一致レコードに分類し、前記異常ログが前記パターンと部分的にも一致していない場合、前記異常ログを不一致レコードに分類し、前記未完了パターン及び前記不一致レコードの分析を行うログ分類手段と
を備える情報処理装置。
【請求項２】
前記ログは、前記ログに含まれるレコードに対応する時刻を含み、
前記ログ読み込み手段は
前記ログを読み込んだ時に、前記ログに含まれるレコードに対し、レコードＩＤ及び前記ログの種類に対応するモジュールＩＤを付与するＩＤ付与手段を備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記レコードＩＤ及び前記モジュールＩＤとの対応関係を示すモジュール情報一覧を格納する記憶手段を備え、
前記記憶手段は、
前記正常ログの一覧である正常ログ一覧と、前記異常ログの一覧である異常ログ一覧と、前記パターンを格納する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ログ分類手段は、
前記未完了パターンに含まれる先頭のレコードの時刻を未完了パターンの先頭時刻として記録し、前記未完了パターンの最後尾のレコードの時刻から一定時刻経過した時刻を未完了パターンの終了時刻として記録し、前記未完了パターンに含まれるレコードのモジュールＩＤが前記モジュール情報一覧に登録されていない場合、前記未完了パターンに含まれるレコードのモジュールＩＤを、前記モジュール情報一覧に登録する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ログ分類手段は、
前記不一致レコードの時刻を取得し、前記不一致レコードの時刻が、前記未完了パターンの先頭時刻と前記未完了パターンの終了時刻との間に存在する場合、前記不一致レコードのモジュールＩＤを取得し、前記不一致レコードのモジュールＩＤが前記モジュール情報一覧に登録されている場合、前記不一致レコードを関連メッセージとして出力し、前記不一致レコードのモジュールＩＤが前記モジュール情報一覧に登録されていない場合、前記不一致レコードを異常メッセージとして出力する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
他方の未完了パターンの先頭時刻が、一方の未完了パターンの先頭時刻と終了時刻との間に存在する場合、前記一方の未完了パターンと前記他方の未完了パターンを集約する未完了パターン集約手段を備える
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記関連メッセージ及び前記異常メッセージを表示する表示手段を備える
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記ログ分類手段は、
前記正常ログに含まれるレコードの出現順序である前記パターンを生成する
ことを特徴とする請求項１乃至７のいずれかに記載の情報処理装置。
【請求項９】
レコードが含まれるログを読み込み、前記ログを正常なログであると判定した場合、前記ログを正常ログとして送信し、前記ログを正常なログでないと判定した場合、前記ログを異常ログとして送信し、
前記正常ログに含まれるレコードの出現順序であるパターンと、前記異常ログとを比較し、前記異常ログが前記パターンと部分的に一致している場合、前記パターンと部分的に一致しているレコードを未完了パターンに、前記パターンと一致していないレコードを不一致レコードに分類し、前記異常ログが前記パターンと部分的にも一致していない場合、前記異常ログを不一致レコードに分類し、前記未完了パターン及び前記不一致レコードの分析を行う
ことをコンピュータに実行させる情報処理方法。
【請求項１０】
レコードが含まれるログを読み込み、前記ログを正常なログであると判定した場合、前記ログを正常ログとして送信し、前記ログを正常なログでないと判定した場合、前記ログを異常ログとして送信し、
前記正常ログに含まれるレコードの出現順序であるパターンと、前記異常ログとを比較し、前記異常ログが前記パターンと部分的に一致している場合、前記パターンと部分的に一致しているレコードを未完了パターンに、前記パターンと一致していないレコードを不一致レコードに分類し、前記異常ログが前記パターンと部分的にも一致していない場合、前記異常ログを不一致レコードに分類し、前記未完了パターン及び前記不一致レコードの分析を行う
ことをコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＴシステムにおけるデータの加工を行うコンピュータ装置に関する。
【背景技術】
【０００２】
ＩＴ（Ｉｎｆｏｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）システムにおいて、データ管理またはデータ監視のための、データ加工方法及びデータ分析方法が開示されている。
【０００３】
例えば、特許文献１には、機密ファイルにクライアントがアクセスしたというログを、時間と共に収集し、そのログが複写されたか否かを判定し、ログ情報、時間情報、複写されたか否かをマトリクス構造で表示させるログ表示システムが記載されている。
【０００４】
また、特許文献２には、ＩＴシステムのアクセスログを監視し、ＩＴシステムが行う複数の業務の割合（業務パターン）を算出し、その業務パターンに応じてネットワーク構成の最適化を行う方法が記載されている。
【０００５】
また、特許文献３には、結合元データ及び結合先データに含まれる識別項目の値及びキー項目の値をそれぞれ比較し、条件に応じて結合先データを結合元データに結合させることで、データ結合の成功率を向上させるデータ結合方法が記載されている。
【０００６】
また、特許文献４には、データの集計レベルに応じて、集計対象を定義する集計管理表を用いて、データ内から集計対象データを読み出し、集計対象データを、集計レベルに応じ、階層構造で出力するデータ集計方法が記載されている。
【０００７】
データ分析方法の中でも、例えば、障害検出のためのシステム監視を行う際、相関解析や類似度マッチングを使用して分析を行う方法が知られている。
【０００８】
例えば、特許文献５には、相関解析ルール情報と、ＩＴシステムのネットワーク構成とに基づき、障害の解析を行うことで、障害情報を取得できない装置での障害も解析し表示することができるＩＴシステムの管理方法が記載されている。
【０００９】
また、特許文献６には、監視対象のトランザクションの構成要素と、とトランザクション・モデルの構成要素との非類似度を求め、その非類似度に基づき、マッチ率を判定し、マッチ率に基づき、システムの処理状況の分析を行うシステム監視方法が記載されている。
【００１０】
また、特許文献７には、システムを構成している要素の情報と、システムのログ情報とを統合させた統合ログ情報から、パターンを抽出し、そのパターンと比較対象のパターンとを比較し、差異を検出し、システムの障害の原因箇所として提示する障害分析方法が記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００７−２０００４７号公報
【特許文献２】特開２００５−９９９７３号公報
【特許文献３】国際公開第２０１０／１３４４４０号
【特許文献４】特開平０６−３０９３４３号公報
【特許文献５】国際公開第２０１０／０３８３２７号
【特許文献６】特開２０１０−２３１８２５号公報
【特許文献７】国際公開第２０１４／１９６１２９号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述した特許文献１に記載されたログ表示方法または特許文献２に記載されたアクセスログの監視技術においては、ログを集計すること、あるいはログの監視によって業務パターンを算出することが記載されている。しかしながら、ログの情報の内容を相関解析や類似度マッチング技術を使用せずに解析し、ログの異常ログを分析する技術は、いずれにも記載されていない。
【００１３】
特許文献３及び特許文献４において、データの結合方法及び集計データを階層化する技術が記載されている。しかしながら、ログの情報の内容を相関解析や類似度マッチング技術を使用せずに解析し、ログの異常パターンを分析する技術は記載されていない。
【００１４】
特許文献５に記載された相関解析や、特許文献６に記載された類似度マッチングの判定を用いた場合、同一のエラーを示すものの、含まれている情報が異なる異常ログを分析することは、難しい。
【００１５】
また、特許文献７には、システム障害の原因となるログのパターンを検出しているものの、異常ログを分析する技術は記載されていない。
【００１６】
そこで、本発明の目的は、相関解析や類似度マッチングを使用せずに異常ログの分析を行う情報処理装置を提供することである。
【課題を解決するための手段】
【００１７】
本発明の情報処理装置は、レコードが含まれるログを読み込み、前記ログを正常なログであると判定した場合、前記ログを正常ログとして送信し、前記ログを正常なログでないと判定した場合、前記ログを異常ログとして送信するログ読み込み手段と、前記正常ログに含まれるレコードの出現順序であるパターンと、前記異常ログとを比較し、前記異常ログが前記パターンと部分的に一致している場合、パターンと部分的に一致しているレコードを未完了パターンに分類し、前記異常ログが前記パターンと一致していない場合、前記異常ログを不一致レコードに分類し、前記未完了パターン及び前記不一致レコードの分析を行うログ分類手段とを備えることを特徴とする。
【００１８】
本発明の情報処理方法は、レコードが含まれるログを読み込み、前記ログを正常なログであると判定した場合、前記ログを正常ログとして送信し、前記ログを正常なログでないと判定した場合、前記ログを異常ログとして送信し、前記正常ログに含まれるレコードの出現順序であるパターンと、前記異常ログとを比較し、前記異常ログが前記パターンと部分的に一致している場合、パターンと部分的に一致しているレコードを未完了パターンに分類し、前記異常ログが前記パターンと一致していない場合、前記異常ログを不一致レコードに分類し、前記未完了パターン及び前記不一致レコードの分析を行うことをコンピュータに実行させることを特徴とする。
【００１９】
本発明の情報処理プログラムは、レコードが含まれるログを読み込み、前記ログを正常なログであると判定した場合、前記ログを正常ログとして送信し、前記ログを正常なログでないと判定した場合、前記ログを異常ログとして送信し、前記正常ログに含まれるレコードの出現順序であるパターンと、前記異常ログとを比較し、前記異常ログが前記パターンと部分的に一致している場合、パターンと部分的に一致しているレコードを未完了パターンに分類し、前記異常ログが前記パターンと一致していない場合、前記異常ログを不一致レコードに分類し、前記未完了パターン及び前記不一致レコードの分析を行うことをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２０】
上記構成によって、相関解析や類似度マッチングを使用せずにログ分析を行うことができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１実施形態に係る情報処理装置１の構成を示すブロック図である。
【図２】本発明の第１実施形態に係る情報処理装置１のハードウェア構成を示すブロック図である。
【図３】本発明の第１実施形態に係る情報処理装置１が行う動作を示すフローチャートである。
【図４】本発明の第１実施形態に係る正常ログ一覧３１１の例示的概念図である。
【図５】本判明の第１実施形態に係る異常ログ一覧３２１の例示的概念図である。
【図６】本発明の第１実施形態に係るモジュール情報一覧３３１の例示的概念図である。
【図７】本発明の第１実施形態に係るパターン一覧３４１の例示的概念図である。
【図８】本発明の第１実施形態に係る情報処理装置１が行う処理Ａのフローチャートである。
【図９】本発明の第１実施形態に係る表示装置５が表示するメッセージの例示図である。
【図１０】本発明の第１実施形態に係るパターン比較部２３が行うパターン比較処理のフローチャートである。
【図１１】本発明の第１実施形態に係るモジュール関連付け部２４が行うモジュール関連付け処理を示すフローチャートである。
【図１２】本発明の第１実施形態に係るモジュール関連付け部２４が行う処理Ｂのフローチャートである。
【図１３】本発明の第２実施形態に係る情報処理装置１０の構成を示すブロック図である。
【図１４】本発明の第２実施形態に係る未完了パターン集約部２５の未完了パターン集約処理のフローチャートである。
【図１５】未完了集約部２５が行う集約処理を示す例示図である。
【図１６】本発明の第３実施形態に係る情報処理装置２０の構成を示すブロック図である。
【図１７】本発明の第３実施形態に係る情報処理装置２０が行う動作を示すフローチャートである。
【図１８】本発明の第３実施形態に係る情報処理装置２０が行う処理Ｃのフローチャートである。
【図１９】本発明の第３実施形態に係るモジュール関連付け部２４が行うモジュール関連付け処理を示すフローチャートである。
【図２０】本発明の第３実施形態に係るモジュール関連付け部２４が行う処理Ｄのフローチャートである。
【図２１】本発明の第４実施形態に係る情報処理装置３０の構成を示すブロック図である。
【図２２】本発明の第５実施形態に係る情報処理装置４０の構成を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態について図面を参照し、詳細に説明する。
【００２３】
＜第１実施形態＞
図１は、本発明の第１実施形態における情報処理装置１の構成を示すブロック図である。図１において情報処理装置１は、制御部２と、記憶部３と、パターン生成部４と、表示装置５と、ログ記憶部６によって構成される。制御部２は、情報処理装置１の動作を制御する。さらに、制御部２は、ＩＤ付与部２１と、ログ判定部２２と、パターン比較部２３と、モジュール関連付け部２４とを含む。
【００２４】
ＩＤ付与部２１は、ログを読み込み、読み込んだログの各レコードに対応したレコードＩＤとモジュールＩＤを付与する。ここで付与されるモジュールＩＤは、例えば、ログのファイル名や、ＳｙｓｌｏｇのＦａｃｉｌｉｔｙのように各レコードに存在するログの種類の識別子を用いてもよい。どのような基準でモジュールを設定し、モジュールＩＤを付与するかは、当業者において適宜選択できる。ログ判定部２２は、入力されたログが正常なログかどうかを判定する。正常なログならば、ログ判定部２２は、正常ログとして記憶部３の正常ログ記憶部３１に送信しそこに格納する。また、正常なログでないならば、ログ判定部２２は、異常ログとして記憶部３の異常ログ記憶部３２に送信しそこに格納する。パターン比較部２３は、パターン生成部４によって生成された正常ログに含まれる各レコードＩＤの出現順序であるパターンと、異常ログを比較し、パターンと一致しているかどうか判定する。そして、パターン比較部２３は、パターンと一致していない異常ログをモジュール関連付け部２４へ送信する。モジュール関連付け部２４は、異常ログをモジュールと関連付ける。
【００２５】
記憶部３は、正常ログ記憶部３１と、異常ログ記憶部３２と、モジュール情報記憶部３３と、パターン記憶部３４とを含む。正常ログ記憶部３１は、ログ判定部２２が正常なログだと判定した正常ログの一覧である正常ログ一覧３１１を含む。異常ログ記憶部３２は、異常ログの一覧である異常ログ一覧３２１を含む。モジュール情報記憶部３３は、どのモジュールにどのレコードが含まれるのかを表すモジュール情報一覧３３１を含む。パターン記憶部３４は、パターン生成部４が生成したパターンの一覧であるパターン一覧３４１を記憶する。
【００２６】
パターン生成部４は、正常ログに基づいて、各レコードＩＤの出現順序をパターンとして生成する。また、表示装置５は、モジュール関連付け部２４で関連付けた結果を表示する。さらに、ログ記憶部６は、ログを記憶する。
【００２７】
＜ハードウェア構成＞
図２は、本発明の情報処理装置１のハードウェア構成を示すブロック図である。情報処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６１と、ＲＯＭ（Ｒｏａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６３と、ネットワークインタフェース６４と、記憶部６５と、入力装置６６と、出力装置６７とによって構成可能である。
【００２８】
ＩＤ付与部２１は、ネットワークインタフェース６４と、入力装置６６と、ＲＯＭ６２及び記憶装置６５に記憶されたコンピュータプログラムをＲＡＭ６３に書き込み、書き込まれたコンピュータプログラムを実行するＣＰＵ６１によって構成される。パターン生成部４と、ログ判定部２２と、パターン比較部２３と、モジュール関連付け部２４とは、ＲＯＭ６２及び記憶装置６５に記憶されたコンピュータプログラムをＲＡＭ６３に書き込み、書き込まれたコンピュータプログラムを実行するＣＰＵ６１によって構成される。また、正常ログ記憶部３１と、異常ログ記憶部３２と、パターン記憶部３３と、モジュール情報記憶部３３とは、記憶装置６５によって構成される。表示装置５は、出力装置６７によって構成される。
【００２９】
後述の第２及び第３及び第４実施形態における情報処理装置１０及び情報処理装置２０及び情報処理装置３０も同様に、上記ハードウェア構成を有することが可能であり、情報処理装置１０及び情報処理装置２０及び情報処理装置３０が有する各機能をハードウェア的又はソフトウェア的に実現する。なお、上記ハードウェア構成は例示であり、上記構成には限定されない。
【００３０】
図３は、本発明の第１実施形態に係る情報処理装置１が行う動作を示すフローチャートである。以下、図３を用いて第１実施形態に係る情報処理装置１の動作を具体的に説明する。
【００３１】
まず、ＩＤ付与部２１はログ記憶部６からログを読み込み（ステップＳ１０１）、読み込んだログの各レコードに対応するレコードＩＤを付与する（ステップＳ１０２）。例えば、ＩＤ付与部２１は、クラスタリングの手法であるＫ平均法など公知の方法を使用することによって、付与するべきレコードＩＤを生成する。レコードＩＤは、レコードごとに付与される。さらに、ＩＤ付与部２１は、各レコードに、モジュールＩＤを付与する（ステップＳ１０３）。付与されるモジュールＩＤは、例えば、ログのファイル名や、ＳｙｓｌｏｇのＦａｃｉｌｉｔｙのように各レコードに存在するログの種類の識別子を用いてもよい。どのような基準でモジュールを設定し、モジュールＩＤを付与するかは、当業者において適宜選択できる。そして、ＩＤ付与部２１は、レコードＩＤとモジュールＩＤとの対応関係をモジュール情報一覧３３１として、モジュール情報記憶部３３に送信し、そこに格納する（ステップＳ１０４）。
【００３２】
次に、ログ判定部２２にログが入力されると、ログ判定部２２は入力されたログが、正常かどうか判定する（ステップＳ１０５）。たとえば、国際公開第２０１４／１９６１２９号（特許文献７）に記載された発明により、その判定が実施されてもよい。入力されたログが正常でない場合、ログ判定部２２は、入力されたログを異常ログと判定し、異常ログを異常ログ一覧３２１として異常ログ記憶部３２に送信し、そこに格納する（ステップＳ１０６）。そして処理はステップＳ１１０へ進む。
【００３３】
一方で、入力されたログが正常である場合、ログ判定部２２は、入力されたログを正常ログと判定し、正常ログを正常ログ一覧３１１として正常ログ記憶部３１に送信し、そこに格納する（ステップＳ１０７）。
【００３４】
パターン生成部４は、正常ログ記憶部３１から正常ログを取り出し、取り出した正常ログに基づき、正常ログの各レコードが出現する順序をパターンとして、パターンを生成する（ステップＳ１０８）。さらに、パターン生成部１４は、生成したパターンをパターン一覧３４１としてパターン記憶部３４に送信し、そこに格納する（ステップＳ１０９）。なお、パターンの生成手法としては、例えば、Ａｐｒｉｏｒｉやバックトラック法等の公知のアルゴリズムを使用し、パターンを生成してもよい。そして、ＩＤ付与部２１は、ログ記憶部６のすべてのログの読み込みをしたかどうか判定する（ステップＳ１１０）。すべてのログの読み込みをしていない場合、ステップＳ１０１へ進み、すべてのログの読み込みをした場合、後述する処理Ａへ進む。
【００３５】
以上説明した動作によって、制御部２が、異常ログ及び正常ログの識別を行うことによって、パターン生成部４が正常ログに基づきパターンを生成することができる。
【００３６】
図４は、本発明の第１実施形態に係る正常ログ一覧３１１の例示的な概念図である。正常ログはログ判定部２２によって判定され、入力された順に正常ログ１（３１１_１）、正常ログ２（３１１_２）、正常ログ３（３１１_３）、…、正常ログｎ（３１１_ｎ（ｎ：自然数））として記憶される。１つのレコードＩＤについて、レコードの時刻、レコードの内容、モジュールＩＤが関連付けされ、正常ログの複数のレコードが記憶される。レコードの内容は、例えばシステムで行われた処理が記載されている。
【００３７】
図５は、本発明の第１実施形態に係る異常ログ一覧３２１の例示的な概念図である。異常ログは、ログ判定部２２によって判定され、入力順に異常ログ１、異常ログ２、…、異常ログｎ（ｎ：自然数）として記憶される。１つのレコードＩＤについて、レコードの時刻、レコードの内容、モジュールＩＤが関連付けされ、異常ログの複数のレコードが記憶される。
【００３８】
図６は、本発明の第１実施形態に係るモジュール情報一覧３３１の例示的な概念図である。レコードＩＤごとにモジュールＩＤが対応して記憶される。例えば、レコードＩＤが１の場合は、モジュールＩＤがＭｏｄｕｌｅ１となり、レコードＩＤが２の場合は、モジュールＩＤがＭｏｄｕｌｅ２となり、レコードＩＤがｍ（ｍ：自然数）の場合は、モジュールＩＤは、Ｍｏｄｕｌｅｎ（ｎ：自然数）となる。
【００３９】
図７は、パターン一覧３４１の例示的概念図である。パターン生成部４によって生成されたパターンは、生成された順にパターン１（３４１＿１）、パターン２（３４１＿２）、パターン３（３４１＿３）、…、パターンｎ（３４１＿ｎ（ｎ：自然数））となる。これらパターンは、パターン記憶部３４に順次記憶される。レコードＩＤの出現順序は、１つのパターンの配列順序となり、出現順にレコードＩＤが配列されて記憶される。図７において、パターン３４１＿ｎにおけるａ、ｂ、ｃ、ｄ、ｅは任意のレコードＩＤを示す自然数を表す。パターン３４１＿１及びパターン３４１＿２は、レコードＩＤが５つの構成となり、パターン３４１＿３は、レコードＩＤが４つの構成となっているが、１つのパターンを構成するレコードＩＤの数は、当業者において適宜選択できる。
【００４０】
図８は、上述した処理Ａのフローチャートを表す。まず、パターン比較部２３は異常ログとパターン一覧３４１に含まれるパターンとを比較するパターン比較処理を行い（ステップＳ２０１）、比較の結果により、異常ログを、一致ログと、未完了パターンと、不一致レコードとに分類する。このパターン比較処理の詳細は後述する。
【００４１】
次に、モジュール関連付け部２４は、未完了パターンと、不一致レコードとについて、モジュール関連付け処理を行う（ステップＳ２０２）。このモジュール関連付け処理は後述する。そして、ログ表示部である表示装置５は図９に示すようにメッセージを表示する（ステップＳ２０３）。図９は、第１実施形態に係る表示装置５が表示するメッセージの例示的な概念図である。完了パターンには、モジュール関連付け部２４による処理が完了したパターンが格納され、パターン１、パターン２、パターン３、パターン４、…、パターンｍ（ｍ：自然数）となっている。例えば、表示させたいパターン（図９の場合、パターンｍ）を選択すると、選択されたパターンに含まれるレコードＩＤ及びレコードの内容が表示される。異常メッセージ及び関連メッセージには、モジュール関連付け部２４によってパターンと比較された不一致レコードが格納される。なお、この表示画面には限定されない。
【００４２】
モジュール関連付け部２４が、未完了パターンと不一致レコードとをモジュールＩＤを使用して関連付けることで、分析対象データと比較させるための比較対象となる情報または前記情報に基づく独自のルールを定義せず、かつ分析対象データ同士の関連性を分析し、表示することができる。
【００４３】
図１０は上述したパターン比較部２３が行うパターン比較処理のフローチャートである。
【００４４】
まず、パターン比較部２３は、パターン記憶部３４からパターンを取り出し、送信された異常ログと一致するパターンがあるかどうか判定する（ステップＳ３０１）。異常ログと一致するパターンがある場合、パターン比較部２３は、異常ログを一致ログとして正常ログ記憶部３１へ送信し、それを格納する（ステップＳ３０２）。そしてステップＳ３０６へ進む。
【００４５】
一方で、異常ログと一致するパターンがない場合、パターン比較部２３は、異常ログと部分一致するパターンがあるかどうか判定する（ステップＳ３０３）。異常ログと部分的に一致するパターンがある場合、パターン比較部２３は、パターンに一致しているレコードを未完了パターンとして、モジュール関連付け部２４へ送信し、パターンに一致していない異常ログ及び未完了パターンの一致していないレコードを、不一致レコードとしてモジュール関連付け部２４へ送信する（ステップＳ３０４）。異常ログがパターンと部分一致していない場合（パターンとすべて不一致の場合）、パターン比較部２３は、不一致レコードとしてモジュール関連付け部２４へ送信する（ステップＳ３０５）。そして、パターン比較部２３は、異常ログ記憶部３１の異常ログがすべて処理されたかどうか判定する（ステップＳ３０６）。異常ログがすべて処理されていない場合、ステップＳ３０１へ進み、異常ログがすべて処理された場合、ステップＳ２０２へ進む。
【００４６】
以上説明した動作によって、パターン比較部２３は、異常ログとパターンを比較し、パターンとの一致度合いに応じて、異常ログを一致ログと、未完了パターンと、不一致レコードとに分類することができる。
【００４７】
図１１は、上述したモジュール関連付け部２４が行うモジュール関連付け処理のフローチャートである。
【００４８】
まず、モジュール関連付け部２４は、送信された未完了パターンの先頭のレコードの時刻をこの未完了パターンの先頭時刻として記録する（ステップＳ４０１）。次に、未完了パターンに含まれる最後尾のレコードの時刻から一定時間経過した時刻を終了時刻として記録する（ステップＳ４０２）。
例示的に未完了パターンの先頭時刻は、αとし、未完了パターンの終了時刻はβとする。ここで一定時間は、例えば、パターン生成時に各パターンの完了する平均時間や、最長時間を使用してもよい。また、モジュール関連付け部２４は、未完了パターンの各レコードのモジュールＩＤを取得し（ステップＳ４０３）、取得したモジュールＩＤがモジュール情報一覧３３１に登録されているかどうか判定する（ステップＳ４０４）。取得したモジュールＩＤがモジュール情報一覧３３１に登録されている場合、ステップＳ４０６へ進む。
【００４９】
一方で、取得したモジュールＩＤがモジュール情報一覧３３１に登録されていない場合、モジュール関連付け部２４は、取得したモジュールＩＤをモジュール情報一覧３３１に登録する（ステップＳ４０５）。そして、モジュール関連付け部２４は、未完了パターンの一致レコードを処理したかどうか判定する（ステップＳ４０６）。未完了パターンの一致レコードを処理している場合、ステップＳ４０７へ進み、未完了パターンの一致レコードを処理していない場合、ステップＳ４０４へ進む。さらにモジュール関連付け部２４は、すべての未完了パターンを処理したかどうか判定する（ステップＳ４０７）。すべての未完了パターンを処理していない場合、ステップＳ４０１へ進み、すべての未完了パターンを処理している場合、処理Ｂへ進む。
【００５０】
以上説明した動作によって、未完了パターンの先頭時刻と終了時刻を記録し、未完了パターンの各レコードのモジュールＩＤが、モジュール情報一覧に登録されているかどうか確認することができる。
【００５１】
図１２は、上述したモジュール関連付け部２４が行う処理Ｂのフローチャートである。
【００５２】
まず、モジュール関連付け部２４は、送信された不一致レコードの時刻を記録する（ステップＳ５０１）。ここでは例示的に不一致レコードの時刻をγとする。そして、モジュール関連付け部２４は、不一致レコードの時刻（γ）と、未完了パターンの先頭時刻（α）と、未完了パターンの終了時刻（β）とを比較する。具体的には、モジュール関連付け部２４は、未完了パターンの先頭時刻が、不一致レコードの時刻より前にあり、かつ未完了パターンの終了時刻が、不一致レコードの時刻より後にある未完了パターンが存在するかどうか、つまりα＜γ＜βとなる未完了パターンが存在するかどうか判定する（ステップＳ５０２）。α＜γ＜βとなる未完了パターンが存在しない場合、ステップＳ５０７へ進む。
【００５３】
一方で、α＜γ＜βとなる未完了パターンが存在する場合、モジュール関連付け部２４は、不一致レコードのモジュールＩＤを取得する（ステップＳ５０３）。そして、モジュール関連付け部２４は、取得したモジュールＩＤが、モジュール情報一覧３３１に登録されているかどうか判定する（ステップＳ５０４）。取得したモジュールＩＤがモジュール情報一覧３３１に登録されていない場合、モジュール関連付け部２４は、取得したモジュールＩＤを、表示装置５が表示するメッセージの異常メッセージの項目に登録する（ステップＳ５０５）。取得したモジュールＩＤがモジュール情報一覧３３１に登録されている場合、モジュール関連付け部２４は、取得したモジュールＩＤを、表示装置５が表示するメッセージの関連メッセージの項目に登録する（ステップＳ５０６）。
【００５４】
そして、モジュール関連付け部２４は、すべての不一致レコードを処理したかどうかを判定する（ステップＳ５０７）。すべての不一致レコードを処理していない場合、ステップＳ５０１進み、すべての不一致レコードを処理した場合は、ステップＳ２０３へ進む。
【００５５】
以上、上述した動作によって、未完了パターンに含まれる不一致レコードのモジュールＩＤが、モジュール一覧に登録されているか否かで、関連メッセージと、異常メッセージに分類することで、未完了パターンに含まれる不一致レコードが、どのモジュールと関連しているのか、または関連していないのか理解することができる。
【００５６】
そして、異常ログを分類した未完了パターン及び不一致レコードをモジュールＩＤに基づき分析を行うことで、相関解析や類似度マッチングを用いた分析を行うことなく、異常ログの分析を行うことができる。
【００５７】
＜第２実施形態＞
次に本発明の第２実施形態に係る情報処理装置１０について、図１３を用いて説明する。本実施形態に係る情報処理装置１０は、第１実施形態の構成に、新たに未完了パターン集約部２１が追加されている。なお、本実施形態の説明において参照する各図面において、他の実施形態と同様な構成及び同様に動作するステップには、同一の符号を付し、本実施形態において重複する説明は省略する（他実施形態においても同様）。
【００５８】
本実施形態において新たに加わった未完了パターン集約部２５は、複数の未完了パターンを一つの未完了パターンに集約する処理を行う。なお、実施形態に係る情報処理装置１０は、実施形態１に係る情報処理装置１と同様の処理を行い、さらにログ集約部２５が上記集約する処理を行う。なお、未完了パターン集約部２５は、図８においてステップＳ２０１のパターン比較処理の前に上記集約する処理を実行する。
【００５９】
図１４は上述した未完了パターン集約部２５が行う未完了パターン集約処理を示すフローチャートである。
【００６０】
まず、未完了パターン集約部２５は、送信された未完了パターンに含まれる先頭のレコードの時刻を未完了パターンの先頭時刻として記録する（ステップＳ６０１）。次に、未完了パターン集約部２５は、未完了パターンに含まれる最後尾のレコードの時刻から一定時間経過した時刻を終了時刻として記録する（ステップＳ６０２）。例示的に未完了パターンの先頭時刻をｘとし、未完了パターンの終了時刻をｙとする。ここで一定時間は、例えば、パターン生成時に各パターンの完了する平均時間や、最長時間を使用してもよい。また、未完了パターン集約部２５は、次の未完了パターンの先頭時刻を記録する（ステップＳ６０３）。ここでは例示的に次の未完了パターンの先頭時刻をｚとする。そして、未完了パターン集約部２５は、次の未完了パターンの先頭時刻（ｚ）と、未完了パターンの先頭時刻（ｘ）と、未完了パターンの終了時刻（ｙ）とを比較する。具体的には、次の未完了パターンの先頭時刻が、未完了パターンの時刻より後ろにあり、かつ次の未完了パターンの先頭時刻が、未完了パターンの終了時刻より前にあるかどうか、つまりｘ＜ｚ＜ｙとなるかどうか判定する（ステップＳ６０４）。ｘ＜ｚ＜ｙとならない場合、ステップＳ６０６へ進む。一方で、ｘ＜ｚ＜ｙとなる場合、未完了パターン集約部２５は、最初の未完了パターンと、次の未完了パターンを集約する（ステップＳ６０５）集約の処理は図１５を用いて詳細に説明する。
【００６１】
図１５は、集約する未完了パターン及び集約した未完了パターンを例示的に示した概念図である。
【００６２】
ここでは、未完了パターン２０１と未完了パターン２０２とを集約する。また、終了時刻を算出するために用いる一定時刻を１５秒と設定する。もちろん一定時刻は、この数字に限定されることはない。
【００６３】
まず、未完了パターン２０１の先頭時刻は、１４：００：００であり、最後尾のレコード時刻は１４：００：０３であるため、ここから算出される終了時刻は、１４：００：１８となる。ここで未完了パターン２０２の先頭時刻は、１４：００：０８であるため、未完了パターン２０１の先頭時刻から終了時刻の間に含まれるため、未完了パターン２０１及び未完了パターン２０２は集約される。そして集約された未完了パターン２０４となる。また、例えば、未完了パターン２０１と未完了パターン２０３とを集約しようとした場合、未完了パターン２０３の先頭時刻は、１４：００：３４であるため、未完了パターン２０１の先頭時刻と終了時刻との間には含まれず、集約することはできない。
【００６４】
そして、未完了パターン集約部２５は、すべての未完了パターンについて処理をしたかどうか判定する（ステップＳ６０６）。すべての未完了パターンを処理していない場合、ステップＳ６０１へ進み、すべての未完了パターンを処理した場合、処理を終了する。なお、上述した未完了パターン集約処理以外に情報処理装置１０が行う処理については、図３−図１２を用いて説明した本発明の第１実施形態に係る情報処理装置１と同様であるため、本実施形態における説明を省略する。
【００６５】
上記説明した動作によって、モジュール関連付け処理の前に、予め未完了パターンを集約することで、モジュール関連付け処理に掛かる工数を削減することができる。
【００６６】
＜第３実施形態＞
図１６は、本発明の第３実施形態に係る情報処理装置２０の構成を示すブロック図である。
【００６７】
情報処理装置２０は、パターン生成部４と、ＩＤ付与部２１と、ログ判定部２２と、パターン比較部２３と、モジュール関連付け部２４とモジュール情報記憶部３３とを含む。モジュール情報記憶部３３はモジュール情報一覧３３１を含む。本実施形態は、第１実施形態とは異なり、ログ記憶部６と、正常ログ記憶部３１と、異常ログ記憶部３２と、モジュール情報記憶部３３と、パターン記憶部３４とを含まない構成となっている。
【００６８】
図１７は、本発明の第３実施形態に係る情報処理装置２０が行う動作を示すフローチャートである。以下、図１６を用いて第３実施形態に係る情報処理装置２０の動作を具体的に説明する。
【００６９】
まず、ＩＤ付与部２１はログを読み込み（ステップＳ７０１）、読み込んだログの各レコードに対応するレコードＩＤを付与する（ステップＳ７０２）。例えば、ＩＤ付与部２１は、クラスタリングの手法であるＫ平均法など公知の方法を使用することによって、付与するべきレコードＩＤを生成する。レコードＩＤは、レコードごとに付与される。さらに、ＩＤ付与部２１は、各レコードに、モジュールＩＤを付与する（ステップＳ７０３）。付与されるモジュールＩＤは、例えば、ログのファイル名や、ＳｙｓｌｏｇのＦａｃｉｌｉｔｙのように各レコードに存在するログの種類の識別子を用いてもよい。どのような基準でモジュールを設定し、モジュールＩＤを付与するかは、当業者において適宜選択できる。そして、ＩＤ付与部２１は、レコードＩＤとモジュールＩＤが付与されたログをログ判定部２２に送信し、レコードＩＤとモジュールＩＤとの対応関係をモジュール情報一覧３３１として、モジュール情報記憶部３３に送信し、そこに格納する（ステップＳ７０４）。
【００７０】
次に、ログ判定部２２にログが入力されると、ログ判定部２２は入力されたログが、正常かどうか判定する（ステップＳ７０５）。たとえば、国際公開第２０１４／１９６１２９号（特許文献７）に記載された発明により、その判定が実施されてもよい。入力されたログが正常でない場合、ログ判定部２２は、入力されたログを異常ログと判定し、異常ログをパターン比較部２３に送信する（ステップＳ７０６）。そして処理はステップＳ７０９へ進む。
【００７１】
一方で、入力されたログが正常である場合、ログ判定部２２は、入力されたログを正常ログと判定し、正常ログをパターン生成部４に送信する（ステップＳ７０７）。パターン生成部４は、送信された正常ログに含まれる各レコードＩＤの出現順序を、パターンとして生成する（ステップＳ７０８）。なお、パターンの生成手法としては、例えば、Ａｐｒｉｏｒｉやバックトラック法等の公知のアルゴリズムを使用し、パターンを生成してもよい。そして、ＩＤ付与部２１は、すべてのログの読み込みをしたかどうか判定する（ステップＳ７０９）。すべてのログの読み込みをしていない場合、ステップＳ７０１へ進み、すべてのログの読み込みをした場合、後述する処理Ｃへ進む。例えば、ＩＤ付与部２１は、一定時間ログが入力されないことを検知し、処理Ｃへ進んでもよい。
【００７２】
以上説明した動作によって、ＩＤ付与部２１がレコードＩＤ及びモジュールＩＤを付与し、モジュール情報一覧を生成することで、レコードＩＤとモジュールＩＤの対応関係が明確になり、ログ判定部２２が、異常ログ及び正常ログの識別を行うことによって、パターン生成部４が正常ログに基づきパターンを生成することができる。
【００７３】
図１８は、上述した処理Ｃのフローチャートを表す。
【００７４】
まず、パターン比較部２３は、送信された異常ログと完全に一致するパターンがあるかどうか判定する（ステップＳ８０１）。送信された異常ログと完全に一致するパターンがある場合、ステップＳ８０５へ進む。
【００７５】
一方で、送信された異常ログと完全に一致するパターンがない場合、パターン比較部２３は、異常ログと部分的に一致するパターンがあるかどうか判定する（ステップＳ８０２）。送信された異常ログと部分的に一致するパターンがある場合、パターン比較部２３は、送信された異常ログのうちのパターンに一致しているレコードを未完了パターンとして、モジュール関連付け部２４へ送信し、パターンに一致していないレコードを、不一致レコードとしてモジュール関連付け部２４へ送信する（ステップＳ８０３）。送信された異常ログがパターンと部分的に一致していない場合、パターン比較部２３は、不一致レコードとしてモジュール関連付け部２４へ送信する（ステップＳ８０４）。そして、パターン比較部２３は、異常ログがすべて処理されたかどうか判定する（ステップＳ８０５）。異常ログがすべて処理されていない場合、ステップＳ８０１へ進み、異常ログがすべて処理された場合、ステップＳ８０６へ進む。また、パターン比較部２３は、例えば、一定時間異常ログが送信されない場合、ステップＳ８０６へ進んでもよい。そして、モジュール関連付け部２４は、モジュール関連付け処理を行う（ステップＳ８０６）。この処理は後述する。
【００７６】
以上説明した動作によって、パターン比較部２３は、異常ログを一致パターンと、未完了パターンと、不一致レコードとに分類することができる。
【００７７】
図１９は前述したモジュール関連付け部２４が行うモジュール関連付け処理を示すフローチャートである。
【００７８】
まず、モジュール関連付け部２４は、送信された未完了パターンの先頭のレコードの時刻をこの未完了パターンの先頭時刻として記録する（ステップＳ９０１）。次に、未完了パターンに含まれる最後尾のレコードの時刻から一定時間経過した時刻を終了時刻として記録する（ステップＳ９０２）。例示的に未完了パターンの先頭時刻は、αとし、未完了パターンの終了時刻はβとする。ここで一定時間は、例えば、パターン生成時に各パターンの完了する平均時間や、最長時間を使用してもよい。また、モジュール関連付け部２４は、未完了パターンの各レコードのモジュールＩＤを取得し（ステップ９０３）、取得したモジュールＩＤがモジュール情報一覧３３１に登録されているかどうか判定する（ステップＳ９０４）。取得したモジュールＩＤがモジュール情報一覧３３１に登録されている場合、ステップＳ９０６へ進む。
【００７９】
一方で、取得したモジュールＩＤがモジュール情報一覧３３１に登録されていない場合、モジュール関連付け部２４は、取得したモジュールＩＤをモジュール情報一覧３３１に登録する（ステップＳ９０５）。そして、モジュール関連付け部２４は、すべての未完了パターンの一致レコードを処理したかどうか判定する（ステップＳ９０６）。すべての未完了パターンの一致レコードを処理している場合、処理Ｄへ進み、すべての未完了パターンの一致レコードを処理していない場合、ステップＳ９０３へ進む。
【００８０】
以上説明した動作によって、すべての未完了パターンの先頭時刻と終了時刻を記憶し、未完了パターンの各レコードのモジュールＩＤがモジュール情報一覧に登録されているかどうか確認することができる。
【００８１】
図２０は、上述したモジュール関連付け部２４が行う処理Ｄのフローチャートである。
【００８２】
まず、モジュール関連付け部２４は、不一致レコードの時刻を記録する（ステップＳ１００１）。ここでは例示的に不一致レコードの時刻をγとする。そして、モジュール関連付け部２４は、不一致レコードの時刻（γ）と、未完了パターンの先頭時刻（α）と、未完了パターンの終了時刻（β）とを比較する。具体的には、未完了パターンの先頭時刻が、不一致レコードの時刻より前にあり、かつ未完了パターンの終了時刻が、不一致レコードの時刻より後にある未完了パターンが存在するかどうか、つまりα＜γ＜βとなる未完了パターンが存在するかどうか判定する（ステップＳ１００２）。α＜γ＜βとなる未完了パターンが存在しない場合、ステップＳ１００７へ進む。
【００８３】
一方で、α＜γ＜βとなる未完了パターンが存在する場合、モジュール関連付け部２４は、不一致レコードのモジュールＩＤを取得する（ステップＳ１００３）。そして、モジュール関連付け部２４は、取得したモジュールＩＤが、モジュール情報一覧３３１に登録されているかどうか判定する（ステップＳ１００４）。取得したモジュールＩＤがモジュール情報一覧３３１に登録されていない場合、モジュール関連付け部２４は、取得したモジュールＩＤを、異常メッセージとして送信する（ステップＳ１００５）。取得したモジュールＩＤがモジュールＩＤ一覧１７１に登録されている場合、モジュール関連付け部２４は、取得したモジュールＩＤを、関連メッセージとして送信する（ステップＳ１００６）。
【００８４】
さらに、モジュール関連付け部２４は、すべての不一致レコードを処理したかどうかを判定する（ステップＳ１００７）。すべての不一致レコードを処理していない場合、ステップＳ１００１へ進み、すべての不一致レコードを処理した場合は、ステップＳ１００８へ進む。そして、モジュール関連付け部２４は、すべての未完了パターンを処理したかどうか判定する（ステップＳ１００８）。すべての未完了パターンを処理していない場合、処理Ｅへ進む。一方で、すべての未完了パターンを処理している場合、処理を終了する。モジュール関連付け部２４は、例えば、一定時間未完了パターンが送信されない場合、処理を終了してもよい。
【００８５】
以上、説明した動作によって、未完了パターンに含まれる不一致レコードのモジュールＩＤがモジュール一覧に登録されているか否かで、関連メッセージと、異常メッセージとに分けることで、未完了パターンに含まれる不一致レコードが、どのモジュールと関連しているのか、または関連していないのかがわかる。つまり、異常ログについての分析を行うことができる。
【００８６】
＜第４実施形態＞
図２１は、本発明の第４実施形態に係る情報処理装置３０の構成を示すブロック図である。
【００８７】
なお、本実施形態に係る情報処理装置３０の構成は、その他の実施形態の基本的な構成に対応する。
【００８８】
情報処理装置３０は、ログ読み込み部３０１と、ログ分類部３０２とを備える。なお、第１乃至第３の実施形態におけるＩＤ付与部２１及びログ判定部２２の代わりに、ログ読み込み部３０１が使用される。また、第１乃至第３の実施形態のパターン生成部４と、パターン比較部２３及びモジュール関連付け部２４の代わりに、ログ分類部３０２が使用される。
【００８９】
ログ読み込み部３０１は、情報処理装置３０での情報処理の過程で発生するデータ及び命令を含むログを読み込む。そして読み込んだログが正常である場合、ログ読み込み部３０１は、正常ログとしてログ分類部３０２へ送信し、読み込んだログが正常でない場合、異常ログとしてログ分類部３０２へ送信する。
【００９０】
ログ分類部３０２は、正常ログに基づいてログに含まれるレコードの出現順序のパターンと、異常ログを比較する。比較の結果、パターンと部分的に一致している場合、ログ分類部３０２は、パターンと部分的に一致しているレコードを未完了パターンに分類し、パターンと一致しない場合、異常ログを不一致レコードに分類する。そして、ログ分類部３０２は、未完了パターンと不一致レコードの分析を行う。
【００９１】
上述した動作によって、ログを正常ログまたは、異常ログに分類し、正常ログに基づいたパターンによって、異常ログを未完了パターンまたは不一致レコードに分類し、異常ログの分析を行うことで、相関解析や類似度マッチングを用いた分析を行うことなく、異常ログを分析することができる。
【００９２】
＜第５実施形態＞
図２２は、本発明の第５実施形態に係る情報処理装置４０の構成を示すブロック図である。
【００９３】
情報処理装置４０は、ログ読み込み部３０１と、ログ分類部３０２と、パターン記憶部３４を備える。パターン記憶部３４は、パターン一覧３４１を含む。
【００９４】
ログ読み込み部３０１は、情報処理装置３０での情報処理の過程で発生するデータ及び命令を含むログを読み込む。そして読み込んだログが正常である場合、ログ読み込み部３０１は、正常ログとしてログ分類部３０２へ送信し、読み込んだログが正常でない場合、異常ログとしてログ分類部３０２へ送信する。
【００９５】
ログ分類部３０２は、正常ログに基づいてログに含まれるレコードの出現順序をパターンとして生成し、生成されたパターンをパターン一覧３４１としてパターン記憶部３４に格納する。そして、ログ分類部３０２は、生成されたパターンと異常ログを比較する。比較の結果、パターンと部分的に一致している場合、ログ分類部３０２は、パターンと部分的に一致しているレコードを未完了パターンに分類し、パターンと一致しない場合、異常ログを不一致レコードに分類する。そして、ログ分類部３０２は、未完了パターンと不一致レコードの分析を行う。
【００９６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００９７】
１    情報処理装置
２    制御部
３    記憶部
４    パターン生成部
５    表示装置
６    ログ記憶部
１０    情報処理装置
２０    情報処理装置
３０    情報処理装置
２１    ＩＤ付与部
２２    ログ判定部
２３    パターン比較部
２４    モジュール関連付け部
２５    未完了パターン集約部
３１    正常ログ記憶部
３２    異常ログ記憶部
３３    モジュール情報記憶部
３４    パターン記憶部
６１    ＣＰＵ
６２    ＲＯＭ
６３    ＲＡＭ
６４    ネットワークインタフェース
６５    記憶装置
６６    入力装置
６７    出力装置
２０１    未完了パターン
２０２    未完了パターン
２０３    未完了パターン
２０４    集約された未完了パターン
３０１    ログ読み込み部
３０２    ログ分類部
３１１    正常ログ一覧
３２１    異常ログ一覧
３３１    モジュール情報一覧
３４１    パターン一覧
【図１】
0006547341.tif 000002
【図２】
0006547341.tif 000003
【図３】
0006547341.tif 000004
【図４】
0006547341.tif 000005
【図５】
0006547341.tif 000006
【図６】
0006547341.tif 000007
【図７】
0006547341.tif 000008
【図８】
0006547341.tif 000009
【図９】
0006547341.tif 000010
【図１０】
0006547341.tif 000011
【図１１】
0006547341.tif 000012
【図１２】
0006547341.tif 000013
【図１３】
0006547341.tif 000014
【図１４】
0006547341.tif 000015
【図１５】
0006547341.tif 000016
【図１６】
0006547341.tif 000017
【図１７】
0006547341.tif 000018
【図１８】
0006547341.tif 000019
【図１９】
0006547341.tif 000020
【図２０】
0006547341.tif 000021
【図２１】
0006547341.tif 000022
【図２２】
0006547341.tif 000023