(57)【要約】【課題】複数のインシデントのうち、メッセージに関連するインシデントを特定することを目的とする。【解決手段】インシデント検索装置は、受信した１以上の運用メッセージを含む出力メッセージから、所定のルールに基づいて、パラメータを抽出する抽出部と、複数のインシデントを含むインシデント群から、前記出力メッセージに対応する１または複数のインシデントを検索する検索部と、検索された前記複数のインシデントから、運用メッセージに関連する情報に含まれる前記パラメータの度合いに基づいて、１または複数の出力対象インシデントを特定し、特定された前記出力対象インシデントを出力する出力部と、を含む。【選択図】図２
2019086930.tif 000002
【特許請求の範囲】
【請求項１】
受信した１以上の運用メッセージを含む出力メッセージから、所定のルールに基づいて、パラメータを抽出し、
複数のインシデントを含むインシデント群から、前記出力メッセージに対応する１または複数のインシデントを検索し、
検索された前記複数のインシデントから、運用メッセージに関連する情報に含まれる前記パラメータの度合いに基づいて、１または複数の出力対象インシデントを特定し、
特定された前記出力対象インシデントを出力する、
処理をインシデント検索装置に実行させることを特徴とするインシデント検索プログラム。
【請求項２】
前記運用メッセージに関連する情報は、前記インシデント群に含まれる前記インシデントのうち前記運用メッセージが記述されている部分以外の部分に記述されていること、
を特徴とする請求項１記載のインシデント検索プログラム。
【請求項３】
前記運用メッセージが記述されている部分以外の部分に記述された情報は、前記運用メッセージが示す障害の原因を示す情報であること、
を特徴とする請求項１または２記載のインシデント検索プログラム。
【請求項４】
検索された前記複数のインシデントから、前記運用メッセージに関連する情報に含まれるパラメータの出現回数が最も多いインシデントを前記出力対象インシデントに特定する、
処理を前記インシデント検索装置に実行させることを特徴とする請求項１乃至３のうち何れか１項に記載のインシデント検索プログラム。
【請求項５】
前記運用メッセージに関連する情報に含まれるパラメータの出現回数に対して、前記運用メッセージを出力した実行環境に依存する度合いを示す環境依存度に基づく重み付けを行い、
重み付けがされた前記パラメータの出現回数に基づいて、前記出力対象インシデントを特定する、
処理を前記インシデント検索装置に実行させることを特徴とする請求項１乃至３のうち何れか１項に記載のインシデント検索プログラム。
【請求項６】
前記パラメータの出現回数に対して、前記環境依存度が低くなるに応じて高くなる前記重み付けを行い、該重み付けがされた前記パラメータの出現回数のうち最も値が高いインシデントを前記出力対象インシデントに特定する、
処理を前記インシデント検索装置に実行させることを特徴とする請求項５記載のインシデント検索プログラム。
【請求項７】
前記メッセージおよび特定された前記出力対象インシデントを含む通報メッセージを出力する、
処理を前記インシデント検索装置に実行させることを特徴とする請求項１乃至６のうち何れか１項に記載のインシデント検索プログラム。
【請求項８】
受信した１以上の運用メッセージを含む出力メッセージから、所定のルールに基づいて、パラメータを抽出し、
複数のインシデントを含むインシデント群から、前記出力メッセージに対応する１または複数のインシデントを検索し、
検索された前記複数のインシデントから、運用メッセージに関連する情報に含まれる前記パラメータの度合いに基づいて、１または複数の出力対象インシデントを特定し、
特定された前記出力対象インシデントを出力する、
処理をインシデント検索装置が実行することを特徴とするインシデント検索方法。
【請求項９】
受信した１以上の運用メッセージを含む出力メッセージから、所定のルールに基づいて、パラメータを抽出する抽出部と、
複数のインシデントを含むインシデント群から、前記出力メッセージに対応する１または複数のインシデントを検索する検索部と、
検索された前記複数のインシデントから、運用メッセージに関連する情報に含まれる前記パラメータの度合いに基づいて、１または複数の出力対象インシデントを特定する特定部と、
特定された前記出力対象インシデントを出力する出力部と、
を備えることを特徴とするインシデント検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インシデント検索プログラム、インシデント検索方法およびインシデント検索装置に関する。
【背景技術】
【０００２】
例えば、システムを構成する機器から出力されるメッセージを監視装置が受信した際、システムの管理者は、該メッセージに応じた障害等に関するインシデント（原因や対処方法等の過去の記録）を参照して、障害等に対処する。上記メッセージは、例えば、コンピュータにより集約される場合がある。
【０００３】
関連する技術として、蓄積されたインシデント情報の検索を支援する技術が提案されている（例えば、特許文献１を参照）。また、エンティティに関連するインシデントにフィルタをかけ、注意に値するインシデントに優先順位を付ける技術が提案されている（例えば、特許文献２を参照）。
【０００４】
また、インシデントに対する解決事例の生成に関する技術が提案されている（例えば、特許文献３を参照）。また、詳細な分類が行なわれていない運用履歴に対して、原因箇所が共通である運用履歴ごとに分類を行なう技術が提案されている（例えば、特許文献４を参照）。
【０００５】
また、障害メッセージのフィルタリングの精度を高める技術が提案されている（例えば、特許文献５を参照）。また、メッセージを適正に集約するルールを作成する技術が提案されている（例えば、特許文献６を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−４０３４号公報
【特許文献２】特表２０１１−５１６９３８号公報
【特許文献３】特開２０１４−１７８７７３号公報
【特許文献４】特開２０１５−１５３０７８号公報
【特許文献５】特開２０１４−１０６８５１号公報
【特許文献６】特開２０１７−１６２１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
例えば、インシデントが生成されるごとに、インシデントが所定の記憶部に蓄積される。しかし、蓄積された複数のインシデントと、上記メッセージとが対応付けられていない可能性がある。
【０００８】
上記の場合、メッセージに対応するインシデントを特定することは難しい。また、複数のメッセージが集約されて１つのメッセージとして生成された場合、該メッセージに対応するインシデントを特定することは難しい。
【０００９】
１つの側面として、本発明は、複数のインシデントのうち、メッセージに関連するインシデントを特定することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、インシデント検索プログラムは、受信した１以上の運用メッセージを含む出力メッセージから、所定のルールに基づいて、パラメータを抽出し、複数のインシデントを含むインシデント群から、前記出力メッセージに対応する１または複数のインシデントを検索し、検索された前記複数のインシデントから、運用メッセージに関連する情報に含まれる前記パラメータの度合いに基づいて、１または複数の出力対象インシデントを特定し、特定された前記出力対象インシデントを出力する、処理をインシデント検索装置に実行させる。
【発明の効果】
【００１１】
１つの側面によれば、複数のインシデントのうち、メッセージに関連するインシデントを特定することができる。
【図面の簡単な説明】
【００１２】
【図１】システムの全体構成の一例を示す図である。
【図２】インシデント検索装置の機能ブロックの一例を示す図である。
【図３】運用メッセージの一例を示す図である。
【図４】インシデントの一例を示す図である。
【図５】インシデント群の一例を示す図である。
【図６】運用メッセージパターンの一例を示す図である。
【図７】パラメータ抽出の一例を示す図である。
【図８】インシデント特定の一例を示す図である。
【図９】通報メッセージの一例を示す図である。
【図１０】集約フィルタの一例を示す図（その１）である。
【図１１】集約フィルタの一例を示す図（その２）である。
【図１２】実施形態の処理の流れの一例を示すフローチャートである。
【図１３】通報メッセージ生成処理の流れの一例を示すフローチャート（その１）である。
【図１４】通報メッセージ生成処理の流れの一例を示すフローチャート（その２）である。
【図１５】通報メッセージ生成処理の流れの一例を示すフローチャート（その３）である。
【図１６】出力インシデント特定処理の一例を示すフローチャートである。
【図１７】重み付けの一例を示す図である。
【図１８】環境依存度の一例を示す図である。
【図１９】変形例における出力インシデント特定処理の一例を示すフローチャートである。
【図２０】インシデント検索装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
＜実施形態のシステムの一例＞
以下、図面を参照して、実施形態について説明する。図１は、実施形態のシステムの全体構成の一例を示す。システム１において、複数のサーバ２Ａ、２Ｂ、２Ｃ、・・・（総称してサーバ２と称する）は、該サーバ２の運用状況等に関するメッセージを、インシデント検索装置３に出力する。以下、該メッセージを、運用メッセージと称する。運用メッセージは、サーバ以外の機器から出力されてもよい。
【００１４】
例えば、各サーバ２は、定期的またはサーバ２に何らかの事象（障害や故障等）が生じた際に、運用メッセージをインシデント検索装置３に出力する。各サーバ２は、障害や故障等以外の事象に関する運用メッセージをインシデント検索装置３に出力してもよい。
【００１５】
インシデント検索装置３は、各サーバ２から受信した運用メッセージに対応するインシデントを検索する。該インシデントは、システム１の機器（例えば、各サーバ２）について、過去に発生した障害に関する情報や該障害の原因に関する情報、該障害の対処方法に関する等が記録された情報である。
【００１６】
インシデント検索装置３は、１以上の運用メッセージを含む通報メッセージを監視装置４に出力する。該通報メッセージには、出力対象インシデントが含まれる。通報メッセージは、出力メッセージの一例である。
【００１７】
監視装置４は、例えば、監視オペレータ等により操作される装置である。監視装置４は、インシデント検索装置３が出力した通報メッセージを、例えば、ディスプレイ等に表示してもよい。この場合、インシデント検索装置３は、通報メッセージを、監視装置４のディスプレイに表示させる制御を行う。
【００１８】
また、監視オペレータが、障害に対して、何らかの対処を行い、障害が解消された場合、該監視オペレータは、発生した障害に関する情報や該障害の原因に関する情報、該障害の対処方法に関する情報等を監視装置４に入力する。監視装置４は、該情報を受け付ける。
【００１９】
監視装置４が、上記の情報をインシデント検索装置３に出力することで、インシデント検索装置３にインシデントが記憶される。該インシデントは、上記以外の手法で、インシデント検索装置３に記憶されてもよい。
【００２０】
＜インシデント検索装置の一例＞
図２は、インシデント検索装置３の一例を示す。インシデント検索装置３は、制御部１１と集約フィルタデータベース１２とインシデントデータベース１３と通信部１４とを含む。以下の説明および図面において、データベースを「ＤＢ」と表すことがある。
【００２１】
制御部１１は、メッセージ処理部２１と抽出部２２と検索部２３と特定部２４と出力部２５とを含む。制御部１１は、実施形態における各種の処理を行なう。集約フィルタＤＢ１２は、複数の集約フィルタを記憶する。インシデントＤＢ１３は、複数のインシデントを記憶する。通信部１４は、インシデント検索装置３の外部の装置（サーバ２や監視装置４等）と通信を行う。
【００２２】
メッセージ処理部２１は、インシデント検索装置３が受信した運用メッセージに対して、所定の処理を行なう。例えば、メッセージ処理部２１は、集約フィルタを用いて、複数の運用メッセージを集約し、通報メッセージを生成する。
【００２３】
抽出部２２は、運用メッセージまたは通報メッセージから、所定のルールに基づいて、パラメータを抽出する。検索部２３は、受信した運用メッセージのメッセージに対応するインシデントを検索する。実施形態では、複数のインシデントが検索されるものとする。
【００２４】
特定部２４は、検索部２３が検索した複数のインシデントから、監視装置４に出力する対象となる出力対象インシデントを特定する。出力部２５は、特定された出力対象インシデントに通報メッセージを対応付けて出力する。
【００２５】
次に、図３を用いて、運用メッセージの一例について説明する。図３の例では、７つの運用メッセージが示される。運用メッセージの数は、任意の数であってよい。図３の例において、「Ping check 10.20.30.40 is failed.」は１つの運用メッセージであることを示す。運用メッセージはパラメータを含む。図３の例において、パラメータは太字で示される。例えば、上記の運用メッセージの場合、「10.20.30.40」がパラメータである。
【００２６】
図４を用いて、インシデントの一例について説明する。インシデントには、複数種類の情報が記録されている。インシデントのうち「メッセージ」の部分は、運用メッセージに対応する。該メッセージは、太字で示される。図４の例のインシデントの場合、メッセージは、「Log server health check NG : serverA」である。
【００２７】
インシデントは、例えば、障害に関する情報であり、該インシデントのうち、原因の部分の情報は、上記障害の原因を示す情報である。該原因に記述されている情報は、運用メッセージに関連する情報の一例であり、インシデントのうち、メッセージが記述されている部分以外に記述されている。
【００２８】
インシデントのうち、対処の部分の情報は、上記障害に対して、どのような対処を行なったかを示す。上述したように、インシデントは、システムの管理者が、原因や対処等の情報を監視装置４に入力した情報であり、監視装置４が受け付けた情報である。
【００２９】
図４の例において、太字で示されるように、原因の部分の中にパラメータが含まれる。例えば、図４の例のインシデントのうち原因の部分には、「serverX」、「log_003」、「serverA」、「10.20.30.40」および「80」の５つのパラメータが含まれる。従って、インシデントのうちメッセージ以外にもパラメータが含まれる。
【００３０】
実施形態では、特定部２４は、インシデントのうち原因の部分に含まれるパラメータを利用して、出力対象のインシデントの特定を行なう。上記運用メッセージに関連する情報は、インシデントのうち、原因以外の部分に記述された情報であってもよい。
【００３１】
インシデントＤＢ１３には、複数のインシデントが記憶される。図５は、インシデントＤＢ１３に記憶されている複数のインシデントの一例を示す。以下、該複数のインシデントを、インシデント群と称することがある。
【００３２】
図６は、運用メッセージパターンの一例を示す。運用メッセージパターンは、インシデント検索装置３が受信した運用メッセージのマッチングを行う際に用いられる。各パターンには、それぞれIdentification(ID)が割り振られている。運用メッセージパターンは、所定のルールの一例である。
【００３３】
例えば、運用メッセージ「Ping check 10.20.30.40 is failed.」をインシデント検索装置３が受信したとする。該運用メッセージは、「Ping check .+ is failed.」の運用メッセージパターンとマッチする。上記運用メッセージパターンは正規表現で表されている。図６の例では、「+」の部分がワイルドカード化されている。
【００３４】
運用メッセージパターンは、予めインシデント検索装置３に設定されてもよいし、各サーバ２から受信した運用メッセージの規則性に基づいて生成されてもよい。抽出部２２は、図６に示されるような運用メッセージパターンを保持する。
【００３５】
インシデント検索装置３が運用メッセージを受信した際、メッセージ処理部２１は、所定の処理を行い、運用メッセージの集約を行い、通報メッセージを生成する。ただし、１件の運用メッセージが、１件の通報メッセージに割り当てられることがある。
【００３６】
抽出部２２は、受信した運用メッセージが、運用メッセージパターンの何れかのパターンにマッチする場合、マッチした運用メッセージからパラメータの抽出を行なう。実施形態では、抽出されるパラメータは、ワイルドカード化された部分である。
【００３７】
例えば、運用メッセージ「Ping check 10.20.30.40 is failed.」をインシデント検索装置３が受信した場合、図７の例に示されるように、抽出部２２は、運用メッセージパターンに基づいて、パラメータ「10.20.30.40」を抽出する。
【００３８】
図７の例に示される通報メッセージテーブルは、ＩＤと運用メッセージパターンとパラメータの値との項目を含む。メッセージ処理部２１は、パラメータの値の項目に、運用メッセージパターンに対応するパラメータを追加する。図７の例において、ＩＤが「Ｍ０００２」は同じ運用メッセージパターンを示す。例えば、運用メッセージパターンが時刻の要素を含む場合、同じパターンの運用メッセージパターンに対して、異なるＩＤが割り当てられる。
【００３９】
検索部２３は、インシデントＤＢ１３を参照して、通報メッセージテーブルの運用メッセージパターンとマッチするメッセージを含む複数のインシデントを検索する。図８の検索されたインシデントは、検索部２３が検索したインシデントの一例を示す。
【００４０】
図８の例に示されるように、運用メッセージパターンに基づく検索結果として、複数のインシデントが得られる。該複数のインシデントの数は、検索部２３が行なった検索の結果であるため、インシデントＤＢ１３に記憶されているインシデントの総数より少ない。
【００４１】
特定部２４は、検索された複数のインシデントのそれぞれについて、原因の部分を参照し、該原因の部分に、通報メッセージテーブルのパラメータが含まれている場合、該パラメータの数（出現回数）をカウントする。特定部２４は、該出現回数が最も多いインシデントを、出力対象インシデントとして特定する。
【００４２】
図８の例の場合、インシデント（０１８３４）の原因の部分に出現するパラメータの数（出現回数）が最も多い。従って、特定部２４は、該インシデント（０１８３４）を出力対象インシデントとして特定する。
【００４３】
運用メッセージとインシデントとの対応付けがされているとは限らない。また、運用メッセージとインシデントとの対応付けがされている場合でも、運用メッセージが通報メッセージに集約されると、通報メッセージに対応するインシデントを特定することは難しい。
【００４４】
上述したように、インシデントはメッセージ以外の情報（原因の部分の情報）を含み、該原因の部分の情報に、インシデントに関連するパラメータが記述されている場合がある。同じパラメータの値を上記原因の部分に含むインシデントは、運用メッセージの事象（例えば、障害）と対応している可能性が高い。
【００４５】
特定部２４が、メッセージ以外の情報に含まれる通報メッセージテーブルのパラメータの出現回数をカウントして、出力対象インシデントを特定することで、通報メッセージに対応するインシデントを特定することができる。
【００４６】
特定部２４は、原因の部分に、上記出現回数の度合いに基づいて、複数の出力対象インシデントを特定してもよい。例えば、特定部２４は、上記出現回数が所定回数以上の複数のインシデントを出力対象インシデントとして特定してもよい。
【００４７】
出力部２５は、通報メッセージを出力する。図９の例に示されるように、通報メッセージは、１以上の運用メッセージと出力対象インシデントとを含み、該１以上の運用メッセージと出力対象インシデントとは対応付けられている。出力部２５は、監視装置４に該通報メッセージを出力してもよい。
【００４８】
運用メッセージと出力対象インシデントとが対応付けられた通報メッセージが監視装置４に出力されることで、監視装置４は、例えば、ディスプレイに運用メッセージと出力対象インシデントとを対応付けて表示してもよい。この場合、監視装置４を操作するシステムの管理者は、運用メッセージに対応するインシデントをディスプレイで確認できる。
【００４９】
次に、図１０および図１１の例を参照して、集約フィルタについて説明する。集約フィルタＤＢ１２には、複数の集約フィルタが記憶される。集約フィルタは、メッセージ処理部２１が運用メッセージの集約を行い、通報メッセージを生成する処理に用いられる。
【００５０】
図１０の例に示されるように、集約フィルタは、フィルタＩＤと制限時間とパターンＩＤとメッセージパターンと集約中フラグと開始日時とマッチ済みと出力日時とメッセージ本文とパラメータの値との項目を含む。
【００５１】
フィルタＩＤは、集約フィルタを識別する識別子である。制限時間は、集約フィルタが有効な時間である。例えば、集約フィルタが運用メッセージの規則性等に基づいて生成される場合、該規則性等が変化する可能性があるため、集約フィルタには制限時間が設けられる。
【００５２】
パターンＩＤは、通報メッセージテーブルのＩＤと同様であり、メッセージパターンは、通報メッセージの運用メッセージパターンと同様である。集約中フラグは、集約フィルタを用いて、運用メッセージが集約中であるか否かを示すフラグである。
【００５３】
開始日時は、集約フィルタの使用開始日時を示す。マッチ済みは、各メッセージパターンのそれぞれについて、インシデント検索装置３が受信した運用メッセージがマッチしたか否かを示すフラグである。
【００５４】
出力日時は、マッチした運用メッセージの出力日時を示す。メッセージ本文は、マッチした運用メッセージの本文を示す。パラメータの値は、マッチした運用メッセージから、抽出部２２が抽出するパラメータの値を示す。
【００５５】
図１１は、インシデント検索装置３が受信した運用メッセージが、集約フィルタのうち３つのメッセージパターンにマッチした例を示す。図１１の例の場合、マッチしたメッセージパターンのマッチ済みのフラグは「済」になっている。
【００５６】
＜実施形態の処理の流れの一例＞
図１２を参照して、実施形態の処理の流れの一例について説明する。サーバ２がインシデント検索装置３に運用メッセージを出力すると、インシデント検索装置３は運用メッセージを受信する（ステップＳ１）。
【００５７】
メッセージ処理部２１は、インシデント検索装置３が受信した運用メッセージに対して集約処理等を行なうことにより、通報メッセージを生成する（ステップＳ２）。
【００５８】
検索部２３は、インシデントＤＢ１３を参照して、各インシデントのうち、通報メッセージの運用メッセージパターンをメッセージ部分に含むインシデントを検索する（ステップＳ３）。実施形態では、検索結果として、複数のインシデントが得られるものとする。
【００５９】
特定部２４は、上記複数のインシデントについて、運用メッセージ以外の部分（実施形態では、原因の部分）に記述された情報から、通報メッセージテーブルのパラメータの出現回数をカウントする。そして、特定部２４は、出現回数が最も多いインシデントを出力対象インシデントとして特定する（ステップＳ４）。
【００６０】
出力部２５は、特定された出力対象インシデントと運用メッセージとを対応付けた通報メッセージを出力する（ステップＳ５）。該運用メッセージには、複数の運用メッセージが集約されている場合もあり、１つの運用メッセージが含まれる場合もある。
【００６１】
次に、図１３乃至図１５のフローチャートを参照して、通報メッセージ生成処理について説明する。メッセージ処理部２１は、受信した運用メッセージが、集約中フラグが「false」である何れかの集約フィルタにマッチする場合、該当する集約フィルタの集約中フラグを「true」にする。
【００６２】
集約フィルタＤＢ１２に記憶されている全ての集約フィルタの集約中フラグが「false」である場合もある。メッセージ処理部２１は、集約中フラグが「true」である集約フィルタがあるかを判定する（ステップＳ１１）。以下、集約中フラグが「true」である集約フィルタを、集約中フィルタと称する。ステップＳ１１でＮＯの場合、処理は「Ａ」に移行する。
【００６３】
ステップＳ１１でＹＥＳの場合、メッセージ処理部２１は、集約中フラグが「true」である集約フィルタを取得する（ステップＳ１２）。集約フィルタＤＢ１２に記憶されている集約中フラグが「true」である集約中フィルタが複数である場合、メッセージ処理部２１は、複数の集約中フィルタから１つの集約中フィルタを取得する。
【００６４】
メッセージ処理部２１は、取得された集約中フィルタの開始日時から現時刻までの時間（経過時間）を算出する。現時刻は、現在の時刻を示す。現時刻の情報は、メッセージ処理部２１が保持してもよい。
【００６５】
メッセージ処理部２１は、算出された時間差が制限時間以内であるかを判定する（ステップＳ１４）。ステップＳ１４でＮＯの場合、算出された時間差が集約中フィルタの制限時間を越えている。
【００６６】
この場合、メッセージ処理部２１は、集約中フィルタのメッセージ本文に登録されている運用メッセージを個別的に通報メッセージとして生成する（ステップＳ１５）。例えば、図１１の例で示したように、３つの運用メッセージが集約フィルタに登録されている場合、メッセージ処理部２１は、３つの通報メッセージを生成する。
【００６７】
集約中フィルタには複数のメッセージパターンが含まれる。各メッセージパターンは、相互に関連性を有するため、集約対象の運用メッセージが全て登録された段階で、メッセージ処理部２１は、登録された各運用メッセージを１つの通報メッセージとして生成する。
【００６８】
一方、集約対象の運用メッセージのうち何れか１つでも登録されていない段階で、集約中フィルタの各運用メッセージが集約されると、該集約フィルタとは異なる規則で運用メッセージが集約されることになる。
【００６９】
従って、ステップＳ１４でＮＯの場合、メッセージ処理部２１は、集約中フィルタのメッセージ本文に登録されている運用メッセージを個別的に通報メッセージとして生成する。メッセージ処理部２１は、ステップＳ１５の処理対象である集約中フィルタの集約中フラグを「false」にする（ステップＳ１６）。
【００７０】
ステップＳ１６が実行された場合、またはステップＳ１４でＹＥＳの場合、メッセージ処理部２１は、集約フィルタＤＢ１２に記憶されている全ての集約中フィルタを取得したかを判定する（ステップＳ１７）。ステップＳ１７でＮＯの場合、処理はステップＳ１１に移行する。
【００７１】
ステップＳ１７でＹＥＳの場合、集約フィルタＤＢ１２に記憶されている全ての集約中フィルタが取得されたことになる。この場合、処理は「Ｂ」に進む。
【００７２】
上述したステップＳ１１〜Ｓ１７の処理は、集約フィルタの制限時間に関する処理であり、該処理は、任意のタイミングで行なわれてもよい。例えば、ステップＳ１１〜Ｓ１７の処理は、インシデント検索装置３が運用メッセージを受信したか否かにかかわらず、定期的または不定期に行なわれてもよい。
【００７３】
図１４のフローチャートを参照して、「Ｂ」以降の処理について説明する。上述したように、ステップＳ１１〜Ｓ１７の処理は任意のタイミングで行なわれてもよいため、メッセージ処理部２１は、通報メッセージ生成処理を、ステップＳ１８から開始してもよい。
【００７４】
メッセージ処理部２１は、集約中フィルタがあるかを判定する（ステップＳ１８）。ステップＳ１８でＮＯの場合、処理は、「Ａ」に移行する。ステップＳ１８でＹＥＳの場合、メッセージ処理部２１は、集約中フィルタを取得する（ステップＳ１９）。
【００７５】
メッセージ処理部２１は、受信した運用メッセージが、取得された集約中フィルタのメッセージパターンとマッチするかを判定する（ステップＳ２０）。ステップＳ２０でＹＥＳの場合、メッセージ処理部２１は、集約中フィルタの更新を行なう（ステップＳ２１）。
【００７６】
メッセージ処理部２１は、集約中フィルタのうち、マッチしたメッセージパターンに対応するメッセージ本文の項目に、受信した運用メッセージを登録する。抽出部２２は、上記メッセージパターンにマッチするパラメータを抽出する。
【００７７】
メッセージ処理部２１は、抽出されたパラメータを、上記メッセージパターンに対応するパラメータの値の項目に登録する。また、メッセージ処理部２１は、上記メッセージパターンに対応するマッチ済みの項目を「未」から「済」に変更する。
【００７８】
ステップＳ２０でＮＯの場合、メッセージ処理部２１は、集約フィルタＤＢ１２に記憶されている全ての集約中フィルタを取得したかを判定する（ステップＳ２２）。ステップＳ２２でＮＯの場合、処理は、ステップＳ２０に移行する。ステップＳ２２でＹＥＳの場合、処理は、「Ａ」に移行する。
【００７９】
メッセージ処理部２１は、ステップＳ１９で取得された集約中フィルタのマッチ済みの項目が全て「済」になっているかを判定する（ステップＳ２３）。上述したように、メッセージ処理部２１は、集約対象の運用メッセージが全て集約フィルタに登録された段階で、登録された各運用メッセージを１つの通報メッセージとして生成する。
【００８０】
ステップＳ２３でＮＯの場合、集約対象の運用メッセージは、全て集約中フィルタに登録されていない。この場合、通報メッセージが生成されることなく、通報メッセージ生成処理は終了する。
【００８１】
ステップＳ２３でＹＥＳの場合、集約対象の運用メッセージは、全て集約中フィルタに登録されている。メッセージ処理部２１は、集約中フィルタに登録されている各運用メッセージを１つの通報メッセージとして生成する（ステップＳ２４）。そして、メッセージ処理部２１は、ステップＳ１９で取得された集約中フィルタの集約中フラグを「false」にする（ステップＳ２５）。
【００８２】
「Ａ」以降の処理について、図１５のフローチャートを参照して説明する。「Ａ」以降の処理に進むのは、図１３のステップＳ１１でＮＯの場合、図１４のステップＳ１８でＮＯの場合、ステップＳ２２でＹＥＳの場合である。
【００８３】
メッセージ処理部２１は、集約中ではない集約フィルタを取得する（ステップＳ２６）。メッセージ処理部２１は、受信した運用メッセージが、取得された集約フィルタのメッセージパターンとマッチするかを判定する（ステップＳ２７）。
【００８４】
ステップＳ２７でＹＥＳの場合、メッセージ処理部２１は、集約中フィルタの更新を行なう（ステップＳ２８）。メッセージ処理部２１は、集約中ではない集約フィルタのうち、マッチしたメッセージパターンに対応するメッセージ本文の項目に、受信した運用メッセージを登録する。抽出部２２は、上記メッセージパターンにマッチするパラメータを抽出する。
【００８５】
メッセージ処理部２１は、抽出されたパラメータを、上記メッセージパターンに対応するパラメータの値の項目に登録する。また、メッセージ処理部２１は、上記メッセージパターンに対応するマッチ済みの項目を「未」から「済」に変更する。メッセージ処理部２１は、上記の各処理を行い、集約中ではない集約フィルタの更新を行なう。
【００８６】
ステップＳ２７でＹＥＳの場合、受信した運用メッセージは、ステップＳ２６で取得された集約フィルタのメッセージパターンとマッチする。この場合、ステップＳ２６で取得された集約フィルタを用いた運用メッセージの集約が開始される。従って、メッセージ処理部２１は、テップＳ２６で取得された集約フィルタの集約中フラグを「true」にする。
【００８７】
メッセージ処理部２１は、ステップＳ２６で取得された集約フィルタのマッチ済みの項目が全て「済」になっているかを判定する（ステップＳ２９）。ステップＳ２３でＹＥＳの場合、処理は、「Ｃ」からステップＳ２４に移行する。
【００８８】
つまり、集約対象の運用メッセージが全て集約フィルタに登録されているため、メッセージ処理部２１は、上記集約フィルタに登録された各運用メッセージを１つの通報メッセージとして生成する。そして、メッセージ処理部２１は、該集約フィルタの集約中フラグを「false」にする。
【００８９】
メッセージ処理部２１は、ステップＳ２６で取得された集約中フィルタのマッチ済みの項目が全て「済」になっているかを判定する（ステップＳ３０）。ステップＳ３０でＮＯの場合、集約対象の運用メッセージは、全て集約フィルタに登録されていない。この場合、通報メッセージは生成されないため、処理は、「Ｄ」に移行し、通報メッセージ生成処理が終了する。
【００９０】
ステップＳ２７でＮＯの場合、メッセージ処理部２１は、集約フィルタＤＢ１２から、集約中ではない集約フィルタを全て取得したかを判定する（ステップＳ３１）。ステップＳ３１でＮＯの場合、処理はステップＳ２７に移行する。
【００９１】
ステップＳ３１でＹＥＳの場合、メッセージ処理部２１は、受信した運用メッセージを、１件の通報メッセージとして生成する（ステップＳ３２）。そして、処理は、「Ｄ」に移行し、通報メッセージ生成処理が終了する。
【００９２】
次に、図１２のフローチャートにおける出力対象インシデント特定処理について説明する。図１２のフローチャートで示されるように、ステップＳ３において、検索部２３は、通報メッセージの運用メッセージパターンに対応するインシデントを検索する。上述したように、実施形態では、検索結果として、複数のインシデントが得られる。
【００９３】
図１６は、出力対象インシデント特定処理の一例を示すフローチャートである。特定部２４は、ステップＳ３で検索されたインシデントを取得する（ステップＳ４１）。特定部２４は、通報メッセージテーブルの「パラメータの値」の項目からパラメータを取得する（ステップＳ４２）。
【００９４】
特定部２４は、ステップＳ４１で取得されたインシデントのうち、メッセージ部分以外の部分に出現するパラメータの出現回数をカウントする（ステップＳ４３）。実施形態では、特定部２４は、上記インシデントの中の原因の部分に出現するパラメータの数をカウントする。
【００９５】
特定部２４は、通報メッセージのパラメータの値が全て取得されているかを判定する（ステップＳ４４）。ステップＳ４４でＮＯの場合、処理は、ステップＳ４２に移行する。ステップＳ４４でＹＥＳの場合、特定部２４は、検索されたインシデントが全て取得されているかを判定する（ステップＳ４５）。
【００９６】
ステップＳ４５でＮＯの場合、処理は、ステップＳ４１に移行する。ステップＳ４５でＹＥＳの場合、検索された複数のインシデントのうち、上記パラメータの出現回数が最も多いインシデントを出力対象インシデントとして特定する（ステップＳ４６）。該出力対象インシデントが出力される。
【００９７】
＜変形例＞
次に、変形例について説明する。図１７において、変形例における通報メッセージテーブルは、上述した通報メッセージテーブルに、環境依存度の項目が追加されている。環境依存度は、パラメータが特定の出力環境に依存する度合いを示す。
【００９８】
図１８は、環境依存度を算出する一例を示す。図１８の例において、サーバＡ〜Ｃの３つのサーバ２がインシデント検索装置３に接続されているものとする。インシデント検索装置３は、サーバＡ〜Ｃから運用メッセージを受信する。
【００９９】
環境依存度は、以下の式により求められる。
【０１００】
【数１】
2019086930.tif 000003
【０１０１】
上記の式において、全ての環境が、同じパラメータの値を出力する場合には「Ｘ＝０」とし、該条件を満たさない場合には、「Ｘ＝１」とする。
【０１０２】
図１８の例の場合、パラメータの値は「running」または「stopped」であり、値のバリエーションは「２」である。また、インシデント検索装置３は、サーバＡ〜Ｃの全てから上記値を受信している。上記の式における「その値を含む環境数」は、パラメータを含む運用メッセージを出力した環境（サーバ２等）の数を示している。従って、上記の場合における、「その値を含む環境数」は「３」になる。
【０１０３】
全ての環境（サーバＡ〜Ｃ）が、パラメータの値「running」および「stopped」を出力している。よって、全ての環境が同じパラメータの値を出力する、という条件が満たされるため、「Ｘ＝０」となり、環境依存度は「０」になる。
【０１０４】
パターン２の場合、各パラメータの値はそれぞれ異なり、値のバリエーション数は「６」である。図１８の例の場合、各パラメータの値が全て異なるため、「その値を含む環境数」は全て「１」になる。
【０１０５】
また、パターン２の場合、全ての環境が、同じパラメータの値を出力する、という条件が満たされないため、「Ｘ＝１」となる。従って、パターン２の場合、環境依存度は「１」になる。
【０１０６】
パターン３の場合、パラメータの値は「start」、「stop」および「restart」の３種類がある。サーバＡは「start」および「stop」を出力し、サーバＢは、「start」、「stop」および「restart」を出力し、サーバＣは、「start」のみを出力する。従って、パターン３の環境依存度は「０．５」になる。
【０１０７】
パラメータが多くの環境から出力される場合、環境依存度は低くなり、パラメータが少ない数の環境から出力される場合、環境依存度は高くなる。特定部２４が、複数のインシデントのうち、運用メッセージに関連するインシデントを特定するために用いられるパラメータは、多くの環境から出力されたパラメータであることが好ましい。
【０１０８】
上述したように、特定部２４は、インシデントのうち、原因の部分のパラメータの出現回数に基づいて、運用メッセージに関連するインシデントを特定する。パラメータは、環境に関係するパラメータと、障害等の事象に関係するパラメータとがある。
【０１０９】
運用メッセージに関連するインシデントの特定には、障害等の事象に関係するパラメータに重みを置く方が有効である。例えば、障害等の事象に関係するパラメータは、多くの環境から出力される。
【０１１０】
変形例では、特定部２４は、インシデントの原因の部分のパラメータの出現回数に対して、環境依存度に応じた重み付けを行なう。以下、上記出現回数に対して重み付けされた値をスコアと称することがある。実施形態のスコアは、以下の式で表される。
「スコア＝（１＋（１−環境依存度））×パラメータの出現回数」
上記の（１−環境依存度）の値は、環境依存度が低くなるに応じて、高くなり、スコアも高くなる。一方、（１−環境依存度）の値は、環境依存度が高くなるに応じて、低くなり、スコアも低くなる。
【０１１１】
図１７の例を参照すると、インシデント（０２０３８）の原因の部分に記述されたパラメータの出現回数は「２」であるが、特定部２４が上記の重み付けを行うことにより、インシデント（０２０３８）のスコアは「３．３」になる。インシデント（０２０３８）のパラメータ「80」の環境依存度は低く、パラメータ「log_003」の環境依存度も高くないためである。
【０１１２】
一方、インシデント（０２３０１）の原因の部分に記述されたパラメータの出現回数は「３」であり、特定部２４が上記の重み付けを行なったとしても、該インシデント（０２３０１）のスコアは「３．２」となり、ほぼ変化はない。インシデント（０２３０１）の３つのパラメータは何れも値が高いためである。
【０１１３】
特定部２４は、環境依存度に基づく重み付けを行なうことにより、パラメータの出現回数が多いインシデント（０２３０１）よりも、スコアが高いインシデント（０２０３８）を、出力対象インシデントとして特定する。
【０１１４】
図１９は、変形例における出力インシデント特定処理のフローチャートである。図１９のフローチャートにおいて、ステップＳ３３−１およびＳ３６−１以外の各ステップは、図１６と同様であるため、説明を省略する。
【０１１５】
特定部２４は、ステップＳ３３の処理の後、上述したように、出現回数に対して、環境依存度に基づく重み付けを行なう（ステップＳ３３−１）。また、ステップＳ３５でＹＥＳの場合、特定部２４は、重み付けされたスコアが最も高いインシデントを特定する（ステップＳ３６−１）。
【０１１６】
＜インシデント検索装置のハードウェア構成の一例＞
次に、図２０の例を参照して、インシデント検索装置３のハードウェア構成の一例を説明する。図２０の例に示すように、バス１００に対して、プロセッサ１１１とＲＡＭ１１２とＲＯＭ１１３と補助記憶装置１１４と媒体接続部１１５と通信インタフェース１１６とが接続されている。
【０１１７】
プロセッサ１１１は任意の処理回路である。プロセッサ１１１はＲＡＭ１１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態の処理を行うプログラムを適用してもよい。ＲＯＭ１１３はＲＡＭ１１２に展開されるプログラムを記憶する不揮発性の記憶装置である。
【０１１８】
補助記憶装置１１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置１１４に適用してもよい。媒体接続部１１５は、可搬型記録媒体１１９と接続可能に設けられている。
【０１１９】
可搬型記録媒体１１９としては、可搬型の半導体メモリや光学式ディスク（例えば、Compact Disc(CD)やDigital Versatile Disc(DVD)等）を適用してもよい。この可搬型記録媒体１１９に実施形態の処理を行う通信制御プログラムが記録されていてもよい。
【０１２０】
インシデント検索装置３のうち、集約フィルタＤＢ１２およびインシデントＤＢ１３は、ＲＡＭ１１２や補助記憶装置１１４等により実現されてもよい。通信部１４は、通信インタフェース１１６により実現されてもよい。制御部１１は、与えられたインシデント検索プログラムをプロセッサ１１１が実行することにより実現されてもよい。
【０１２１】
ＲＡＭ１１２、ＲＯＭ１１３、補助記憶装置１１４および可搬型記録媒体１１９は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１２２】
＜その他＞
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
受信した１以上の運用メッセージを含む出力メッセージから、所定のルールに基づいて、パラメータを抽出し、
複数のインシデントを含むインシデント群から、前記出力メッセージに対応する１または複数のインシデントを検索し、
検索された前記複数のインシデントから、運用メッセージに関連する情報に含まれる前記パラメータの度合いに基づいて、１または複数の出力対象インシデントを特定し、
特定された前記出力対象インシデントを出力する、
処理をインシデント検索装置に実行させることを特徴とするインシデント検索プログラム。
（付記２）
前記運用メッセージに関連する情報は、前記インシデント群に含まれる前記インシデントのうち前記運用メッセージが記述されている部分以外の部分に記述されていること、
を特徴とする付記１記載のインシデント検索プログラム。
（付記３）
前記運用メッセージが記述されている部分以外の部分に記述された情報は、前記運用メッセージが示す障害の原因を示す情報であること、
を特徴とする付記１記載のインシデント検索プログラム。
（付記４）
検索された前記複数のインシデントから、前記運用メッセージに関連する情報に含まれるパラメータの出現回数が最も多いインシデントを前記出力対象インシデントに特定する、
処理を前記インシデント検索装置に実行させることを特徴とする付記１記載のインシデント検索プログラム。
（付記５）
前記運用メッセージに関連する情報に含まれるパラメータの出現回数に対して、前記運用メッセージを出力した実行環境に依存する度合いを示す環境依存度に基づく重み付けを行い、
重み付けがされた前記パラメータの出現回数に基づいて、前記出力対象インシデントを特定する、
処理を前記インシデント検索装置に実行させることを特徴とする付記１記載のインシデント検索プログラム。
（付記６）
前記パラメータの出現回数に対して、前記環境依存度が低くなるに応じて高くなる前記重み付けを行い、該重み付けがされた前記パラメータの出現回数のうち最も値が高いインシデントを前記出力対象インシデントに特定する、
処理を前記インシデント検索装置に実行させることを特徴とする付記５記載のインシデント検索プログラム。
（付記７）
前記メッセージおよび特定された前記出力対象インシデントを含む通報メッセージを出力する、
処理を前記インシデント検索装置に実行させることを特徴とする付記１記載のインシデント検索プログラム。
（付記８）
受信した複数の前記メッセージが、メッセージの集約に用いられる集約フィルタに設定される全てのパターンにマッチした場合、前記複数のメッセージを集約し、
集約された前記複数のメッセージを前記出力対象インシデントと対応付けて、前記通報メッセージとして出力する、
処理を前記インシデント検索装置に実行させることを特徴とする付記７記載のインシデント検索プログラム。
（付記９）
前記集約フィルタに設定された制限時間以内に、前記複数のメッセージが前記全てのパターンにマッチしない場合、前記複数のメッセージを個別的に前記通報メッセージとして生成する、
処理を前記インシデント検索装置に実行させることを特徴とする付記８記載のインシデント検索プログラム。
（付記１０）
受信した１以上の運用メッセージを含む出力メッセージから、所定のルールに基づいて、パラメータを抽出し、
複数のインシデントを含むインシデント群から、前記出力メッセージに対応する１または複数のインシデントを検索し、
検索された前記複数のインシデントから、運用メッセージに関連する情報に含まれる前記パラメータの度合いに基づいて、１または複数の出力対象インシデントを特定し、
特定された前記出力対象インシデントを出力する、
処理をインシデント検索装置が実行することを特徴とするインシデント検索方法。
（付記１１）
受信した１以上の運用メッセージを含む出力メッセージから、所定のルールに基づいて、パラメータを抽出する抽出部と、
複数のインシデントを含むインシデント群から、前記出力メッセージに対応する１または複数のインシデントを検索する検索部と、
検索された前記複数のインシデントから、運用メッセージに関連する情報に含まれる前記パラメータの度合いに基づいて、１または複数の出力対象インシデントを特定する特定部と、
特定された前記出力対象インシデントを出力する出力部と、
を備えることを特徴とするインシデント検索装置。
【符号の説明】
【０１２３】
１    システム
２    サーバ
３    インシデント検索装置
４    監視装置
１１    制御部
１２    集約フィルタＤＢ
１３    インシデントＤＢ
１４    通信部
２１    メッセージ処理部
２２    抽出部
２３    検索部
２４    特定部
２５    出力部
１１１    プロセッサ
１１２    ＲＡＭ
１１３    ＲＯＭ
【図１】
2019086930.tif 000004
【図２】
2019086930.tif 000005
【図３】
2019086930.tif 000006
【図４】
2019086930.tif 000007
【図５】
2019086930.tif 000008
【図６】
2019086930.tif 000009
【図７】
2019086930.tif 000010
【図８】
2019086930.tif 000011
【図９】
2019086930.tif 000012
【図１０】
2019086930.tif 000013
【図１１】
2019086930.tif 000014
【図１２】
2019086930.tif 000015
【図１３】
2019086930.tif 000016
【図１４】
2019086930.tif 000017
【図１５】
2019086930.tif 000018
【図１６】
2019086930.tif 000019
【図１７】
2019086930.tif 000020
【図１８】
2019086930.tif 000021
【図１９】
2019086930.tif 000022
【図２０】
2019086930.tif 000023