(57)【要約】【課題】管理者におけるフィルタ設定の負担を軽減しつつ、メッセージの集約を可能とする、システム監視装置、システムの監視方法、及びプログラムを提供する。【解決手段】システム監視装置１００は、コンピュータシステムの監視を行うための装置である。システム監視装置１００は、コンピュータシステム内から出力されるメッセージを取得する、メッセージ取得部２０と、取得されたメッセージを正規化し、更に、正規化されたメッセージから、設定ルールに基づいて、新たなメッセージを作成する、解析部３０と、予め設定されたフィルタを用いて、新たなメッセージに対してフィルタリングを実行する、フィルタリング部４０とを備えている。【選択図】図１
2015191327.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムの監視を行うための装置であって、
前記コンピュータシステム内から出力されるメッセージを取得する、メッセージ取得部と、
取得された前記メッセージを正規化し、更に、正規化された前記メッセージから、設定ルールに基づいて、新たなメッセージを作成する、解析部と、
予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、フィルタリング部と、
を備えていることを特徴とするシステム監視装置。
【請求項２】
前記解析部は、前記メッセージに含まれる語を、正規化表現に変換することによって前記メッセージを正規化し、その際、正規化表現毎に当該正規化表現に関連する語を紐付けて構築された辞書を用いて、取得された前記メッセージに含まれる語を、それが前記辞書において紐付けられている前記正規化表現に置き換え、
前記フィルタリング部は、前記正規化表現を用いて予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、
請求項１に記載のシステム監視装置。
【請求項３】
前記解析部は、処理について設定された処理条件に基づいて、前記新たなメッセージに対する処理を決定し、決定した処理を実行する、
請求項１または２に記載のシステム監視装置。
【請求項４】
前記設定ルールが、時間的条件を満たす２以上のメッセージを１つのメッセージとすることを規定している場合に、
前記解析部は、複数のメッセージそれぞれを正規化し、正規化した前記複数のメッセージうち、前記時間的条件を満たす２以上のメッセージを特定し、特定した前記２以上のメッセージに含まれる前記正規化表現を１つにまとめ、その際、重複する２以上の正規化表現については１つを除き排除して、１つの新たなメッセージとする、
請求項１〜３のいずれかに記載のシステム監視装置。
【請求項５】
当該システム監視装置が、更に、通知部を備え、
前記フィルタリング部は、前記フィルタリングの実行後、前記辞書を用いて、前記フィルタリングによって抽出したメッセージ中の前記正規化表現を、正規化される前の語に戻し、
前記通知部は、前記正規化表現が正規化される前の語に戻された前記メッセージを外部に通知する、
請求項２に記載のシステム監視装置。
【請求項６】
コンピュータシステムの監視を行うための方法であって、
（ａ）前記コンピュータシステム内から出力されるメッセージを取得する、ステップと、
（ｂ）前記（ａ）のステップで取得された前記メッセージを正規化し、更に、正規化された前記メッセージから、設定ルールに基づいて、新たなメッセージを作成する、ステップと、
（ｃ）予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、ステップと、
を有していることを特徴とするシステム監視方法。
【請求項７】
コンピュータシステムの監視を行うための方法であって、
前記コンピュータに、
（ａ）前記コンピュータシステム内から出力されるメッセージを取得する、ステップと、
（ｂ）前記（ａ）のステップで取得された前記メッセージを正規化し、更に、正規化された前記メッセージから、設定ルールに基づいて、新たなメッセージを作成する、ステップと、
（ｃ）予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、ステップと、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの監視を行うための、システム監視装置、システムの監視方法、及びこれらを実現するためのプログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータシステムでは、システムの安定稼働を図るため、監視システムが導入されている。監視システムは、アプリケーションプログラムが出力するアプリケーションログ、ｓｙｓｌｏｇ、イベントログ等を監視対象として監視を行い、コンピュータシステムに障害等が発生した場合は、そのことを示すメッセージを管理装置へと通知する。
【０００３】
ところで、このような運用管理システムにおいて、管理装置へと出力されてくるメッセージは、監視対象によらず、類似していることが多くなっている。このため、管理者における負担が大きくなっている。
【０００４】
例えば、監視対象に異常が発生した場合は、「異常」、「ｅｒｒｏｒ」、「Ｅｒｒｏｒ」、「Ｅｒｒ」等の単語が使用されたメッセージが生成される。また、監視対象の状態を通知する場合は、「異常（Ｅｒｒｏr）」、「警告（Ｗａｒｎｉｎｇ）」、「正常（Ｉｎｆｏ）」等の単語が使用されたメッセージが生成される。このように、両方の場合において、メッセージは類似している。
【０００５】
更に、監視対象においては、同じ事象が何度も繰り返し発生することがよくあるため、同じメッセージが何度も繰り返されることがある。例えば、定期的（１分間に１回等）にエラーチェックが行われている場合、定期的にエラーが発生している場合は、同じエラーメッセージが何度も通知される。
【０００６】
また、運用管理システムでは、異なる監視対象について、同じタイミングで、同様のメッセージが出力されることがある。例えば、監視対象が、アプリケーションプログラム「ＡＰＰ１」のアプリケーションログとｓｙｓｌｏｇとであり、このときに、ＡＰＰ１が停止したとする。この場合は、ＡＰＰ１が出力したアプリケーションログに基づいて「停止：ＡＰＰ１  サービス」というメッセージが出力され、更に略同じタイミングで、ＡＰＰ１のｓｙｓｌｏｇに基づいて「ＡＰＰ１  ｄａｅｍｏｎ  ｄｏｗｎ」というメッセージが出力される。
【０００７】
このため、従来から、監視システムでは、監視対象から発生したメッセージのうち、必要なメッセージだけを管理者に通知するためにフィルタリングが行われている（例えば、特許文献１〜３参照。）。
【０００８】
上記特許文献１〜３に開示されたフィルタリング技術を用いた場合は、繰り返し発生する同様のメッセージや、一定基準を満たさないメッセージ等が、設定されたフィルタによって、廃棄されるため、管理者の負担は軽減されるものと考えられる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−２０８７３６号公報
【特許文献２】国際公開第２０１３／００８２８９号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記特許文献１〜３に開示されたフィルタリング技術を用いる場合であっても、監視対象毎に、フィルタを設定する必要がある。また、監視対象となるログのフォーマットは、日時の部分だけでも、「12/04/12 11:56:34:」、「2012-11-20 13:31:40」、「2013-10-22 09:59:16.750,」、「Monday, July 13, 2009 9:37:02 PM」等様々である。よって、フィルタの設定は、使用されている各種フォーマットを考慮して行う必要がある。これらの点から、上記特許文献１〜３に開示されたフィルタリング技術には、フィルタの設定の点で、管理者における負担が大きいという問題がある。
【００１１】
本発明の目的の一例は、上記問題を解消し、管理者におけるフィルタ設定の負担を軽減しつつ、メッセージの集約を可能とする、システム監視装置、システムの監視方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の一側面におけるシステム監視装置は、コンピュータシステムの監視を行うための装置であって、
前記コンピュータシステム内から出力されるメッセージを取得する、メッセージ取得部と、
取得された前記メッセージを正規化し、更に、正規化された前記メッセージから、設定ルールに基づいて、新たなメッセージを作成する、解析部と、
予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、フィルタリング部と、
を備えていることを特徴とする。
【００１３】
また、上記目的を達成するため、本発明の一側面におけるシステム監視方法は、コンピュータシステムの監視を行うための方法であって、
（ａ）前記コンピュータシステム内から出力されるメッセージを取得する、ステップと、
（ｂ）前記（ａ）のステップで取得された前記メッセージを正規化し、更に、正規化された前記メッセージから、設定ルールに基づいて、新たなメッセージを作成する、ステップと、
（ｃ）予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、ステップと、
を有していることを特徴とする。
【００１４】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータシステムの監視を行うための方法であって、
前記コンピュータに、
（ａ）前記コンピュータシステム内から出力されるメッセージを取得する、ステップと、
（ｂ）前記（ａ）のステップで取得された前記メッセージを正規化し、更に、正規化された前記メッセージから、設定ルールに基づいて、新たなメッセージを作成する、ステップと、
（ｃ）予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１５】
以上のように、本発明によれば、管理者におけるフィルタ設定の負担を軽減しつつ、メッセージの集約を可能とすることができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施の形態におけるシステム監視装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態におけるシステム監視装置の構成を具体的に示すブロック図である。
【図３】図３は、本発明の実施の形態で用いられる辞書の一例を示す図である。
【図４】図４は、本発明の実施の形態で用いられるテンプレートの一例を示す図である。
【図５】図５は、本発明の実施の形態で用いられる設定ルールの一例を示す図である。
【図６】図６は、本発明の実施の形態で用いられるフィルタの一例を示す図である。
【図７】図７は、本発明の実施の形態におけるシステム監視装置の動作を示すフロー図である。
【図８】図８は、具体例１において出力されてきたメッセージを示す図である。
【図９】図９は、本発明の実施の形態におけるシステム監視装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１７】
（実施の形態）
以下、本発明の実施の形態におけるシステム監視装置、システム監視方法、及びプログラムについて、図１〜図９を参照しながら説明する。
【００１８】
［装置構成］
最初に、図１を用いて、本実施の形態におけるシステム監視装置の概略構成について説明する。図１は、本発明の実施の形態におけるシステム監視装置の概略構成を示すブロック図である。
【００１９】
図１に示す本実施の形態におけるシステム監視装置１００は、コンピュータシステムの監視を行うための装置である。図１に示すように、システム監視装置１００は、メッセージ取得部２０と、解析部３０と、フィルタリング部４０とを備えている。
【００２０】
メッセージ取得部２０は、コンピュータシステム内から出力されるメッセージを取得し、これを解析部３０に出力する。具体的には、メッセージ取得部２０は、コンピュータシステム内の監視対象１０−１〜１０−Ｎ（Ｎ：自然数）からメッセージを取得する。また、監視対象としては、アプリケーションプログラムから出力される、アプリケーションログ、syslog等が挙げられ、この場合、メッセージ取得部２０は、アプリケーションログ、syslog等をメッセージとして取得する。
【００２１】
解析部３０は、メッセージ取得部２０で取得されたメッセージを正規化し、更に、正規化されたメッセージから、設定ルールに基づいて、新たなメッセージを作成する。フィルタリング部４０は、予め設定されたフィルタを用いて、作成された新たなメッセージに対してフィルタリングを実行する。
【００２２】
このように、システム監視装置１００では、監視対象から出力されたメッセージは正規化され、表現態様が異なるが内容が同一のメッセージがひとまとめにされて新たなメッセージが作成されるので、監視対象毎にフィルタを設定する必要がない。このため、システム監視装置１００によれば、管理者におけるフィルタ設定の負担を軽減しつつ、メッセージの集約が可能となる。
【００２３】
続いて、図２〜図６を用いて、本実施の形態におけるシステム監視装置１００の構成について更に具体的に説明する。図２は、本発明の実施の形態におけるシステム監視装置の構成を具体的に示すブロック図である。
【００２４】
図２に示すように、システム監視装置１００は、上述したメッセージ取得部２０、解析部３０、及びフィルタリング部４０に加えて、解析ツール記憶部３１と、フィルタ記憶部４１と、通知部５０とを備えている。
【００２５】
解析ツール記憶部３１は、正規化表現毎に各正規化表現に関連する語を紐付けて構築した辞書３２と、処理について設定された処理条件を記述したテンプレート３３と、解析部３０での新たなメッセージの作成時に用いられる設定ルール３４とを格納している。解析部３０は、本実施の形態では、まず、解析ツール記憶部３１から、辞書３２、テンプレート３３、設定ルール３４を読み出す。
【００２６】
また、解析部３０は、本実施の形態では、メッセージに含まれる語を、正規化表現に変換することによってメッセージを正規化する。具体的には、解析部３０は、辞書３２を用いて、取得されたメッセージに含まれる語を、それが辞書３２において紐付けられている正規化表現に置き換えることによって、メッセージを正規化する。
【００２７】
更に、解析部３０は、正規化されたメッセージから新たなメッセージを作成すると、テンプレート３３に記述されている処理条件に基づいて、新たなメッセージに対する処理を決定し、決定した処理を実行する。
【００２８】
ここで、図３〜図５を用いて、辞書３２、テンプレート３３、及び設定ルール３４について具体的に説明する。図３は、本発明の実施の形態で用いられる辞書の一例を示す図である。図４は、本発明の実施の形態で用いられるテンプレートの一例を示す図である。図５は、本発明の実施の形態で用いられる設定ルールの一例を示す図である。
【００２９】
図３に示すように、辞書３２では、正規化表現とそれに関連する語とが紐付けられている。但し、以降においては、正規化表現を「辞書語」と表記し、関連する語を「類似単語」と表記する。
【００３０】
具体的には、図３に示すように、辞書３２においては、「＜辞書語＞：類似単語１、類似単語２、・・・類似単語Ｌ（Ｌ：自然数）」の形式で、複数の辞書語が登録されている。また、辞書語及び類似単語の登録は、原則として、製品出荷段階で行われているが、管理者が後から追加できる態様であっても良い。
【００３１】
また、図４に示すように、テンプレート３３は、処理条件、例えば、特定のメッセージに対して、関連するメッセージが出力されてきた場合に指定される動作を記述している。図４の例では、テンプレート３３は、「＜最初に出現するメッセージ１＞＜最初に出現するメッセージ２＞・・・→＜関連するメッセージ＞：動作」の形式で定義されている。なお、メッセージは、それに含まれる語が関連する「辞書語」で表現されている。
【００３２】
例えば、「動作」が抑止である場合は、最初に出現したメッセージと、それに関連するメッセージとの両方の通知が中止される。また、「動作」がまとめて通知である場合は、最初に出現したメッセージと、それに関連するメッセージとの両方が、１通のメッセージにまとめられて通知される。
【００３３】
また、図５に示すように、設定ルール３４は、正規化された各メッセージから新たなメッセージを作成する際のルールを規定している。図５の例では、ルールとしては、処理の実行態様を規定するルールと、時間的条件を満たす２以上のメッセージを１つのメッセージとするルールが示されている。具体的には、前者としては、「監視間隔：10min（解析部で受信したメッセージをまとめて処理する時間）」が例示され、後者としては「<Date>,<Time>が近い時間があればまとめる：True」、「関連メッセージをまとめる：True」、「関連メッセージが繰り返し出力されていたらまとめる：True」が例示されている。
【００３４】
設定ルール３４が図５に示す例である場合、解析部３０は、複数のメッセージを受け取ると、これらをそれぞれ正規化し、正規化した複数のメッセージうち、時間的条件を満たす２以上のメッセージを特定する。そして、解析部２０は、特定した２以上のメッセージに含まれる正規化表現を１つにまとめ、その際、重複する２以上の正規化表現については１つを除き排除して、１つの新たなメッセージとする。
【００３５】
また、図２に示すように、フィルタ記憶部４１は、利用されるフィルタ４２−１〜４２−Ｍ（Ｍ：自然数）を格納している。フィルタリング部４０は、本実施の形態では、フィルタ記憶部４１から、フィルタ４２−１〜４２−Ｍを読み出し、これらを用いて、フィルタリングを実行する。
【００３６】
ここで、図６を用いて、フィルタ４２−１〜４２−Ｍについて具体的に説明する。図６は、本発明の実施の形態で用いられるフィルタの一例を示す図である。図６に示すように、フィルタ４２−１〜４２−Ｍそれぞれは、本実施の形態では、辞書で用いられる正規化表現を用いて設定される。このため、監視対象毎にフィルタを設定する必要がなく、管理者におけるフィルタ設定の負担が軽減される。
【００３７】
また、本実施の形態では、フィルタリング部４０は、フィルタリングの実行後、辞書３２を用いて、フィルタリングによって抽出したメッセージ中の正規化表現を、正規化される前の語に戻し、そのメッセージを通知部５０に送る。このとき、辞書３２において、一つ辞書語に対して多数の類似単語が紐付けられている場合は、フィルタリング部４０は、辞書語を類似単語１に変換する。その後、通知部５０は、正規化表現が元の語に戻されたメッセージを外部に通知する。
【００３８】
続いて、図３〜図６を用いて、解析部、フィルタリング部４０、及び通知部５０における具体的な処理について説明する。例えば、監視対象１０−１から、「停止：APP1 サービス」というメッセージが出力されたとする。この場合、図５に示した設定ルール３４によって、「監視間隔」が「10min」と設定されているので、解析部３０は、最初のメッセージの受信から１０分間待ち、１０分間に発生したメッセージをまとめて解析する。具体的には、この１０分間に、syslogから出力された「APP1 daemon down」というメッセージが更に受信されているとする。
【００３９】
この場合、解析部３０は、辞書３２を用いて、各メッセージを正規化する。また、解析部３０は、辞書３２に登録してある語については、辞書語に変換するが、登録されていない助詞及び記号等については、意味を解釈する。例えば、本例では、APP1は、アプリケーションプログラムの名称であるので、解析部３０は、これを<STR1>に変更する。正規化の結果は、下記の通りである。
【００４０】
<Stop> <STR1> <サービス>
<STR1> <サービス> <Stop>
<STR1> = APP1
【００４１】
次に、解析部３０は、正規化したメッセージを、図４に示すテンプレート３３に当てはめ、該当する処理条件が存在するかどうかを確認する。本例では、１通目のメッセージと２通目のメッセージとに<Stop>が存在するが、<Start>が存在する関連メッセージを受信していないため、解析部３０は、テンプレートに一致するものはないと判断する。
【００４２】
また、上記の２通のメッセージには時刻情報はなく、時間的条件を満たす２以上のメッセージを１つのメッセージとするルールは適用されないので、解析部３０は、これらのメッセージをそれぞれ、フィルタリング部４０に渡す。
【００４３】
フィルタリング部４０は、上述の正規化後のメッセージを受け取ると、これらをフィルタ４２−１〜４２−Ｍに照合する。本例では、正規化後のメッセージは、フィルタに定義されている「APP1 <サービス> <Stop>」と同じ文字列を含むため、フィルタリング部４０は、受け取った各メッセージは、フィルタに一致すると判断する。
【００４４】
そして、フィルタリング部４０は、辞書３２を用いて、フィルタに一致すると判断したメッセージ中の辞書語を、最初に定義されている類似単語１に変換し、変換語のメッセージを、通知部５０に出力する。また、フィルタに一致するメッセージが複数存在する場合は、フィルタリング部４０は、各メッセージを、フィルタに定義された順に通知部５０に出力する。なお、フィルタリング部４０は、メッセージに含まれる辞書語の順番に制限されることなく、一致するかどうかを判定する。
【００４５】
本例では、図３に示すように、<サービス>の類似単語１は「サービス」、<Stop>の類似単語１は「停止」であるので、フィルタ「APP1 <サービス> <Stop>」によって、上述の正規化後のメッセージの一つは「停止  APP1  サービス」と変換され、残りの一つは「APP1  サービス  停止」と変換され、その後、これらは通知部５０によって通知される。
【００４６】
上述のように、アプリケーションログからメッセージとして「停止：APP1 サービス」が出力され、syslogからメッセージとして「APP1 daemon down」が出力された場合、従来では、管理者は、メッセージ毎に、その文字列を意識してフィルタを定義する必要がある。しかしながら、本実施の形態によれば、アプリケーションログ用のフィルタ及びsyslog用のフィルタとして、管理者は、「APP1 <サービス>  <Stop>」 と定義するだけでよい。即ち、管理者は、アプリケーションログ、及びsyslogに出力される文字列を意識せず、フィルタしたい内容を抽象的に記載するだけでよい。
【００４７】
［装置動作］
次に、本発明の実施の形態におけるシステム監視装置の動作について図７を用いて説明する。図７は、本発明の実施の形態におけるシステム監視装置の動作を示すフロー図である。以下の説明においては、適宜図１〜図６を参酌する。また、本実施の形態では、システム監視装置１００を動作させることによって、システム監視方法が実施される。よって、本実施の形態におけるシステム監視方法の説明は、以下のシステム監視装置１００の動作説明に代える。
【００４８】
まず、前提として、解析部３０は、解析ツール記憶部３１から、辞書３２、テンプレート３３、設定ルール３４を読み出した状態にある。また、メッセージ取得部２０は、いずれかの監視対象からメッセージが出力されると、これを取得し、取得したメッセージを解析部３０に出力する。
【００４９】
図７に示すように、最初に、解析部３０は、最初のメッセージが受信されてから設定時間（監視間隔：図５参照）が経過したかどうかを判定する（ステップＡ１）。ステップＡ１の判定の結果、設定時間を経過していない場合は、解析部１０は、待機状態となり、一定時間が経過した後に再度ステップＡ１を実行する。また、この間に、メッセージ取得部２０からメッセージが出力されてきた場合は、これを処理対象となる。
【００５０】
次に、解析部３０は、出力されてきた各メッセージに対して正規化処理を実行する（ステップＡ２）。具体的には、ステップＡ２では、解析部３０は、メッセージを構成する語句を、辞書３２に照らし合わせ、各語句を対応する辞書語に変換する。これにより、各メッセージは正規化される。
【００５１】
次に、解析部３０は、先に取得しているテンプレート３３を確認し、該当する条件が存在している場合は、それを特定する。それに記述されている処理条件を特定する（ステップＡ３）。例えば、特定のメッセージに<Stop>が含まれ、それに関連するメッセージに<Start>が含まれている場合は、解析部３０は、処理条件として「まとめて通知」を特定する（図４参照。）。なお、解析部３０は、処理条件として「抑止」を特定した場合は、該当するメッセージに対する通知を中止する。
【００５２】
次に、解析部３０は、受信された各メッセージが時刻情報を有しているかどうかを判定する（ステップＡ４）。ステップＡ４の判定の結果、各メッセージが時刻情報を有していない場合は、ステップＡ１１が実行される。
【００５３】
一方、ステップＡ４の判定の結果、各メッセージが時刻情報を有している場合は、解析部３０は、設定ルール３４において「<Date>,<Time>が近い時間があればまとめる」（図５参照）がTrueであるかどうかを判定する（ステップＡ５）。
【００５４】
ステップＡ５の判定の結果、「<Date>,<Time>が近い時間があればまとめる」がTrueでない場合は、解析部３０は、ステップＡ７を実行する。一方、ステップＡ５の判定の結果、「<Date>,<Time>が近い時間があればまとめる」がTrueである場合は、解析部３０は、受信時刻の差が１０秒以内にある同一の複数のメッセージを一つのメッセージとする（ステップＡ６）。
【００５５】
次に、解析部３０は、設定ルール３４において「関連メッセージをまとめる」がTrueであるかどうかを判定する（ステップＡ７）。ステップＡ７の判定の結果、「関連メッセージをまとめる」がTrueでない場合は、解析部３０は、ステップＡ９を実行する。
【００５６】
一方、ステップＡ７の判定の結果、「関連メッセージをまとめる」がTrueである場合は、解析部３０は、受信時刻の差が１０秒以内にある関連メッセージをまとめて一つのメッセージとする（ステップＡ８）。
【００５７】
次に、解析部３０は、設定ルール３４において、「関連メッセージが繰り返し出力されていたらまとめる」がTrueであるかどうかを判定する（ステップＡ９）。ステップＡ９の判定の結果、「関連メッセージが繰り返し出力されていたらまとめる」がTrueでない場合は、ステップＡ１１が実行される。
【００５８】
一方、ステップＡ９の判定の結果、「関連メッセージが繰り返し出力されていたらまとめる」がTrueである場合は、解析部３０は、指定された「時間誤差」内に繰り返し出力されている関連するメッセージをまとめて一つのメッセージとする（ステップＡ１０）。
【００５９】
次に、フィルタリング部４０は、解析部３０が作成した正規化後のメッセージに対してフィルタリングを実行する（ステップＡ１１）。また、ステップＡ１１では、フィルタリング部４０は、辞書３２を用いて、フィルタリングによって抽出したメッセージ中の辞書語を、最初に定義されている類似単語１に変換し、変換語のメッセージを、通知部５０に出力する。
【００６０】
その後、通知部５０は、出力されてきたメッセージを外部に通知する（ステップＡ１２）。ステップＡ１２の実行後、システム監視装置１００における処理は一旦終了する。なお、監視対象から新たにメッセージが出力されてくると、再度、ステップＡ１が実行される。
【００６１】
［実施の形態における効果］
従来では、管理者が監視対象ごとに似たようなフィルタを１つずつ設定する必要があったが、本実施の形態によれば、監視対象に出力される内容を意識する必要がなく、抽象的なフィルタを設定するだけで良い。このため、管理者は、最小限の簡単な設定で、メッセージをフィルタリングでき、管理者における作業の煩雑さが低減される。また、この結果、管理者によるシステムのメンテナンスが容易となる。
【００６２】
また、本実施の形態では、最終的に、出力されるメッセージでは、辞書語は元の語に戻されるため、管理者には、見やすいメッセージが送信されることになる。更に、本実施の形態では、近い時間に受信されたメッセージ、類似のメッセージ、関連するメッセージを自動的にまとめたり、不必要なメッセージについては通知しないようにしたり、できる。よって、この点からも、管理者によるシステムのメンテナンスが容易となる。
【００６３】
［具体例１］
続いて、図８を用いて、本実施の形態における具体例１について説明する。図８は、具体例１において出力されてきたメッセージを示す図である。まず、具体例１では、監視対象から出力された類似のメッセージが、１つにまとめられる場合について説明する。
【００６４】
コンピュータシステムにおいて、監視対象から類似のメッセージが繰り返し出力されることが多々ある。例えば、図８に示すように、アプリケーションプログラム「APP2」のアプリケーションログとして、９行のメッセージが出力されているとする。この場合において、繰り返されるメッセージをすべて通知していては、メッセージが多数になり、管理者及びオペレータ（メッセージの監視者）の処理が増大する、という問題が発生する（繰り返し通知しなくても、１回通知すれば十分である）。
【００６５】
従来では、特に何も設定しなければ、類似のメッセージ９通は全て管理者に通知される。また、類似のメッセージを正確に抑止するために、管理者は、複雑なフィルタ設定を行う必要があった。
【００６６】
これに対して、本実施の形態では、システム監視装置１００が、メッセージの内容を解析するため、管理者が何も設定しなくても、９通のメッセージは、「2012/12/04  11:34:08、11:39:38、11:42:42、APP2 Windows\Program  自動アップデート開始  有効なアップデートが見つかりません。  アップデートは失敗しました。」と１通にまとめられる。
【００６７】
以下に具体的に説明する。なお、辞書３２、テンプレート３３及び設定ルール３４は、図３〜図５に示した通りであるとする。但し、フィルタとしては、「＊」が用いられる。このフィルタは、すべてのメッセージを通知することを意味している。
【００６８】
まず、メッセージ取得部２０は、監視対象から図８に示す９通のメッセージが出力されると、これらを読み込み、これらを解析部３１に出力する。設定ルール３４において、「監視間隔」が「10min」となっているため、解析部３０は、最初に来たメッセージの受信後、１０分間待って、１０分間の間に受信したメッセージをまとめて解析する。本具体例１では、１０分の間に、図８に示した９通のメッセージが受信されているので、解析部３１は、これらのメッセージをまとめて解析する。
【００６９】
次に、解析部３１は、各メッセージに対して、辞書３２に登録してある辞書語に紐付けられた語を有していないかどうか確認し、このような語を有していれば、これを辞書語に変換して、各メッセージを正規化する。結果は下記の通りとなる。また、このとき、解析部３１は、登録されていない助詞及び記号等については意味を解釈する。
【００７０】
正規化語のメッセージ：
<Date1>  <Time1>  <STR1>  <Path_Win1>  <STR2>
<Date1>  <Time2>  <STR1>  <Path_Win1>  <STR3>
<Date1>  <Time2>  <STR1>  <Path_Win1>  <STR4>
<Date1>  <Time3>  <STR1>  <Path_Win1>  <STR2>
<Date1>  <Time4>  <STR1>  <Path_Win1>  <STR3>
<Date1>  <Time4>  <STR1>  <Path_Win1>  <STR4>
<Date1>  <Time5>  <STR1>  <Path_Win1>  <STR2>
<Date1>  <Time6>  <STR1>  <Path_Win1>  <STR3>
<Date1>  <Time6>  <STR1>  <Path_Win1>  <STR4>
<Date1> ＝ 2012/12/04
<Time1> ＝ 11:34:08
<Time2> ＝ 11:34:10
<Time3> ＝ 11:39:38
<Time4> ＝ 11:39:41
<Time5> ＝ 11:42:42
<Time6> ＝ 11:42:45
<STR1> ＝ APP2
<STR2> ＝ 自動アップデート開始
<STR3> ＝ 有効なアップデートが見つかりません。
<STR4> ＝ アップデートは失敗しました。
【００７１】
次に、解析部３０は、正規化したメッセージを図４に示すテンプレート３３に当てはめ、該当する処理条件が存在するかどうかを確認する。本具体例１では、解析部３０は、該当する処理条件は存在しないと判定する。
【００７２】
また、本具体例１では、メッセージの中に時刻情報が存在する。また、図５に示すように、設定ルール３４において、「<Date>、<Time> が近い時間があればまとめる」は「True」に設定され、更に「同時に出力されたとみなす時間誤差」は「10sec」に設定されている。従って、解析部３０は、<Date>、<Time> が１０秒以内にあるメッセージについては、まとめる処理をおこなう。但し、図８の例では、１０秒以内に同じメッセージが出力されていないため、まとめられるメッセージは存在しない。
【００７３】
更に、図５に示すように、設定ルール３４において、「関連メッセージをまとめる」が「True」で、「関連メッセージが同時に出力されたとみなす時間誤差」が「10sec」となっている。このため、解析部３０は、関連メッセージが１０秒以内に出力されていれば、これらをまとめる処理をおこなう。
【００７４】
具体的には、解析部３０は、１通目のメッセージ「<STR1>  <Path_Win1>  <STR2>」の後に、「関連メッセージが同時に出力されたとみなす時間誤差」である１０秒以内に出力されている関連メッセージは、以下の２通であると解析する。
【００７５】
<STR1>  <Path_Win1>  <STR3>・・・・・（１）
<STR1>  <Path_Win1>  <STR4>・・・・・（２）
【００７６】
また、１通目のメッセージ「<STR1>  <Path_Win1>  <STR2>」と同じメッセージは、４通目と７通目にある。そして、解析部３０は、４通目「<STR1>  <Path_Win1>  <STR2>」の後に、「関連メッセージが同時に出力されたとみなす時間誤差」である１０秒以内に出力されている関連メッセージは、以下の２通と解析する。
【００７７】
<STR1>  <Path_Win1>  <STR3>
<STR1>  <Path_Win1>  <STR4>
【００７８】
同様に、解析部３０は、７通目「<STR1>  <Path_Win1>  <STR2>」の後に、「関連メッセージが同時に出力されたとみなす時間誤差」である１０秒以内に出力されているメッセージは、以下の２通と解析する。
【００７９】
<STR1>  <Path_Win1>  <STR3>
<STR1>  <Path_Win1>  <STR4>
【００８０】
このように、１通目、４通目、７通目それぞれのメッセージについて、関連のあるメッセージを互いに比較すると、いずれにおいても、上記（１）及び（２）のメッセージが出力されていることが分かる。このため、本具体例１では、解析部３０は、以下の３通のメッセージはセットである、と解析する。
【００８１】
<STR1>  <Path_Win1>  <STR2>
<STR1>  <Path_Win1>  <STR3>
<STR1>  <Path_Win1>  <STR4>
【００８２】
上記のセットとなる３通のメッセージにおいては、「<STR1>  <Path_Win1>」の部分が共通となる。従って、解析部３０は、これらをまとめて、下記のメッセージとする。
<STR1>  <Path_Win1>  <STR2>  <STR3>  <STR4>
【００８３】
従って、解析部３０は、図８に示したメッセージから、下記に示すメッセージを新たに作成することになる。
【００８４】
<Date1>  <Time1>  <STR1>  <Path_Win1>  <STR2>  <STR3>  <STR4>
<Date1>  <Time3>  <STR1>  <Path_Win1>  <STR2>  <STR3>  <STR4>
<Date1>  <Time5>  <STR1>  <Path_Win1>  <STR2>  <STR3>  <STR4>
<Date1> ＝ 2012/12/04
<Time1> ＝ 11:34:08
<Time3> ＝ 11:39:38
<Time5> ＝ 11:42:42
<STR1> ＝ APP2
<STR2> ＝ 自動アップデート開始
<STR3> ＝ 有効なアップデートが見つかりません。
<STR4> ＝ アップデートは失敗しました。
【００８５】
また、図５に示すように、設定ルール３４において、「関連メッセージが繰り返し出力されていたらまとめる」が「True」となっている。このため、解析部３０は、関連メッセージが繰り返し出力されていたらまとめる処理をおこなう。
【００８６】
本具体例１では、以下のように、関連メッセージが、<Time1>、<Time3>、<Time5> で繰り返し出力されている。
<Date1>  <Time1>  <STR1>  <Path_Win1>  <STR2>  <STR3>  <STR4>
<Date1>  <Time3>  <STR1>  <Path_Win1>  <STR2>  <STR3>  <STR4>
<Date1>  <Time5>  <STR1>  <Path_Win1>  <STR2>  <STR3>  <STR4>
【００８７】
従って、解析部３０は、こられを以下のように一つにまとめる。
<Date1>  <Time1>  <Time3>  <Time5>  <STR1>  <Path_Win1>  <STR2>  <STR3>  <STR4>
【００８８】
次に、フィルタリング部４０は、解析部３０が新たに作成したメッセージをフィルタに照合して、フィルタリングを実行する。但し、上述したように、具体例１では、フィルタは「＊」に設定されているので、作成された全てのメールが抽出される。
【００８９】
更に、フィルタリング部４０は、辞書３２を用いて、抽出したメッセージ中の辞書語を、最初に定義されている類似単語１に変換し、変換語のメッセージを、通知部５０に出力する。具体的には、メッセージ「2012/12/04  11:34:08、11:39:38、11:42:42、APP2 Windows\Program  自動アップデート開始  有効なアップデートが見つかりません。  アップデートは失敗しました。」が、通知部５０に出力される。その後、通知部５０は、この最初の９通を１通にまとめたメッセージを管理者等に通知する。
【００９０】
［具体例２］
続いて、本実施の形態における具体例２について説明する。具体例では、異なる監視対象から出力された類似のメッセージが、１つにまとめられる場合について説明する。
【００９１】
コンピュータシステムにおいては、異なる監視対象から、同じタイミングで類似のメッセージが出力されることが多々ある。この場合において、類似（同意語）のメッセージをすべて通知していては、メッセージが多数になり、管理者及びオペレータの処理が増大する、という問題が発生する（類似メッセージは、１回通知すれば十分である）。
【００９２】
例えば、アプリケーション「APP1」を停止すると、ほぼ同じタイミングで、アプリケーション「APP1」が出力するアプリケーションログには、「13/1/1 14:30:00 APP1 サービスが停止しました」というメッセージが出力され、syslogには、「2013/1/1 14:30:05  APP1 daemon down」というメッセージが出力される。
【００９３】
この場合、従来では、特に何も設定しなければ、類似のメッセージ２通それぞれ、全て通知される。また、類似のメッセージを正確に抑止するためには、管理者は複雑なフィルタ設定を行う必要があった。
【００９４】
これに対して、本実施の形態では、システム監視装置１００が、メッセージの内容を自動で解析するため、管理者が何も設定しなくても、ほぼ同じタイミングで出力された類似のメッセージは、１通にまとめることができる。
【００９５】
以下に具体的に説明する。なお、監視対象１０−１が、アプリケーション「APP1」が出力するアプリケーションログであり、監視対象１０−２が、syslogであるとする。辞書３２、テンプレート３３及び設定ルール３４は、図３〜図５に示した通りであるとする。また、フィルタは、図６に示した通りであるとする。
【００９６】
まず、メッセージ取得部２０は、監視対象１０−１が、メッセージとして、「13/1/1 14:30:00 APP1 サービスが停止しました」を出力すると、これを読み込み、これを解析部３０に出力する。また、メッセージ取得部２０は、監視対象１０−２が、メッセージとして、「2013/1/1 14:30:05  APP1 daemon down」を出力すると、これを読み込み、これを解析部３０に出力する。
【００９７】
設定ルール３４において、「監視間隔」が「10min」となっているため、解析部３１は、最初に来たメッセージの受信後、１０分間待って、１０分間の間に受信したメッセージをまとめて解析する。本具体例２では、１０分の間に、上記２通のメッセージを受信している。
【００９８】
次に、解析部３１は、各メッセージに対して、辞書３２に登録してある辞書語に紐付けられた語を有していないかどうか確認し、このような語を有していれば、これを辞書語に変換して、各メッセージを正規化する。結果は下記の通りとなる。また、このとき、解析部３１は、登録されていない助詞及び記号等については意味を解釈する。
【００９９】
正規化後のメッセージ：
<Date1>  <Time1>  <STR1> <サービス> <Stop>        （アプリケーションログ）
<Date1>  <Time2>  <STR1> <サービス> <Stop>        （syslog）
<Date1> ＝ 2013/1/1
<Time1> ＝ 14:30:00
<Time2> ＝ 14:30:05
<STR1> ＝ APP1
【０１００】
次に、解析部３０は、正規化したメッセージを図４に示すテンプレート３３に当てはめ、該当する処理条件が存在するかどうかを確認する。本具体例２では、１通目と２通目に<Stop>があるが、他の受信したメッセージに<Start>がないため、解析部３０は、該当する処理条件は存在しないと判定する。
【０１０１】
また、本具体例２では、メッセージの中に時刻情報が存在する。また、図５に示すように、設定ルール３４において、「<Date>、<Time> が近い時間があればまとめる」は「True」に設定され、更に「同時に出力されたとみなす時間誤差」は「10sec」に設定されている。従って、解析部３０は、<Date>、<Time> が１０秒以内にあるメッセージについては、まとめる処理をおこなう。
【０１０２】
具体的には、解析部３０は、<Time1> と <Time2> とが１０秒以内にあるため、２つのメッセージをまとめ、同一のメッセージとして扱う。結果、上記の正規化後のメッセージは、下記のようにまとめられる。
【０１０３】
<Date1>  <Time1>  <STR1> <サービス> <Stop>
<Date1> ＝ 2013/1/1
<Time1> ＝ 14:30:00
<STR1> ＝ APP1
【０１０４】
更に、図５に示すように、設定ルール３４においては、「関連メッセージをまとめる」が「True」で、「関連メッセージが同時に出力されたとみなす時間誤差」が「10sec」となっている。このため、解析部３０は、関連メッセージが１０秒以内に出力されていれば、これらをまとめる処理を行うが、具体例２では、該当するメッセージは存在していないと判断する。
【０１０５】
次に、フィルタリング４０は、解析部３０が新たに作成したメッセージをフィルタに照合して、フィルタリングを実行する。本具体例２では、フィルタは、図６に示した通りなので、上記正規化後のメッセージが抽出される。
【０１０６】
更に、フィルタリング部４０は、辞書３２を用いて、抽出したメッセージ中の辞書語を、最初に定義されている類似単語１に変換し、変換語のメッセージを、通知部５０に出力する。具体的には、メッセージ「2013/1/1  14:30:00  APP1  サービス停止」が通知部５０に出力される。その後、通知部５０は、最初の２通を１通にまとめたメッセージを管理者等に通知する。
【０１０７】
このように、アプリケーションログ、イベントログ、syslog から、どのような表記のメッセージが出力されても、管理者には、統一した表現で通知がなされる。また、アプリケーションログ、イベントログ、syslog のいずれを監視対象とした場合であっても、フィルタは「<STR1> <サービス> <Stop>」と設定すれば良い。このことは、監視対象に出力される内容を意識せずに、抽象的にフィルタを設定できることを示している。即ち、管理者は、アプリケーションログ、イベントログ、syslog が、どのような表記のメッセージを出力してくるのかを意識する必要がなく、その上で、フィルタを設定できる。
【０１０８】
［具体例３］
続いて、本実施の形態における具体例３について説明する。具体例３では、関連するメッセージ（異常と回復等）がまとめて通知されない場合について説明する。
【０１０９】
コンピュータシステムにおいては、監視対象から異常発生を知らせるメッセージが出力されても、すぐに回復が出力されることが多々ある。この場合において、全てのメッセージをすべて通知していては、メッセージが多数になり、管理者及びオペレータの処理が増大する、という問題が発生する（異常になっても回復になったメッセージは通知する必要がない）。
【０１１０】
具体的には、ＣＰＵ使用率が一瞬高負荷になって、ＣＰＵ高負荷を示すメッセージが出力されたが、直ぐにＣＰＵ使用率が低負荷になって、ＣＰＵ使用率が回復（低負荷）したことを示すメッセージが出力された場合が挙げられる。以下は、ＣＰＵ使用率を２段階（正常、異常）で閾値判断（異常閾値：90%）してメッセージを通知する、システムにおける、上述のメッセージの具体例を示している。
【０１１１】
「ＣＰＵ使用率が異常域の閾値を超えました。  閾値：90%  現在値：95%」
「ＣＰＵ使用率が正常域まで回復しました。   現在値：30%」
【０１１２】
従来では、特に何も設定しなければ、ＣＰＵ使用率が高負荷であることを示すメッセージと、ＣＰＵ使用率が回復したことを示すメッセージとの２通それぞれが、管理者に通知される。また、ＣＰＵ使用率が高負荷であることを示すメッセージとＣＰＵ使用率が回復したことを示すメッセージとを正確に抑止するためには、管理者は複雑なフィルタ設定を行う必要があった。
【０１１３】
これに対して、本実施の形態では、システム監視装置１００は、メッセージの内容を解析するため、管理者が何も設定しなくても、ある一定間隔の間に出力された関連するメッセージ、例えば、異常を示すメッセージと回復を示すメッセージとは、まとめて通知しないようにすることができる。
【０１１４】
以下に具体的に説明する。なお、辞書３２、テンプレート３３及び設定ルール３４は、図３〜図５に示した通りであるとする。但し、フィルタとしては、「＊」が用いられる。このフィルタは、すべてのメッセージを通知することを意味している。
【０１１５】
まず、メッセージ取得部２０は、監視対象から、ＣＰＵが高負荷になったときに「ＣＰＵ使用率が異常域の閾値を超えました。  閾値：90%  現在値：95%」というメッセージが出力されると、これを読み込み、これを解析部３１に出力する。
【０１１６】
その後、メッセージ取得部２０は、監視対象から、ＣＰＵの使用率が回復（低負荷）したときに、「ＣＰＵ使用率が正常域まで回復しました。  現在値：30%」というメッセージが出力されると、これを読み込み、これを解析部３１に出力する。
【０１１７】
そして、設定ルール３４において、「監視間隔」が「10min」となっているため、解析部３０は、１０分間の間に受信したメッセージをまとめて解析する。本具体例３では、最初の「ＣＰＵ使用率が異常域の閾値を超えました。  閾値：90%  現在値：95%」というメッセージを受信した後、解析部３０は、１０分の間に、「ＣＰＵ使用率が正常域まで回復しました。  現在値：30%」というメッセージを受信している。
【０１１８】
次に、解析部３１は、各メッセージに対して、辞書３２に登録してある辞書語に紐付けられた語を有していないかどうか確認し、このような語を有していれば、これを辞書語に変換して、各メッセージを正規化する。結果は下記の通りとなる。また、このとき、解析部３１は、登録されていない助詞及び記号等については意味を解釈する。
【０１１９】
正規化後のメッセージ：
<STR1> <Usage> <超過> <Error> <Thred>：90%  <Current>：95%
<STR1> <Usage> <回復> <Info>  <Current>：30%
<STR1> = CPU
【０１２０】
次に、解析部３０は、正規化したメッセージを図４に示すテンプレート３３に当てはめ、該当する処理条件が存在するかどうかを確認する。本具体例３では、解析部３０は、最初のメッセージに「<超過> <Error>」があり、２通目のメッセージに「<回復>」があるため、「<超過> <Error> → <回復> ：抑止」が一致する処理条件の候補と判断する。
【０１２１】
各メッセージでは「<STR1> <Usage> 」が共通し、両メッセージの間で「<Current>」が低下している。よって、解析部３０は、一致する処理条件の候補と正規化後のメッセージとを比較し、これらのメッセージは、処理条件の候補「<超過> <Error> → <回復> ：抑止」に一致すると判断する。また、解析部３０は、一致した場合の動作は「抑止」なので、この２通のメッセージについては、抑止対象となるため、フィルタリング部４０に渡さないと判断する。
【０１２２】
一方、テンプレート３３において、図４の例と異なり、「<超過> <Error> → <回復> ：まとめて通知」と記述されている場合は、解析部３０は、１通目のメッセージと２通目のメッセージとをまとめるため、下記のメッセージを作成する。
【０１２３】
作成されたメッセージ：
<STR1> <Usage> <超過> <Error> <Thred>：90%  <Current>：95%   <回復> <Info>  <Current>：30%
【０１２４】
この場合、メッセージの中に時刻情報が存在しないため、解析部３０は、上記の作成したメッセージをフィルタリング部４０に渡す。その後、フィルタリング４０は、フィルタリング処理を行う。但し、上述したように、具体例３では、フィルタは「＊」に設定されているので、作成された全てのメールが抽出される。
【０１２５】
更に、フィルタリング部４０は、辞書３２を用いて、抽出したメッセージ中の辞書語を、最初に定義されている類似単語１に変換し、変換語のメッセージを、通知部５０に出力する。具体的には、メッセージ「ＣＰＵ使用率超過 異常 閾値：90%  現在値：95%  回復 正常  現在値：30%」が通知部に出力される。その後、通知部５０は、このメッセージを管理者等に通知する。
【０１２６】
なお、上記の具体例３では、ＣＰＵ使用率に関するメッセージのみが出力されているが、本具体例はこれに限定されず、ＣＰＵ部分がメモリとなったメモリ使用率や、他の使用率が用いられていても良い。この場合でも、「<STR1>」が「<STR2>」、「<STR3>」・・・「<STRn>」になるだけで、同様の解析及び処理が可能である。
【０１２７】
また、上記の具体例３では、システムにおいて、閾値の判断は、２段階（正常、異常）で行われているが、これに限定されず、閾値の判断は、３段階、更には５段階で会っても良く、このような場合でも同様の解析及び処理が可能である。
【０１２８】
また、メッセージに使用される言語の種類は、特に限定されず、メッセージは、日本語の他、英語等の言語によって表現されていても良い。このような場合であっても、辞書において種々の言語によって、辞書語及び類似単語を登録すれば対応できる。
【０１２９】
［変形例１］
本実施の形態では、図３に示した辞書３２の内容を拡張することが可能である。これにより、上述していない種々のメッセージに対応することができる。また、辞書３２において、単語登録の書式は特に限定されるものではない。また、辞書３２における「区切りの文字」、「置換する文字列の指定」も特に限定されるものではない。
【０１３０】
［変形例２］
本実施の形態では、図４に示したテンプレート３３の内容を拡張することが可能である。これにより、解析部３０においては、上述していない多様な解析動作が可能となる。例えば、以下の例が挙げられる。
【０１３１】
図４の例では、「最初に出現するメッセージ」の後に「関連するメッセージ」が出現した場合の動作が指定されているが、例えば、「最初に出現するメッセージ」の後に、「１分以内」に「関連するメッセージ」が出現した場合、といったように時間が指定されていても良い。
【０１３２】
また、「最初に出現するメッセージ」の後に、「他のメッセージが出る前」に「関連するメッセージ」が出現した場合、といったように、最初のメッセージと関連するメッセージとの間にメッセージの有無が指定されている等しても良い。
【０１３３】
また、図５に示した設定ルール３４では、「監視間隔：10min」となっているため、１０分間の間に来たメッセージがまとめて解析されるが、これに限定されることはない。例えば、テンプレートに定義されている１行ごとに、監視間隔が定義されていても良く、この場合、より詳細な解析が実行可能となる。
【０１３４】
［変形例３］
本実施の形態では、図５に示した設定ルール３４の内容を拡張することが可能である。これにより、解析部３０においては、上述していない多様な解析動作が可能となる。例えば、以下の例が挙げられる。
【０１３５】
図５の例では、「監視間隔：10min」となっているため、最初のメッセージが来てから１０分間の間に受信したメッセージをまとめて解析、としているが、これに限定されない。例えば、メッセージの受信の有無にかかわらず、常に１０分間隔で解析処理が行われていても良い。
【０１３６】
また、設定ルール３４では、各メッセージを表現する言語として、日本語、英語、中国語等、異なる言語が用いられていても、同じ意味であれば、異なる言語のメッセージをまとめるようにルールが設定されていても良い。
【０１３７】
更に、設定ルール３４では、日時が近い場合だけでなく、蓄積している過去のメッセージの出現パターンに基づいて、メッセージをまとめるように、ルールが設定されていても良い。
【０１３８】
また、本実施の形態では、メッセージは正規化された後、通知の際に元の語に戻されているが、例えば、正規化されたメッセージがそのまま管理者に通知されても良い。更に、メッセージは、もともと出力された順に管理者に通知されても良い。また、正規化されたメッセージを元の語に戻す際においては、メッセージの意味を分かり易くするために、メッセージに助詞が補われても良い。また、通知される際に、メッセージは、元の言語から別の言語に変更されても良い。
【０１３９】
［変形例４］
本実施の形態では、図６に示したフィルタの内容を拡張することが可能である。これにより、フィルタリング部４０においては、上述していない、多様な動作が可能となる。例えば、フィルタリング部４０は、上述の例では、各メッセージの受信した順位を考慮せずにフィルタリングを行っているが、本実施の形態では、順位を考慮してフィルタリングを行っても良い。
【０１４０】
［プログラム］
本発明の実施の形態におけるプログラムは、コンピュータに、図７に示すステップＡ１〜Ａ１２を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるシステム監視装置１００とシステム監視方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、メッセージ取得部２０、解析部３０、フィルタリング４０、及び通知部５０として機能し、処理を行なう。
【０１４１】
また、本実施の形態では、解析ツール記憶部３１及びフィルタ記憶部４１は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されている。
【０１４２】
ここで、実施の形態におけるプログラムを実行することによって、○○装置を実現するコンピュータについて図９を用いて説明する。図９は、本発明の実施の形態におけるシステム監視装置を実現するコンピュータの一例を示すブロック図である。
【０１４３】
図９に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【０１４４】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【０１４５】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【０１４６】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【０１４７】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【０１４８】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１５）によって表現することができるが、以下の記載に限定されるものではない。
【０１４９】
（付記１）
コンピュータシステムの監視を行うための装置であって、
前記コンピュータシステム内から出力されるメッセージを取得する、メッセージ取得部と、
取得された前記メッセージを正規化し、更に、正規化された前記メッセージから、設定ルールに基づいて、新たなメッセージを作成する、解析部と、
予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、フィルタリング部と、
を備えていることを特徴とするシステム監視装置。
【０１５０】
（付記２）
前記解析部は、前記メッセージに含まれる語を、正規化表現に変換することによって前記メッセージを正規化し、その際、正規化表現毎に当該正規化表現に関連する語を紐付けて構築された辞書を用いて、取得された前記メッセージに含まれる語を、それが前記辞書において紐付けられている前記正規化表現に置き換え、
前記フィルタリング部は、前記正規化表現を用いて予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、
付記１に記載のシステム監視装置。
【０１５１】
（付記３）
前記解析部は、処理について設定された処理条件に基づいて、前記新たなメッセージに対する処理を決定し、決定した処理を実行する、
付記１または２に記載のシステム監視装置。
【０１５２】
（付記４）
前記設定ルールが、時間的条件を満たす２以上のメッセージを１つのメッセージとすることを規定している場合に、
前記解析部は、複数のメッセージそれぞれを正規化し、正規化した前記複数のメッセージうち、前記時間的条件を満たす２以上のメッセージを特定し、特定した前記２以上のメッセージに含まれる前記正規化表現を１つにまとめ、その際、重複する２以上の正規化表現については１つを除き排除して、１つの新たなメッセージとする、
付記１〜３のいずれかに記載のシステム監視装置。
【０１５３】
（付記５）
当該システム監視装置が、更に、通知部を備え、
前記フィルタリング部は、前記フィルタリングの実行後、前記辞書を用いて、前記フィルタリングによって抽出したメッセージ中の前記正規化表現を、正規化される前の語に戻し、
前記通知部は、前記正規化表現が正規化される前の語に戻された前記メッセージを外部に通知する、
付記２に記載のシステム監視装置。
【０１５４】
（付記６）
コンピュータシステムの監視を行うための方法であって、
（ａ）前記コンピュータシステム内から出力されるメッセージを取得する、ステップと、
（ｂ）前記（ａ）のステップで取得された前記メッセージを正規化し、更に、正規化された前記メッセージから、設定ルールに基づいて、新たなメッセージを作成する、ステップと、
（ｃ）予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、ステップと、
を有していることを特徴とするシステム監視方法。
【０１５５】
（付記７）
前記（ｂ）のステップにおいて、前記メッセージに含まれる語を、正規化表現に変換することによって前記メッセージを正規化し、その際、正規化表現毎に当該正規化表現に関連する語を紐付けて構築された辞書を用いて、取得された前記メッセージに含まれる語を、それが前記辞書において紐付けられている前記正規化表現に置き換え、
前記（ｃ）のステップにおいて、前記正規化表現を用いて予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、
付記６に記載のシステム監視方法。
【０１５６】
（付記８）
前記（ｂ）のステップにおいて、処理について設定された処理条件に基づいて、前記新たなメッセージに対する処理を決定し、決定した処理を実行する、
付記６または７に記載のシステム監視方法。
【０１５７】
（付記９）
前記設定ルールが、時間的条件を満たす２以上のメッセージを１つのメッセージとすることを規定している場合に、
前記（ｂ）のステップにおいて、複数のメッセージそれぞれを正規化し、正規化した前記複数のメッセージうち、前記時間的条件を満たす２以上のメッセージを特定し、特定した前記２以上のメッセージに含まれる前記正規化表現を１つにまとめ、その際、重複する２以上の正規化表現については１つを除き排除して、１つの新たなメッセージとする、
付記６〜８のいずれかに記載のシステム監視方法。
【０１５８】
（付記１０）
（ｄ）前記辞書を用いて、前記フィルタリングによって抽出されたメッセージ中の前記正規化表現を、正規化される前の語に戻し、その後、前記フィルタリングによって抽出されたメッセージを外部に通知する、ステップを更に有している、
付記７に記載のシステム監視方法。
【０１５９】
（付記１１）
コンピュータシステムの監視を行うための方法であって、
前記コンピュータに、
（ａ）前記コンピュータシステム内から出力されるメッセージを取得する、ステップと、
（ｂ）前記（ａ）のステップで取得された前記メッセージを正規化し、更に、正規化された前記メッセージから、設定ルールに基づいて、新たなメッセージを作成する、ステップと、
（ｃ）予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、ステップと、
を実行させる、プログラム。
【０１６０】
（付記１２）
前記（ｂ）のステップにおいて、前記メッセージに含まれる語を、正規化表現に変換することによって前記メッセージを正規化し、その際、正規化表現毎に当該正規化表現に関連する語を紐付けて構築された辞書を用いて、取得された前記メッセージに含まれる語を、それが前記辞書において紐付けられている前記正規化表現に置き換え、
前記（ｃ）のステップにおいて、前記正規化表現を用いて予め設定されたフィルタを用いて、前記新たなメッセージに対してフィルタリングを実行する、
付記１１に記載のプログラム。
【０１６１】
（付記１３）
前記（ｂ）のステップにおいて、処理について設定された処理条件に基づいて、前記新たなメッセージに対する処理を決定し、決定した処理を実行する、
付記１１または１２に記載のプログラム。
【０１６２】
（付記１４）
前記設定ルールが、時間的条件を満たす２以上のメッセージを１つのメッセージとすることを規定している場合に、
前記（ｂ）のステップにおいて、複数のメッセージそれぞれを正規化し、正規化した前記複数のメッセージうち、前記時間的条件を満たす２以上のメッセージを特定し、特定した前記２以上のメッセージに含まれる前記正規化表現を１つにまとめ、その際、重複する２以上の正規化表現については１つを除き排除して、１つの新たなメッセージとする、
付記１１〜１３のいずれかに記載のプログラム。
【０１６３】
（付記１５）
前記コンピュータに、
（ｄ）前記辞書を用いて、前記フィルタリングによって抽出されたメッセージ中の前記正規化表現を、正規化される前の語に戻し、その後、前記フィルタリングによって抽出されたメッセージを外部に通知する、ステップを更に実行させる、
付記１２に記載のプログラム。
【産業上の利用可能性】
【０１６４】
以上のように、本発明によれば、管理者におけるフィルタ設定の負担を軽減しつつ、メッセージの集約を可能とすることができる。本発明は、監視対象から発生するメッセージの監視が必要となる運用管理の分野に有用である。
【符号の説明】
【０１６５】
１０−１〜１０−Ｎ  監視対象
２０  メッセージ取得部
３０  解析部
３１  解析ツール記憶部
３２  辞書
３３  テンプレート
３４  設定ルール
４０  フィルタリング部
４１  フィルタ記憶部
４２−１〜４２−Ｍ
５０  通知部
１１０  コンピュータ
１００  システム監視装置
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2015191327.tif 000003
【図２】
2015191327.tif 000004
【図３】
2015191327.tif 000005
【図４】
2015191327.tif 000006
【図５】
2015191327.tif 000007
【図６】
2015191327.tif 000008
【図７】
2015191327.tif 000009
【図８】
2015191327.tif 000010
【図９】
2015191327.tif 000011