(57)【特許請求の範囲】
【請求項１】
コンピュータに、
１又は複数の情報処理装置から出力されたメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報を取得し、
取得した前記メッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知プログラム。
【請求項２】
前記パターンは障害を予兆するパターンであり、
前記比較に応じた出力をすることは、前記所定の障害を予兆するパターンが前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報に含まれるとき、障害予兆の発生を出力する請求項１記載の予兆検知プログラム。
【請求項３】
前記パターンは正常を示すパターンであり、
前記比較に応じた出力をすることは、前記所定の正常を示すパターンが前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報に含まれないとき、障害予兆の発生を出力する請求項１記載の予兆検知プログラム。
【請求項４】
前記障害を予兆するパターンは、
１又は複数の情報処理装置から障害が発生している第１時期及び前記第１時期より後の前記障害が復旧している第２時期に出力された、メッセージ情報の各々と、１又は複数の情報処理装置の前記第１時期及び前記第２時期の構成情報の各々とを共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応させて生成される請求項２記載の予兆検知プログラム。
【請求項５】
前記正常を示すパターンは、
１又は複数の情報処理装置から障害が発生していない時期に出力されたメッセージ情報と、１又は複数の情報処理装置の前記時期の構成情報とを共通のフォーマットで記憶した情報に基づいて、生成される請求項３記載の予兆検知プログラム。
【請求項６】
コンピュータに、
１又は複数の情報処理装置から出力された時刻を含むメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報に取得時刻を付加した情報を取得し、
取得した、前記時刻を含むメッセージ情報と前記構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知プログラム。
【請求項７】
前記パターンは障害を予兆するパターンであり、
前記比較に応じた出力をすることは、前記所定の障害を予兆するパターンが前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報に含まれるとき、障害予兆の発生を出力する請求項６記載の予兆検知プログラム。
【請求項８】
前記パターンは正常を示すパターンであり、
前記比較に応じた出力をすることは、前記所定の正常を示すパターンが前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報に含まれないとき、障害予兆の発生を出力する請求項６記載の予兆検知プログラム。
【請求項９】
前記障害を予兆するパターンは、
１又は複数の情報処理装置から障害が発生している第１時期に出力された、時刻を含むメッセージ情報と、１又は複数の情報処理装置の前記第１時期及び前記第１時期より後の前記障害が復旧している第２時期の構成情報に取得時刻を付加した情報の各々とを共通のフォーマットで時系列順に記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応させて生成される請求項７記載の予兆検知プログラム。
【請求項１０】
前記正常を示すパターンは、
１又は複数の情報処理装置から障害が発生していない時期に出力された、時刻を含むメッセージ情報と、１又は複数の情報処理装置の前記時期の構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶した情報に基づいて、生成される請求項８記載の予兆検知プログラム。
【請求項１１】
コンピュータに、
１又は複数の情報処理装置から出力されたメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報を取得し、
取得した前記メッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知方法。
【請求項１２】
コンピュータに、
１又は複数の情報処理装置から出力された時刻を含むメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報に取得時刻を付加した情報を取得し、
取得した、前記時刻を含むメッセージ情報と前記構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知方法。
【請求項１３】
１又は複数の情報処理装置から出力されたメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報を取得し、
取得した前記メッセージ情報と前記構成情報とを共通のフォーマットで記憶する抽象化部と、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする検知部と、
を含む、予兆検知装置。
【請求項１４】
１又は複数の情報処理装置から出力された時刻を含むメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報に取得時刻を付加した情報を取得し、
取得した、前記時刻を含むメッセージ情報と前記構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶する具象化部と、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする検知部と、
を含む、予兆検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する技術は、予兆検知プログラム、装置、及び方法に関する。
【背景技術】
【０００２】
システムの運用に関する情報を分析して、システム障害の発生を予兆検知することが行われている。システム障害に起因するものとして、システムの構成情報の設定に誤りがある場合や、システムの稼働状況の変化などがある。このようなシステム障害の予兆検知の方法として、構成情報の設定値の変化を分析する方法と、システムから出力されるイベントやメッセージなどのログの変化により稼働状況を分析する方法とがある。
【０００３】
障害イベントを検出する方法として、例えば、システムのログ情報及び／又は障害情報を含むシステムの履歴情報と、システム構成情報を収集し、ログ情報及び／又は障害情報を事前に統一データ形式に変換する方法がある。この方法では、発生した障害に関連するコンポーネントに含まれるイベントを検出する検出ルールに部分構成情報を含む付加情報を付加したシンプトンを記憶する。また、取得したシステム構成情報と、シンプトンに付加して記憶されている部分構成情報とを比較して、記憶されている部分構成情報ごとに一致度を算出し、算出された一致度に基づいて、障害が発生したイベントの検出をする。
【０００４】
また、観測されるメッセージパターンを学習し、障害の検知に利用する方法もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１０８２２３号公報
【特許文献２】特開２０１０−２３１５６８号公報
【特許文献３】特開２０１１−１７０８０２号公報
【特許文献４】国際公開第２０１２／０２９５００号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来の構成情報の設定値の変化を分析する方法では、構成情報の設定値単独の誤りは検知することができるが、システムが特定の状況にあるときに設定値の誤りが問題となる場合を検知することができないという問題がある。例えば、想定している通常時の負荷を超える負荷がシステムにかかったことにより、システム障害が発生した場合には、通常時を想定して設定された設定値は、通常時を超える負荷がかかった状況では、誤りであるといえる。しかし、通常時であれば、設定された設定値は正解であるため、従来の構成情報の設定値単独の誤りを検知する方法では、この場合のシステム障害を予兆検知することができない。
【０００７】
一方、ログの変化により稼働状況を分析する方法では、システムの稼働状況に応じたシステム障害の予兆検知を行うことはできる。しかし、そのシステム障害が、構成情報の設定時の設定誤りによるものか、上記のように、システムが特定の状況となったために、設定値が誤りとなってしまったことによるものかを判断することができない。
【０００８】
また、構成情報とログとの個別の分析方法を利用して、上記のように、システムの状況に応じて構成情報の設定値の正誤が変化する場合でも、システム障害を検知することができるようにすることが考えられる。しかし、発生する障害について、構成情報とログとの関連を熟知していない場合には、システムの状況に応じて正誤が変化する設定値の異常によるシステム障害を検知することができない場合があるという問題がある。
【０００９】
１つの側面では、システムの状況に応じて構成情報の設定値の正誤が変化することによる障害の予兆を検知することを目的とする。
【課題を解決するための手段】
【００１０】
一つの態様は、コンピュータに、１又は複数の情報処理装置から出力されたメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報を取得させる。また、取得した前記メッセージ情報と前記構成情報とを共通のフォーマットで記憶させる。また、所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする。
【発明の効果】
【００１１】
一つの側面として、システムの状況に応じて構成情報の設定値の正誤が変化することによる障害の予兆を検知することができる、という効果を有する。
【図面の簡単な説明】
【００１２】
【図１】第１〜４の実施形態に係る全体のシステム構成図の一例を示す図である。
【図２】第１の実施形態に係る予兆検知装置の機能的構成を示すブロック図の一例を示す図である。
【図３】障害復旧前後で採取される構成情報及びログ情報の一例を示す図である。
【図４】事例データの一例を示す図である。
【図５】ログファイルリストの一例を示す図である。
【図６】ウインドウ幅分のメッセージを切り出す一例を示す図である。
【図７】メッセージから２つの分類結果を取得する一例を示す図である。
【図８】抽象化済みメッセージリストの一例を示す図である。
【図９】抽象化の一例を示す図である。
【図１０】変換済みファイルの一例を示す図である。
【図１１】対象事例データの一例を示す図である。
【図１２】障害種別リストの一例を示す図である。
【図１３】キーリストの一例を示す図である。
【図１４】パターンリストの一例を示す図である。
【図１５】学習データリストの一例を示す図である。
【図１６】カウントデータリストの一例を示す図である。
【図１７】特定スコアリストの一例を示す図である。
【図１８】予兆検知結果リストの一例を示す図である。
【図１９】第１の実施形態に係る予兆検知装置として機能するコンピュータの概略構成を示すブロック図である。
【図２０】第１の実施形態に係る学習処理の一例を示すフローチャートである。
【図２１】第１の実施形態に係る検知処理の一例を示すフローチャートである。
【図２２】第１の実施形態に係るログ抽出処理の一例を示すフローチャートである。
【図２３】第１の実施形態に係る抽象化処理の一例を示すフローチャートである。
【図２４】第１の実施形態に係る構成情報形式化処理の一例を示すフローチャートである。
【図２５】正常時に構成情報及びログ情報を採取する一例を示す図である。
【図２６】事例データの一例を示す図である。
【図２７】第２の実施形態に係る予兆検知装置の機能的構成を示すブロック図の一例を示す図である。
【図２８】学習データリストの一例を示す図である。
【図２９】第３の実施形態に係る予兆検知装置の機能的構成を示すブロック図の一例を示す図である。
【図３０】事例データの一例を示す図である。
【図３１】構成ファイルリストの一例を示す図である。
【図３２】設定値リストの一例を示す図である。
【図３３】変換対象リストの一例を示す図である。
【図３４】設定値リストの組の一例を示す図である。
【図３５】変換済みファイルの一例を示す図である。
【図３６】対象事例データの一例を示す図である。
【図３７】メッセージの分類の一例を示す図である。
【図３８】メッセージパターンの抽出の一例を示す図である。
【図３９】共起確率リストの一例を示す図である。
【図４０】学習データの一例を示す図である。
【図４１】予兆検知リストの一例を示す図である。
【図４２】第３の実施形態に係る予兆検知装置として機能するコンピュータの概略構成を示すブロック図である。
【図４３】第３の実施形態に係る学習処理の一例を示すフローチャートである。
【図４４】第３の実施形態に係る検知処理の一例を示すフローチャートである。
【図４５】第３の実施形態に係る設定値抽出処理の一例を示すフローチャートである。
【図４６】第３の実施形態に係る具象化処理の一例を示すフローチャートである。
【図４７】第３の実施形態に係るログ形式化処理の一例を示すフローチャートである。
【図４８】第４の実施形態に係る予兆検知装置の機能的構成を示すブロック図の一例を示す図である。
【図４９】学習データの一例を示す図である。
【図５０】予兆検知結果リストの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して開示する技術に係る実施形態について説明する。
【００１４】
第１の実施形態においては、ログ情報のデータ形式を構成情報のフォーマットに変換することにより、データ形式を構成情報のフォーマットに片寄せする形で統一し、単一のアルゴリズムで構成情報及びログ情報を同時に分析する。ここで、ログ情報とは、１又は複数のログファイルの集合を表すものとする。なお、ログ情報が、開示の技術のメッセージ情報の一例である。また、構成情報のフォーマットが、開示の技術の共通のフォーマットの一例である。
【００１５】
図１に示すように、第１の実施形態に係る予兆検知装置１０は、インターネット等のネットワーク１２を介して、複数の処理装置１６を有する処理システム１４と接続される。予兆検知装置１０は、処理装置１６の各々を監視し、処理装置１６における障害発生の予兆を検知する。
【００１６】
図２に、予兆検知装置１０の機能ブロック図を示す。図２に示すように、予兆検知装置１０は、変換部２１、パターン生成部２５、学習データ生成部２６、及び特定スコア計算部２７を含む学習部２０と、抽象化部２８と、検知部２９とを有する。また、記憶部５０には、抽象化データ記憶部５１、抽象化辞書記憶部５２、障害種別リスト記憶部５３、カウントデータ記憶部５４、学習データ記憶部５５、及び特定スコア記憶部５６が記憶される。各記憶部に記憶される情報については後述する。なお、学習部が、開示の技術の予兆パターン生成装置の一例である。また、検知部が、開示の技術の予兆検知装置の一例である。
【００１７】
ここで、図３に示すように、処理装置１６において障害が発生した場合には、障害発生時の状態を確認するために、障害復旧前後で採取される構成情報及びログ情報の組が、事例データとして予兆検知装置１０に入力される。なお、構成情報とは、処理装置１６を構成するハードウェアの構成、及び処理装置１６にインストールされているオペレーティングシステム（Operating System、ＯＳ）やアプリケーション等のソフトウェアの構成を示す情報である。構成情報は、例えば、処理装置１６のファイルシステムから従来既知の専用のツールを用いて構成に関する情報を抽出したディレクトリ構造のデータである。また、第１の実施形態においては、構成情報を、特定の時刻について取得された、１つ以上の構成ファイルの集合として扱う。また、構成ファイルには、各構成情報が記憶されているものとする。また、障害復旧前が、開示の技術の第１時期の一例である。また、障害復旧後が、開示の技術の第２時期の一例である。
【００１８】
また、ログ情報とは、処理装置１６の状況を表す情報である。ログ情報は、例えば、処理装置１６のファイルシステムから従来既知の専用ツールを用いてログ情報を抽出したディレクトリ構造のデータである。また、第１の実施形態においては、ログ情報を、特定の時刻について取得された１つ以上のログファイルの集合として扱う。また、ログファイルには、メッセージが出力された時刻を表すタイムスタンプ毎に処理装置１６の状況を表すメッセージの各々が記憶されているものとする。なお、処理装置１６が、開示の技術の情報処理装置の一例である。
【００１９】
図４に事例データ１００の一例を示す。図４の例では、障害復旧前に採取した構成情報１０１及びログ情報１０２がその採取時刻と共に記録されている。また、障害復旧後に採取した構成情報１０３及びログ情報１０４がその採取時刻と共に記録されている。さらに、障害の種別毎に予め定めた識別情報である障害種別１０５が記録されている。障害種別１０５は、例えば障害復旧時に構成情報及びログ情報を採取する作業者等が事例データ１００に記録する。なお、障害種別が、開示の技術の障害情報の一例である。
【００２０】
変換部２１は、複数の事例データ１００を入力として受け付け、所定の記憶領域に蓄積する。また、変換部２１は、蓄積した複数の事例データ１００の各々に含まれる障害復旧前及び障害復旧後のログ情報の各々のデータ形式を、構成情報のフォーマットに変換する。
【００２１】
また、図２に示すように、変換部２１は、ログデータ抽出部２２、学習用抽象化部２３、及び構成情報形式化部２４を含む。なお、変換部２１の処理は事例データ１００の各々について行われるため、後述するログデータ抽出部２２、学習用抽象化部２３、及び構成情報形式化部２４の説明においては、１つの事例データ１００に対する処理について説明する。また、事例データ１００が複数ある場合には、後述するログデータ抽出部２２、学習用抽象化部２３、及び構成情報形式化部２４の処理と同様の処理を繰り返し行うものとする。更に、処理対象となる事例データ１００には、障害復旧前後の各々のログ情報として１つずつのログファイルのみが含まれている場合について説明するが、ログファイルが複数ある場合には、ログファイル各々について同様の処理を行うものとする。
【００２２】
以後のログデータ抽出部２２、学習用抽象化部２３、及び構成情報形式化部２４で変換済みファイル（詳細は後述）を生成するまでの処理は、障害復旧前、障害復旧後のログ情報について別々に処理を行うものとする。そのため、以後のログデータ抽出部２２、学習用抽象化部２３、及び構成情報形式化部２４の変換済みファイルを生成するまでの処理の説明は、障害復旧前のログ情報に対する処理についてのみ説明する。なお、障害復旧後のログ情報についても同様に処理を行うものとする。
【００２３】
ログデータ抽出部２２は、受け付けた事例データ１００の障害復旧前のログ情報１０２に含まれるログファイルの各々の、ログファイル名を、抽象化データ記憶部５１に記憶されている、例えば、図５に示すログファイルリスト１１８に記録する。ここで、ログファイルリスト１１８の「ｉｄ」の欄は、記録されているファイル数の通し番号を表し、「ファイル名」の欄は、ファイルパスを含んだログファイル名を表す。なお、ログファイルリスト１１８は、処理対象となるログ情報毎に存在するものとする。
【００２４】
また、ログデータ抽出部２２は、ログ情報１０２から、ログファイルリスト１１８の「ファイル名」の欄のファイル名と一致するログファイルの各々を取得し、取得されたログファイルの各々について、予め定められたウインドウ幅分メッセージ情報を抽出する。
【００２５】
また、ログデータ抽出部２２は、取得されたログファイルの各々について、当該ログファイルから抽出されたメッセージの各々のみが存在するように、当該ログファイルを上書きする。
【００２６】
具体的には、ログデータ抽出部２２は、処理対象となるログファイルから、図６に示すように、当該ログファイルに含まれる最新のメッセージから、予め定められた時間幅のウインドウ幅１０６分メッセージを切り出す。図６の例は、ウインドウ幅１０６が１０秒である場合を示す。なお、ウインドウ幅１０６は、全てのログファイルについて共通の値を設定してもよいし、障害種別毎に設定してもよい。また、事例データ１００毎に別の値を設定してもよい。また、具体的なウインドウ幅は、障害復旧前と障害復旧後とにおいて事例データ１００を採取した時間の幅に１以下の係数をかけたものを用いてもよく、また、他の方法により決定されるものを用いてもよい。なお、ログの切り出しの開始は、当該ログ情報を取得した時刻を起算点としてもよい。
【００２７】
学習用抽象化部２３は、ログデータ抽出部２２で上書きしたログファイルの各々について、当該ログファイルに含まれるメッセージ毎に、抽象化辞書記憶部５２に記憶されている２つのメッセージ辞書を用いて、メッセージ辞書アルゴリズムに従って抽象化する。
【００２８】
ここで、メッセージ辞書とは、特定のメッセージを特定の文字列に変換するための辞書であり、一方のメッセージ辞書と他方のメッセージ辞書においては、分類できる文字列の種類数が異なるものとする。第１の実施形態においては、分類できる文字列の種類数が少ないメッセージ辞書を第１のメッセージ辞書、分類できる文字列の種類数が多いメッセージ辞書を第２のメッセージ辞書と定義する。なお、文字列が開示の技術のカテゴリの一例であり、文字列の種類数が、開示の技術のカテゴリ数の一例である。
【００２９】
具体的には、学習用抽象化部２３は、図７に示すように、処理対象となるログファイルに含まれるメッセージ１０７の各々について、メッセージ辞書１０８及び１０９を用いて、メッセージ辞書アルゴリズムに従って、２つの分類結果を取得する。図７の例においては、メッセージ１０７の分類結果として、第１のメッセージ辞書１０８に基づく分類結果１１０及び第２のメッセージ辞書１０９に基づく分類結果１１１の組み合わせが取得される。なお、分類結果が、開示の技術の抽象化メッセージ情報の一例である。
【００３０】
また、学習用抽象化部２３は、取得した分類結果の組み合わせの各々を、取得先のログファイル名（ログファイルのパスも含む）と共に、例えば、抽象化データ記憶部５１に記憶されている、図８に示す抽象化済みメッセージリスト１１９に記録する。具体的には、分類結果を取得したファイル名を「ファイル名」の欄に記録し、分類結果の組み合わせに含まれる、第１のメッセージ辞書１０８に基づく分類結果を「キー」の欄に記録し、第２のメッセージ辞書１０９に基づく分類結果を「値」の欄に記録する。なお、抽象化済みメッセージリスト１１９は、ログ情報１０２毎に存在するものとする。また、抽象化済みメッセージリスト１１９の「ｉｄ」の欄の情報は、記録されている分類結果の組み合わせとファイル名との組み合わせ数の通し番号を表す。
【００３１】
図９に、例えば、ログファイル（/var/log/messages）に含まれるメッセージの各々の抽象化の結果を示す。図９の例の場合、「VM-PBQ-S-0005 kernel:imklog 4.6.2,log source = /proc/kmsg started.」のメッセージ１０７から、分類結果１１０「ＭＳＧＴＹＰＥ０」と分類結果１１１「ＭＳＧＳＵＢＴＹＰＥ０」との組み合わせが取得される。また、「VM-PBQ-S-0005 kernel: device eth0 left promiscuous mode」のメッセージ１０７から、分類結果１１０「ＭＳＧＴＹＰＥ４」と、分類結果１１１「ＭＳＧＳＵＢＴＹＰＥ８」との組み合わせが取得される。なお、第１の実施形態において、学習用抽象化部２３は、パラメータの値が異なる２つのメッセージ辞書アルゴリズムを用いて、同じ抽象化手法を利用することにより、１つのメッセージから、２つの分類結果を取得する。ここで、パラメータとは、例えば、分類できる文字列の種類数を決める値であり、入力と出力との関係を表すものをいう。
【００３２】
構成情報形式化部２４は、ログファイルリスト１１８、及び抽象化済みメッセージリスト１１９に基づいて、処理対象となるログファイルに含まれるメッセージのデータ形式を構成情報のデータ形式のフォーマットに変換し、変換済みファイルを生成する。
【００３３】
具体的には、構成情報形式化部２４は、ログファイルリスト１１８の「ファイル名」に記録されているログファイルの各々について、当該ログファイルに対応するキーと値との組を、抽象化済みメッセージリスト１１９から重複しないように（一意に）取得する。ここで、ログファイルに対応するとは、抽象化済みメッセージリスト１１９の「ファイル名」が当該ログファイル名に該当することをいう。
【００３４】
また、構成情報形式化部２４は、当該ログファイルのファイル名に「.abstracted」を付加したファイル名の変換済みファイルを新たに生成し、取得したログファイル毎のキーと値との組の各々を、「キー＝値」の構成で格納する。図１０に、変換済みファイルの具体例を示す。
【００３５】
また、構成情報形式化部２４は、図１１に示すように、事例データ１００毎に、障害復旧前及び障害復旧後のログ情報を変換した変換済みファイル１１２の各々と、障害復旧前及び障害復旧後のログ情報とを置き換えた対象事例データ１２０を生成する。また、構成情報形式化部２４は、生成した対象事例データ１２０を所定の記憶領域に蓄積する。
【００３６】
パターン生成部２５は、構成情報形式化部２４において生成された複数の対象事例データ１２０の各々に含まれる障害種別１０５を、例えば図１２に示すような障害種別リスト１２１に記録する。なお、重複する障害種別は記録しない。
【００３７】
また、パターン生成部２５は、各対象事例データ１２０に含まれる障害復旧前の構成情報１０１、及び変換済みファイル１１２Ａと、障害復旧後の構成情報１０３、及び変換済みファイル１１２Ｂとから、構成に関する各種設定項目を特定するキーの全てを抽出する。
【００３８】
例えば、上述したように、ディレクトリ構造の構成情報では、キーは、ルートディレクトリからファイルまでのパスと、そのファイルに設定されるパラメータ名とで表される。そこで、パターン生成部２５は、例えば、図１１の対象事例データ１２０の障害復旧前の構成情報１０１の１行目の記述「／ｅｔｃ／ｍｙ．ｃｎｆ：ｐｏｒｔ＝３３０６」から、「／ｅｔｃ／ｍｙ．ｃｎｆ：ｐｏｒｔ」をキーとして抽出する。一方、変換済みファイル１１２については、変換済みファイル１１２に格納されている情報と、当該変換済みファイル１１２のファイル名とからキーを抽出する。具体的には、キーは「変換済みファイル名」＋「：」＋「各行の左の項」として抽出される。例えば、図１１の変換済みファイル１１２Ａの１行目については、「／ｖａｒ／ｌｏｇ／ｍｅｓｓａｇｅｓ.ａｂｓｔｒａｃｔｅｄ：ＭＳＧＴＹＰＥ０」をキーとして抽出する。
【００３９】
また、パターン生成部２５は、抽出したキーの各々を羅列して、例えば、図１３に示すようなキーリスト１２２を作成する。ここで、キーリスト１２２の「キー」の欄は、記録されているキーを表す。
【００４０】
また、パターン生成部２５は、キーリスト１２２に記録されたキーのうち、障害復旧の前後で当該キーの値が異なる場合に、障害種別と、キーと、障害復旧前後の値の各々とを対応付けたパターンを生成する。
【００４１】
例えば、図１１の対象事例データ１２０において、キー「／ｅｔｃ／ｍｙ．ｃｎｆ：ｐｏｒｔ」については、障害復旧前の値「３３０６」と、障害復旧後の値「３３０９」とが異なる。そのため、障害種別「Ｆ００１」と、キー「／ｅｔｃ／ｍｙ．ｃｎｆ：ｐｏｒｔ」と、障害復旧前の値「３３０６」と、障害復旧後の値「３３０９」とを対応付けたパターンが生成される。また、図１１の対象事例データ１２０において、キー「／ｖａｒ／ｌｏｇ／ｍｅｓｓａｇｅｓ.ａｂｓｔｒａｃｔｅｄ：ＭＳＧＴＹＰＥ０」については、障害復旧前の値「ＭＳＧＳＵＢＴＹＰＥ０」と、障害復旧後の値「ＭＳＧＳＵＢＴＹＰＥ１」とが異なる。そのため、障害種別「Ｆ００１」と、キー「／ｖａｒ／ｌｏｇ／ｍｅｓｓａｇｅｓ.ａｂｓｔｒａｃｔｅｄ：ＭＳＧＴＹＰＥ０」と、障害復旧前の値「ＭＳＧＳＵＢＴＹＰＥ０」と、障害復旧後の値「ＭＳＧＳＵＢＴＹＰＥ１」とを対応付けたパターンが生成される。
【００４２】
また、パターン生成部２５は、生成したパターンの各々を、例えば、図１４に示すようなパターンリスト１２３に記録する。ここで、パターンリスト１２３の、「値ＶＡ」の欄には、障害復旧前の値が記録され、「値ＶＢ」の欄には、障害復旧後の値が記録されるものとする。
【００４３】
学習データ生成部２６は、パターン生成部２５で生成されたパターンリスト１２３に記録された各パターンから学習データを生成する。学習データは、障害種別毎に、あるキーについて、ある値が正解として出現した回数、及び誤りとして出現した回数を集計したデータである。パターンリスト１２３に記録されたパターンは、各キーについて障害復旧前後の値を有しており、障害復旧前の値ＶＡは誤りの値、障害復旧後の値ＶＢは正解の値である。
【００４４】
例えば、図１５に示すように、学習データ記憶部５５には、障害種別、キー、正誤、値、及び回数の項目を有する複数の学習データが記録される学習データリスト１２４が記憶されている。学習データ生成部２６は、あるパターンの障害種別、キー、及び障害復旧前の値ＶＡと、障害種別、キー、及び値が一致する学習データであって、正誤が「Ｆａｉｌｕｒｅ」の学習データの回数を、１つのパターンに付き１増加させる。また、学習データ生成部２６は、あるパターンの障害種別、キー、及び障害復旧後の値ＶＢと、障害種別、キー、及び値が一致する学習データであって、正誤が「Ｓｕｃｃｅｓｓ」の学習データの回数を、１つのパターンに付き１増加させる。なお、学習データ生成部２６は、学習データリスト１２４に障害種別、キー、及び障害復旧前の値ＶＡまたは障害復旧後の値ＶＢがパターンと一致する学習データが登録されていない場合には、該当の学習データを追加した上で、回数に１を設定する。
【００４５】
また、学習データ生成部２６は、例えば、図１６に示すように、正誤が「Ｓｕｃｃｅｓｓ」の学習データの数を、障害種別毎かつキー毎にカウントした回数ＮＳを、カウントデータ記憶部５４に記憶されているカウントデータリスト１２５に記録する。同様に、学習データ生成部２６は、正誤が「Ｆａｉｌｕｒｅ」の学習データの数を、障害種別かつキー毎にカウントした回数ＮＦを、カウントデータリスト１２５に記録する。なお、カウントデータリスト１２５に記録されている情報をカウントデータとする。また、学習データが、開示の技術の所定のパターン、及び障害を予兆するパターンの一例である。
【００４６】
特定スコア計算部２７は、新たに入力された構成情報及びログ情報から障害発生の予兆を検知する際に、学習データのうち、正解の値を有する学習データを利用するか、誤りの値を有する学習データを利用するかを特定するための特定スコアを計算する。特定スコアは、あるキーに対する値として、同じ値をとる確率が高いほど、すなわち、あるキーに対する値のバリエーションが少ないほど、その値が正解として、または誤りとして確からしいことを表す。なお、特定スコア計算部２７は、障害種別リスト１２１に記憶されている障害種別の全てについて処理を行うものとする。
【００４７】
例えば、特定スコア計算部２７は、学習データリスト１２４において、ある障害種別のあるキーについて、正誤が「Ｓｕｃｃｅｓｓ」の学習データの各値が出現する経験的確率を求める。そして、特定スコア計算部２７は、求めた確率から条件付エントロピーを計算し、これを、正誤が「Ｓｕｃｃｅｓｓ」である学習データの確からしさを示す正解の特定スコアＳＳとする。同様に、特定スコア計算部２７は、正誤が「Ｆａｉｌｕｒｅ」の学習データの各値が出現する経験的確率から条件付エントロピーを計算し、これを、正誤が「Ｆａｉｌｕｒｅ」である学習データの確からしさを示す正解の特定スコアＳＦとする。特定スコアＳＳは下記（１）式で、特定スコアＳＦは下記（２）式で表される。なお、ＸＳｕｃｃｅｓｓは、ある障害種別のあるキーについて、正誤が「Ｓｕｃｃｅｓｓ」の学習データの集合、ＸＦａｉｌｕｒｅは、正誤が「Ｆａｉｌｕｒｅ」の学習データの集合である。
【００４８】
【数１】
0006451483.tif 000002
【００４９】
より具体的に、図１５に示す学習データリスト１２４及び図１６に示すカウントデータリスト１２５を用いて、障害種別「Ｆ００１」かつキー「／ｅｔｃ／ｍｙ．ｃｎｆ：ｐｏｒｔ」についての特定スコアＳＳ及び特定スコアＳＦを計算する例を説明する。この場合、ＸＳｕｃｃｅｓｓ及びＸＦａｉｌｕｒｅは下記のとおりである。
【００５０】
ＸＳｕｃｃｅｓｓ＝｛３３０９｝
ＸＦａｉｌｕｒｅ＝｛３３０６，３３０７，３３０８｝
なお、上記の集合に含まれる各学習データは、その学習データが有する値で表している。
【００５１】
特定スコア計算部２７は、学習データリスト１２４から、ＸＳｕｃｃｅｓｓに含まれる値「３３０９」の学習データの出現回数（３回）を取得する。同様に、特定スコア計算部２７は、学習データリスト１２４から、ＸＦａｉｌｕｒｅに含まれる値「３３０６」、値「３３０７」、及び値「３３０８」の各学習データの出現回数（各１回）をそれぞれ取得する。また、特定スコア計算部２７は、カウントデータリスト１２５から、障害種別「Ｆ００１」かつキー「／ｅｔｃ／ｍｙ．ｃｎｆ：ｐｏｒｔ」の正誤「Ｓｕｃｃｅｓｓ」の学習データの出現回数ＮＳ（３回）を取得する。また、特定スコア計算部２７は、正誤「Ｆａｉｌｕｒｅ」の学習データの出現回数ＮＦ（３回）を取得する。
【００５２】
特定スコア計算部２７は、取得した回数を用いて、下記に示すように、学習データの各値について経験的確率を計算する。
ｐ（３３０６｜Ｆａｉｌｕｒｅ）＝１／３
ｐ（３３０７｜Ｆａｉｌｕｒｅ）＝１／３
ｐ（３３０８｜Ｆａｉｌｕｒｅ）＝１／３
ｐ（３３０９｜Ｓｕｃｃｅｓｓ）＝３／３
【００５３】
特定スコア計算部２７は、計算した経験的確率を用いて、上記（１）式及び（２）式を用いて、下記のように特定スコアＳＳ及び特定スコアＳＦを計算する。
【００５４】
【数２】
0006451483.tif 000003
【００５５】
特定スコア計算部２７は、障害種別毎、かつキー毎に特定スコアＳＳ及び特定スコアＳＦを計算し、例えば、特定スコア記憶部５６に記憶される、図１７に示すような特定スコアリスト１２６に記録する。
【００５６】
抽象化部２８は、予兆検知の対象となる構成情報及びログ情報が入力された場合に、当該ログ情報のデータ形式を、構成情報のフォーマットに変換する。具体的には、抽象化部２８は、入力されたログ情報に、変換部２１と同様の処理を行い、変換済みファイル１１２を生成する。また、抽象化部２８は、入力された構成情報と、変換済みファイル１１２とを組み合わせて検知対象情報として、検知部２９に出力する。なお、上述以外の抽象化部２８の処理は、変換部２１の処理と同様であるため、詳細な説明は省略する。また、抽象化部２８は、生成した検知対象情報を記憶部５０に記憶してもよい。この場合、後述する検知部２９は、記憶部５０から、検知対象情報を取得し、検知部２９の処理を行うものとする。
【００５７】
検知部２９は、検知対象情報が抽象化部２８から入力された場合に、記憶部５０から取得される、学習データリスト１２４、カウントデータリスト１２５、及び特定スコアリスト１２６を用いて、障害発生の予兆を検知する。
【００５８】
具体的には、検知部２９は、検知対象情報に含まれるキー及び値の組で表される各検知対象データと、学習データとの比較を行い、ログ情報が出力されたタイミングの構成情報における各設定項目の値が正しく設定されているか否かを判定する。ここで、検知対象情報に含まれる変換済みファイル１１２についてのキーと値との組は、キーは「変換済みファイル名」＋「：」＋「変換済みファイルの特定の行の左の項」であり、値は「変換済みファイルの特定の行の右の項」であるものとする。
【００５９】
検知部２９は、正しい値が設定されていないと判定した場合には、障害発生の予兆として検知し、予兆検知結果を出力する。なお、学習データリスト１２４の「キー」の欄に存在しないキーを含む組については処理対象外とする。
【００６０】
上述したように、第１の実施形態では、正解の学習データと誤りの学習データとのいずれを用いるかを特定したうえで、予兆検知を行う。具体的には、検知部２９は、特定スコアリスト１２６から、障害種別毎に、検知対象データに含まれるキーと一致するキーに対応する特定スコアＳＳ及び特定スコアＳＦを取得する。上記（１）式に示す特定スコアＳＳは、値が小さいほど正解の学習データの値が正解である確からしさの確度が高いことを表す。また、上記（２）式に示す特定スコアＳＦは、値が小さいほど誤りの学習データの値が誤りである確からしさの確度が高いことを表す。そこで、検知部２９は、特定スコアＳＳが特定スコアＳＦより小さい障害種別については、正解の学習データを特定し、特定スコアＳＦが特定スコアＳＳより小さい障害種別については、誤りの学習データを特定する。
【００６１】
検知部２９は、正解の学習データを特定した障害種別については、検知対象データと正解の学習データとを比較し、一致しなかった場合に障害発生の予兆を検知する。なお、第１の実施形態においては、ログ情報を構成情報のデータ形式に片寄せし、共通のフォーマットにおいて、同時に学習しているため、正解の学習データ、及び誤りの学習データには、必ず構成情報及びログ情報に関わるデータが混在するものとする。
【００６２】
また、検知部２９は、誤りの学習データを特定した障害種別については、検知対象データと誤りの学習データとを比較し、一致した場合に障害発生の予兆を検知する。検知部２９は、障害発生の予兆を検知した場合には、その障害種別と、検知対象データ（キー及び値）とに、検知スコア（詳細は後述）を付与した予兆検知結果を、例えば、図１８に示すような予兆検知結果リスト１２７に記録する。ここで、予兆検知結果リスト１２７について説明する。第１の実施形態においては、ログ情報を構成情報のデータ形式に片寄せし、共通のフォーマットにおいて、同時に誤りの学習データを学習している。そのため、予兆検知結果リスト１２７には、図１８に示すように、少なくとも１つ以上の構成情報に関わるキーと少なくとも１つ以上のログ情報を変換したキーとの組み合わせが存在することになる。なお、予兆検知結果が、開示の技術の障害予兆の一例である。
【００６３】
検知スコアとは、その予兆検知結果の確からしさを示すスコアである。例えば、ある障害種別について、検知対象データのキーと一致するキーを有する誤りの学習データが複数存在し、検知対象データの値が、その誤りの学習データのいずれかと一致したとする。この場合、検知対象データの値と一致した誤りの学習データの出現回数が多いほど、その値が誤りであることの確からしさの確度が高くなる。そこで、検知部２９は、例えば、検知対象データの値と一致した誤りの学習データの出現回数Ｎを、同一の障害種別及びキーの誤りの学習データの出現回数ＮＦで除した値を検知スコアとすることができる。なお、出現回数Ｎは学習データリスト１２４から取得することができ、出現回数ＮＦはカウントデータリスト１２５から取得することができる。ここで、図１８に示す検知スコアについて説明すると、１行目の構成情報に対するスコアが０．７５であり、２行目のログ情報を変換したものに対するスコアが１．００である。そのため、当該予兆検知結果は、２行目のキー及び値が表す、システムの状況において、１行目の構成情報が誤りであることの確からしさを表すことができる。
【００６４】
また、ある障害種別について、検知対象データのキーと一致するキーを有する正解の学習データの値と、検知対象データの値とが一致しなかった場合には、上記のような出現回数に基づく検知スコアを計算することができない。そこで、検知部２９は、上記の出現回数に基づく検知スコアとは異なり、正解の学習データと一致しなかったことを示す値（例えば、「−１」）を検知スコアとして付与する。
【００６５】
抽象化データ記憶部５１には、ログファイルリスト１１８と、抽象化済みメッセージリスト１１９とが記憶されている。
【００６６】
抽象化辞書記憶部５２には、メッセージ辞書１０８及びメッセージ辞書１０９が記憶されている。
【００６７】
障害種別リスト記憶部５３には、障害種別リスト１２１が記憶されている。
【００６８】
カウントデータ記憶部５４には、カウントデータリスト１２５が記憶されている。
【００６９】
学習データ記憶部５５には、キーリスト１２２、及び学習データリスト１２４が記憶されている。
【００７０】
特定スコア記憶部５６には、特定スコアリスト１２６が記憶されている。
【００７１】
予兆検知装置１０は、例えば図１９に示すコンピュータ２００で実現することができる。コンピュータ２００はＣＰＵ２０２、一時記憶領域としてのメモリ２０４、及び不揮発性の記憶装置２０６を備える。また、コンピュータ２００は、入出力装置２０８が接続される入出力インターフェース（Ｉ／Ｆ）２１０を備える。また、コンピュータ２００は、記録媒体２１２に対するデータの読み込み及び書き込みを制御するｒｅａｄ／ｗｒｉｔｅ（Ｒ／Ｗ）部２１４、及びインターネット等のネットワーク１２に接続されるネットワークＩ／Ｆ２１６を備える。ＣＰＵ２０２、メモリ２０４、記憶装置２０６、入出力Ｉ／Ｆ２１０、Ｒ／Ｗ部２１４、及びネットワークＩ／Ｆ２１６は、バス２１８を介して互いに接続される。
【００７２】
記憶装置２０６はＨＤＤ（Hard Disk Drive）、ＳＳＤ（solid state drive）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶装置２０６には、コンピュータ２００を予兆検知装置１０として機能させるための予兆検知プログラム３００が記憶される。また、記憶装置２０６は、ログファイルリスト１１８及び抽象化済みメッセージリスト１１９が記憶される抽象化データ記憶領域３５０と、メッセージ辞書１０８及び１０９が記憶される抽象化辞書記憶領域３５２とを有する。また、記憶装置２０６は、さらに、障害種別リスト１２１が記憶される障害種別リスト記憶領域３５４と、カウントデータリスト１２５が記憶されるカウントデータ記憶領域とを有する。また、記憶装置２０６は、さらに、キーリスト１２２及び学習データリスト１２４が記憶される学習データ記憶領域と、特定スコアリスト１２６が記憶される特定スコア記憶領域３６０とを有する。
【００７３】
ＣＰＵ２０２は、予兆検知プログラム３００を記憶装置２０６から読み出してメモリ２０４に展開し、予兆検知プログラム３００が有するプロセスを順次実行する。また、ＣＰＵ２０２は、抽象化データ記憶領域３５０に記憶されたログファイルリスト１１８及び抽象化済みメッセージリスト１１９を読み出し、メモリ２０４に展開する。また、ＣＰＵ２０２は、抽象化辞書記憶領域３５２に記憶されたメッセージ辞書１０８及び１０９を読み出し、メモリ２０４に展開する。また、ＣＰＵ２０２は、障害種別リスト記憶領域３５４に記憶された障害種別リスト１２１を読み出し、メモリ２０４に展開する。また、ＣＰＵ２０２は、カウントデータ記憶領域３５６に記憶されたカウントデータリスト１２５を読み出し、メモリ２０４に展開する。また、ＣＰＵ２０２は、学習データ記憶領域３５８に記憶されたキーリスト１２２及び学習データリスト１２４を読み出し、メモリ２０４に展開する。また、ＣＰＵ２０２は、特定スコア記憶領域３６０に記憶された特定スコアリスト１２６を読み出し、メモリ２０４に展開する。
【００７４】
予兆検知プログラム３００は、ログデータ抽出プロセス３０２と、学習用抽象化プロセス３０４と、構成情報形式化プロセス３０６と、パターン生成プロセス３０８と、学習データ生成プロセス３１０とを有する。また、予兆検知プログラム３００は、さらに、特定スコア計算プロセス３１２と、抽象化プロセス３１４と、検知プロセス３１６とを有する。
【００７５】
ＣＰＵ２０２は、ログデータ抽出プロセス３０２を実行することで、図２に示すログデータ抽出部２２として動作する。また、ＣＰＵ２０２は、学習用抽象化プロセス３０４を実行することで、図２に示す学習用抽象化部２３として動作する。また、ＣＰＵ２０２は、構成情報形式化プロセス３０６を実行することで、図２に示す構成情報形式化部２４として動作する。また、ＣＰＵ２０２は、パターン生成プロセス３０８を実行することで、図２に示すパターン生成部２５として動作する。また、ＣＰＵ２０２は、学習データ生成プロセス３１０を実行することで、図２に示す学習データ生成部２６として動作する。また、ＣＰＵ２０２は、特定スコア計算プロセス３１２を実行することで、図２に示す特定スコア計算部２７として動作する。また、ＣＰＵ２０２は、抽象化プロセス３１４を実行することで、図２に示す抽象化部２８として動作する。また、ＣＰＵ２０２は、検知プロセス３１６を実行することで、図２に示す検知部２９として動作する。これにより、予兆検知プログラム３００を実行したコンピュータ２００が、予兆検知装置１０として機能することになる。
【００７６】
なお、予兆検知装置１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ（Application Specific Integrated Circuit）等で実現することも可能である。
【００７７】
次に、本実施形態に係る予兆検知装置１０の作用について説明する。まず、予兆検知装置１０に複数の事例データ１００が入力されると、予兆検知装置１０において、図２０に示す学習処理が実行され、記憶部５０にログファイルリスト１１８、抽象化済みメッセージリスト１１９、及び学習データリスト１２４が記憶される。また、記憶部５０に、さらに、カウントデータリスト１２５、及び特定スコアリスト１２６が記憶される。この状態で、予兆検知装置１０に検知対象の構成情報及びログ情報が入力されると、予兆検知装置１０において、図２１に示す検知処理が実行され、予兆検知結果リスト１２７が出力される。なお、予兆検知装置１０により実行される学習処理及び検知処理は、開示する技術の予兆パターン生成方法、及び予兆検知方法の一例である。以下、各処理について詳述する。
【００７８】
図２０に示す学習処理のステップＳ１００で、ログデータ抽出部２２が、受け付けた事例データ１００の各々から、処理対象となる事例データ１００を決定する。
【００７９】
次に、ステップＳ１０２で、ログデータ抽出部２２が、処理対象の事例データ１００のうち、処理対象となる期間（障害復旧前、又は障害復旧後）のログ情報を決定する。
【００８０】
次に、ステップＳ１０４で、ログデータ抽出部２２が、処理対象となるログ情報について、図２２に詳細を示すログ抽出処理を実行する。
【００８１】
図２２に示すログ抽出処理のステップＳ１３０で、ログデータ抽出部２２が、処理対象となるログ情報に含まれるログファイルの各々を抽出し、ログファイル名の各々をログファイルリスト１１８に記録する。
【００８２】
次に、ステップＳ１３２で、ログデータ抽出部２２が、ログファイルリスト１１８に含まれるログファイルから処理対象となるログファイルを決定する。
【００８３】
次に、ステップＳ１３４で、ログデータ抽出部２２が、ステップＳ１３２において処理対象に決定したログファイルから処理対象となるメッセージ及び当該メッセージのタイムスタンプＴを取得する。
【００８４】
次に、ステップＳ１３６で、ログデータ抽出部２２が、ステップＳ１３４において取得したタイムスタンプＴが、処理対象のログ情報の取得時刻ｔ−ウインドウ幅（時間）ｗから、処理対象のログ情報の取得時刻ｔまでの期間に該当するか否か判定する。ログデータ抽出部２２が、取得したタイムスタンプＴが、処理対象のログ情報の取得時刻ｔ−ウインドウ幅（時間）ｗから、処理対象のログ情報の取得時刻ｔまでの期間に該当すると判定した場合には、ログ抽出処理は、ステップＳ１３８へ移行する。一方、ログデータ抽出部２２が、取得したタイムスタンプＴが、処理対象のログ情報の取得時刻ｔ−ウインドウ幅（時間）ｗから、処理対象のログ情報の取得時刻ｔまでの期間に該当しないと判定した場合には、ログ抽出処理は、ステップＳ１４０へ移行する。
【００８５】
次に、ステップＳ１３８で、ログデータ抽出部２２が、処理対象となるメッセージにマークを付加する。
【００８６】
次に、ステップＳ１４０で、ログデータ抽出部２２が、処理対象となるログファイルに含まれる全てのメッセージについて、ステップＳ１３６、又はステップＳ１３６及びステップＳ１３８の処理を終了したか否かを判定する。ログデータ抽出部２２が、処理対象となるログファイルに含まれる全てのメッセージについて、ステップＳ１３６、又はステップＳ１３６及びステップＳ１３８の処理を終了したと判定した場合には、ログ抽出処理は、ステップＳ１４２へ移行する。一方、ログデータ抽出部２２が、処理対象となるログファイルに含まれる全てのメッセージについて、ステップＳ１３６、又はステップＳ１３６及びステップＳ１３８の処理を終了していないと判定した場合には、ログ抽出処理は、ステップＳ１３４へ移行する。そして、ログデータ抽出部２２が、処理対象となるメッセージを変更し、ステップＳ１３６〜ステップＳ１４０までの処理を繰り返す。
【００８７】
次に、ステップＳ１４２で、ログデータ抽出部２２が、ステップＳ１３８において取得した、処理対象となるログファイルに含まれるマークが付加されていないメッセージの各々を削除し、処理対象となるログファイルを上書きする。
【００８８】
次に、ステップＳ１４４で、ログデータ抽出部２２が、ステップＳ１３０において取得したログファイルリスト１１８に含まれる全てのログファイルについて、ステップＳ１３４〜ステップＳ１４２までの処理を終了したか否かを判定する。ログデータ抽出部２２が、ログファイルリスト１１８に含まれる全てのログファイルについて、ステップＳ１３４〜ステップＳ１４２までの処理を終了したと判定した場合には、ログ抽出処理を終了する。一方、ログデータ抽出部２２が、ログファイルリスト１１８に含まれる全てのログファイルについて、ステップＳ１３４〜ステップＳ１４２までの処理を終了していないと判定した場合には、ログ抽出処理は、ステップＳ１３２へ移行する。そして、ログデータ抽出部２２が、処理対象となるログファイルを変更し、ステップＳ１３４〜ステップＳ１４４までの処理を繰り返す。
【００８９】
次に、図２０に示す学習処理のステップＳ１０６で、学習用抽象化部２３が、図２３に詳細を示す抽象化処理を実行する。
【００９０】
図２３に示す抽象化処理のステップＳ１５２で、学習用抽象化部２３が、抽象化辞書記憶部５２に記憶されている第１のメッセージ辞書１０８、及び第２のメッセージ辞書１０９を取得する。
【００９１】
次に、ステップＳ１５４で、学習用抽象化部２３が、ステップＳ１０４において取得したログファイルリスト１１８に含まれるログファイルから処理対象となるログファイルを決定する。
【００９２】
次に、ステップＳ１５６で、学習用抽象化部２３が、処理対象となるログファイルから、処理対象となるメッセージを決定する。なお、第１の実施形態においては、ログファイルに含まれる１行を１メッセージとして扱う。
【００９３】
次に、ステップＳ１５８で、学習用抽象化部２３が、ステップＳ１５２において取得した第１のメッセージ辞書１０８及び第２のメッセージ辞書１０９を用いて、メッセージ辞書アルゴリズムに従って、分類結果の組み合わせを取得する。
【００９４】
次に、ステップＳ１６０で、学習用抽象化部２３が、処理対象となるログファイルに含まれる全てのメッセージについてステップＳ１５８の処理を終了したか否かを判定する。学習用抽象化部２３が、全てのメッセージについてステップＳ１５８の処理を終了したと判定した場合には、抽象化処理は、ステップＳ１６２へ移行する。一方、学習用抽象化部２３が、全てのメッセージについてステップＳ１５８の処理を終了していないと判定した場合には、ステップＳ１５６へ移行し、処理対象となるメッセージを変更し、ステップＳ１５８〜ステップＳ１６０の処理を繰り返す。
【００９５】
次に、ステップＳ１６２で、学習用抽象化部２３は、ステップＳ１５８において取得した分類結果の組み合わせの各々を、抽象化済みメッセージリスト１１９に記録する。
【００９６】
次に、ステップＳ１６４で、学習用抽象化部２３は、ステップＳ１０４において取得したログファイルリスト１１８に含まれる全てのログファイルについて、ステップＳ１５６〜ステップＳ１６２までの処理を終了したか否かを判定する。学習用抽象化部２３が、全てのログファイルについて、ステップＳ１５６〜ステップＳ１６２までの処理を終了したと判定した場合には、抽象化処理は終了する。一方、学習用抽象化部２３が、全てのログファイルについて、ステップＳ１５６〜ステップＳ１６２までの処理を終了していないと判定した場合には、ステップＳ１３２へ移行する。そして、学習用抽象化部２３が、処理対象となるログファイルを変更し、ステップＳ１５６〜ステップＳ１６４までの処理を繰り返す。
【００９７】
次に、図２０に示す学習処理のステップＳ１０８で、構成情報形式化部２４が、図２４に詳細を示す構成情報形式化処理を実行する。
【００９８】
図２４に示す構成情報形式化処理のステップＳ１６５で、構成情報形式化部２４が、ステップＳ１０４において取得したログファイルリスト１１８に含まれるログファイルから処理対象となるログファイルを決定する。
【００９９】
次に、ステップＳ１６６で、構成情報形式化部２４が、ステップＳ１０６において取得した抽象化済みメッセージリスト１１９から、処理対象となるログファイルに対応する、キーと値とが一意となる組の各々を抽出する。
【０１００】
次に、ステップＳ１６７で、構成情報形式化部２４が、処理対象となるログファイルについて、ステップＳ１６６において取得したキーと値との組の各々に基づいて、変換済みファイル１１２を生成する。
【０１０１】
次に、ステップＳ１６８で、構成情報形式化部２４が、ステップＳ１０４において取得したログファイルリスト１１８に含まれる全てのログファイルについて、ステップＳ１６６〜ステップＳ１６７までの処理を終了したか否かを判定する。構成情報形式化部２４が、全てのログファイルについて、ステップＳ１６６〜ステップＳ１６７までの処理を終了したと判定した場合には、構成情報形式化処理は終了する。一方、構成情報形式化部２４が、全てのログファイルについて、ステップＳ１６６〜ステップＳ１６７までの処理を終了していないと判定した場合には、構成情報形式化処理は、ステップＳ１６５へ移行する。そして、構成情報形式化部２４が、処理対象となるログファイルを変更し、ステップＳ１６６〜ステップＳ１６８までの処理を繰り返す。
【０１０２】
次に、図２０に示す学習処理のステップＳ１１０で、構成情報形式化部２４が、処理対象となる事例データ１００の全ての期間のログ情報についてステップＳ１０４〜ステップＳ１０８までの処理を終了したか否かを判定する。構成情報形式化部２４が、処理対象となる事例データ１００の全ての期間のログ情報について、ステップＳ１０４〜ステップＳ１０８までの処理を終了していると判定した場合には、学習処理は、ステップＳ１１２へ移行する。一方、構成情報形式化部２４が、処理対象となる事例データ１００の全ての期間のログ情報について、ステップＳ１０４〜ステップＳ１０８までの処理を終了していないと判定した場合には、学習処理は、ステップＳ１０２へ移行する。そして、構成情報形式化部２４が、処理対象となる期間のログ情報を変更し、ステップＳ１０４〜ステップＳ１１０までの処理を繰り返す。
【０１０３】
構成情報形式化部２４が、ステップＳ１０８において取得した変換済みファイル１１２の各々と、処理対象となる事例データ１００とに基づいて対象事例データ１２０を生成する。
【０１０４】
次に、ステップＳ１１４で、変換部２１は、受け付けた全ての事例データ１００について、ステップＳ１０２〜ステップＳ１１２までの処理を終了したか否かを判定する。変換部２１が、全ての事例データ１００について、ステップＳ１０２〜ステップＳ１１２までの処理を終了したと判定した場合には、学習処理は、ステップＳ１１６へ移行する。一方、変換部２１が、全ての事例データ１００について、ステップＳ１０２〜ステップＳ１１２までの処理を終了していないと判定した場合には、学習処理は、ステップＳ１００へ移行する。そして、変換部２１が、処理対象となる事例データ１００を変更し、ステップＳ１０２〜ステップＳ１１４までの処理を繰り返す。
【０１０５】
次に、ステップＳ１１６で、パターン生成部２５は、ステップＳ１１２において取得した対象事例データの各々に基づいて、障害種別を障害種別リスト１２１に記録する。また、ステップＳ１１６で、パターン生成部２５は、ステップＳ１１２において取得した対象事例データの各々に基づいて、対象となるキーをキーリスト１２２に記録する。また、ステップＳ１１６で、パターン生成部２５は、ステップＳ１１２において取得した対象事例データの各々と、キーリスト１２２とに基づいて、パターンを生成し、パターンリスト１２３に記録する。
【０１０６】
次に、ステップＳ１１７で、学習データ生成部２６は、対象事例データ１２０の各々と、ステップＳ１１６において取得した障害種別リスト１２１と、パターンリスト１２３とに基づいて、学習データを生成し、学習データリスト１２４に記録する。また、学習データ生成部２６は、カウントデータを、カウントデータリスト１２５に記録する。
【０１０７】
次に、ステップＳ１１８で、特定スコア計算部２７は、ステップＳ１１７において取得した学習データ及びカウントデータと、上記（１）式及び（２）式とに基づいて、障害種別毎、かつキー毎特定スコアを計算する。また、特定スコア計算部２７が、計算した特定スコアの各々を、特定スコアリスト１２６に記録し、学習処理は終了する。
【０１０８】
次に、図２１に示す検知処理のステップＳ１７０で、抽象化部２８が、入力された検知対象の構成情報及びログ情報を取得する。また、抽象化部２８が、カウントデータ記憶部５４に記憶されているカウントデータリスト１２５を取得する。
【０１０９】
次に、ステップＳ１７２で、抽象化部２８が、学習データ記憶部５５に記憶されているキーリスト１２２及び学習データリスト１２４を取得する。
【０１１０】
次に、ステップＳ１７４で、抽象化部２８が、特定スコア記憶部５６に記憶されている、特定スコアリスト１２６を取得する。
【０１１１】
次に、ステップＳ１０４で、抽象化部２８が、入力された検知対象のログ情報について、図２０の学習処理のステップＳ１０４と同様にログ抽出処理を行う。
【０１１２】
次に、ステップＳ１０６で、抽象化部２８が、入力された検知対象のログ情報について、図２０の学習処理のステップＳ１０６と同様に抽象化処理を行う。
【０１１３】
次に、ステップＳ１０８で、抽象化部２８が、入力された検知対象のログ情報について、図２０の学習処理のステップＳ１０８と同様に構成情報形式化処理を行う。
【０１１４】
次に、ステップＳ１８２で、抽象化部２８が、ステップＳ１０８において取得した変換済みファイルの各々と、入力された検知対象の構成情報とに基づいて、検知対象情報を生成する。
【０１１５】
次に、ステップＳ１８４で、検知部２９が、ステップＳ１８２で取得した検知対象情報に含まれる、キー及び値の組で表される各検知対象データと、ステップＳ１７２において取得した学習データリスト１２４に含まれる学習データとの比較を行う。なお、検知部２９は、比較の処理は、ステップＳ１７０〜ステップＳ１７４において取得したカウントデータリスト１２５、学習データリスト１２４、及び特定スコアリスト１２６に基づいて、行う。
【０１１６】
次に、ステップＳ１８６で、検知部２９が、ステップＳ１８４の比較処理により、障害の予兆を検知したか否かを判定する。検知部２９が障害の予兆を検知した場合には、検知処理は、ステップＳ１８８へ移行する。一方、検知部２９が、障害の予兆を検知しない場合には、検知処理を終了する。
【０１１７】
ステップＳ１８８で、検知部２９は、ステップＳ１８４において取得した比較結果から、予兆検知結果リスト１２７を生成し、出力して検知処理を終了する。
【０１１８】
以上説明したように、第１の実施形態によれば、ログ情報のデータ形式を構成情報のデータ形式のフォーマットに片寄することで、構成情報の形式のデータ形式を対象とする単一のアルゴリズムで構成情報及びログ情報を同時に分析することができる。これにより、設定誤りの可能性がある構成情報と、障害発生時のログ情報とを合わせて、障害予兆検知の結果として出力することができる。従って、システムの状況に応じて構成情報の設定値の正誤が変化することによるシステム障害の予兆を検知することができる。
【０１１９】
また、クラウドで提供されるシステムが複雑化、多様化し、発生する障害のメカニズムも多様化、複雑化する。しかし、複雑な状況及び構成においても、設定誤りの可能性がある構成情報と、障害発生時のログ情報とを合わせて、障害予兆検知の結果として出力することにより、障害を容易に検知することができる。そのため、大規模、複雑なクラウド基盤で動くシステムの障害に対処することができる。
【０１２０】
また、運用者の能力により、システムの全体を把握しきれず、サポート機能によりシステム構成を熟知していない場合がある。しかし、設定誤りの可能性がある構成情報と、障害発生時のログ情報とを合わせて、障害予兆検知の結果として出力することにより、現状における設定誤りの箇所が把握できるため、障害を容易に検知することができる。
【０１２１】
また、特定の状況における特定の設定について、運用データを分析して起こり得る障害を事前に予測することで、予防的に障害に対処することができる。
【０１２２】
また、ログ情報の元の情報を失わないようにしながら、構成情報の分析手法に合う形式に変換することで、ログ情報と構成情報という異なる種別のデータを同時に分析することができる。これにより、構成情報の設定値を変更した場合に、システムがどのような状況になった場合に影響が出るかといった事前知識がなくても、稼働状況に依存した設定値の異常を検知することができる。
【０１２３】
なお、本実施形態は、上述した形態に限定されるものではなく、この実施形態の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１２４】
次に、第２の実施形態について説明する。なお、第１の実施形態と同様の構成及び作用となる部分については、同一符号を付して説明を省略する。
【０１２５】
第２の実施形態では、事例データ４３０として、図２５に示すように、正常時のみの情報を用いる点が第１の実施形態と異なっている。なお、事例データ４３０は、図２６に示すように、正常時の構成情報９８とログ情報９９とを含むものである。
【０１２６】
図１に示すように、第２の実施形態に係る予兆検知装置４１０は、インターネット等のネットワーク１２を介して、複数の処理装置１６を有する処理システム１４と接続される。予兆検知装置４１０は、処理装置１６の各々を監視し、処理装置１６における障害発生の予兆を検知する。
【０１２７】
図２７に、予兆検知装置４１０の機能ブロック図を示す。図２７に示すように、予兆検知装置４１０は、変換部２１、パターン生成部４２５、及び学習データ生成部４２６を含む学習部４２０と、抽象化部２８と、検知部４２９とを有する。
【０１２８】
変換部２１は、複数の事例データ４３０を入力として受け付け、事例データ４３０の各々について、当該事例データ４３０に含まれるログ情報について、第１の実施形態に係る変換部２１と同様に、変換済みファイルの各々を生成する。また、変換部２１は、事例データ４３０の各々について、当該事例データ４３０の構成情報と、当該事例データのログ情報について生成した変換済みファイルの各々とを組み合わせた対象事例データ４２１を生成する。
【０１２９】
パターン生成部４２５は、第１の実施形態のパターン生成部２５と同様に、複数の対象事例データ４２１の各々に含まれる正常時の構成情報９８、及び変換済みファイル１１２から、構成に関する各種設定項目を特定するキーの全てを抽出する。また、パターン生成部４２５は、抽出したキーの各々を羅列して、キーリスト１２２を作成する。
【０１３０】
また、パターン生成部４２５は、キーリスト１２２に記録された各キーについて、障害種別と、キーと、値とを対応付けたパターンを生成し、パターンリスト１２３に記録する。
【０１３１】
学習データ生成部４２６は、パターン生成部４２５において生成されたパターンリスト１２３に記録された各パターンから学習データを生成し、学習データリスト１２４に記録する。なお、第２の実施形態においては、正常時の事例データを用いるため、学習データリスト１２４は、例えば、図２８に示すようになる。また、第２の実施形態における学習データリスト１２４に格納されている情報が、開示の技術の所定のパターン、及び正常を示すパターンの一例である。また、正常時が、開示の技術の正常状態の一例である。
【０１３２】
検知部４２９は、検知対象情報が抽象化部２８から入力された場合に、学習データ記憶部５５に記憶されている学習データリスト１２４を用いて、障害発生の予兆を検知する。
【０１３３】
具体的には、検知部４２９は、検知対象情報に含まれるキー及び値の組で表される各検知対象データと、学習データとの比較を行う。また、検知部２９は、正しい値が設定されていないと判定した場合には、障害発生の予兆として検知し、予兆検知結果を出力する。なお、学習データリスト１２４の「キー」の欄に存在しないキーを含む組については処理対象外とする。
【０１３４】
上述したように、第２の実施形態では、正解の学習データのみを学習しているため、正解の学習データのみを用いて、障害の予兆検知を行う。そのため、検知部４２９は、検知対象データと正解の学習データとを比較し、一致しなかった場合に障害発生の予兆を検知する。
【０１３５】
なお、第２の実施形態に係る予兆検知装置４１０について、上述した構成以外については、第１の実施形態の予兆検知装置１０と同様であるため、詳細な構成の説明を省略する。
【０１３６】
また、第２の実施形態に係る予兆検知装置４１０の作用は、学習処理においては、正常時の事例データのみを用いる点、及び正解のパターンについてのみ学習データを生成する点が、第１の実施形態に係る予兆検知装置１０の作用と相違する。また、検知処理においては、障害の予兆検知の際に、正解の学習データのみを用いる点が第１の実施形態に係る予兆検知装置４１０の作用と相違する。なお、その他の第２の実施形態に係る予兆検知装置４１０の作用については、第１の実施形態に係る予兆検知装置１０と同様であるため、第２の実施形態に係る予兆検知装置４１０の作用の説明は省略する。
【０１３７】
以上説明したように、第２の実施形態によれば、ログ情報のデータ形式を構成情報のデータ形式のフォーマットに片寄することで、構成情報の形式のデータ形式を対象とする単一のアルゴリズムで構成情報及びログ情報を同時に分析することができる。これにより、システムの状況に応じて構成情報の設定値の正誤が変化することによるシステム障害の予兆を検知することができる。
【０１３８】
なお、本実施形態は、上述した形態に限定されるものではなく、この実施形態の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１３９】
例えば、第１及び第２の実施形態において、パラメータの値が異なる２つのメッセージ辞書アルゴリズムを用いて、同じ抽象化手法を利用することにより、１つのメッセージから、２つの分類結果を取得する場合について説明したが、これに限定されるものではない。例えば、クラスタリングによる抽象化方法を用いてもよい。具体的には、複数のサブクラスタを含む複数のクラスタのいずれかにメッセージを分類し、メッセージが属するクラスタ名をキーとなる分類結果、サブクラスタ名を当該キーに対応する値となる分類結果として取得することができる。
【０１４０】
また、キーを取得する場合と、当該キーに対応する値とを取得する場合とで、同じ抽象化手法でなく２種類の抽象化手法を用いてもよい。さらに、この場合、抽象化手法毎に学習用抽象化部を設け、全体構成として学習用抽象化部が２つ存在してもよい。例えば、キーとなる分類結果を取得する抽象化部においては、クラスタリングによる抽象化方法を用い、当該キーに対応する値となる分類結果を取得する抽象化部については、メッセージ辞書アルゴリズムを用いる。また、その逆の構成としてもよい。
【０１４１】
次に、第３の実施形態について説明する。第３の実施形態においては、構成情報のデータ形式をログ情報のフォーマットに変換することにより、データ形式をログ情報のフォーマットに片寄せする形で統一し、単一のアルゴリズムで構成情報及びログ情報を同時に分析する点が、第１の実施形態と異なる。なお、ログ情報のフォーマットが、開示の技術の共通フォーマットの一例である。
【０１４２】
図１に示すように、第３の実施形態に係る予兆検知装置５１０は、インターネット等のネットワーク１２を介して、複数の処理装置１６を有する処理システム１４と接続される。予兆検知装置５１０は、処理装置１６の各々を監視し、処理装置１６における障害発生の予兆を検知する。
【０１４３】
図２９に、予兆検知装置５１０の機能ブロック図を示す。図２９に示すように、予兆検知装置５１０は、変換部５２１と、メッセージパターン学習部５２５とを含む学習部５２０と、具象化部５２８と、検知部５２９とを有する。また、記憶部５５０には、具象化記憶部５５１と、メッセージパターン辞書記憶部５５２とが記憶される。各記憶部に記憶される情報については後述する。なお、学習部が、開示の技術の予兆パターン生成装置の一例である。また、検知部が、開示の技術の予兆検知装置の一例である。
【０１４４】
変換部５２１は、複数の事例データ５００を入力として受け付け、所定の記憶領域に蓄積する。また、変換部５２１は、蓄積した複数の事例データ５００の各々に含まれる障害復旧前及び障害復旧後の構成情報のデータ形式を、ログ情報のフォーマットに変換する。
【０１４５】
また、図２９に示すように、変換部５２１は、構成情報抽出部５２２、学習用具象化部５２３、及びログ形式化部５２４を含む。なお、変換部５２１の処理は事例データ５００の各々について行われるため、後述する構成情報抽出部５２２、学習用具象化部５２３、及びログ形式化部５２４の説明においては、１つの事例データ５００に対する処理について説明する。また、事例データ５００が複数ある場合には、後述する同様の処理を繰り返し行うものとする。なお、図３０に示すように、事例データ５００には、障害復旧前後の構成情報１０１及び１０３の各々と、障害復旧前のログ情報１０２と、障害種別１０５とが含まれているものとする。
【０１４６】
構成情報抽出部５２２は、受け付けた事例データ５００の障害復旧前の構成情報１０１に含まれる構成ファイルの各々の、構成ファイル名の各々を、具象化記憶部５５１に記憶されている、例えば、図３１に示す構成ファイルリスト１３０に記録する。
【０１４７】
また、構成情報抽出部５２２は、構成ファイルリスト１３０に記録されている構成ファイルの各々について、当該構成ファイルに含まれるキーと値との組の各々を抽出し、例えば、図３２に示す設定値リスト１３１に記録する。なお、設定値リスト１３１は、キーと値とが「＝」で結ばれており、左の項がキーであり、右の項が値である。
【０１４８】
また、構成情報抽出部５２２は、障害復旧後の構成情報についても、同様の処理を行う。なお、構成ファイルリスト１３０及び設定値リスト１３１は、構成情報毎に存在するものとし、具象化記憶部５５１に記憶されているものとする。
【０１４９】
学習用具象化部５２３は、構成情報抽出部５２２において記録した障害復旧前後の設定値リスト１３１の各々に基づいて、障害復旧前後で値に変化のあったキーを抽出し、例えば図３３に示す、変換対象リスト１３２に記録する。具体的には、図３４に示すように、障害復旧前の設定値リスト１３１Ａと、障害復旧後の設定値リスト１３１Ｂとが存在する場合、変換対象リスト１３２には、「/etc/my.cnf:port」と「/etc/httpd/conf/httpd.conf:MaxClients」とが記録される。なお、変換対象リスト１３２に存在するキーは一意であるものとし、同一のキーは複数存在しないものとする。また、変換対象リスト１３２は、具象化記憶部５５１に記憶されているものとする。
【０１５０】
ログ形式化部５２４は、事例データ５００の障害復旧前後の構成情報の取得時刻の各々と、変換対象リスト１３２と、障害復旧前後の各々の設定値リストとに基づいて、変換済みファイルを生成する。具体的な処理については、後述する予兆検知装置５１０の作用において説明する。
【０１５１】
図３５に変換済みファイル１９９の例を示す。図３５の変換済みファイル１９９においては、対象となるキーの障害復旧前の値が、特定の時刻より前の一定期間にウインドウ幅単位毎に存在するように生成される。一方、対象となるキーの障害復旧後の値が、特定の時刻より後の一定期間、ウインドウ幅単位毎に存在するように生成される。なお、変換済みファイル１９９のファイル名は、対象となるキーが含まれる「ファイル名」に「.concretized」を付加したファイル名とし、構成ファイル毎に変換済みファイル１９９が生成されるものとする。なお、ウインドウ幅単位毎が、開示の技術の一定の時間間隔の一例である。
【０１５２】
また、ログ形式化部５２４は、生成した変換済みファイル１９９の各々と、事例データ５００の障害復旧前のログ情報１０２及び障害種別１０５とを組み合わせた対象事例データ５０１を生成する。図３６に対象事例データ５０１の例を示す。
【０１５３】
メッセージパターン学習部５２５は、ログ形式化部５２４において生成された対象事例データ５０１の各々について、当該対象事例データ５０１のログ情報１０２に含まれるログファイルの各々、及び変換済みファイル１９９の各々に含まれるメッセージを取得する。また、メッセージパターン学習部５２５は、取得したメッセージの各々を、当該メッセージのタイムスタンプに基づいて、時系列順に並べ替える。以後、１つの対象事例データ５０１について説明するが、対象事例データ５０１が複数存在する場合に後述する同様の処理を繰り返すものとする。
【０１５４】
また、メッセージパターン学習部５２５は、メッセージパターン辞書記憶部５５２に記憶されているメッセージ辞書に基づいて、時系列順に並べ替えたメッセージの各々を対応する番号に変換する。ここで、メッセージ辞書とは、特定のメッセージと特定の番号（ＩＤ）とを対応付けているものであり、予め定められているものとする。なお、メッセージパターン学習部５２５は、メッセージ辞書に存在しないメッセージは、新たなメッセージ及び新たな番号の組としてメッセージ辞書に登録する。具体的には、メッセージパターン学習部５２５は、図３７に示すように、メッセージ辞書に含まれるメッセージと、対象となるメッセージの各構成の一致度（類似度）により、メッセージ辞書に含まれるメッセージに対応するか否かを判定する。なお、一致度が予め定められた閾値以上、例えば、図３７においては、０．８以上である場合には、処理対象となるメッセージが、メッセージ辞書に含まれるメッセージと対応するとして、当該メッセージ辞書に含まれるメッセージに対応する番号に変換される。
【０１５５】
また、メッセージパターン学習部５２５は、番号に変換された時系列順のメッセージについて、図３８に示すように、最新の時刻のメッセージから、予め定められたウインドウ幅を所定幅ずつずらしながら番号の組み合わせを抽出する。また、メッセージパターン学習部５２５は、抽出された番号の組み合わせの各々を、１単位のメッセージの組み合わせを表すメッセージパターンとする。なお、メッセージパターン学習部５２５で用いられるウインドウ幅は、変換部５２１で用いられるウインドウ幅（詳細は後述）と同一である。また、メッセージパターンが、開示の技術の所定のパターン、及び障害を予兆するパターンの一例である。
【０１５６】
また、メッセージパターン学習部５２５は、取得したメッセージパターンの各々について、処理対象となる対象事例データ５０１の障害種別毎の検出数を例えば、図３９に示す共起確率リスト５０２に記録する。ここで、共起確率リスト５０２の「メッセージパターン」の欄は、該当するメッセージパターンを表す。また、「検出総数」の欄は、対応するメッセージパターンが検出された総数を表す。また、「検出回数」の各障害の欄は、対応するメッセージパターンが検出された対象事例データ５０１の障害種別を表す。メッセージパターン学習部５２５は、障害種別ｊを含む対象事例データ５０１から、メッセージパターンｉが抽出された場合には、共起確率リスト５０２の「メッセージパターン」の欄がパターンｉの行を特定する。また、メッセージパターン学習部５２５は、特定した行の「検出総数」の列の欄の値を１つカウントアップする。また、メッセージパターン学習部５２５は、特定した行の「検出回数」の欄のうち「障害ｊ」の列に対応する欄の値を１つカウントアップする。なお、共起確率リスト５０２はメッセージパターン辞書記憶部５５２に記憶されているものとする。
【０１５７】
また、メッセージパターン学習部５２５は、全ての対象事例データ５０１について上述の処理を終了した後に、共起確率リスト５０２に基づいて、障害事例毎に、メッセージパターンの各々の障害発生確率を算出し、学習データとする。具体的には、特定のパターンの特定の障害の障害発生確率は、「特定のパターンの特定の障害時のパターン出現回数／特定のパターンの総出現回数」で算出することができる。そのため、図３９に示す共起確率リスト５０２において、メッセージパターン１の障害種別１の障害発生確率は、「２／４」＝「０．５」となる。また、図４０に学習データの例を示す。ここで、図４０の学習データの「ｔｒоｕｂｌｅＧｒｏｕｐＩｄ１０００」は、障害種別の番号を表す。また、「ｒｅｌａｔｅｄＭｓｇ１００１」は、対象となる障害種別と共起関係のあるメッセージに対応する番号を表す。ここで、対象となる障害種別と共起関係のあるメッセージに対応する番号とは、対象となる障害種別に対応するメッセージパターンに含まれる全ての番号の集合である。また、「ｐｒоｂａｂｉｌｉｔｙ  ｐａｔｔｅｒｎ１００２」は、１つのメッセージパターンに含まれる番号の各々を表す。また、「ｓｃоｒｅ１００３」は、算出した障害発生確率を表す。また、「ｓｙｎｄｒоｍｅ１００４」は１つの障害種別についての学習データの始点と終点とを表すものである。
【０１５８】
また、メッセージパターン学習部５２５は、学習データを、メッセージパターン辞書記憶部５５２に記憶する。
【０１５９】
具象化部５２８は、予兆検知の対象となる構成情報及びログ情報が入力された場合に、当該構成情報のデータ形式を、ログ情報のフォーマットに変換する。具体的には、具象化部５２８は、変換部５２１と同様に、予兆検知の対象となる構成情報のうち、具象化記憶部５５１に記憶されている変換対象リスト１３２に含まれるキーと対応するキーと値との組の各々について、構成ファイル毎に変換済みファイルを生成する。
【０１６０】
また、具象化部５２８は、生成した変換済みファイルの各々と予兆検知の対象となるログ情報の各々との組み合わせを検知対象情報として生成する。なお、その他の処理の内容については、上述した変換部５２１と同様のため、詳細な説明は省略する。また、生成される変換済みファイルは、予兆検知の対象となる構成情報及びログ情報を取得した時刻から一定期間前の時刻について生成するものとする。
【０１６１】
検知部５２９は、検知対象情報が入力された場合に、メッセージ辞書と、学習データとを用いて、障害発生の予兆を検知する。具体的には、検知部５２９は、検知対象情報に含まれるファイルの各々に含まれるメッセージの各々を、当該メッセージのタイムスタンプに基づいて、時系列に並べる。なお、検知部５２９は、時系列に並べたメッセージを１つのファイルとして生成し、記憶部５５０に記憶してもよい。
【０１６２】
また、検知部５２９は、時系列に並べ替えられたメッセージの各々について、メッセージ辞書を用いて、対応する番号に変換する。なお、検知部５２９は、記憶部５５０に、時系列に並べたメッセージがまとめられた１つのファイルが記憶されている場合には、当該ファイルを取得して、対応する番号に変換する処理を行ってもよい。また、検知部５２９は、メッセージ辞書に対応する番号がないメッセージについては、処理対象から除外するものとする。
【０１６３】
また、検知部２９は、番号に変換済みの時系列のメッセージについて、時系列の最新のメッセージから、予め定められたウインドウ幅を所定幅ずつずらしながらメッセージパターンを抽出する。なお、検知部５２９で用いるウインドウ幅は、メッセージパターン学習部５２５で用いられたウインドウ幅と同一である。なお、ウインドウの開始位置を、検知対象の構成情報及びログ情報の採取時刻としてもよい。
【０１６４】
また、検知部５２９は、抽出したメッセージパターンの各々と、メッセージパターン辞書記憶部５５２に記憶されている学習データとに基づいて、障害の予兆を検知する。具体的には、抽出したメッセージパターンが学習データに存在するか否かにより判断する。
【０１６５】
また、検知部５２９は、抽出された少なくとも１つ以上のメッセージパターンが、学習データに存在する場合には、例えば、図４１に示す予兆検知結果リスト５０３に記録し、出力する。図４１の例においては、メッセージパターンに含まれるメッセージに対応する番号が「０００５」、「０００７」、「００１２」、及び「００１９」であり、対応する障害種別が「Ｔ００１」である場合である。なお、第３の実施形態においては、学習データのうち、予め定められた閾値以上の障害発生確率に該当するメッセージパターンに対応する学習データを用いてもよい。また、図４１のメッセージパターンに含まれる「００１９」は構成情報をログ情報のデータ形式のフォーマットに変換したことにより、メッセージパターンに含まれることとなった番号であるとする。
【０１６６】
具象化記憶部５５１には、構成ファイルリスト１３０、設定値リスト１３１、及び変換対象リスト１３２が記憶されている。
【０１６７】
メッセージパターン辞書記憶部５５２には、メッセージ辞書、共起確率リスト５０２、及び学習データが記憶されている。
【０１６８】
予兆検知装置５１０は、例えば図４２に示すコンピュータ６００で実現することができる。コンピュータ６００はＣＰＵ６０２、一時記憶領域としてのメモリ６０４、及び不揮発性の記憶装置６０６を備える。なお、コンピュータ６００の他の構成は、第１の実施形態と同様であるため、説明は省略する。
【０１６９】
記憶装置６０６はＨＤＤ（Hard Disk Drive）、ＳＳＤ（solid state drive）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶装置６０６には、コンピュータ６００を予兆検知装置５１０として機能させるための予兆検知プログラム７００が記憶される。また、記憶装置６０６は、構成ファイルリスト１３０、設定値リスト１３１及び変換対象リスト１３２が記憶される具象化記憶領域７５０と、メッセージ辞書、共起確率リスト５０２、及び学習データが記憶されるメッセージパターン辞書記憶領域７５２とを有する。
【０１７０】
ＣＰＵ６０２は、予兆検知プログラム７００を記憶装置６０６から読み出してメモリ６０４に展開し、予兆検知プログラム７００が有するプロセスを順次実行する。また、ＣＰＵ６０２は、具象化記憶領域７１０に記憶された構成ファイルリスト１３０、設定値リスト１３１、及び変換対象リスト１３２を読み出し、メモリ６０４に展開する。また、ＣＰＵ６０２は、メッセージパターン辞書記憶領域７５２に記憶されたメッセージ辞書、共起確率リスト５０２、及び学習データを読み出し、メモリ６０４に展開する。
【０１７１】
予兆検知プログラム７００は、構成情報抽出プロセス７０２と、学習用具象化プロセス７０４と、ログ形式化プロセス７０６と、メッセージパターン学習プロセス７０８と、具象化プロセス７１０と、検知プロセス７１２とを有する。
【０１７２】
ＣＰＵ６０２は、構成情報抽出プロセス７０２を実行することで、図２９に示す構成情報抽出部５２２として動作する。また、ＣＰＵ６０２は、学習用具象化プロセス７０４を実行することで、図２９に示す学習用具象化部５２３として動作する。また、ＣＰＵ６０２は、ログ形式化プロセス７０６を実行することで、図２９に示すログ形式化部５２４として動作する。また、ＰＣＵ６０２は、メッセージパターン学習プロセス７０８を実行することで、図２９に示すメッセージパターン学習部５２５として動作する。また、ＣＰＵ６０２は、具象化プロセス７１０を実行することで、図２９に示す具象化部５２８として動作する。また、ＣＰＵ６０２は、検知プロセス７１２を実行することで、図２９に示す検知部５２９として動作する。これにより、予兆検知プログラム７００を実行したコンピュータ６００が、予兆検知装置５１０として機能することになる。
【０１７３】
なお、予兆検知装置５１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ（Application Specific Integrated Circuit）等で実現することも可能である。
【０１７４】
次に、本実施形態に係る予兆検知装置５１０の作用について説明する。まず、予兆検知装置５１０に複数の事例データ５００が入力されると、予兆検知装置５１０において、図４３に示す学習処理が実行される。そして、記憶部５５０に、構成ファイルリスト１３０、設定値リスト１３１、変換対象リスト１３２、共起確率リスト５０２、及び学習データが記憶される。この状態で、予兆検知装置５１０に検知対象の構成情報及びログ情報が入力されると、予兆検知装置５１０において、図４４に示す検知処理が実行され、予兆検知結果リスト５０３が出力される。なお、予兆検知装置５１０により実行される学習処理及び検知処理は、開示する技術の予兆パターン生成方法、及び予兆検知方法の一例である。以下、各処理について詳述する。
【０１７５】
図４３に示す学習処理のステップＳ２００で、構成情報抽出部５２２が、受け付けた事例データ５００の各々から、処理対象となる事例データ５００を決定する。
【０１７６】
次に、ステップＳ２０２で、構成情報抽出部５２２が、処理対象の事例データ５００に含まれる障害復旧前後の構成情報の各々について、図４５に詳細を示す設定値抽出処理を実行する。
【０１７７】
図４５に示す設定値抽出処理のステップＳ２２０で、構成情報抽出部５２２が、処理対象となる期間（障害復旧前、又は障害復旧後）の構成情報を決定する。
【０１７８】
次に、ステップＳ２２１で、構成情報抽出部５２２は、処理対象となる構成情報に含まれる構成ファイル名の各々を、構成ファイルリスト１３０に記録する。
【０１７９】
次に、ステップＳ２２２で、構成情報抽出部５２２は、構成ファイルリスト１３０に記録されているファイル名の各々に対応する構成ファイルの各々から、処理対象の構成ファイルを決定する。
【０１８０】
次に、ステップＳ２２４で、構成情報抽出部５２２は、処理対象となる構成ファイルに含まれるキーの各々から処理対象となるキーを決定する。
【０１８１】
次に、ステップＳ２２６で、構成情報抽出部５２２は、処理対象となるキーに対応する値を抽出し、処理対象となるキーと当該値との組を、設定値リスト１３１に記録する。
【０１８２】
次に、ステップＳ２２８で、構成情報抽出部５２２は、処理対象となる構成ファイルに含まれる全てのキーについてステップＳ２２６の処理を終了したか否かを判定する。構成情報抽出部５２２が、全てのキーについてステップＳ２２６の処理を終了したと判定した場合には、設定値抽出処理は、ステップＳ２３０へ移行する。一方、構成情報抽出部５２２が、全てのキーについてステップＳ２２６の処理を終了していないと判定した場合には、ステップＳ２２４へ移行し、処理対象となるキーを変更し、ステップＳ２２６〜ステップＳ２２８までの処理を繰り返す。
【０１８３】
次に、ステップＳ２３０で、構成情報抽出部５２２が、ステップＳ２２１に含まれる全ての構成ファイルについてステップＳ２２４〜ステップＳ２２８までの処理を終了したか否かを判定する。構成情報抽出部５２２が、全ての構成ファイルについてステップＳ２２４〜ステップＳ２２８までの処理を終了していると判定した場合には、設定値抽出処理は、ステップＳ２３１へ移行する。一方、構成情報抽出部５２２が、全ての構成ファイルについてステップＳ２２４〜ステップＳ２２８までの処理を終了していないと判定した場合には、設定値抽出処理は、ステップＳ２２２へ移行する。そして、構成情報抽出部５２２が、処理対象となる構成ファイルを変更し、ステップＳ２２４〜ステップＳ２３０までの処理を繰り返す。
【０１８４】
次に、ステップＳ２３１で、構成情報抽出部５２２が、処理対象となる全ての期間の構成情報についてステップＳ２２１〜ステップＳ２３０までの処理を終了したか否かを判定する。構成情報抽出部５２２が、処理対象となる全ての期間の構成情報についてステップＳ２２１〜ステップＳ２３０までの処理を終了したと判定した場合には、設定値抽出処理は、終了する。一方、構成情報抽出部５２２が、処理対象となる全ての期間の構成情報についてステップＳ２２１〜ステップＳ２３０までの処理を終了していないと判定した場合には、設定値抽出処理は、ステップＳ２２０へ移行する。そして、構成情報抽出部５２２が、処理対象となる期間の構成情報を変更し、ステップＳ２２１〜ステップＳ２３１までの処理を繰り返す。
【０１８５】
図４３に示す学習処理のステップＳ２０４で、学習用具象化部５２３が、処理対象となる事例データ５００について、図４６に詳細を示す具象化処理を実行する。
【０１８６】
図４６に示す具象化処理のステップＳ２３２で、学習用具象化部５２３が、ステップＳ２０２において取得した障害復旧前の構成情報から抽出した設定値リストから、処理対象となるキーと値との組を決定する。
【０１８７】
次に、ステップＳ２３４で、学習用具象化部５２３が、処理対象となる組のキーと一致するキーが、ステップＳ２０２において取得した障害復旧後の構成情報から抽出した設定値リストに存在するか否かを判定する。処理対象となる組のキーと一致するキーが、障害復旧後の構成情報から抽出された設定値リストに存在する場合には、具象化処理は、ステップＳ２３６へ移行する。一方、処理対象となる組のキーと一致するキーが、障害復旧後の構成情報から抽出された設定値リストに存在しない場合には、具象化処理は、ステップＳ２４２へ移行する。
【０１８８】
次に、ステップＳ２３６で、学習用具象化部５２３が、障害復旧後の構成情報から抽出された設定値リストから、処理対象となる組のキーと一致するキーに対応するキーと値との組を取得する。
【０１８９】
次に、ステップＳ２３８で、学習用具象化部５２３が、処理対象となる組の値と、ステップＳ２３６において取得した組の値とが一致するか否かを判定する。学習用具象化部５２３が、一致すると判定した場合には、具象化処理は、ステップＳ２４２へ移行する。一方、学習用具象化部５２３が、一致しないと判定した場合には、具象化処理は、ステップＳ２４０へ移行する。
【０１９０】
次に、ステップＳ２４０で、学習用具象化部５２３が、処理対象となるキーを変換対象リスト１３２に記録する。
【０１９１】
次に、ステップＳ２４２で、学習用具象化部５２３が、障害復旧前の構成情報から抽出された設定値リストに含まれる全ての組についてステップＳ２３４〜ステップＳ２３８、又はステップＳ２４０までの処理を終了したか否かを判定する。学習用具象化部５２３が、障害復旧前の構成情報から抽出された設定値リストに含まれる全ての組についてステップＳ２３４〜ステップＳ２３８、又はステップＳ２４０までの処理を終了したと判定した場合には、具象化処理を終了する。一方、学習用具象化部５２３が、構成情報から抽出した設定値リストに含まれる全ての組についてステップＳ２３４〜ステップＳ２３８、又はステップＳ２４０までの処理を終了していないと判定した場合には、具象化処理は、ステップＳ２３２へ移行する。そして、学習用具象化部５２３が、処理対象となる組を変更して、ステップＳ２３４〜ステップＳ２４２までの処理を繰り返す。
【０１９２】
図４３に示す学習処理のステップＳ２０６で、ログ形式化部５２４が、処理対象となる事例データ５００について、図４７に詳細を示すログ形式化処理を実行する。
【０１９３】
図４７に示すログ形式化処理のステップＳ２５０で、ログ形式化部５２４が、ステップＳ２０４において取得した変換対象リスト１３２に含まれるキーの各々の構成ファイルの各々から、処理対象となる構成ファイルを決定する。
【０１９４】
次に、ステップＳ２５１で、ログ形式化部５２４が、ステップＳ２０４において取得した変換対象リスト１３２に含まれる、処理対象の構成ファイルのキーを決定する。
【０１９５】
次に、ステップＳ２５２で、ログ形式化部５２４が、ステップＳ２０２において取得した障害復旧前の設定値リストから処理対象となるキーと一致するキーと値との組み合わせＣ１を取得する。
【０１９６】
次に、ステップＳ２５４で、ログ形式化部５２４が、ステップＳ２０２において取得した障害復旧後の設定値リストから処理対象となるキーと一致するキーと値との組み合わせＣ２を取得する。
【０１９７】
次に、ステップＳ２５６で、ログ形式化部５２４が、ｔ´を算出する。ここでｔ´は、下記（３）式により算出される。なお、ｔ１は、事例データ５００の障害復旧前の構成情報及びログ情報の取得時刻であり、ｔ２は、事例データ５００の障害復旧後の構成情報の取得時刻である。なお、ｔ´は、ｔ１からｔ２の間に決定されるように、他の方法に基づいて、算出してもよい。また、構成情報の変更時刻を取得しておき当該変更時刻を用いてｔ´を算出してもよい。
【０１９８】
【数３】
0006451483.tif 000004
【０１９９】
次に、ステップＳ２５７で、ログ形式化部５２４が、時刻「ｔ１−ｈ」から時刻「ｔ１」の間で、時間間隔ｗ毎にタイムスタンプを生成し、生成したタイムスタンプ毎にＣ１をログ形式で生成する。ここで、ｈは、予め定められたログの生成期間であり、ｗは、予め定められたウインドウ幅である。
【０２００】
次に、ステップＳ２５８で、ログ形式化部５２４が、時刻「ｍｉｎ（ｔ´,ｔ２−ｈ）」から時刻ｔ２の間で、時間間隔ｗ毎にタイムスタンプを生成し、生成したタイムスタンプ毎にＣ２をログ形式で生成する。具体的には、図３５に示すように、生成したタイムスタンプと、対象となるキーに含まれるパラメータ名（例えば、ｐоｒｔ）と、対象となるキーに対応する値との組み合わせでログ化される。なお、ログ化された、タイムスタンプと対象となるキーと対象となるキーに対応する値との組み合わせが１つのメッセージとなる。
【０２０１】
次に、ステップＳ２６０で、ログ形式化部５２４は、処理対象となる構成ファイルに含まれ、かつ、変換対象リスト１３２に含まれる全てのキーについて、ステップＳ２５２〜ステップＳ２５８までの処理を終了したか否かを判定する。ログ形式化部５２４が、全てのキーについて、ステップＳ２５２〜ステップＳ２５８までの処理を終了したと判定した場合には、ログ形式化処理は、ステップＳ２６２へ移行する。一方、ログ形式化部５２４が、全てのキーについて、ステップＳ２５２〜ステップＳ２５８までの処理を終了していないと判定した場合には、ログ形式化処理は、ステップＳ２５１へ移行する。そして、ログ形式化部５２４が、処理対象となるキーを変更し、ステップＳ２５２〜ステップＳ２６０までの処理を繰り返す。
【０２０２】
次に、ステップＳ２６２で、ログ形式化部５２４が、ステップＳ２５７において取得したログの各々と、ステップＳ２５８において取得したログの各々を組み合わせて、処理対象の構成ファイルに基づいて定義されるファイル名で、変換済みファイルを生成する。
【０２０３】
次に、ステップＳ２６４で、ログ形式化部５２４が、変換対象リスト１３２に含まれるキーの各々に対応する全ての構成ファイルについて、ステップＳ２５１〜ステップＳ２６２までの処理を終了したか否かを判定する。ログ形式化部５２４が、全ての構成ファイルについて、ステップＳ２５１〜ステップＳ２６２までの処理を終了したと判定した場合には、ログ形式化処理は終了する。一方、ログ形式化部５２４が、全ての構成ファイルについて、ステップＳ２５１〜ステップＳ２６２までの処理を終了していないと判定した場合には、ログ形式化処理は、ステップＳ２５０へ移行する。そして、ログ形式化部５２４が、処理対象となる構成ファイルを変更し、ステップＳ２５１〜ステップＳ２６４までの処理を繰り返す。
【０２０４】
図４３に示す学習処理のステップＳ２１０で、ログ形式化部５２４が、ステップＳ２０６において取得した変換済みファイルの各々と、処理対象となる事例データ５００の障害復旧前のログ情報及び障害事例とを組み合わせた対象事例データ５０１を生成する。
【０２０５】
次に、ステップＳ２１２で、ログ形式化部５２４が、受け付けた全ての事例データ５００について、ステップＳ２０２〜ステップＳ２１０までの処理を終了しているか否かを判定する。ログ形式化部５２４が、全ての事例データ５００について、ステップＳ２０２〜ステップＳ２１０までの処理を終了していると判定した場合には、学習処理は、ステップＳ２１４へ移行する。一方、ログ形式化部５２４が、全ての事例データ５００について、ステップＳ２０２〜ステップＳ２１０までの処理を終了していないと判定した場合には、学習処理は、ステップＳ２００へ移行する。そして、ログ形式化部５２４が、処理対象となる事例データ５００を変更し、ステップＳ２０２〜ステップＳ２１２までの処理を繰り返す。
【０２０６】
次に、ステップＳ２１４で、メッセージパターン学習部５２５は、ステップＳ２１０において取得した対象事例データ５０１と、メッセージパターン辞書記憶部５５２に記憶されているメッセージ辞書とに基づいて、学習データを生成し、学習処理を終了する。学習データの生成において、メッセージパターンを抽出する際のウインドウ幅を、構成情報をログ化した各メッセージのタイムスタンプの時間間隔ｗと同一としている。そのため、学習データの各メッセージパターンには、必ず構成情報をログ化したメッセージを変換した番号が含まれる。
【０２０７】
次に、図４４に示す検知処理のステップＳ２７０で、変換部５２１が、入力された検知対象の構成情報及びログ情報を取得する。また、変換部５２１が、具象化記憶部５５１に記憶されている変換対象リスト１３２と、メッセージパターン辞書記憶部５５２に記憶されている学習データを取得する。
【０２０８】
次に、ステップＳ２７２で、具象化部５２８は、検知対象の構成情報に含まれる構成ファイルの各々のうち、ステップＳ２７０において取得した変換対象リスト１３２に含まれるキーに対応する構成ファイルの各々について、変換済み対象ファイルを生成する。
【０２０９】
次に、ステップＳ２７８で、具象化部５２８は、入力された検知対象のログ情報と、ステップＳ２７２において取得した変換済み対象ファイルの各々との組み合わせを検知対象情報として生成する。
【０２１０】
次に、ステップＳ２８０で、検知部５２９が、ステップＳ２７８において取得した検知対象情報と、メッセージパターン辞書記憶部５５２に記憶されているメッセージ辞書と、予め定められているウインドウ幅ｗとに基づいて、メッセージパターンの各々を抽出する。
【０２１１】
次に、ステップＳ２８２で、検知部５２９が、ステップＳ２７０において取得した学習データに、ステップＳ２８０において取得した少なくとも１つ以上のメッセージパターンが存在するか否かを判定する。検知部５２９が、学習データに取得した少なくとも１つ以上のメッセージパターンが存在すると判定した場合には、検知処理は、ステップＳ２８４へ移行する。一方、検知部５２９が、学習データに取得したメッセージパターンが存在しないと判定した場合には、検知処理は終了する。
【０２１２】
次に、ステップＳ２８４で、検知部５２９が、ステップＳ２８２において取得した学習データに存在するメッセージパターンの各々と、ステップＳ２７０において取得した学習データに基づいて、予兆検知結果を生成し、出力して、検知処理を終了する。
【０２１３】
以上説明したように、第３の実施形態によれば、構成情報のデータ形式をログ情報のデータ形式のフォーマットに片寄することで、ログ情報の形式のデータ形式を対象とする単一のアルゴリズムで構成情報及びログ情報を同時に分析することができる。これにより、設定誤りの可能性がある構成情報をログ化したメッセージと、障害発生時のログ情報に含まれるメッセージとを含むメッセージパターンを、障害予兆検知の結果として出力することができる。従って、システムの状況に応じて構成情報の設定値の正誤が変化することによるシステム障害の予兆を検知することができる。
【０２１４】
また、システムの状況に応じて設定値の正誤が変化する設定値の異常を検知することができる。
【０２１５】
なお、本実施形態は、上述した形態に限定されるものではなく、この実施形態の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０２１６】
次に、第４の実施形態について説明する。なお、第３の実施形態と同様の構成及び作用となる部分については、同一符号を付して説明を省略する。
【０２１７】
第４の実施形態では、事例データ８３０として、図２５に示すように、正常時のみの情報を用いる点が第１の実施形態と異なっている。なお、事例データ８３０は、正常時の構成情報とログ情報とを含むものであり、事例データ５００と同様の構成であるため、詳細な説明は省略する。
【０２１８】
図１に示すように、第４の実施形態に係る予兆検知装置８１０は、インターネット等のネットワーク１２を介して、複数の処理装置１６を有する処理システム１４と接続される。予兆検知装置４１０は、処理装置１６の各々を監視し、処理装置１６における障害発生の予兆を検知する。
【０２１９】
図４８に、予兆検知装置８１０の機能ブロック図を示す。図４８に示すように、予兆検知装置８１０は、変換部８２１、及びメッセージパターン学習部８２５を含む学習部８２０と、具象化部５２８と、検知部８２９とを有する。なお、他の構成について、第３の実施形態と同様であるため、説明は省略する。
【０２２０】
変換部８２１は、第３の実施形態に係る変換部５２１と同様に、複数の事例データ８３０を入力として受け付け、事例データ８３０毎に、当該事例データ８３０に含まれる構成情報に含まれる、全てのキーを抽出し、変換対象リスト１３２に記録する。なお、キーの値は一意とし、変換対象リスト１３２に同一のキーは複数記録されないものとする。
【０２２１】
また、変換部８２１は、事例データ８３０の各々について、変換対象リスト１３２に含まれるキーに対応する全ての構成ファイルについて、第３の実施形態の具象化部５２８と同様に、変換済みファイルを生成する。また、変換部８２１は、事例データ８３０の各々について、第３の実施形態のログ形式化部５２４と同様に、変換済みファイルの各々と、事例データ８３０のログ情報の各々とを組み合わせた対象事例データ８０１を生成する。
【０２２２】
メッセージパターン学習部８２５は、変換部８２１において生成された対象事例データ８０１の各々について、当該対象事例データ８０１に含まれるメッセージを時系列順に並べ替える。以後、１つの対象事例データ８０１に対する処理について説明するが、対象事例データ８０１が複数存在する場合に後述する同様の処理を繰り返すものとする。また、メッセージパターン学習部８２５は、メッセージパターン辞書記憶部５５２に記憶されているメッセージ辞書に基づいて、対象事例データ８０１に含まれるメッセージの各々を対応する番号に変換する。
【０２２３】
また、メッセージパターン学習部８２５は、番号に変換された時系列順のメッセージについて、最新の時刻のメッセージから、予め定められたウインドウ幅を所定幅ずつずらしながら番号の組み合わせを抽出する。そして、メッセージパターン学習部８２５は、当該抽出された番号の組み合わせの各々をメッセージパターンとする。
【０２２４】
また、メッセージパターン学習部８２５は、取得したメッセージパターンの各々を正常時のメッセージパターンの学習データとして生成し、メッセージパターン辞書記憶部５５２に記憶する。図４９に、学習データの例を示す。ここで、図４９の「障害」の欄の「Ｔ９９９」は、正常という状態を表すために定義した障害種別の番号である。
【０２２５】
検知部８２９は、フォーマットを変換したログ情報と構成情報とが入力された場合に、学習データを用いて、障害発生の予兆を検知する。具体的には、検知部８２９は、検知対象情報に含まれるファイルの各々に含まれるメッセージの各々を時系列に並べる。また、検知部８２９は、時系列に並べ替えられたメッセージの各々について、メッセージ辞書を用いて、対応する番号に変換する。また、検知部８２９は、変換済みの時系列のメッセージについて、時系列の最新のメッセージから、予め定められたウインドウ幅を所定幅ずつずらしながらメッセージパターンを抽出する。
【０２２６】
また、検知部８２９は、抽出したメッセージパターンの各々のうち、少なくとも１つ以上のメッセージパターンが、学習データに含まれるメッセージパターンと一致しない場合に、障害発生を検知し、予兆検知結果リスト８０３に記録して出力する。図５０に予兆検知結果リスト８０３の例を示す。
【０２２７】
第４の実施形態に係る予兆検知装置８１０について、上述した構成以外については、第３の実施形態と同様であるため、詳細な構成の説明を省略する。
【０２２８】
また、第４の実施形態に係る予兆検知装置８１０についての作用は、正常時の事例データに対してのみ、構成情報をログ情報のデータ形式に変換している点が相違する。また、正常時のメッセージパターンのみを学習データとして学習し、検知対象情報に学習データに含まれないメッセージパターンが検出された場合に、障害を検知するという点も相違する。なお、第４の実施形態に係る予兆検知装置８１０のその他の作用については、第３の実施形態の予兆検知装置５１０と同様であるため、予兆検知装置８１０の作用の説明は省略する。
【０２２９】
以上説明したように、第４の実施形態によれば、構成情報のデータ形式をログ情報のデータ形式のフォーマットに片寄することで、ログ情報の形式のデータ形式を対象とする単一のアルゴリズムで構成情報及びログ情報を同時に分析することができる。これにより、システムの状況に応じて構成情報の設定値の正誤が変化することによるシステム障害の予兆を検知することができる。
【０２３０】
なお、本実施形態は、上述した形態に限定されるものではなく、この実施形態の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０２３１】
例えば、第３及び第４の実施形態においては、対象事例データにログ情報に含まれるログファイルの各々、及び変換済みファイルの各々が含まれる場合について説明したが、これに限定されるものではない。変換部が、生成した変換済みファイルの各々、及び障害復旧前のログ情報の各々に含まれるメッセージをタイムスタンプに基づいて、時系列順に並べ替えた対象事例データを生成してもよい。なお、生成した対象事例データを記憶部に記憶してもよい。
【０２３２】
また、第１〜第４の実施形態においては、上述する学習方法、及び検知方法を用いる場合について説明したが、これに限定されるものではない。例えば、構成情報及びログ情報の一方を片寄する処理以降の処理は、従来既知の他の方法を用いてもよい。
【０２３３】
また、第１及び第３の実施形態においては、正解の学習データと誤りの学習データとを用いる場合について説明したが、これに限定されるものではない。例えば、誤りの学習データのみを用いてもよい。
【０２３４】
また、第１〜第４の実施形態においては、学習部と検知部とを同一の装置において構成する場合について説明したが、これに限定されるものではない。例えば、学習部と検知部との各々の機能を、別々の装置として構成してもよい。
【０２３５】
また、第３及び第４の実施形態においては、学習及び検知の処理において、障害復旧前のログ情報及び変換した障害復旧前に対応する時期の構成情報のみを用いる場合について説明したが、これに限定されるものではない。他の学習及び検知の方法を用いる場合においては、障害復旧前後のログ情報、及び変換した障害復旧前後に対応する時期の構成情報をもちいてもよい。
【０２３６】
また、上記では、開示する技術に係る各プログラムが記憶装置２０６、及び６０６に予め記憶（インストール）されている態様を説明したが、これに限定されない。開示の技術に係る各プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記録媒体に記録された形態で提供することも可能である。
【０２３７】
以上の各実施形態に関し、更に以下の付記を開示する。
【０２３８】
（付記１）
コンピュータに、
１又は複数の情報処理装置から出力されたメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報を取得し、
取得した前記メッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知プログラム。
（付記２）
前記パターンは障害を予兆するパターンであり、
前記比較に応じた出力をすることは、前記所定の障害を予兆するパターンが前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報に含まれるとき、障害予兆の発生を出力する付記１記載の予兆検知プログラム。
（付記３）
前記パターンは正常を示すパターンであり、
前記比較に応じた出力をすることは、前記所定の正常を示すパターンが前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報に含まれないとき、障害予兆の発生を出力する付記１記載の予兆検知プログラム。
（付記４）
前記共通のフォーマットで記憶することでは、２つの異なる抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記１〜３の何れか１項記載の予兆検知プログラム。
（付記５）
前記共通のフォーマットで記憶することでは、異なるパラメータを持つ同じ抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記１〜３の何れか１項記載の予兆検知プログラム。
（付記６）
前記共通のフォーマットで記憶することでは、取得した予め定められた期間分のメッセージ情報について、メッセージ情報に対応するカテゴリを格納し、かつ、カテゴリ数が異なる２つの辞書の各々に基づいて、２つのカテゴリに変換し、前記２つの辞書のうちの前記カテゴリ数が少ない方の辞書に基づいて変換されたカテゴリを設定項目とし、前記２つの辞書のうちの前記カテゴリ数が多い方の辞書に基づいて変換されたカテゴリを前記設定項目の設定値とした組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記５記載の予兆検知プログラム。
（付記７）
前記障害を予兆するパターンは、
１又は複数の情報処理装置から障害が発生している第１時期及び前記第１時期より後の前記障害が復旧している第２時期に出力された、メッセージ情報の各々と、１又は複数の情報処理装置の前記第１時期及び前記第２時期の構成情報の各々とを共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応させて生成される付記２記載の予兆検知プログラム。
（付記８）
前記正常を示すパターンは、
１又は複数の情報処理装置から障害が発生していない時期に出力されたメッセージ情報と、１又は複数の情報処理装置の前記時期の構成情報とを共通のフォーマットで記憶した情報に基づいて、生成される付記３記載の予兆検知プログラム。
（付記９）
コンピュータに、
１又は複数の情報処理装置から障害が発生している第１時期及び前記第１時期より後の前記障害が復旧している第２時期に出力されたメッセージ情報の各々を取得するとともに、１又は複数の情報処理装置の前記第１時期及び前記第２時期の構成情報の各々を取得し、
取得した前記第１時期のメッセージ情報及び前記第２時期のメッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
前記共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応する障害の予兆となるパターンを生成する
処理を実行させる予兆パターン生成プログラム。
（付記１０）
コンピュータに、
１又は複数の情報処理装置から障害が発生していない時期に出力されたメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記時期の構成情報を取得し、
取得した前記時期のメッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
前記共通のフォーマットで記憶した情報に基づいて、正常状態のパターンを生成する
処理を実行させる予兆パターン生成プログラム。
（付記１１）
前記共通のフォーマットで記憶することでは、２つの異なる抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記９又は１０記載の予兆パターン生成プログラム。
（付記１２）
前記共通のフォーマットで記憶することでは、異なるパラメータを持つ同じ抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記９又は１０記載の予兆パターン生成プログラム。
（付記１３）
前記共通のフォーマットで記憶することでは、取得した予め定められた期間分のメッセージ情報について、メッセージ情報に対応するカテゴリを格納し、かつ、カテゴリ数が異なる２つの辞書の各々に基づいて、２つのカテゴリに変換し、前記２つの辞書のうちの前記カテゴリ数が少ない方の辞書に基づいて変換されたカテゴリを設定項目とし、前記２つの辞書のうちの前記カテゴリ数が多い方の辞書に基づいて変換されたカテゴリを前記設定項目の設定値とした組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記１２記載の予兆パターン生成プログラム。
（付記１４）
コンピュータに、
１又は複数の情報処理装置から出力された時刻を含むメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報に取得時刻を付加した情報を取得し、
取得した、前記時刻を含むメッセージ情報と前記構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知プログラム。
（付記１５）
前記パターンは障害を予兆するパターンであり、
前記比較に応じた出力をすることは、前記所定の障害を予兆するパターンが前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報に含まれるとき、障害予兆の発生を出力する付記１４記載の予兆検知プログラム。
（付記１６）
前記パターンは正常を示すパターンであり、
前記比較に応じた出力をすることは、前記所定の正常を示すパターンが前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報に含まれないとき、障害予兆の発生を出力する付記１４記載の予兆検知プログラム。
（付記１７）
前記構成情報は設定項目と設定値とを含み、
前記共通のフォーマットで記憶することでは、
前記取得された構成情報の前記設定項目のうち、予め定められた設定項目と前記設定項目の前記設定値との組み合わせを前記メッセージ情報の形式に変換して記憶する付記１４〜１６の何れか１項記載の予兆検知プログラム。
（付記１８）
前記共通のフォーマットで記憶することでは、前記メッセージ情報の形式に変換した前記組み合わせを、一定の時間間隔で繰り返して記憶する付記１７記載の予兆検知プログラム。
（付記１９）
前記障害を予兆するパターンは、
１又は複数の情報処理装置から障害が発生している第１時期に出力された、時刻を含むメッセージ情報と、１又は複数の情報処理装置の前記第１時期及び前記第１時期より後の前記障害が復旧している第２時期の構成情報に取得時刻を付加した情報の各々とを共通のフォーマットで時系列順に記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応させて生成される付記１５記載の予兆検知プログラム。
（付記２０）
前記正常を示すパターンは、
１又は複数の情報処理装置から障害が発生していない時期に出力された、時刻を含むメッセージ情報と、１又は複数の情報処理装置の前記時期の構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶した情報に基づいて、生成される付記１６記載の予兆検知プログラム。
（付記２１）
コンピュータに、
１又は複数の情報処理装置から障害が発生している第１時期に出力された、時刻を含むメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記第１時期及び前記第１時期より後の前記障害が復旧している第２時期の構成情報に取得時効を付加した情報の各々を取得し、
取得した前記第１時期の構成情報と前記第２時期の構成情報とにおいて、前記構成情報の設定値が異なる前記構成情報の設定項目と、前記第１時期の前記構成情報の前記設定項目の設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと、取得したメッセージ情報とを共通のフォーマットで時系列順に記憶し、
前記共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応する障害の予兆となるパターンを生成する
処理を実行させる予兆パターン生成プログラム。
（付記２２）
コンピュータに、
１又は複数の情報処理装置から障害が発生していない時期に出力された、時刻を含むメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記時期の構成情報に取得時刻を付加した情報を取得し、
取得した前記時期の構成情報の設定項目と設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと取得したメッセージ情報とを共通のフォーマットで時系列順に記憶し、
前記共通のフォーマットで記憶した情報に基づいて、正常状態のパターンを生成する
処理を実行させる予兆パターン生成プログラム。
（付記２３）
前記共通のフォーマットで記憶することでは、取得した構成情報において、予め定義された設定項目を取得し、前記取得した設定項目と前記設定項目の設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと取得したメッセージ情報とを共通フォーマットで記憶する付記２２記載の予兆パターン生成プログラム。
（付記２４）
前記共通のフォーマットで記憶することでは、前記メッセージ情報の形式に変換した前記組み合わせを、一定の時間間隔で繰り返して記憶する付記２１〜２３の何れか１項記載の予兆パターン生成プログラム。
（付記２５）
コンピュータに、
１又は複数の情報処理装置から出力されたメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報を取得し、
取得した前記メッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知方法。
（付記２６）
前記パターンは障害を予兆するパターンであり、
前記比較に応じた出力をすることは、前記所定の障害を予兆するパターンが前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報に含まれるとき、障害予兆の発生を出力する付記２５記載の予兆検知方法。
（付記２７）
前記パターンは正常を示すパターンであり、
前記比較に応じた出力をすることは、前記所定の正常を示すパターンが前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報に含まれないとき、障害予兆の発生を出力する付記２５記載の予兆検知方法。
（付記２８）
前記共通のフォーマットで記憶することでは、２つの異なる抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記２５〜２７の何れか１項記載の予兆検知方法。
（付記２９）
前記共通のフォーマットで記憶することでは、異なるパラメータを持つ同じ抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記２５〜２７の何れか１項記載の予兆検知方法。
（付記３０）
前記共通のフォーマットで記憶することでは、取得した予め定められた期間分のメッセージ情報について、メッセージ情報に対応するカテゴリを格納し、かつ、カテゴリ数が異なる２つの辞書の各々に基づいて、２つのカテゴリに変換し、前記２つの辞書のうちの前記カテゴリ数が少ない方の辞書に基づいて変換されたカテゴリを設定項目とし、前記２つの辞書のうちの前記カテゴリ数が多い方の辞書に基づいて変換されたカテゴリを前記設定項目の設定値とした組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記２９記載の予兆検知方法。
（付記３１）
前記障害を予兆するパターンは、
１又は複数の情報処理装置から障害が発生している第１時期及び前記第１時期より後の前記障害が復旧している第２時期に出力された、メッセージ情報の各々と、１又は複数の情報処理装置の前記第１時期及び前記第２時期の構成情報の各々とを共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応させて生成される付記２６記載の予兆検知方法。
（付記３２）
前記正常を示すパターンは、
１又は複数の情報処理装置から障害が発生していない時期に出力されたメッセージ情報と、１又は複数の情報処理装置の前記時期の構成情報とを共通のフォーマットで記憶した情報に基づいて、生成される付記２７記載の予兆検知方法。
（付記３３）
コンピュータに、
１又は複数の情報処理装置から障害が発生している第１時期及び前記第１時期より後の前記障害が復旧している第２時期に出力されたメッセージ情報の各々を取得するとともに、１又は複数の情報処理装置の前記第１時期及び前記第２時期の構成情報の各々を取得し、
取得した前記第１時期のメッセージ情報及び前記第２時期のメッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
前記共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応する障害の予兆となるパターンを生成する
処理を実行させる予兆パターン生成方法。
（付記３４）
コンピュータに、
１又は複数の情報処理装置から障害が発生していない時期に出力されたメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記時期の構成情報を取得し、
取得した前記時期のメッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
前記共通のフォーマットで記憶した情報に基づいて、正常状態のパターンを生成する
処理を実行させる予兆パターン生成方法。
（付記３５）
前記共通のフォーマットで記憶することでは、２つの異なる抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記３３又は３４記載の予兆パターン生成方法。
（付記３６）
前記共通のフォーマットで記憶することでは、異なるパラメータを持つ同じ抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記３３又は３４記載の予兆パターン生成方法。
（付記３７）
前記共通のフォーマットで記憶することでは、取得した予め定められた期間分のメッセージ情報について、メッセージ情報に対応するカテゴリを格納し、かつ、カテゴリ数が異なる２つの辞書の各々に基づいて、２つのカテゴリに変換し、前記２つの辞書のうちの前記カテゴリ数が少ない方の辞書に基づいて変換されたカテゴリを設定項目とし、前記２つの辞書のうちの前記カテゴリ数が多い方の辞書に基づいて変換されたカテゴリを前記設定項目の設定値とした組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記３６記載の予兆パターン生成方法。
（付記３８）
コンピュータに、
１又は複数の情報処理装置から出力された時刻を含むメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報に取得時刻を付加した情報を取得し、
取得した、前記時刻を含むメッセージ情報と前記構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知方法。
（付記３９）
前記パターンは障害を予兆するパターンであり、
前記比較に応じた出力をすることは、前記所定の障害を予兆するパターンが前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報に含まれるとき、障害予兆の発生を出力する付記３８記載の予兆検知方法。
（付記４０）
前記パターンは正常を示すパターンであり、
前記比較に応じた出力をすることは、前記所定の正常を示すパターンが前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報に含まれないとき、障害予兆の発生を出力する付記３８記載の予兆検知方法。
（付記４１）
前記構成情報は設定項目と設定値とを含み、
前記共通のフォーマットで記憶することでは、
前記取得された構成情報の前記設定項目のうち、予め定められた設定項目と前記設定項目の前記設定値との組み合わせを前記メッセージ情報の形式に変換して記憶する付記３８〜４０の何れか１項記載の予兆検知方法。
（付記４２）
前記共通のフォーマットで記憶することでは、前記メッセージ情報の形式に変換した前記組み合わせを、一定の時間間隔で繰り返して記憶する付記４１記載の予兆検知方法。
（付記４３）
前記障害を予兆するパターンは、
１又は複数の情報処理装置から障害が発生している第１時期に出力された、時刻を含むメッセージ情報と、１又は複数の情報処理装置の前記第１時期及び前記第１時期より後の前記障害が復旧している第２時期の構成情報に取得時刻を付加した情報の各々とを共通のフォーマットで時系列順に記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応させて生成される付記３９記載の予兆検知方法。
（付記４４）
前記正常を示すパターンは、
１又は複数の情報処理装置から障害が発生していない時期に出力された、時刻を含むメッセージ情報と、１又は複数の情報処理装置の前記時期の構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶した情報に基づいて、生成される付記４０記載の予兆検知方法。
（付記４５）
コンピュータに、
１又は複数の情報処理装置から障害が発生している第１時期に出力された、時刻を含むメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記第１時期及び前記第１時期より後の前記障害が復旧している第２時期の構成情報に取得時効を付加した情報の各々を取得し、
取得した前記第１時期の構成情報と前記第２時期の構成情報とにおいて、前記構成情報の設定値が異なる前記構成情報の設定項目と、前記第１時期の前記構成情報の前記設定項目の設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと、取得したメッセージ情報とを共通のフォーマットで時系列順に記憶し、
前記共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応する障害の予兆となるパターンを生成する
処理を実行させる予兆パターン生成方法。
（付記４６）
コンピュータに、
１又は複数の情報処理装置から障害が発生していない時期に出力された、時刻を含むメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記時期の構成情報に取得時刻を付加した情報を取得し、
取得した前記時期の構成情報の設定項目と設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと取得したメッセージ情報とを共通のフォーマットで時系列順に記憶し、
前記共通のフォーマットで記憶した情報に基づいて、正常状態のパターンを生成する
処理を実行させる予兆パターン生成方法。
（付記４７）
前記共通のフォーマットで記憶することでは、取得した構成情報において、予め定義された設定項目を取得し、前記取得した設定項目と前記設定項目の設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと取得したメッセージ情報とを共通フォーマットで記憶する付記４６記載の予兆パターン生成方法。
（付記４８）
前記共通のフォーマットで記憶することでは、前記メッセージ情報の形式に変換した前記組み合わせを、一定の時間間隔で繰り返して記憶する付記４５〜４７の何れか１項記載の予兆パターン生成方法。
（付記４９）
１又は複数の情報処理装置から出力されたメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報を取得し、
取得した前記メッセージ情報と前記構成情報とを共通のフォーマットで記憶する抽象化部と、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする検知部と、
を含む、予兆検知装置。
（付記５０）
前記パターンは障害を予兆するパターンであり、
前記検知部は、前記所定の障害を予兆するパターンが前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報に含まれるとき、障害予兆の発生を出力する付記４９記載の予兆検知装置。
（付記５１）
前記パターンは正常を示すパターンであり、
前記検知部は、前記所定の正常を示すパターンが前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報に含まれないとき、障害予兆の発生を出力する付記４９記載の予兆検知装置。
（付記５２）
前記抽象化部は、２つの異なる抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記４９〜５１の何れか１項記載の予兆検知装置。
（付記５３）
前記抽象化部は、異なるパラメータを持つ同じ抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記４９〜５１の何れか１項記載の予兆検知装置。
（付記５４）
前記抽象化部は、取得した予め定められた期間分のメッセージ情報について、メッセージ情報に対応するカテゴリを格納し、かつ、カテゴリ数が異なる２つの辞書の各々に基づいて、２つのカテゴリに変換し、前記２つの辞書のうちの前記カテゴリ数が少ない方の辞書に基づいて変換されたカテゴリを設定項目とし、前記２つの辞書のうちの前記カテゴリ数が多い方の辞書に基づいて変換されたカテゴリを前記設定項目の設定値とした組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記５３記載の予兆検知装置。
（付記５５）
前記障害を予兆するパターンは、
１又は複数の情報処理装置から障害が発生している第１時期及び前記第１時期より後の前記障害が復旧している第２時期に出力された、メッセージ情報の各々と、１又は複数の情報処理装置の前記第１時期及び前記第２時期の構成情報の各々とを共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応させて生成される付記５０記載の予兆検知装置。
（付記５６）
前記正常を示すパターンは、
１又は複数の情報処理装置から障害が発生していない時期に出力されたメッセージ情報と、１又は複数の情報処理装置の前記時期の構成情報とを共通のフォーマットで記憶した情報に基づいて、生成される付記５１記載の予兆検知装置。
（付記５７）
１又は複数の情報処理装置から障害が発生している第１時期及び前記第１時期より後の前記障害が復旧している第２時期に出力されたメッセージ情報の各々を取得するとともに、１又は複数の情報処理装置の前記第１時期及び前記第２時期の構成情報の各々を取得し、
取得した前記第１時期のメッセージ情報及び前記第２時期のメッセージ情報と前記構成情報とを共通のフォーマットで記憶する変換部と、
前記共通のフォーマットで記憶された情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応する障害の予兆となるパターンを生成するメッセージパターン学習部と、
を含む、予兆パターン生成装置。
（付記５８）
１又は複数の情報処理装置から障害が発生していない時期に出力されたメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記時期の構成情報を取得し、
取得した前記時期のメッセージ情報と前記構成情報とを共通のフォーマットで記憶する変換部と、
前記共通のフォーマットで記憶した情報に基づいて、正常状態のパターンを生成するメッセージパターン学習部と、
を含む、予兆パターン生成装置。
（付記５９）
前記変換部は、２つの異なる抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記５７又は５８記載の予兆パターン生成装置。
（付記６０）
前記変換部は、異なるパラメータを持つ同じ抽象化方法を用いて前記メッセージ情報の２つの抽象化メッセージ情報を求め、前記２つの抽象化メッセージ情報の組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記５７又は５８記載の予兆パターン生成装置。
（付記６１）
前記変換部は、取得した予め定められた期間分のメッセージ情報について、メッセージ情報に対応するカテゴリを格納し、かつ、カテゴリ数が異なる２つの辞書の各々に基づいて、２つのカテゴリに変換し、前記２つの辞書のうちの前記カテゴリ数が少ない方の辞書に基づいて変換されたカテゴリを設定項目とし、前記２つの辞書のうちの前記カテゴリ数が多い方の辞書に基づいて変換されたカテゴリを前記設定項目の設定値とした組み合わせと、取得した前記構成情報とを共通のフォーマットで記憶する付記６０記載の予兆パターン生成装置。
（付記６２）
１又は複数の情報処理装置から出力された時刻を含むメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報に取得時刻を付加した情報を取得し、
取得した、前記時刻を含むメッセージ情報と前記構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶する具象化部と、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする検知部と、
を含む、予兆検知装置。
（付記６３）
前記パターンは障害を予兆するパターンであり、
前記具象化部は、前記所定の障害を予兆するパターンが前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報に含まれるとき、障害予兆の発生を出力する付記６２記載の予兆検知装置。
（付記６４）
前記パターンは正常を示すパターンであり、
前記具象化部は、前記所定の正常を示すパターンが前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報に含まれないとき、障害予兆の発生を出力する付記６２記載の予兆検知装置。
（付記６５）
前記構成情報は設定項目と設定値とを含み、
前記具象化部は、
前記取得された構成情報の前記設定項目のうち、予め定められた設定項目と前記設定項目の前記設定値との組み合わせを前記メッセージ情報の形式に変換して記憶する付記６２〜６４の何れか１項記載の予兆検知装置。
（付記６６）
前記具象化部は、前記メッセージ情報の形式に変換した前記組み合わせを、一定の時間間隔で繰り返して記憶する付記６５記載の予兆検知装置。
（付記６７）
前記障害を予兆するパターンは、
１又は複数の情報処理装置から障害が発生している第１時期に出力された、時刻を含むメッセージ情報と、１又は複数の情報処理装置の前記第１時期及び前記第１時期より後の前記障害が復旧している第２時期の構成情報に取得時刻を付加した情報の各々とを共通のフォーマットで時系列順に記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応させて生成される付記６３記載の予兆検知装置。
（付記６８）
前記正常を示すパターンは、
１又は複数の情報処理装置から障害が発生していない時期に出力された、時刻を含むメッセージ情報と、１又は複数の情報処理装置の前記時期の構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶した情報に基づいて、生成される付記６４記載の予兆検知装置。
（付記６９）
１又は複数の情報処理装置から障害が発生している第１時期に出力された、時刻を含むメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記第１時期及び前記第１時期より後の前記障害が復旧している第２時期の構成情報に取得時効を付加した情報の各々を取得し、
取得した前記第１時期の構成情報と前記第２時期の構成情報とにおいて、前記構成情報の設定値が異なる前記構成情報の設定項目と、前記第１時期の前記構成情報の前記設定項目の設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと、取得したメッセージ情報とを共通のフォーマットで時系列順に記憶する変換部と、
前記共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応する障害の予兆となるパターンを生成するメッセージパターン学習部と、
を含む、予兆パターン生成装置。
（付記７０）
１又は複数の情報処理装置から障害が発生していない時期に出力された、時刻を含むメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記時期の構成情報に取得時刻を付加した情報を取得し、
取得した前記時期の構成情報の設定項目と設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと取得したメッセージ情報とを共通のフォーマットで時系列順に記憶する変換部と、
前記共通のフォーマットで記憶した情報に基づいて、正常状態のパターンを生成するメッセージパターン学習部と、
を含む、予兆パターン生成装置。
（付記７１）
前記変換部は、取得した構成情報において、予め定義された設定項目を取得し、前記取得した設定項目と前記設定項目の設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと取得したメッセージ情報とを共通フォーマットで記憶する付記７０記載の予兆パターン生成装置。
（付記７２）
前記変換部は、前記メッセージ情報の形式に変換した前記組み合わせを、一定の時間間隔で繰り返して記憶する付記６９〜７１の何れか１項記載の予兆パターン生成装置。
（付記７３）
コンピュータに、
１又は複数の情報処理装置から出力されたメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報を取得し、
取得した前記メッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知プログラムを記憶した記録媒体。
（付記７４）
コンピュータに、
１又は複数の情報処理装置から障害が発生している第１時期及び前記第１時期より後の前記障害が復旧している第２時期に出力されたメッセージ情報の各々を取得するとともに、１又は複数の情報処理装置の前記第１時期及び前記第２時期の構成情報の各々を取得し、
取得した前記第１時期のメッセージ情報及び前記第２時期のメッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
前記共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応する障害の予兆となるパターンを生成する
処理を実行させる予兆パターン生成プログラムを記憶した記録媒体。
（付記７５）
コンピュータに、
１又は複数の情報処理装置から障害が発生していない時期に出力されたメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記時期の構成情報を取得し、
取得した前記時期のメッセージ情報と前記構成情報とを共通のフォーマットで記憶し、
前記共通のフォーマットで記憶した情報に基づいて、正常状態のパターンを生成する
処理を実行させる予兆パターン生成プログラムを記憶した記録媒体。
（付記７６）
コンピュータに、
１又は複数の情報処理装置から出力された時刻を含むメッセージ情報を取得するとともに、該１又は複数の情報処理装置の構成情報に取得時刻を付加した情報を取得し、
取得した、前記時刻を含むメッセージ情報と前記構成情報に取得時刻を付加した情報とを共通のフォーマットで時系列順に記憶し、
所定のメッセージ情報と所定の構成情報とを前記共通のフォーマットで記述した所定のパターンと、前記共通のフォーマットで時系列順に記憶した前記メッセージ情報及び前記構成情報との比較に応じた出力をする
処理を実行させる予兆検知プログラムを記憶した記録媒体。
（付記７７）
コンピュータに、
１又は複数の情報処理装置から障害が発生している第１時期に出力された、時刻を含むメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記第１時期及び前記第１時期より後の前記障害が復旧している第２時期の構成情報に取得時効を付加した情報の各々を取得し、
取得した前記第１時期の構成情報と前記第２時期の構成情報とにおいて、前記構成情報の設定値が異なる前記構成情報の設定項目と、前記第１時期の前記構成情報の前記設定項目の設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと、取得したメッセージ情報とを共通のフォーマットで時系列順に記憶し、
前記共通のフォーマットで記憶した情報と、前記第１時期の障害情報とに基づいて、前記障害情報に対応する障害の予兆となるパターンを生成する
処理を実行させる予兆パターン生成プログラムを記憶した記録媒体。
（付記７８）
コンピュータに、
１又は複数の情報処理装置から障害が発生していない時期に出力された、時刻を含むメッセージ情報を取得するとともに、１又は複数の情報処理装置の前記時期の構成情報に取得時刻を付加した情報を取得し、
取得した前記時期の構成情報の設定項目と設定値との組み合わせを前記メッセージ情報の形式に変換し、前記変換した前記組み合わせと取得したメッセージ情報とを共通のフォーマットで時系列順に記憶し、
前記共通のフォーマットで記憶した情報に基づいて、正常状態のパターンを生成する
処理を実行させる予兆パターン生成プログラムを記憶した記録媒体。
【符号の説明】
【０２３９】
１０、４１０、５１０、８１０       予兆検知装置
１２   ネットワーク
１４   処理システム
１６   処理装置
２０、４２０、５２０、８２０       学習部
２１、５２１、８２１ 変換部
２２   ログデータ抽出部
２３   学習用抽象化部
２４   構成情報形式化部
２５、４２５  パターン生成部
２６、４２６  学習データ生成部
２７   特定スコア計算部
２８   抽象化部
２９、４２９  検知部
５０   記憶部
５１   抽象化データ記憶部
５２   抽象化辞書記憶部
５３   障害種別リスト記憶部
５４   カウントデータ記憶部
５５   学習データ記憶部
５６   特定スコア記憶部
２００、６００       コンピュータ
２０２、６０２ ＣＰＵ
２０４、６０４       メモリ
２０６、６０６       記憶装置
３００、７００       予兆検知プログラム
５２２ 構成情報抽出部
５２３ 学習用具象化部
５２４ ログ形式化部
５２５、８２５       メッセージパターン学習部
５２８ 具象化部
５２９、８２９       検知部
５５０ 記憶部
５５１ 具象化記憶部
【図１】
0006451483.tif 000005
【図２】
0006451483.tif 000006
【図３】
0006451483.tif 000007
【図４】
0006451483.tif 000008
【図５】
0006451483.tif 000009
【図６】
0006451483.tif 000010
【図７】
0006451483.tif 000011
【図８】
0006451483.tif 000012
【図９】
0006451483.tif 000013
【図１０】
0006451483.tif 000014
【図１１】
0006451483.tif 000015
【図１２】
0006451483.tif 000016
【図１３】
0006451483.tif 000017
【図１４】
0006451483.tif 000018
【図１５】
0006451483.tif 000019
【図１６】
0006451483.tif 000020
【図１７】
0006451483.tif 000021
【図１８】
0006451483.tif 000022
【図１９】
0006451483.tif 000023
【図２０】
0006451483.tif 000024
【図２１】
0006451483.tif 000025
【図２２】
0006451483.tif 000026
【図２３】
0006451483.tif 000027
【図２４】
0006451483.tif 000028
【図２５】
0006451483.tif 000029
【図２６】
0006451483.tif 000030
【図２７】
0006451483.tif 000031
【図２８】
0006451483.tif 000032
【図２９】
0006451483.tif 000033
【図３０】
0006451483.tif 000034
【図３１】
0006451483.tif 000035
【図３２】
0006451483.tif 000036
【図３３】
0006451483.tif 000037
【図３４】
0006451483.tif 000038
【図３５】
0006451483.tif 000039
【図３６】
0006451483.tif 000040
【図３７】
0006451483.tif 000041
【図３８】
0006451483.tif 000042
【図３９】
0006451483.tif 000043
【図４０】
0006451483.tif 000044
【図４１】
0006451483.tif 000045
【図４２】
0006451483.tif 000046
【図４３】
0006451483.tif 000047
【図４４】
0006451483.tif 000048
【図４５】
0006451483.tif 000049
【図４６】
0006451483.tif 000050
【図４７】
0006451483.tif 000051
【図４８】
0006451483.tif 000052
【図４９】
0006451483.tif 000053
【図５０】
0006451483.tif 000054