(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続される監視対象装置の障害の分類と、前記分類に該当する障害への対処方法とが対応付けられたマニュアルであって、前記障害の分類が異なる場合であっても同一の対処方法が対応付けられている組み合わせを含むマニュアルを記憶するマニュアル記憶部と、
前記監視対象装置の障害に関する障害情報と、当該障害情報が該当する障害の分類とが対応付けられた履歴情報を蓄積する履歴蓄積部と、
前記履歴蓄積部に蓄積された各履歴情報に含まれる障害情報を構成する各障害メッセージに含まれる単語の全種類を抽出し、その種類の総数をベクトルの次元数と決定し、単語の各種類をベクトルの各成分に割りあて、各成分に割り当てられた単語が障害情報に含まれるか否かによって、ベクトルの各成分の値を導出するという手順を、各障害情報をベクトルで表現されるデータ形式へ変換する手順として決定する決定部と、
前記決定部によって決定された手順にしたがって前記履歴蓄積部に蓄積された履歴情報に含まれる障害情報をベクトル表現のデータ形式の障害情報へ変換する第１の変換部と、
前記障害情報と前記対処方法とを学習データとするのではなく、前記第１の変換部によって変換された前記ベクトル表現のデータ形式の障害情報と当該障害情報に対応付けられた分類とを学習データとし、ベクトル表現のデータ形式で入力される障害情報から前記障害の分類を判定する判定処理に適用する判定モデルを生成する生成部と、
前記監視対象装置の状態を監視する監視部と、
前記決定部によって決定された手順にしたがって前記監視部によって障害発生時に生成された障害情報をベクトル表現のデータ形式へ変換する第２の変換部と、
前記生成部によって生成された判定モデルを用いて、前記第２の変換部によってベクトル表現のデータ形式へ変換された障害情報から障害の分類を判定する判定部と、
前記マニュアル記憶部に記憶されたマニュアルのうち前記判定部によって判定された障害の分類に対応付けられたマニュアルから対処方法を抽出する抽出部と
を有することを特徴とする監視装置。
【請求項２】
前記マニュアル記憶部は、前記マニュアルを識別するマニュアル識別情報および前記障害の分類を識別する障害分類識別情報が対応付けられた障害分類情報と、前記マニュアル識別情報および前記対処方法が対応付けられた対処情報とを含むマニュアルを記憶し、
前記抽出部は、前記マニュアル記憶部に記憶された障害分類情報を参照し、前記判定部によって判定された障害の分類が示す障害分類識別情報に対応するマニュアル識別情報を特定した上で前記マニュアル記憶部に記憶された対処情報を参照し、当該マニュアル識別情報に対応する対処方法を抽出することを特徴とする請求項１に記載の監視装置。
【請求項３】
前記障害情報と、前記障害分類識別情報と、前記障害への対処方法とを含む履歴情報を取得する取得部をさらに有し、
前記取得部によって取得された履歴情報に含まれる障害への対処方法が前記マニュアル記憶部に登録されていない場合に新規のマニュアル識別情報を生成し、前記マニュアル記憶部に記憶された障害分類情報に前記新規のマニュアル識別情報および当該履歴情報に含まれる障害分類識別情報を追加するとともに、前記マニュアル記憶部に記憶された対処情報に前記新規のマニュアル識別情報および当該履歴情報に含まれる対処方法を追加する追加部をさらに有することを特徴とする請求項２に記載の監視装置。
【請求項４】
監視装置で実行される監視方法であって、
ネットワークを介して接続される監視対象装置の障害に関する障害情報と、当該障害情報が該当する障害の分類とが対応付けられた履歴情報を蓄積する履歴蓄積部を参照し、各履歴情報に含まれる障害情報を構成する各障害メッセージに含まれる単語の全種類を抽出し、その種類の総数をベクトルの次元数と決定し、単語の各種類をベクトルの各成分に割りあて、各成分に割り当てられた単語が障害情報に含まれるか否かによって、ベクトルの各成分の値を導出するという手順を、各障害情報をベクトルで表現されるデータ形式へ変換する手順として決定する決定工程と、
前記決定工程によって決定された手順にしたがって前記履歴蓄積部に蓄積された履歴情報に含まれる障害情報をベクトル表現のデータ形式の障害情報へ変換する第１の変換工程と、
前記障害情報と対処方法とを学習データとするのではなく、前記第１の変換工程によって変換された前記ベクトル表現のデータ形式の障害情報と当該障害情報に対応付けられた分類とを学習データとし、ベクトル表現のデータ形式で入力される障害情報から前記障害の分類を判定する判定処理に適用する判定モデルを生成する生成工程と、
前記監視対象装置の状態を監視する監視工程と、
前記決定工程によって決定された手順にしたがって前記監視工程によって障害発生時に生成された障害情報をベクトル表現のデータ形式へ変換する第２の変換工程と、
前記生成工程によって生成された判定モデルを用いて、前記第２の変換工程によってベクトル表現のデータ形式へ変換された障害情報から障害の分類を判定する判定工程と、
前記監視対象装置の障害の分類と、前記分類に該当する障害への対処方法とが対応付けられたマニュアルであって、前記障害の分類が異なる場合であっても同一の対処方法が対応付けられている組み合わせを含むマニュアルを記憶するマニュアル記憶部を参照し、前記判定工程によって判定された障害の分類に対応付けられたマニュアルから対処方法を抽出する抽出工程と
を含んだことを特徴とする監視方法。
【請求項５】
ネットワークを介して接続される監視対象装置の障害に関する障害情報と、当該障害情報が該当する障害の分類とが対応付けられた履歴情報を蓄積する履歴蓄積部を参照し、各履歴情報に含まれる障害情報を構成する各障害メッセージに含まれる単語の全種類を抽出し、その種類の総数をベクトルの次元数と決定し、単語の各種類をベクトルの各成分に割りあて、各成分に割り当てられた単語が障害情報に含まれるか否かによって、ベクトルの各成分の値を導出するという手順を、各障害情報をベクトルで表現されるデータ形式へ変換する手順として決定する決定ステップと、
前記決定ステップによって決定された手順にしたがって前記履歴蓄積部に蓄積された履歴情報に含まれる障害情報をベクトル表現のデータ形式の障害情報へ変換する第１の変換ステップと、
前記障害情報と対処方法とを学習データとするのではなく、前記第１の変換ステップによって変換された前記ベクトル表現のデータ形式の障害情報と当該障害情報に対応付けられた分類とを学習データとし、ベクトル表現のデータ形式で入力される障害情報から前記障害の分類を判定する判定処理に適用する判定モデルを生成する生成ステップと、
前記監視対象装置の状態を監視する監視ステップと、
前記決定ステップによって決定された手順にしたがって前記監視ステップによって障害発生時に生成された障害情報をベクトル表現のデータ形式へ変換する第２の変換ステップと、
前記生成ステップによって生成された判定モデルを用いて、前記第２の変換ステップによってベクトル表現のデータ形式へ変換された障害情報から障害の分類を判定する判定ステップと、
前記監視対象装置の障害の分類と、前記分類に該当する障害への対処方法とが対応付けられたマニュアルであって、前記障害の分類が異なる場合であっても同一の対処方法が対応付けられている組み合わせを含むマニュアルを記憶するマニュアル記憶部を参照し、前記判定ステップによって判定された障害の分類に対応付けられたマニュアルから対処方法を抽出する抽出ステップと
をコンピュータに実行させるための監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、監視装置、監視方法及び監視プログラムに関する。
【背景技術】
【０００２】
クラウドに代表されるサーバの仮想化技術によって装置の集約化や規模の増大が進んでいる。これに伴って、ＩＴリソースが有効活用される一方でシステムの運用管理が煩雑化している。このため、システムの保守者は、幅広いハードウェアやソフトウェアに関する障害に対し、多岐にわたる対処の中から適切な対処を選択せねばならない。
【０００３】
かかるシステムの運用管理を支援する技術の一例として、障害と対処を予め対応付けておくことによって障害の内容から対処を特定する技術が挙げられる。これによって、保守者によるマニュアル検索そのものを不要化することを目指す。他の一例として、障害の内容を用いてマニュアルを自動的に検索する技術が挙げられる。これによって、保守者によるマニュアル検索の手間を軽減することを目指す。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Jan  Goyvaerts,  "Regular-Expressions.info",  ［online］，［平成２４年５月３０日検索］，インターネット＜http://www.regular-expressions.info/index.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、以下に説明するように、事前設定なしにマニュアル検索の手間を削減することができないという問題がある。
【０００６】
例えば、前者の技術の場合には、事前に障害と対処を対応付ける設定を行うために多大な労力が必要となる。すなわち、システムの監視対象に障害が発生した場合には、障害の内容が記述されたメッセージが生成されるが、かかるメッセージには、障害を識別可能なキーワード等のエッセンス以外にも障害の識別に無関係な日時などの情報も含まれる。このようなメッセージの中から対処と対応付けるエッセンスを抽出するには、設定者に知識や経験が要求される上、想定されるメッセージごとにそのメッセージに相応しい対処を対応付ける労力が必要となる。
【０００７】
また、後者の技術の場合には、検索によって対処が１つに絞り込まれるとは限らないので、検索結果が多数ある場合にマニュアルを改めて検索し直す手間が生じる場合がある。さらに、後者の技術の場合には、障害のメッセージに含まれているキーワード等のキー情報がマニュアルにも含まれていなければ検索をヒットさせることができず、自動検索を適応できる場面にも制約がある。
【０００８】
そこで、本発明の実施形態は、上記に鑑みてなされたものであって、事前設定なしにマニュアル検索の手間を削減できる監視装置、監視方法及び監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施形態に係る監視装置は、ネットワークを介して接続される監視対象装置の障害の分類と、前記分類に該当する障害への対処方法とが対応付けられたマニュアルを記憶するマニュアル記憶部と、前記監視対象装置の障害に関する障害情報と、当該障害情報が該当する障害の分類とが対応付けられた履歴情報を蓄積する履歴蓄積部と、前記履歴蓄積部に蓄積された各履歴情報に含まれる障害情報を構成する要素を用いて、各障害情報をベクトルで表現されるデータ形式へ変換する手順を決定する決定部と、前記決定部によって決定された手順にしたがって前記履歴蓄積部に蓄積された履歴情報に含まれる障害情報をベクトル表現のデータ形式の障害情報へ変換する第１の変換部と、前記第１の変換部によって変換された前記ベクトル表現のデータ形式の障害情報と当該障害情報に対応付けられた分類とを学習データとし、ベクトル表現のデータ形式で入力される障害情報から前記障害の分類を判定する判定処理に適用する判定モデルを生成する生成部と、前記監視対象装置の状態を監視する監視部と、前記決定部によって決定された手順にしたがって前記監視部によって障害発生時に生成された障害情報をベクトル表現のデータ形式へ変換する第２の変換部と、前記生成部によって生成された判定モデルを用いて、前記第２の変換部によってベクトル表現のデータ形式へ変換された障害情報から障害の分類を判定する判定部と、前記マニュアル記憶部に記憶されたマニュアルのうち前記判定部によって判定された障害の分類に対応付けられたマニュアルから対処方法を抽出する抽出部とを有する。
【発明の効果】
【００１０】
実施形態に係る監視装置の一つの態様によれば、事前設定なしにマニュアル検索の手間を削減できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施形態に係る監視サーバを含む監視システムの構成を示す図である。
【図２】図２は、障害分類情報の構成例を示す図である。
【図３】図３は、対処情報の構成例を示す図である。
【図４】図４は、監視端末に表示される履歴入力画面の一例を示す図である。
【図５】図５は、障害情報の変換方法の一例を示す図である。
【図６】図６は、第１の実施形態に係る判定モデルの生成処理の手順を示すフローチャートである。
【図７】図７は、第１の実施形態に係る障害監視処理の手順を示すフローチャートである。
【図８】図８は、第２の実施形態に係る監視プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明の実施形態に係る監視装置、監視方法及び監視プログラムを図面に基づいて詳細に説明する。なお、この実施形態は本発明を限定するものではない。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１３】
［第１の実施形態］
［監視システム１の構成］
図１は、第１の実施形態に係る監視サーバを含む監視システムの構成を示す図である。図１に示す監視システム１には、監視サーバ１０と、監視対象装置３０Ａ及び３０Ｂと、監視端末５０とが収容される。なお、図１の例では、２つの監視対象装置、１つの監視端末をそれぞれ図示したが、本システムは図示の構成に限定されず、監視システム１は任意の数の監視対象装置および監視端末を収容できる。以下では、監視対象装置３０Ａ及び３０Ｂを区別なく総称する場合には「監視対象装置３０」と呼ぶこととする。
【００１４】
これら監視対象装置３０、監視端末５０及び監視サーバ１０の間は、図示しないネットワークを介して相互に通信可能に接続される。また、監視対象装置３０及び監視サーバ１０間と、監視端末５０及び監視サーバ１０間とは、各々が異なる種類の通信網によって接続されることとしてもかまわない。なお、上記のネットワークには、有線または無線を問わず、インターネット（Internet）、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。
【００１５】
このうち、監視対象装置３０は、監視サーバ１０によってリソースの状態を監視する対象とされる装置である。監視対象装置３０の一例としては、Ｗｅｂサービスを提供するＷｅｂサーバやＤＢＭＳ（DataBase  Management  System）等を搭載するデータベースサーバなどのサーバ装置が挙げられる。これらＷｅｂサーバやデータベースサーバとしての機能はオンプレミスで実装することもできるし、また、クラウドとして実装することもできる。
【００１６】
監視端末５０は、監視対象装置３０の保守者によって使用される端末装置である。かかる監視端末５０の一例としては、パーソナルコンピュータ（ＰＣ：Personal  Computer）を始めとする固定端末の他、携帯電話機、ＰＨＳ（Personal  Handyphone  System）やＰＤＡ（Personal  Digital  Assistants）などの移動体端末も採用できる。
【００１７】
［監視サーバ１０の構成］
監視サーバ１０は、監視対象装置３０の状態を監視し、障害発生時に障害に関する障害情報を監視端末５０へ通知するサーバ装置である。図１に示すように、監視サーバ１０は、監視部１１と、出力部１２と、マニュアル記憶部１３と、検索部１４と、取得部１５ａと、履歴蓄積部１５ｂと、変換手順決定部１６ａと、変換手順記憶部１６ｂと、第１の変換部１７ａと、モデル生成部１８ａと、第２の変換部１７ｂと、判定部１８ｂと、抽出部１９とを有する。なお、監視サーバ１０は、図１に示した機能部以外にも既知のサーバ装置が有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００１８】
このうち、監視部１１は、監視対象装置３０の状態を監視する処理部である。具体的には、監視部１１は、ＳＮＭＰ（Simple  Network  Management  Protocol）にしたがって監視対象装置３０上で動作するアプリケーションのログや通信のログなどを監視情報として採取する。そして、監視部１１は、監視対象装置３０から採取した監視情報を用いて、監視対象装置３０に障害が発生しているか否かを判定する。このとき、監視部１１は、監視対象装置３０に障害が発生している場合には、アプリケーションのログや通信のログから障害情報を生成する。その上で、監視部１１は、上述のように生成した障害情報を出力部１２及び第２の変換部１７ｂへ出力する。
【００１９】
出力部１２は、監視端末５０に対する情報の出力を制御する処理部である。具体的には、出力部１２は、監視部１１によって障害情報が生成された場合に、障害情報及び障害の分類の対応付けに関する学習が一定の学習度に達したか否かを判定する。すなわち、一定の学習度に達していない場合には、モデル生成部１８ａによって生成される判定モデルを用いて、障害情報からその障害の分類を判定部１８ｂに判定させたとしても、正答を得ることができるとは限らない。このため、出力部１２は、例えば、モデル生成部１８ａによって判定モデルの生成に用いられた学習データのサンプル数、すなわち監視端末５０から取得された障害対処の履歴情報の数が所定の閾値以上であるか否かによって一定の学習度に達したか否かを判定する。そして、出力部１２は、一定の学習度に達している場合には、障害情報とともに抽出部１９によって出力される障害の分類や対処方法を併せて監視端末５０へ出力し、一定の学習度に達していない場合には、障害情報を監視端末５０へ出力する。また、出力部１２は、検索部１４によってマニュアルの検索が実行された場合に、その検索結果を監視端末５０へ出力する。
【００２０】
マニュアル記憶部１３は、監視対象装置３０の障害と当該障害への対処とを含むマニュアルを記憶する記憶部である。かかるマニュアル記憶部１３は、障害分類番号、障害の分類及びマニュアル番号が対応付けられた障害分類情報と、マニュアル番号及び対処方法が対応付けられた対処情報とを記憶する。なお、上記の「障害分類番号」は、監視対象装置３０で発生する障害の分類を識別する番号を指し、また、「マニュアル番号」は、マニュアルを識別する番号を指す。
【００２１】
図２は、障害分類情報の構成例を示す図である。図３は、対処情報の構成例を示す図である。図２に示すように、ＣＰＵ関連のエラー「001」、ＭＥＭＯＲＹ関連のエラー「002」及びＷＥＢアプリ関連のエラー「005」に分類される障害がいずれもマニュアル番号「ａ」に対応し、図３に示すように、マニュアル番号「ａ」にはＰＣリブートが対応付けられている。これは、ＣＰＵ関連のエラー「001」、ＭＥＭＯＲＹ関連のエラー「002」及びＷＥＢアプリ関連のエラー「005」に分類される障害への対処方法がいずれも共通し、コンピュータを再起動することによって対処すべき旨が定められていることを意味する。また、図２に示すように、ＤＢ関連のエラー「003」に分類される障害がマニュアル番号「ｂ」に対応し、図３に示すように、マニュアル番号「ｂ」にＤＢリブートが対応付けられている。これは、ＤＢ関連のエラーにはデータベースを再起動することによって対処すべき旨が定められていることを意味する。また、図２に示すように、ＨＴＴＰ関連のエラー「004」に分類される障害がマニュアル番号「ｃ」に対応し、図３に示すように、マニュアル番号「ｃ」にＮＷリブートが対応付けられている。これは、ＨＴＴＰ関連のエラーにはネットワークを再起動することによって対処すべき旨が定められていることを意味する。
【００２２】
ここで、上記の図２の例では、障害分類情報として障害分類番号および障害の分類を記憶させる場合を例示したが、監視端末５０によるキーワード検索にも対応する観点から、実際に生成された障害情報を構成する要素、例えば障害メッセージもしくは障害メッセージから抽出されたキーワード等が併せて記憶されることとする。なお、図２及び図３の例では、マニュアルに含まれる障害分類情報および対処情報の各々を別のテーブルとして構成する場合を例示したが、これら障害分類情報および対処情報を１つのテーブルとして構成することもできる。
【００２３】
検索部１４は、マニュアル記憶部１３を用いて、監視端末５０からのキー情報の指定をもとに当該キー情報に対応するマニュアルを検索する処理部である。具体的には、検索部１４は、監視端末５０からキーワード等のキー情報の指定を含む検索要求を受け付ける。すると、検索部１４は、マニュアル記憶部１３に記憶されたマニュアルのうち、当該検索要求で指定されたキーワードと部分一致または完全一致する障害メッセージもしくは障害メッセージから抽出されたキーワードを含むマニュアルを検索する。この結果、検索部１４は、検索がヒットした場合には、検索がヒットしたマニュアルを検索結果として出力部１２へ出力する。
【００２４】
取得部１５ａは、監視端末５０から障害対処の履歴情報を取得する処理部である。具体的には、取得部１５ａは、監視端末５０へ障害情報が通知された場合に、マニュアルの検索が実行されているか否かを判定する。このとき、取得部１５ａは、マニュアルの検索が実行されている場合には、マニュアルの検索結果のうち対処が選択されたマニュアルを選択可能な履歴入力画面を監視端末５０へ出力する。そして、取得部１５ａは、監視端末５０上に表示された履歴入力画面を介して入力された履歴情報、例えば障害情報が該当する障害の分類とともに出力部１２によって出力された障害情報を取得する。一方、マニュアルの検索が実行されずに対処が実行された場合には、出力部１２によって出力された障害情報、障害の分類および障害への対処方法がそのまま履歴情報として監視サーバ１０へ返信される。このとき、監視端末５０から障害情報、障害の分類および障害への対処方法の返信を受け付ける代わりに障害対処の完了通知を受け付け、かかる完了通知を受け付けた場合に、出力部１２によって監視端末５０へ出力された障害情報、障害の分類および障害への対処方法を履歴情報として取得することもできる。このように履歴情報を取得した後に、取得部１５ａは、監視端末５０から取得した障害情報および障害の分類を含む履歴情報を履歴蓄積部１５ｂへ格納する。
【００２５】
図４は、監視端末５０に表示される履歴入力画面の一例を示す図である。図４に示すように、履歴入力画面２００には、障害分類番号「001」〜「005」の５つの分類の障害とその対処方法とが対応付けられたマニュアルが表示されている。例えば、５つのマニュアルの左側にレイアウトされたラジオボタンのうち障害分類番号「004」のＷＥＢアプリ関連のエラーに関するマニュアルが選択された状態で実行ボタン２００Ａが押下されると、出力部１２によって履歴入力画面２００とは別途通知された障害情報と、履歴入力画面２００を介して入力された障害分類番号「004」とが対応付けられた履歴情報が監視端末５０から監視サーバ１０へ送信される。これによって、取得部１５ａは、障害情報と障害の分類との対応付けを取得することができる。
【００２６】
履歴蓄積部１５ｂは、障害対処の履歴情報を蓄積する記憶部である。一例として、履歴蓄積部１５ｂには、取得部１５ａによって履歴情報が取得される度に、当該履歴情報が追加登録される。他の一例として、履歴蓄積部１５ｂは、障害情報を構成する要素、例えば障害メッセージからその障害情報の分類を判定するための判定モデルを生成するために、変換手順決定部１６ａによって参照される。
【００２７】
変換手順決定部１６ａは、履歴蓄積部１５ｂを参照し、各履歴情報の障害情報を構成する要素を用いて、各障害情報をベクトルで表現されるデータ形式へ変換する手順を決定する処理部である。
【００２８】
具体的に説明すると、変換手順決定部１６ａは、前回に障害情報及び障害の分類の対応付けに関する学習が実行されてから新規に登録された履歴情報が所定の閾値以上になった場合に処理を起動する。すなわち、変換手順決定部１６ａは、新規の履歴情報が閾値以上になった場合に、履歴蓄積部１５ｂに蓄積された全ての履歴情報を読み出す。このように、履歴情報から生成される学習データが前回の学習時と大差がない場合に処理の起動を抑制するのは、高頻度に学習が実行されることによって監視サーバ１０の処理負荷が増大するのを抑制するためである。なお、ここでは、新規の履歴情報が閾値以上になった場合に処理を起動する場合を例示したが、新規の履歴情報が追加される度に処理を起動することとしてもよいし、また、バッチ処理で処理を起動することとしてもかまわない。
【００２９】
続いて、変換手順決定部１６ａは、各履歴情報の障害情報を構成する要素、例えば障害メッセージに含まれる単語の種類数からベクトルの次元数を決定した上で当該ベクトルの各成分に単語を割り当てる。例えば、変換手順決定部１６ａは、先に読み出した各障害情報を構成する要素のうち障害メッセージに含まれる全単語を形態素解析等を実行することによって探索し、各障害メッセージ間で重複しない単語を抽出する。その後、変換手順決定部１６ａは、各障害メッセージ間で重複しない単語の総数をベクトルの次元数と決定する。続いて、変換手順決定部１６ａは、各障害メッセージ間で重複しない単語をベクトルの各成分へ順番に割り当てる。その上で、変換手順決定部１６ａは、各成分に割り当てられた単語が障害メッセージに含まれるか否かによってベクトルの各成分の値を導出する手順を定義する。以下では、ベクトルで表現されるデータ形式へ変換する手順のことを「変換手順」と呼ぶとともに、ベクトル表現のデータ形式へ変換する処理のことを「ベクトル化」と呼ぶ場合がある。その後、変換手順決定部１６ａは、上述のようにして定義された変換手順を変換手順記憶部１６ｂへ保存する。
【００３０】
なお、本実施形態では、障害情報をベクトルで表現されるデータ形式へ変換するにあたって障害情報を構成する要素のうち障害メッセージを用いて変換手順を定義する場合を例示するが、他の要素、例えば監視対象装置３０のホスト名、監視方法、監視種別、ＯＳ、サーバ種別、日時、搭載システム名、監視ポート番号などを用いて変換手順を定義してもよいし、また、障害メッセージ及び他の要素を組み合わせて変換手順を定義することもできる。また、ここでは、各障害メッセージに含まれる全単語のうち重複しない単語をベクトルの成分に割り当てる場合を例示したが、必ずしも各障害メッセージ間で重複しない単語を全て割り当てる必要はない。例えば、障害メッセージに含まれる単語のうち出現頻度が上位から所定の順位までの単語に限ってベクトルの成分への割り当て対象とすることもできる。これによって、日付やＷｅｂサービスの内容などの障害の分類を識別するにあたってノイズとなる単語を割り当てから除外できる結果、障害メッセージおよび障害の分類の対応付けに関する学習精度を高めることができる。
【００３１】
変換手順記憶部１６ｂは、障害情報をベクトルで表現されるデータ形式へ変換する手順を記憶する記憶部である。一例として、変換手順記憶部１６ｂには、変換手順決定部１６ａによって変換手順が決定された場合に、当該変換手順が更新登録される。他の一例として、変換手順記憶部１６ｂは、履歴情報に含まれる障害情報をベクトル表現のデータ形式へ変換する場合に、第１の変換部１７ａによって参照される。更なる一例として、変換手順記憶部１６ｂは、監視部１１によって生成された障害情報をベクトル表現のデータ形式へ変換する場合に、第２の変換部１７ｂによって参照される。
【００３２】
第１の変換部１７ａは、変換手順記憶部１６ｂに記憶された変換手順にしたがって履歴蓄積部１５ｂに蓄積された履歴情報に含まれる障害情報をベクトル表現のデータ形式の障害情報へ変換する処理部である。
【００３３】
図５は、障害情報の変換方法の一例を示す図である。図５の上段には、３つの履歴情報を図示し、図５の中段には、変換手順の一例を図示し、図５の下段には、ベクトル表現のデータ形式へ変換後の障害情報を図示している。なお、図５の例では、説明の便宜上、３つの履歴情報の障害メッセージに含まれる単語を用いて変換手順を決定する場合を例示するが、変換手順の決定に使用される履歴情報の数は任意の数であってかまわない。
【００３４】
図５の上段に示すように、履歴蓄積部１５ｂから履歴１〜履歴３の３つの履歴情報が読み出されたとしたとき、各履歴情報に含まれる障害情報を構成する各障害メッセージに含まれる全単語を探索し、各障害メッセージ間で重複しない単語を抽出する。図５の例で言えば、全９語のうち「error」及び「apache」の２つが障害メッセージ間で重複するので、「postgres」、「error」、「xxxx」、「apache」、「yyyy」、「warning」及び「zzzz」の７つが抽出される。このように、各障害メッセージ間で重複しない単語の総数が７つであるので、ベクトルの次元数が「７」と決定される。続いて、ベクトルの成分１〜成分７に「postgres」、「error」、「xxxx」、「apache」、「yyyy」、「warning」、「zzzz」が順次割り当てられる。その上で、ベクトルの成分１〜成分７に割り当てられた単語が障害メッセージに含まれるか否かによってベクトルの各成分の値を導出する手順が定義される。例えば、ベクトルの成分１の例で言えば、障害メッセージに「postgres」が存在する場合に値「１」を付与し、障害メッセージに「postgres」が存在しない場合に値「０」を付与するという手順が定義される。このようにして障害メッセージをベクトル表現のデータ形式へ変換する変換手順が定義される。
【００３５】
このような変換手順が定義された状況の下、履歴１〜履歴３の履歴情報の障害情報がベクトル化される。例えば、履歴１の場合には、障害情報を構成する障害メッセージが「postgres  error  xxxx」であるので、ベクトルの成分１〜成分３には値「１」が付与されるとともに、ベクトルの成分４〜成分７には値「０」が付与される。この結果、履歴１の変換後の障害情報（１，１，１，０，０，０，０）が得られる。また、履歴２の場合には、障害情報を構成する障害メッセージが「apache  error  yyyy」であるので、ベクトルの成分２、成分４及び成分５には値「１」が付与されるとともに、それ以外のベクトルの成分には値「０」が付与される。この結果、履歴２の変換後の障害情報（０，１，０，１，１，０，０）が得られる。また、履歴３の場合には、障害情報を構成する障害メッセージが「apache  warning  zzzz」であるので、ベクトルの成分４、成分６及び成分７には値「１」が付与されるとともに、それ以外のベクトルの成分には値「０」が付与される。この結果、履歴３の変換後の障害情報（０，０，０，１，０，１，１）が得られる。これら変換後の障害情報と障害分類番号との対応付けが判定モデルの生成時に学習データとして用いられる。
【００３６】
モデル生成部１８ａは、ベクトル表現のデータ形式で入力される障害情報から障害の分類を判定する判定処理に適用する判定モデルを生成する処理部である。一態様としては、モデル生成部１８ａは、第１の変換部１７ａによって変換されたベクトル表現のデータ形式の障害情報と当該障害情報に対応付けられた障害の分類とを学習データとし、サポートベクトルマシンやｋ近傍法などの各種の機械学習アルゴリズムによって実現される判定器に適用する判定モデルを生成する。
【００３７】
第２の変換部１７ｂは、変換手順記憶部１６ｂに記憶された変換手順にしたがって監視部１１によって障害発生時に生成された障害情報をベクトル表現のデータ形式の障害情報へ変換する処理部である。かかる第２の変換部１７ｂは、変換対象とする障害情報が履歴情報に含まれるものではなく、監視部１１によって生成されたものであることを除けば第１の変換部１７ａと同様の処理を実行する。
【００３８】
判定部１８ｂは、モデル生成部１８ａによって生成された判定モデルを用いて、第２の変換部１７ｂによって変換されたベクトル表現のデータ形式の障害情報から障害の分類を判定する処理部である。一態様としては、判定部１８ｂは、モデル生成部１８ａによって新たな判定モデルが生成される度に、障害情報の入力に応答して当該障害情報が該当する障害の分類の出力を返す判定器を再作成する。その上で、判定部１８ｂは、第２の変換部１７ｂによってベクトル表現のデータ形式の障害情報が入力されると、判定器によって判定された障害の分類を出力部１２へ出力する。このとき、判定部１８ｂは、障害の分類とともに障害情報が当該障害の分類に該当する尤度を出力する判定器を作成している場合には、尤度が所定の閾値以上である場合に限って障害の分類を出力することとしてもかまわない。
【００３９】
抽出部１９は、マニュアル記憶部１３に記憶されたマニュアルのうち判定部１８ｂによって判定された障害の分類に対応付けられたマニュアルから対処方法を抽出する処理部である。具体的には、抽出部１９は、判定部１８ｂによって障害の分類が判定されると、マニュアル記憶部１３に記憶された障害分類情報のうち当該障害の分類が対応付けられたマニュアル番号を抽出する。そして、抽出部１９は、マニュアル記憶部１３に記憶された対処情報のうち当該マニュアル番号に対応付けられた対処方法を抽出する。その上で、抽出部１９は、障害の分類および対処方法を出力部１２へ出力する。
【００４０】
なお、図１に示した監視部１１、出力部１２、検索部１４、取得部１５ａ、変換手順決定部１６ａ、第１の変換部１７ａ、第２の変換部１７ｂ、モデル生成部１８ａ、判定部１８ｂ及び抽出部１９などの各種の機能部には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００４１】
また、図１に示したマニュアル記憶部１３、履歴蓄積部１５ｂ及び変換手順記憶部１６ｂなどの各種の記憶部には、次のようなデバイスを採用できる。例えば、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などの半導体メモリ素子を採用できる。また、ハードディスク、光ディスクなどの記憶装置も採用できる。
【００４２】
［処理の流れ］
続いて、本実施形態に係る監視サーバ１０の処理の流れについて説明する。なお、ここでは、監視サーバ１０によって実行される（１）判定モデルの生成処理を説明した後に（２）障害監視処理を説明することとする。
【００４３】
（１）判定モデルの生成処理
図６は、第１の実施形態に係る判定モデルの生成処理の手順を示すフローチャートである。この生成処理は、監視サーバ１０の電源がＯＮ状態である限り、繰り返し実行される処理である。
【００４４】
図６に示すように、監視端末５０から障害対処の履歴情報が取得されると（ステップＳ１０１，Ｙｅｓ）、監視サーバ１０は、監視端末５０から取得した障害情報および障害の分類を含む履歴情報を履歴蓄積部１５ｂへ格納する（ステップＳ１０２）。
【００４５】
続いて、前回に障害情報及び障害の分類の対応付けに関する学習を実行されてから新規に登録された履歴情報が所定の閾値以上になるまで（ステップＳ１０３，Ｎｏ）、監視サーバ１０は、上記のステップＳ１０１〜ステップＳ１０２の処理を繰り返し実行する。
【００４６】
このとき、前回に障害情報及び障害の分類の対応付けに関する学習を実行されてから新規に登録された履歴情報が所定の閾値以上になった場合（ステップＳ１０３，Ｙｅｓ）には、監視サーバ１０は、履歴蓄積部１５ｂに蓄積された全ての履歴情報を読み出す（ステップＳ１０４）。
【００４７】
続いて、監視サーバ１０は、各履歴情報に含まれる障害情報を構成する障害メッセージに含まれる単語を用いて、各障害情報をベクトルで表現されるデータ形式へ変換する変換手順を決定する（ステップＳ１０５）。
【００４８】
そして、監視サーバ１０は、ステップＳ１０５で決定された変換手順にしたがって履歴蓄積部１５ｂに蓄積された履歴情報に含まれる障害情報をベクトル表現のデータ形式の障害情報へ変換する（ステップＳ１０６）。
【００４９】
その上で、監視サーバ１０は、ステップＳ１０６で変換されたベクトル表現のデータ形式の障害情報と当該障害情報に対応付けられた障害の分類とを学習データとし、サポートベクトルマシンやｋ近傍法などの各種の機械学習アルゴリズムによって実現される判定器に適用する判定モデルを生成する（ステップＳ１０７）。
【００５０】
その後、監視サーバ１０は、ステップＳ１０５で決定された変換手順を変換手順記憶部１６ｂへ保存し（ステップＳ１０８）、上記のステップＳ１０１の処理へ移行する。
【００５１】
なお、図６に示すフローチャートでは、変換手順記憶部１６ｂへの変換手順の登録をステップＳ１０８で実行する場合を例示したが、本発明はこれに限定されず、変換手順が決定されたＳ１０５よりも後であれば任意のタイミングで変換手順記憶部１６ｂへの変換手順の登録を実行することができる。
【００５２】
（２）障害監視処理
図７は、第１の実施形態に係る障害監視処理の手順を示すフローチャートである。この処理は、監視対象装置３０における障害の発生が検知された場合に処理が起動する。
【００５３】
図７に示すように、監視サーバ１０は、障害情報が生成されると（ステップＳ３０１）、変換手順記憶部１６ｂに記憶された変換手順にしたがって障害情報をベクトル表現のデータ形式の障害情報へ変換する（ステップＳ３０２）。
【００５４】
続いて、監視サーバ１０は、判定モデルを用いて、ステップＳ３０２で変換されたベクトル表現のデータ形式の障害情報から障害の分類を判定する（ステップＳ３０３）。そして、監視サーバ１０は、マニュアル記憶部１３に記憶された障害分類情報のうち当該障害の分類が対応付けられたマニュアル番号を特定する（ステップＳ３０４）。
【００５５】
そして、監視サーバ１０は、マニュアル記憶部１３に記憶された対処情報のうち当該マニュアル番号に対応付けられた対処方法を抽出する（ステップＳ３０５）。その上で、監視サーバ１０は、障害情報、障害の分類および対処方法を監視端末５０へ出力し（ステップＳ３０６）、処理を終了する。
【００５６】
［実施例１の効果］
上述してきたように、本実施形態に係る監視サーバ１０は、監視端末５０から取得された履歴情報を用いて、ベクトル表現のデータ形式へ変換後の障害情報と障害の分類の対応付けを機械学習することによって判定モデルを生成し、監視対象装置３０で障害が発生した場合には、当該判定モデルを用いて、ベクトル表現のデータ形式へ変換した障害情報から障害の分類を判定した上で障害の分類に対応する対処方法を監視端末５０へ出力する。
【００５７】
このため、本実施形態に係る監視サーバ１０では、障害情報から障害を識別可能なキーワード等のエッセンスを抽出した上で対処方法に対応付ける煩雑な事前設定を行わずとも、機械学習によって障害情報を構成する要素、例えば障害メッセージからその障害への対処方法を抽出できる。さらに、本実施形態に係る監視サーバ１０では、機械学習によって得られた障害の分類と対応付けられた障害への対処方法を抽出するので、保守者に提示されるマニュアルが１つに絞り込まれる。この結果、上記の従来技術のように、検索結果が多数ある場合にマニュアルを改めて検索し直す手間が生じることもない。
【００５８】
したがって、本実施形態に係る監視サーバ１０によれば、事前設定なしにマニュアル検索の手間を削減できる。さらに、本実施形態に係る監視サーバ１０では、上記の従来技術のようにキーワード等のキー情報を用いた検索を行う必要がなく、障害情報を構成する要素に含まれるキーワードが対処方法に含まれずとも、障害情報のベクトル化および機械学習による判定を通じて障害への対処方法を抽出できるので、自動検索によって対処方法を提示する場合よりも適用範囲を拡張することもできる。
【００５９】
また、本実施形態に係る監視サーバ１０は、各履歴情報に含まれる障害情報を構成する要素のうち障害メッセージに含まれる単語の種類数からベクトルの次元数を決定した後に当該ベクトルの各成分に単語を割り当てた上で、各成分に割り当てられた単語が障害メッセージに含まれるか否かによってベクトルの各成分の値を導出する手順を定義する。このため、本実施形態に係る監視サーバ１０では、障害を識別可能なキーワード等のエッセンスを含んだ状態で障害情報をベクトル化できるので、障害情報を適切な障害の分類にカテゴライズすることができる結果、機械学習による判定精度を向上させることができる。
【００６０】
［第２の実施形態］
さて、これまで本発明の実施形態について説明したが、本発明は上述した実施形態以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施形態を説明する。
【００６１】
［マニュアルの追加］
上記の第１の実施形態では、特段の説明を行っていないが、マニュアル記憶部１３に記憶されたマニュアルは任意に追加、更新または削除を行うことができる。例えば、履歴情報として、障害情報および障害の分類に加えて障害への対処方法をさらに取得し、取得した履歴情報に含まれる障害への対処方法がマニュアル記憶部１３に登録されていない場合に新規のマニュアル番号を生成し、マニュアル記憶部１３に記憶された障害分類情報に新規のマニュアル番号および当該履歴情報に含まれる障害分類番号を追加するとともに、マニュアル記憶部１３に記憶された対処情報に新規のマニュアル番号および当該履歴情報に含まれる対処方法を追加することもできる。これによって、マニュアル記憶部１３を手動設定によってメンテナンスせずとも、マニュアルの追加を自動化することができる。
【００６２】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、監視部１１、出力部１２、検索部１４、取得部１５ａ、変換手順決定部１６ａ、第１の変換部１７ａ、第２の変換部１７ｂ、モデル生成部１８ａ、判定部１８ｂまたは抽出部１９のうち一部の機能部を監視サーバ１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、監視部１１、出力部１２、検索部１４、取得部１５ａ、変換手順決定部１６ａ、第１の変換部１７ａ、第２の変換部１７ｂ、モデル生成部１８ａ、判定部１８ｂまたは抽出部１９を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の監視サーバ１０の機能を実現するようにしてもよい。また、図１に示した第１の変換部１７ａ及び第２の変換部１７ｂは、変換部として１つの機能部に統合することもできる。
【００６３】
［監視プログラム］
図８は、第２の実施形態に係る監視プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図８に例示するように、コンピュータは、例えば、メモリと、ＣＰＵと、ハードディスクドライブインタフェースと、ディスクドライブインタフェースと、シリアルポートインタフェースと、ビデオアダプタと、ネットワークインタフェースとを有し、これらの各部はバスによって接続される。
【００６４】
メモリは、図８に例示するように、ＲＯＭ及びＲＡＭを含む。ＲＯＭは、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェースは、図８に例示するように、ハードディスクドライブに接続される。ディスクドライブインタフェースは、図８に例示するように、ディスクドライブに接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェースは、図８に例示するように、例えばマウス、キーボードに接続される。ビデオアダプタは、図８に例示するように、例えばディスプレイに接続される。
【００６５】
ここで、図８に例示するように、ハードディスクドライブは、例えば、ＯＳ（Operating  System）、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、第２の実施形態に係る監視プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブに記憶される。具体的には、上記実施形態で説明した監視サーバの各種の機能部と同様の情報処理を実行する監視手順が記述されたプログラムモジュールが、ハードディスクドライブに記憶される。また、上記実施形態で説明した各種の記憶部に記憶されるデータのように、監視プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えばハードディスクドライブに記憶される。そして、ＣＰＵが、ハードディスクドライブに記憶されたプログラムモジュールやプログラムデータを必要に応じてＲＡＭに読み出し、監視手順を実行する。
【００６６】
なお、監視プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵによって読み出されてもよい。あるいは、監視プログラムに係るプログラムモジュールやプログラムデータは、ＬＡＮ、ＷＡＮ（Wide  Area  Network）等を介して接続された他のコンピュータに記憶され、ネットワークインタフェースを介してＣＰＵによって読み出されてもよい。
【符号の説明】
【００６７】
１    監視システム
１０    監視サーバ
１１    監視部
１２    出力部
１３    マニュアル記憶部
１４    検索部
１５ａ  取得部
１５ｂ  履歴蓄積部
１６ａ  変換手順決定部
１６ｂ  変換手順記憶部
１７ａ  第１の変換部
１７ｂ  第２の変換部
１８ａ  モデル生成部
１８ｂ  判定部
１９    抽出部
３０Ａ，３０Ｂ    監視対象装置
５０    監視端末
【図１】
0005893513.tif 000002
【図２】
0005893513.tif 000003
【図３】
0005893513.tif 000004
【図４】
0005893513.tif 000005
【図５】
0005893513.tif 000006
【図６】
0005893513.tif 000007
【図７】
0005893513.tif 000008
【図８】
0005893513.tif 000009