以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[情報処理システム]
図1は、本実施の形態における情報処理システムの一例を説明する図である。図1に例示する情報処理システム200は、垂直統合製品が動作するシステムである。垂直統合製品は、例えば、ハードウェア及びソフトウェアを最適に構成、設定して提供されるシステムを示す。垂直統合製品のソフトウェアは、例えば、オペレーションシステム、ミドルウェア、仮想環境、システム管理ソフト等のソフトウェアを含む。
図1に示す情報処理システム200では、画面出力ソフトウェア201(ソフトウェアAともいう)、業務処理ソフトウェア202(ソフトウェアBともいう)、業務データベースシステム203(ソフトウェアCともいう)、ログ採取エージェント204が動作する。以下、画面出力ソフトウェア201、業務処理ソフトウェア202、業務データベースシステム203をソフトウェアとも称する。
業務データベースシステム203は、業務処理ソフトウェア202が処理するデータをデータベースにしたがって記憶するとともに、データの参照、更新、追加、削除等のアクセス処理を行う。業務処理ソフトウェア202は、業務データベースシステム203に記憶されたデータを読み出して所定の処理を実行し、処理後のデータを業務データベースシステム203に更新する。
また、業務処理ソフトウェア202は所定の処理の結果を、画面出力ソフトウェア201に出力する。画面出力ソフトウェア201は、例えば、業務処理ソフトウェア202から出力された結果情報を、情報処理システム200が備える画面等の出力装置に出力する。
各ソフトウェア(画面出力ソフトウェア201、業務処理ソフトウェア202、業務データベースシステム203)は、処理の結果に応じてメッセージを出力する。したがって、各ソフトウェアで障害や警告等の事象が発生した場合、ソフトウェア201〜203は、エラーや警告を示すメッセージを出力する。
また、ログ採取エージェント204は、各ソフトウェア201〜203が出力したメッセージを採取する。ログ採取エージェント204は、採取したメッセージをログ情報として、記憶媒体等に記憶する。システム管理者は、ログ採取エージェント204が収集したログ情報に基づいて、情報処理システム200の状態を監視する。例えば、ログ情報がエラーや警告を示すメッセージを含む場合、システム管理者は、メッセージに基づいて情報処理システム200で発生している事象を特定し、事象に応じた対処を行う。
[メッセージ]
図2は、図1に示したログ採取エージェント204が収集したログ情報に含まれるメッセージmsの一例を示す図である。図2に示すメッセージmsは、情報処理システム200の業務データベースシステム203(図1)が出力したメッセージである。図2に示すメッセージは、メッセージ「<INFO> <xxx> - 新たな接続を受け付けました」、及び、メッセージ「<ERROR>メモリ不足が発生しました」を含む。
図1で説明したとおり、システム管理者は、図2に示すような、ログ情報に含まれるメッセージmsに基づいて、情報処理システム200で発生している事象を特定する。例えば、システム管理者は、障害等の事象が発生した場合のメッセージの履歴を保持する。そして、システム管理者は、例えば、ログ情報に含まれるエラーや警告、情報等を示すメッセージmsにしたがって、メッセージ履歴を検索することによって、メッセージが一致する過去の事象に基づいて、情報処理システム200で発生している事象を特定する。
[事象の特定]
図3は、比較例における事象の特定処理を説明する図である。図3に示すメッセージmsは、例えば、図2に例示したメッセージmsに対応する。なお、図2、図3は、複数のメッセージを例示するが、単一のメッセージであってもよい。
図3に示すように、2つの異なる事象が発生した場合におけるメッセージは、同一である場合がある。例えば、ソフトウェアから出力されるメッセージのバリエーションが少ない場合、異なる事象であっても同一のメッセージが出力される場合がある。したがって、ログ情報に含まれるメッセージmsが、メッセージ履歴内の複数の事象に対応する場合がある。図3の例によると、ログ情報に含まれるメッセージmsは2つの事象(事象A、事象B)に対応する。
例えば、事象Aは、事象「多数の接続が発生している」を示し、業務データベースシステム203(図1)に、許容量を超える多数の接続が発生した場合を示す。一方、事象Bは、事象「最大メモリ量の設定が小さい」を示し、業務データベースシステム203(図1)に設定したメモリ量が不足した場合を示す。
システム管理者は、特定した事象に応じて、情報処理システム200に対する対処を行う。複数の事象が特定される場合、システム管理者は、メッセージmsに基づいて、情報処理システム200で発生している事象を高精度に特定できす、適切な対処を行うことができない。
例えば、事象Aが発生している場合、システム管理者は、業務データベースシステム203への接続数を低減するために、業務処理ソフトウェア202による業務データベースシステム203に対する処理を抑制する。一方、事象Bが発生している場合、業務データベースシステム203の最大メモリ量を増大させるために、当該最大メモリ量の設定を更新する。
このように、特定した事象に応じて、システム管理者が情報処理システム200に対して行う対処は異なる。したがって、メッセージmsに基づいて適切に事象を特定できることが望ましい。
[本実施の形態の概要]
本実施の形態において、記憶部は、特定の事象の発生に応じて情報処理システム200から出力される複数のメッセージについて出力順及び出力時間間隔を記憶する。また、本実施の形態における事象発生通知プログラムは、情報処理システム200から出力されたメッセージのログ情報を取得する。
そして、事象発生通知プログラムは、記憶部に記憶された出力順及び出力時間間隔と所定の時間差以内の出力時間間隔で、複数のメッセージが出力されたことを示す情報が、ログ情報に含まれるか否かを判定する。そして、事象発生通知プログラムは、ログ情報に含まれることの検出に応じて、ログ情報に含まれる出力順及び出力時間間隔の複数のメッセージに対応する特定の事象が情報処理システム200で発生したことを通知する。
事象に応じて出力される複数のメッセージが同一である場合であっても、当該複数のメッセージの出力順及び出力時間間隔は、事象に応じて異なるケースが高い。したがって、本実施の形態における事象発生通知プログラムは、予め、事象に応じて出力される複数のメッセージについて、出力順及び出力時間間隔を、事象ごとに記憶した記憶部を参照する。
これにより、事象発生通知プログラムは、ログ情報に含まれる複数のメッセージに加えて、複数のメッセージの出力順及び所定の時間差のずれ幅を含む出力時間間隔に基づくことにより、情報処理システム200で発生している特定の事象を高精度に検出できる。
したがって、システム管理者が情報処理システム200のノウハウを有していない場合であっても、コストを要することなく、情報処理システム200上で発生している事象を高精度に特定することが可能になる。また、事象を簡易に特定することが可能になるため、事象に応じた対処を迅速に行うことが可能になる。
図4は、本実施の形態の事象発生通知プログラムの処理の流れを説明するフローチャート図である。
S11:事象発生通知プログラムは、情報処理システム200から出力されたメッセージのログ情報を取得する。ログ情報は、例えば、図1で説明した、ログ採取エージェント204が収集した各ソフトウェアのメッセージの集合を示す。事象発生通知プログラムは、ログ情報を逐一取得してもよいし、ログ情報を所定の間隔毎に取得してもよい。
S12:事象発生通知プログラムは、対応情報データベース122(記憶部に対応)を参照し、対応情報データベース122に記憶された出力順及び出力時間間隔と所定の時間差以内の出力時間間隔で、複数のメッセージが出力されたことを示す情報が、ログ情報に含まれることを検出する。対応情報データベース122は、特定の事象の発生に応じて情報処理システム200から出力される複数のメッセージについて出力順及び出力時間間隔を記憶する。
複数のメッセージの出力順は、複数のメッセージ間の出力の順番である。また、複数のメッセージの出力時間間隔は、一部のメッセージが繰り返し出力される場合における出力時刻の間隔や、複数のメッセージ間の出力時刻の間隔等を示す。出力時間間隔は、複数のメッセージのうち、一部のメッセージの出力時間間隔でもよい。また、出力時間間隔は、出力回数を含んでいてもよい。
また、出力時間間隔は、所定の時間差を有する。例えば、出力時間間隔「10秒間隔」は、所定の時間差「2秒」を有する。したがって、出力時間間隔「10秒間隔」のメッセージは、例えば、「8秒間隔」〜「12秒間隔」のメッセージも含む。システム管理者は、例えば、実測値等に基づいて、出力時間間隔の所定の時間差を設定する。
メッセージの出力時間間隔は、情報処理システム200やネットワーク等の負荷状態やタイミングに応じて、多少のずれ幅が生じる場合がある。したがって、出力時間間隔が所定の時間差を有することによって、出力時間が前後する場合であっても、対応情報データベース122の出力順及び出力時間間隔で複数のメッセージが出力されたことを示す情報が、ログ情報123に含まれることを、適切に検出可能になる。
S13:事象発生通知プログラムは、ログ情報に含まれる出力順及び出力時間間隔の複数のメッセージに対応する、特定の事象が情報処理システム200上で発生したことを通知する。具体的に、事象発生通知プログラムは、ログ情報に含まれる出力順及び出力時間間隔の複数のメッセージに対応して、対応情報データベース122上で規定された事象を検出し通知する。
このように、本実施の形態における事象発生通知プログラムは、複数のメッセージの出力順及び出力時間間隔に注目することによって、より高精度に事象を特定できる。これにより、事象発生通知プログラムは、情報処理システム200からエラーや警告等を示すメッセージが出力された際に、事象を効率的に特定し、対処を迅速に行うことを可能にする。
次に、図5、図6にしたがって、本実施の形態における事象発生通知プログラムによる事象の特定例を説明する。
図5は、本実施の形態における事象発生通知プログラムによる事象の特定例を示す第1の図である。図5に示す複数のメッセージms−1は、第1のメッセージ「<INFO> <xxx> - 新たな接続を受け付けました」、及び、第2のメッセージ「<ERROR>メモリ不足が発生しました」を含む。
図5のメッセージms−1の例によると、第1のメッセージが約10秒間隔で出力された後、第2のメッセージが出力される。即ち、複数のメッセージの出力順は、第1のメッセージ、第2のメッセージの順である。また、第1のメッセージの出力時間間隔は8秒〜12秒である。
図3の例と同様にして、図5、図6の例において、第1、第2のメッセージは、2つの事象(事象A及び事象B)に対応する。ただし、事象Aと事象Bとは、第1のメッセージの出力時間間隔が異なる。
例えば、事象Aにおける第1のメッセージの出力時間間隔は10秒間隔を示し、所定の時間差は例えば2秒である。一方、事象Bにおける第1のメッセージの出力時間間隔は不等間隔を示す。したがって、事象発生通知プログラムは、対応情報データベース122に記憶された、事象A、Bの複数のメッセージのうち、出力順及び出力時間間隔が図5に示す複数のメッセージと同一の事象Aを、情報処理システム200で発生している事象として特定する。
図6は、本実施の形態における事象発生通知プログラムによる事象の特定例を示す第2の図である。図6に示す複数のメッセージms−2は、図5の例と同様にして、第1のメッセージ「<INFO> <xxx> - 新たな接続を受け付けました」、及び、第2のメッセージ「<ERROR>メモリ不足が発生しました」を含む。
一方、図6のメッセージms−2の例によると、第1のメッセージが不等間隔に3回出力された後、第2のメッセージが出力される。即ち、複数のメッセージの出力順は、第1のメッセージ、第2のメッセージの順であって、第1のメッセージの出力時間間隔は不等間隔である。
したがって、事象発生通知プログラムは、対応情報データベース122に記憶された、事象A、Bの複数のメッセージのうち、出力順及び出力時間間隔が図6に示す複数のメッセージと同一の事象Bを、情報処理システム200で発生している事象として特定する。
図5、図6に示すように、事象に応じて出力されるメッセージms−1、ms−2が同一でも、メッセージms−1、ms−2の出力順や出力時間間隔は事象に応じて異なる場合がある。複数のメッセージの出力順及び出力時間間隔は、メッセージが出力された際のソフトウェアの処理内容や動作状態を表わす。したがって、事象に応じて、複数のメッセージが同一であっても、その出力順や出力時間間隔が異なっているケースが多い。
したがって、本実施の形態における事象発生通知プログラムは、メッセージだけでなく、メッセージの出力順及び出力時間間隔に注目することによって、簡易に、高精度に、事象を特定できる。
次に、図7にしたがって、本実施の形態における事象発生通知装置のハードウェア構成図を、図8にしたがって、本実施の形態における事象発生通知装置のソフトウェアブロック図を説明する。
[事象発生通知装置のハードウェア構成図]
図7は、本実施の形態における事象発生通知装置100のハードウェア構成図である。事象発生通知装置100は、例えば、CPU(Central Processing Unit:CPU)101、メインメモリ110や補助記憶装置111等を備えるメモリ102、通信インタフェース部103を有する。各部は、バス104を介して相互に接続する。
CPU101は、バス104を介してメモリ102等と接続するとともに、事象発生通知装置100全体の制御を行う。通信インタフェース部103は、情報処理システム200(図1)等と接続し、データの送受信を行う。RAM(Random Access Memory:RAM)等を示すメインメモリ110は、CPU101が処理を行うデータ等を記憶する。
補助記憶装置111は、CPU101が実行するオペレーションシステムのプログラムを格納する領域(図示せず)や、事象発生通知プログラム格納領域121を有する。また、補助記憶装置111は、さらに、対応情報データベース格納領域122、ログ情報格納領域123を有する。補助記憶装置111は、HDD(Hard disk drive:HDD)、不揮発性半導体メモリ等を示す。
事象発生通知プログラム格納領域121の事象発生通知プログラム(以下、事象発生通知プログラム121と称する)は、CPU101の実行によって、本実施の形態における事象の特定処理、及び、特定した事象の通知処理を実現する。
対応情報データベース格納領域122の対応情報データベース(以下、対応情報データベース122と称する)は、特定の事象の発生に応じて情報処理システム200から出力される複数のメッセージについて出力順及び出力時間間隔を記憶する。対応情報データベース122の詳細は、図9、図10にしたがって後述する。
ログ情報格納領域123のログ情報(以下、ログ情報123と称する)は、情報処理システム200から出力されたメッセージ群を有する。ログ情報123は、例えば、図1に示したログ採取エージェント204が収集したメッセージを有する。
[事象発生通知装置のソフトウェアブロック図]
図8は、図7に示した事象発生通知装置100のソフトウェアブロックの構成図、及び、情報処理システム200(図1)のソフトウェアブロックの構成図を示す。図8に示す情報処理システム200は、図1で説明したとおりである。図8において、図1で示したものと同一のものは、同一の記号で示す。
図7に示す事象発生通知プログラム121は、取得モジュール131と通知モジュール132とを有する。取得モジュール131は、情報処理システム200のログ採取エージェント204が収集したメッセージ群を、ログ情報123として取得する。
通知モジュール132は、対応情報データベース122を参照する。通知モジュール132は、対応情報データベース122に記憶された、出力順及び出力時間間隔と所定の時間差以内の出力時間間隔で、複数のメッセージが出力されたことを示す情報が、ログ情報123に含まれることを検出する。また、通知モジュール132は、ログ情報123に含まれる、出力順及び出力時間間隔の複数のメッセージに対応する特定の事象が情報処理システム200上で発生したことを通知する。
次に、図9、図10にしたがって、本実施の形態における対応情報データベース122の一例を説明する。
[対応情報データベース122]
図9は、図7、図8で説明した対応情報データベース122の概要を説明する図である。なお、図9は、3つの事象の情報を例示するが、対応情報データベース122は多数の事象の情報を有してもよい。
図9に示す対応情報データベース122は、事象が発生に応じて出力された複数のメッセージについて追加情報を記憶する。本実施の形態における追加情報は、例えば、複数のメッセージの出力順、出力時間間隔、出力開始時刻、出力条件(付加情報)等を含む。なお、追加情報は、少なくとも出力順及び出力時間間隔を含んでいればよい。
出力順及び出力時間間隔は前述したとおりである。出力開始時刻は、複数の一連のメッセージの出力が開始される時刻である。事象によっては、所定の時刻に発生し、メッセージの出力開始時刻に特徴を有する場合がある。このため、出力順及び出力時間間隔に加えて、出力開始時刻が一致するか否かに基づいて事象を特定することによって、より高精度に事象を特定することが可能になる。
また、出力条件は、例えば、メッセージが含む付加情報等である。例えば、メッセージによっては、付加情報として、処理を指示したユーザの情報や、障害が発生した箇所を特定可能な位置(アドレス)情報等を含む。このため、出力順及び出力時間間隔に加えて、付加情報が一致するか否かに基づいて事象を特定することによって、より高精度の事象を特定することが可能になる。
図10は、対応情報データベース122の一例を示す図である。図10における、各事象のメッセージは、例えば、図1に示したソフトウェアA〜Cそれぞれから出力されたメッセージを示す。ただし、この例に限定されるものではない。各事象のメッセージは、1つのソフトウェア(例えば、ソフトウェアAのみ)から出力されたメッセージであってもよい。
図10の例によると、項目「1」の事象が発生した場合、ソフトウェアAからメッセージ「“項目なし”(検索結果が 0 件)」が出力され、ソフトウェアBからメッセージ「<エラー>ネットワークとの接続が切断された」が出力される。また、ソフトウェアCからメッセージ「<INFO> <xxx> - 新たな接続を受け付けました」、「<エラー>メモリ不足が発生しました」が出力される。
また、項目「1」の事象が発生した場合におけるメッセージの出力順は、ソフトウェアC、ソフトウェアB、ソフトウェアA、ソフトウェアCである。また、ソフトウェアA、Bの出力時間間隔は、「繰り返し無」を示し、ソフトウェアCのメッセージ「<INFO> <xxx> - 新たな接続を受け付けました」の出力時間間隔は、「10秒間隔」である。項目「1」は、事象「多数の接続が発生している」場合を示し、項目「1」の事象を事象Aとも称する。
また、図10の例によると、項目「2」の事象が発生した場合に、ソフトウェアA〜Cから出力されるメッセージは、項目「1」と同様である。また、項目「2」の事象が発生した場合のメッセージの出力順は、ソフトウェアC、ソフトウェアB、ソフトウェアAである。また、ソフトウェアA、Bの出力時間間隔は、「繰り返し無」を示し、ソフトウェアCのメッセージ「<INFO> <xxx> - 新たな接続を受け付けました」の出力時間間隔は「不等間隔」である。項目「2」は、事象「最大メモリ量の設定が小さい」場合を示し、項目「2」の事象を事象Bとも称する。
また、図10の例によると、項目「3」の事象が発生した場合、ソフトウェアAからメッセージ「<エラー>ネットワークとの接続が切断されました」、「“項目なし”(検索結果が 0 件)」が出力される。また、ソフトウェアBからメッセージ「<エラー>ネットワーク<zzz>との接続が切断された」が出力される。また、ソフトウェアCからメッセージ「<INFO> <xxx> - 新たな接続を受け付けました」、「<エラー>メモリ不足が発生した」が出力される。
また、項目「3」の事象が発生した場合におけるメッセージの出力順は、ソフトウェアC、ソフトウェアA、ソフトウェアB、ソフトウェアCである。また、ソフトウェアA〜Cの出力時間間隔は、「繰り返し無」を示す。このように、追加情報は、繰り返し出力されないこと、即ち、1回のみ出力される旨の情報を、出力時間間隔として有していてもよい。また、ソフトウェアBのメッセージの出力条件(付加情報)は、情報「zzz」である。
項目「3」は、事象「ソフトウェアAとBの間でネットワークで遅延発生」した場合を示し、項目「3」の事象を事象Cとも称する。
また、図10の例によると、項目「4」の事象が発生した場合、ソフトウェアAからメッセージ「“項目なし”(検索結果が 0 件)」が出力される。また、ソフトウェアBからメッセージ「<警告> 無応答時間がタイムアウト制限に達しました」、「<エラー>ネットワークとの接続が切断された」が出力される。また、ソフトウェアCからメッセージ「<INFO> <xxx> - 新たな接続を受け付けました」、「<エラー>メモリ不足が発生した」が出力される。
また、項目「4」の事象が発生した場合におけるメッセージの出力順は、ソフトウェアC、ソフトウェアB、ソフトウェアA、ソフトウェアCである。また、ソフトウェアA〜Cの出力時間間隔は、「繰り返し無」を示す。メッセージの出力開始時刻は、時刻「15:00:00」から10分間の期間を示す。項目「4」は、事象「ソフトウェアCの高負荷(スローダウン)」場合を示し、項目「4」の事象を事象Dとも称する。
なお、対応情報データベース122は、必ずしも、ログ情報123に含まれるメッセージと同一のメッセージを記憶していなくてもよい。対応情報データベース122が記憶するメッセージは、各メッセージの一部の情報であってもよい。一部の情報に基づいて同一のメッセージであることが判定可能である場合があるため、対応情報データベース122は、同一のメッセージであることを示す、一部の情報を記憶してればよい。
ここで、図7、図8に示した事象発生通知プログラム121の処理の詳細を説明する前に、情報処理システム200上で複数のソフトウェアが動作する場合における課題をさらに説明する。
[複数のソフトウェア]
本実施の形態では、図1に示したように、情報処理システム200上で複数のソフトウェア201〜203(ソフトウェアA〜Cともいう)が動作してもよい。この場合、情報処理システム200上で障害等が発生した場合、ログ情報123は、複数のソフトウェアA〜Cから出力されたメッセージを含む。
情報処理システム200で複数のソフトウェアが動作する場合、それぞれのソフトウェアごとに異なる事象が発生している場合がある。または、複数の事象が発生している場合がある。したがって、情報処理システム200で複数のソフトウェアA〜Cが動作する場合、事象を適切に特定することは容易ではない。
図11は、比較例における、複数のソフトウェアから出力されたメッセージに基づく事象の特定処理を説明する図である。図11に示すログ情報323は、各ソフトウェアA〜Cから出力されたメッセージを含む。
システム管理者が全てのソフトウェアのノウハウを有することは容易ではなく、ソフトウェアに応じて管理者が異なる場合が多い。したがって、各ソフトウェアの担当のシステム管理者が、各ソフトウェアのメッセージに基づいて、事象を特定する。
具体的に、ソフトウェアAを担当するシステム管理者は、ソフトウェアAのメッセージにしたがって、ソフトウェアAのメッセージの履歴300aを検索することによって、事象1〜事象3を特定する。同様に、ソフトウェアBを担当するシステム管理者は、ソフトウェアBのメッセージにしたがって、ソフトウェアBのメッセージの履歴300bを検索することによって、事象1を特定する。
さらに、ソフトウェアCを担当するシステム管理者は、ソフトウェアCのメッセージにしたがって、ソフトウェアCのメッセージの履歴300cを検索することによって、事象1、事象3を特定する。
このように、ソフトウェア別に事象を特定する場合、ソフトウェアに応じて異なる事象が特定される場合がある。また、図2、図3にしたがって前述したとおり、各ソフトウェアについて、メッセージ(ソフトウェアAのメッセージ)に基づいて複数の事象(例えば、事象1〜3)が特定される場合がある。
したがって、情報処理システム200上で実際に発生している事象を特定する場合、複数のソフトウェアのノウハウを有するシステム管理者が、ソフトウェアごとに特定された各事象に基づいて事象の判定を行う。ただし、複数のソフトウェアに精通したシステム管理者による判定処理はコストを要する。このように、情報処理システム200上で複数のソフトウェアが動作する場合における、事象の特定は困難である。
本実施の形態における事象発生通知プログラム121の処理は、情報処理システム200で複数のソフトウェアが動作し、ログ情報123が複数のソフトウェアから出力されたメッセージを含む場合についても有効である。
情報処理システム200における障害状態は、複数のソフトウェア間で連動して発生する場合がある。複数のメッセージの出力順及び出力時間間隔は、メッセージが出力された際の、複数のソフトウェアの処理内容や動作状態を表わす。したがって、事象に応じて、複数のメッセージが同一であっても、複数のソフトウェアによる一連のメッセージの、出力順及び出力時間間隔が異なっている場合が多い。
したがって、本実施の形態における事象発生通知プログラム121は、さらに、異なるソフトウェアから出力された各メッセージ間の出力順及び出力時間間隔に基づいて、1つまたは複数の事象を特定する。これにより、事象発生通知プログラム121は、ログ情報123が複数のソフトウェアA〜Cから出力されたメッセージを含む場合に、情報処理システム200で発生している1つまたは複数の事象を、簡易に、高精度に特定できる。
以下、本実施の形態では、情報処理システム200で複数のソフトウェアA〜Cが動作する場合を例示する。
次に、図12〜図16にしたがって、図7、図8に示した事象発生通知プログラム121の処理の詳細を説明する。また、図17〜図20にしたがって、事象発生通知プログラム121の処理の実施例を説明する。
[事象発生通知プログラム121の処理]
図12は、図7、図8で説明した、本実施の形態における事象発生通知プログラム121の事象発生通知処理を説明するフローチャート図である。
S21:取得モジュール131は、ログ採取エージェント204が収集したメッセージ群を、ログ情報123(図7)として取得する。取得モジュール131は、ログ採取エージェント204が収集したメッセージを、逐一取得してもよいし、所定の間隔毎に取得してもよい。
また、取得モジュール131は、例えば、ログ情報123にエラーや警告、所定の情報等を示すメッセージが含まれることの検出に応じて、工程S22以降の処理を通知モジュール132に指示する。
S22:通知モジュール132は、指示に応じて、対応情報データベース122に規定される複数のメッセージのうち、ログ情報123内に所定の値(第2の基準値)以上の度合いで合致する複数のメッセージを検出する。工程S22の処理の詳細は、図14のフローチャート図にしたがって後述する。
S23:通知モジュール132は、工程S22で検出した対応情報データベース122の複数のメッセージの追加情報の少なくとも出力順及び出力時間間隔が、ログ情報123内の複数のメッセージと一致するか否かを判定する。前述したとおり、出力時間間隔は所定の時間差を有する。
ログ情報123内の複数のメッセージは、例えば、タイムスタンプ等の時刻情報を有する。したがって、通知モジュール132は、各メッセージの時刻情報に基づいて、メッセージの出力順及び出力時間間隔、出力開始時刻を取得できる。また、通知モジュール132は、各メッセージが含む情報に基づいて、メッセージの出力条件を取得できる。
S24:出力順及び出力時間間隔が一致する場合(S23のYes)、対応情報データベース122に記憶された出力順及び出力時間間隔と所定の時間差以内の出力時間間隔で複数のメッセージが出力されたことを示す情報が、ログ情報123に含まれることを示す。したがって、通知モジュール132は、ログ情報123に含まれることを検出した、対応情報データベース122の情報に対応する事象を、情報処理システム200上で発生している事象として特定する。
そして、通知モジュール132は、例えば、特定した事象を、事象発生通知装置100(図7)の表示装置(図7に図示せず)等に通知する。または、通知モジュール132は、特定した事象を、情報処理システム200やシステム管理者の端末装置等に通知してもよい。
S25:出力順及び出力時間間隔が一致しない場合(S23のNo)、通知モジュール132は、対応情報データベース122に規定されていない事象が発生していることを、表示装置等に通知する。そして、通知モジュール132は、例えば、メッセージに基づいてシステム管理者等が調査して特定した事象に関連付けて、複数のメッセージについての追加情報を対応情報データベース122に新たに登録する。
即ち、通知モジュール132は、別の特定の事象の発生に応じて情報処理システムから出力される複数のメッセージについて出力順及び出力時間間隔が記憶部に記憶されていない場合、当該複数のメッセージについて出力順及び出力時間間隔を、記憶部に記憶する。したがって、通知モジュール132は、新規の事象を検知した場合に、複数のメッセージの追加情報を対応情報データベース122に登録して更新する。
これにより、新規の事象と同事象が再発した場合、通知モジュール132は、更新した対応情報データベース122を参照することによって、新規の事象を適切に特定できる。このように、情報処理システム200の運用過程で、対応情報データベース122を、順次更新して保持することによって、新規の事象が発生した場合であっても、恒常的に高精度に事象を特定できる。
図12のフローチャート図に示すように、通知モジュール132は、対応情報データベース122(記憶部)の複数のメッセージが出力されたことを示す情報がログ情報123に含まれる度合いをそれぞれ算出する。そして、通知モジュール132は、度合いが第2の基準値を超える記憶部の複数のメッセージの出力順及び出力時間間隔が所定の時間差以内の出力時間間隔で、ログ情報123に含まれる複数のメッセージと一致する場合に、ログ情報123に含まれることを検出する。
つまり、通知モジュール132は、ログ情報123に含まれる複数のメッセージと、所定の度合い以上合致する、対応情報データベース122の複数のメッセージを対象として、出力順及び出力時間間隔の判定を行う。これにより、通知モジュール132は、ログ情報123内のメッセージに一部の欠落や相違が生じている場合であっても、対応情報データベース122の出力順及び出力時間間隔の複数のメッセージが、ログ情報123に含まれるか否かを適切に判定できる。
これにより、通知モジュール132は、対応情報データベース122の情報のうち、ログ情報123に含まれる、出力順及び出力時間間隔の複数のメッセージを適切に検出できる。したがって、通知モジュール132は、情報処理システム200で発生している事象を高精度に特定できる。
また、本実施の形態における記憶部(対応情報データベース122)は、複数のメッセージの出力開始時刻、複数のメッセージに付加された付加情報のいずれかをさらに記憶する。そして、通知モジュール132は、記憶部の、出力順及び出力時間間隔に加えて、出力開始時刻、付加情報のいずれかが一致する複数のメッセージが出力されたことを示す情報が、ログ情報に含まれることを検出する。
このように、通知モジュール132は、出力順及び出力時間間隔に加えて、出力開始時刻、付加情報(出力条件に対応)等に注目して、事象を特定する。これにより、通知モジュール132は、メッセージが同一である複数の事象から、情報処理システム200で発生している事象を高精度に特定できる。また、通知モジュール132は、出力開始時刻や、付加情報に特徴がある事象が発生した場合に、情報処理システム200で発生している事象を高精度に特定できる。
(S23:追加情報の各項目の第1の係数)
なお、通知モジュール132は、工程S23において、追加情報に含まれるそれぞれの項目に重み係数を適用してもよい。即ち、出力順及び出力時間間隔と、出力開始時刻、付加情報いずれかまたは両方、の項目それぞれはそれぞれ第1の係数を有する。
そして、通知モジュール132は、記憶部の複数のメッセージが出力されたことを示す情報がログ情報123に含まれる場合に、項目の一致に応じて当該項目に対応する第1の係数を加算して合計値を算出する。通知モジュール132は、合計値が第1の基準値を超える場合に、ログ情報123に含まれることを検出する。記憶部は、対応情報データベース122に対応する。
これにより、事象発生通知プログラム121は、複数のメッセージが出力されたことを示す情報がログ情報123に含まれる複数の事象のうち、追加情報の合致度に基づいて、情報処理システム200で発生している事象をより高精度に特定できる。また、事象発生通知プログラム121は、複数の事象が特定される場合、追加情報の一致度に基づいて、複数の事象の間の、事象の発生確率の順位を判定できる。
図13は、追加情報の各項目の係数の一例を示す図である。図13の例によると、メッセージの出力順及び出力時間間隔に対する係数は、値「1.0」である。また、メッセージの出力開始時刻に対する係数は、値「0.5」であって、メッセージの出力条件の係数は、値「0.3」である。
本実施の形態における第1の基準値は、値「1.0」である。システム管理者は、例えば、出力順及び出力時間間隔が一致した場合における係数の合計値を、第1の基準値として設定する。したがって、出力順及び出力時間間隔が一致しない場合、他の項目が一致した場合であっても、係数の合計値は、第1の基準値に達しない。
このように、通知モジュール132は、各項目の係数の合計値を基準値と比較する。これにより、通知モジュール132は、出力順及び出力時間間隔(所定の時間差を含む)が一致する場合に、対応情報データベース122に、ログ情報123の出力順及び出力時間間隔が同一の複数のメッセージが含まれることを適切に検出できる。
また、出力順及び出力時間間隔に加えて、出力開始時刻が一致した場合、重み係数の合計値は、値「1.5(=1.0+0.5)」である。一方、出力順及び出力時間間隔に加えて、出力条件が一致した場合、重み係数の合計値は、値「1.3(=1.0+0.3)」である。したがって、通知モジュール132は、追加情報の項目の一致度合いに応じて、複数の事象間で、実際に発生している確率がより高い事象を特定できる。
次に、図14にしたがって図12に示したフローチャート図の工程S22の処理を詳細を説明する。
[図12の工程S22]
図14は、図12の工程S22の処理を説明するフローチャート図である。前述したとおり、通知モジュール132は、工程S22として、対応情報データベース122に規定される複数のメッセージのうち、ログ情報123内に所定の値(第2の基準値)以上の度合いで合致する複数のメッセージを検出する。
S31:通知モジュール132は、対応情報データベース122に規定された、複数のメッセージと、ログ情報123内のメッセージとを照合する。
S32:通知モジュール132は、対応情報データベース122に記憶された複数のメッセージと、ログ情報123内のメッセージとの合致度を算出する。前述したとおり、環境や事象の内容に応じて、複数のメッセージの一部が欠落する場合や異なる場合がある。したがって、通知モジュール132は、対応情報データベース122に規定された複数のメッセージについて、ログ情報123内のメッセージとの合致度を算出する。
S33:通知モジュール132は、工程S32で算出した合致度が、第2の基準値を超える複数のメッセージを抽出する。これにより、通知モジュール132は、複数のメッセージの全てが一致していない場合であっても、所定の度合い以上で一致する複数のメッセージを、対応情報データベース122から適切に検出できる。本実施の形態における第2の基準値は、例えば、60%である。
(S33:ソフトウェアごとの第2の係数)
なお、通知モジュール132は、工程S33において、ソフトウェア別に設定した係数を適用して、メッセージの合致度を算出してもよい。即ち、ソフトウェアはそれぞれ第2の係数を有する。そして、通知モジュール132は、記憶部の複数のメッセージに含まれる各メッセージのうち、ログ情報123に含まれるメッセージについて、当該メッセージの出力元のソフトウェアに対応する第2の係数を適用し、度合いを算出する。記憶部は、対応情報データベース122に対応する。
システム管理者は、例えば、事象に応じてメッセージが異なる度合い等に基づいて、ソフトウェアごとの第2の係数を設定する。例えば、本実施の形態において、ソフトウェアBのメッセージは、事象に応じてメッセージが異なる度合いが大きい。つまり、ソフトウェアBのメッセージが一致している場合、当該メッセージに対応する事象が発生している可能性が高い。したがって、システム管理者は、ソフトウェアBの係数を、ソフトウェアA、Cに対して大きい値に設定する。
本実施の形態例におけるソフトウェアAの係数は「20%」、ソフトウェアBの係数は「50%」、ソフトウェアCの係数は「20%」である。そして、通知モジュール132は、式「{(ソフトウェアAのメッセージの合致×20%)+(ソフトウェアBのメッセージの合致×50%)+(ソフトウェアCのメッセージの合致×30%)}」にしたがって、合致度を算出する。
これにより、通知モジュール132は、事象に応じてメッセージが異なるソフトウェアから出力されたメッセージが合致した場合の合致度を、より大きい値にすることができる。つまり、通知モジュール132は、ソフトウェアBのメッセージが一致する場合に、より大きい値の合致度を算出できる。
前述したとおり、通知モジュール132は、合致度が所定の基準値を超える場合に、対応情報データベース122に規定された複数のメッセージが出力されたことを示す情報が、ログ情報123に含まれることを適切に検出する。したがって、通知モジュール132は、ソフトウェアごとに異なる第2の係数を適用することによって、より高精度に、事象を特定することができる。
(図12の工程S22の処理の概要)
図15は、図12の工程S22の処理の概要を説明する図である。図15は、図10に示した対応情報データベース122の情報を模式的に表す図である。図15に示す、対応情報データベース122に規定された各メッセージを示す楕円のうち、斜線で示す楕円はログ情報123に含まれるメッセージを示し、白抜きで示す楕円はログ情報123に含まれないメッセージを示す。
図15は、ソフトウェアAがメッセージ「“項目なし”(検索結果が 0 件)」を、ソフトウェアBがメッセージ「ネットワークとの接続が切断された」を出力した場合を例示する。また、ソフトウェアCは、メッセージ「<INFO> <xxx> -新たな接続を受け付けました」、及び、「<エラー>メモリ不足が発生しました」を出力する。
これらのメッセージを図10に示した対応情報データベース122と照合すると、項目「1」「2」の複数のメッセージの全てと一致する。したがって、通知モジュール132は、項目「1」「2」のメッセージと、ログ情報123内のメッセージとの合致度として、値「100%(=20+50+30)」を算出する。
一方、項目「3」における複数のメッセージのうち、ソフトウェアB、Cのメッセージが一致し、ソフトウェアAのメッセージは一部のみが一致する。したがって、通知モジュール132は、項目「3」のメッセージとログ情報123内のメッセージとの合致度として、値「80%(=50+30)」を算出する。
また、項目「4」における複数のメッセージのうち、ソフトウェアA、Cのメッセージが一致し、ソフトウェアBのメッセージは一部のみが一致する。したがって、通知モジュール132は、項目「4」のメッセージとログ情報123内のメッセージとの合致度として、値「50%(=20+30)」を算出する。
同様にして、項目「5」(図10に図示せず)における複数のメッセージのうち、例えば、ソフトウェアCのメッセージのみが一致する。したがって、通知モジュール132は、項目「5」のメッセージとログ情報123内のメッセージとの合致度として、値「30%」を算出する。
前述したとおり、本実施の形態における第2の基準値は、例えば、60%である。したがって、通知モジュール132は、対応情報データベース122に規定される各項目のうち、ログ情報123内に第2の基準値「60%」以上の度合いで合致する、項目「1」〜「3」の複数のメッセージを検出する。
一方、仮に、各ソフトウェアのメッセージに第2の係数を適用しない場合、項目「3」、「4」の複数のメッセージの合致度は、例えば、値「66%」となる。したがって、通知モジュール132は、項目「1」〜「4」の複数のメッセージを検出する。
このように、通知モジュール132は、ソフトウェアごとに異なる係数を適用して合致度を算出することによって、対応情報データベース122内の複数のメッセージが出力されたことを示す情報が、ログ情報123に含まれることをより高精度に検出できる。これにより、通知モジュール132は、より適切に、事象を特定することができる。
また、通知モジュール132は、合致度が第2の基準値を超える項目の複数のメッセージを検出することによって、ログ情報123が一部のメッセージの欠落や相違を有する場合であっても、ログ情報123に含まれる複数のメッセージを適切に検出できる。
(図12の工程S23の処理の概要)
図16は、図12の工程S23の処理を説明する図である。図16は、図15と同様にして、図10に示した対応情報データベース122の情報を模式的に表す。前述したとおり、通知モジュール132は、工程S23として、対応情報データベース122の複数のメッセージの追加情報の少なくとも出力順及び出力時間間隔が、ログ情報123内の複数のメッセージと一致するか否かを判定する。
図16の例によると、項目「1」の複数のメッセージの出力順及び出力時間間隔は、ログ情報123内の複数のメッセージの出力順及び出力時間間隔と一致する。また、項目「1」の追加情報は、出力開始時刻や出力条件を含んでいない。したがって、係数の合計値は値「1.0」となる。
また、図16の例によると、項目「2」の出力順及び出力時間間隔はログ情報123内の複数のメッセージの出力順及び出力時間間隔と一致しない。また、項目「2」は、追加情報の追加情報は出力開始時刻や出力条件を含んでいないため、係数の合計値は値「0」となる。
一方、項目「3」の出力順及び出力時間間隔はログ情報123内の複数のメッセージの出力順及び出力時間間隔と一致しないものの、出力条件は一致する。したがって、項目「3」の係数の合計値は値「0.3」となる。
したがって、通知モジュール132は、対応情報データベース122の項目「1」〜「3」のうち、係数の合計値が値「1.0」以上となる項目「1」を検出する。即ち、通知モジュール132は、対応情報データベース122の項目「1」〜「3」のうち、出力順及び出力時間間隔が一致する項目「1」を検出する。
このように、通知モジュール132は、対応情報データベース122の項目「1」の出力順及び出力時間間隔と所定の時間差以内の出力時間間隔で、複数のメッセージが出力されたことを示す情報が、ログ情報123に含まれることを検出する。そして、通知モジュール132は、項目「1」に対応する事象Aを、情報処理システム200上で発生している事象として特定する(図12のS24)。
このように、本実施の形態例における事象発生通知プログラム121は、情報処理システム200から出力された複数のメッセージの出力順及び出力時間間隔に基づいて、適切に、情報処理システム200で発生している事象を特定できる。
なお、いずれの項目の係数の合計値も値「1.0」未満である場合、通知モジュール132は、複数のメッセージの追加情報を、対応情報データベース122に追加して記憶する。これにより、通知モジュール132は、新規の事象に関する、複数のメッセージの追加情報を対応情報データベース122に適宜、更新できる。
次に、図17〜図20にしたがって、本実施の形態における事象の特定処理の実施例1〜4を説明する。
(実施例1)
図17は、本実施の形態における事象の特定処理の実施例を説明する第1の図である。図17は、ログ情報123が含む複数のメッセージms−11の一例を示す。
図17に示す実施例によると、例えば、ソフトウェアCは、多数の接続を受け付けたことに応じて、約10秒間隔に、メッセージ「<INFO> <xxx> -新たな接続を受け付けました」を出力する。そして、ソフトウェアAがソフトウェアBに対して検索処理を指示すると、ソフトウェアBは、ソフトウェアAから指示された検索処理を実行するためにソフトウェアCにアクセスする。
ただし、ソフトウェアCは、多数の接続の受付処理を行っていることにより、一定時間経過してもソフトウェアBに応答できない。したがって、ソフトウェアBは、メッセージ「ネットワークとの接続が切断された」を出力し、ソフトウェアAにエラーを通知する。そして、ソフトウェアAは、エラーが返却されたことにより、メッセージ「“項目なし”(検索結果が 0 件)」を出力する。また、ソフトウェアCは、処理が停滞したことにより、メッセージ「<エラー>メモリ不足が発生しました」を出力する。
したがって、図17に示すログ情報123は、ソフトウェアCによる、約10秒間隔のメッセージ「新たな接続を受け付けました」を有する。また、ログ情報123は、時刻「14:10:09」に、ソフトウェアBによるメッセージ「<エラー>メモリ不足が発生しました」と、時刻「14:10:10」に、ソフトウェアAによるメッセージ「“項目なし”(検索結果が 0 件)」を有する。そして、ログ情報123は、時刻「14:10:11」に、ソフトウェアCによるメッセージ「<エラー>メモリ不足が発生しました」を有する。
図10に示した対応情報データベース122と照合すると、項目「1」〜「3」の複数のソフトウェアのメッセージが、60%(第2の基準値)以上の合致度で一致する。したがって、通知モジュール132は、項目「1」〜「3」の追加情報と、図17に示す複数のメッセージの追加情報とを照合する。
このように、本実施の形態における通知モジュール132は、所定の値以上に合致した項目を、追加情報を比較する対象とする。これにより、仮に、図17にログ情報に、一部のメッセージの欠落や相違が存在する場合であっても、追加情報を比較する対象の項目を、適切に検出することが可能になる。
図17に示すログ情報123によると、メッセージの出力順は、ソフトウェアC(一部)、ソフトウェアB、ソフトウェアA、ソフトウェアC(一部)の順である。ソフトウェアCのメッセージの出力時間間隔は、約10秒間隔であって、許容したずれ幅の範囲内である。
したがって、図17に示すログ情報123の出力順及び出力時間間隔は、図10に示した対応情報データベース122における項目「1」の出力順及び出力時間間隔と一致し、追加情報の係数の合計値は、値「1.0」となる。これに対し、他の項目「2」、「3」の出力順及び出力時間間隔は、図17に示すログ情報123の出力順及び出力時間間隔と一致しない。したがって、他の項目「2」〜「4」の追加情報の係数の合計値は、値「1.0」未満である。
これにより、通知モジュール132は、項目「1」の事象Aを、情報処理システム200上で発生している事象として特定する。つまり、事象発生通知プログラム121は、情報処理システム200上で、ソフトウェアCにおける多数の接続が発生していることを特定する。
(実施例2)
図18は、本実施の形態における事象の特定処理の実施例を説明する第2の図である。図18は、ログ情報123が含む複数のメッセージms−12の一例を示す。
図18に示す実施例によると、例えば、ソフトウェアCは、不等間隔に3回、接続を受け付けたことに応じて、不等間隔のメッセージ「<INFO> <xxx> -新たな接続を受け付けました」を出力する。そして、図17の例と同様にして、ソフトウェアAがソフトウェアBに対して検索処理を指示すると、ソフトウェアBは、ソフトウェアAから指示された検索処理を実行するためにソフトウェアCにアクセスする。
ただし、図18の実施例によると、ソフトウェアCに設定されている最大メモリ量が小さい。これにより、ソフトウェアCは、メモリ量の不足により、ソフトウェアBによる新たな接続を受け付けることができず、メッセージ「<エラー>メモリ不足が発生しました」を出力する。
ソフトウェアBは、一定時間経過してもソフトウェアCから応答がないことにより、メッセージ「ネットワークとの接続が切断された」を出力し、ソフトウェアAにエラーを通知する。ソフトウェアAは、ソフトウェアBからエラーが通知されたことにより、メッセージ「“項目なし”(検索結果が 0 件)」を出力する。
したがって、図18に示すログ情報123は、ソフトウェアCによる、不等間隔のメッセージ「<INFO> <xxx> -新たな接続を受け付けました」と、時刻「14:10:00」のメッセージ「<エラー>メモリ不足が発生しました」を有する。また、ログ情報123は、時刻「14:10:09」に、ソフトウェアBによるメッセージ「<エラー>メモリ不足が発生しました」と、時刻「14:10:10」に、ソフトウェアAによるメッセージ「“項目なし”(検索結果が 0 件)」を有する。
図10に示した対応情報データベース122と照合すると、図17の例と同様にして、項目「1」〜「3」の、各ソフトウェアのメッセージが、60%以上の合致度で一致する。したがって、図17の実施例と同様にして、通知モジュール132は、対応情報データベース122内の項目「1」〜「3」の、複数のメッセージを抽出する。
図18に示すログ情報123によると、メッセージの出力順は、ソフトウェアC、ソフトウェアB、ソフトウェアAの順であって、ソフトウェアCのメッセージは不等間隔である。したがって、図17に示すログ情報123の出力順及び出力時間間隔は、図10に示した対応情報データベース122における項目「2」の出力順及び出力時間間隔と一致し、追加情報の係数の合計値は、値「1.0」である。これに対し、他の項目「1」、「3」の追加情報の係数の合計値は、値「1.0」未満である。
したがって、通知モジュール132は、項目「2」の事象Bを、情報処理システム200上で発生している事象として特定する。つまり、事象発生通知プログラム121は、情報処理システム200上で、ソフトウェアCにおける最大メモリ量の設定値の不足が発生していることを特定する。
なお、最大メモリ量に対応する接続可能数が検知可能である場合、出力時間間隔は、さらに、メッセージ「<INFO> <xxx> -新たな接続を受け付けました」の出力回数が3回である旨の情報を有していてもよい。これにより、通知モジュール132は、メッセージと追加情報とに基づいて、さらに高精度に、事象を特定できる。
(実施例3)
図19は、本実施の形態における事象の特定処理の実施例を説明する第3の図である。図19は、ログ情報123が含む複数のメッセージms−13の一例を示す。
図19に示す実施例によると、ソフトウェアAとソフトウェアBとの間でネットワークの遅延が生じている。これにより、接続のタイムアウトが生じ、例えば、ソフトウェアAは、メッセージ「<エラー>ネットワークとの接続が切断されました」、及び、メッセージ「“項目なし”(検索結果が 0 件)」を出力する。
また、例えば、ソフトウェアBは、検索処理のためソフトウェアCにアクセスし、正常な応答を受信し、ソフトウェアAに対する応答を試みる。ただし、ソフトウェアBとソフトウェアAと間の通信が遅延状態にあるため、ソフトウェアBは、ソフトウェアAに通知を送信できず、メッセージ「ネットワーク<zzz>との接続が切断された」を出力する。また、ソフトウェアCは、ソフトウェアBから指示された処理の結果をソフトウェアBに通知した後、例えば、処理の停滞等に応じて、メッセージ「<エラー>メモリ不足が発生しました」を出力する。
したがって、図19に示すログ情報123は、ソフトウェアAによる、時刻「14:09:59」のメッセージ「<エラー>ネットワークとの接続が切断されました」、及び、時刻「14:10:00」のメッセージ「“項目なし”(検索結果が 0 件)」を有する。また、ログ情報123は、時刻「14:10:05」に、ソフトウェアBによるメッセージ「ネットワーク<zzz>との接続が切断された」、時刻「14:11:00」に、ソフトウェアCによるメッセージ「<エラー>メモリ不足が発生しました」を有する。
図10に示した対応情報データベース122と照合すると、項目「1」〜「3」の、各ソフトウェアのメッセージが、60%以上の合致度で一致する。したがって、通知モジュール132は、対応情報データベース122内の項目「1」〜「3」の、複数のメッセージを抽出する。
図19に示すログ情報123によると、メッセージの出力順は、ソフトウェアC(一部)、ソフトウェアA、ソフトウェアB、ソフトウェアC(一部)の順であって、各ソフトウェアのメッセージは、1回のみ出力され出力時間間隔を有していない。また、ソフトウェアBのメッセージ「ネットワーク<zzz>との接続が切断された」における情報「zzz」は出力条件(付加情報)を示す。
したがって、図19に示すログ情報123の出力順及び出力時間間隔、出力条件は、図10に示した対応情報データベース122における項目「3」の追加情報と一致し、追加情報の係数の合計値は、値「1.3」となる。これに対し、他の項目「1」、「2」の追加情報の係数の合計値は、値「1.0」未満である。
したがって、通知モジュール132は、項目「3」の事象Cを、情報処理システム200上で発生している事象として特定する。これにより、事象発生通知プログラム121は、ソフトウェアAとソフトウェアBとの間において、ネットワークの遅延が発生していることを特定する。
仮に、図19に示すメッセージの出力順及び出力時間間隔が、項目「1」〜「3」の出力順及び出力時間間隔と一致する場合、通知モジュール132は、項目「1」〜「3」に対応する事象A〜Cを、情報処理システム200で発生している事象として特定する。したがって、追加情報が、出力順及び出力時間間隔に加えて、出力条件を含むことにより、通知モジュール132は、さらに高精度に情報処理システム200で発生している事象を特定できる。
(実施例4)
図20は、本実施の形態における事象の特定処理の実施例を説明する第4の図である。図20は、ログ情報123が含む複数のメッセージms−14の一例を示す。
図20に示す実施例によると、例えば、ソフトウェアCは、多数の接続を受け付けたことにより、高負荷状態となり処理がスローダウンしている。そして、ソフトウェアAがソフトウェアBに対して検索処理を指示すると、ソフトウェアBは、ソフトウェアAから指示された検索処理を実行するためにソフトウェアCにアクセスする。ただし、ソフトウェアCは、処理がスローダウンしていることにより、一定時間経過してもソフトウェアBに応答できない。
したがって、ソフトウェアBは、メッセージ「<警告>無応答時間がタイムアウト制限に達しました」、及び、メッセージ「ネットワークとの接続が切断された」を出力し、ソフトウェアAにエラーを通知する。そして、ソフトウェアAは、エラーが返却されたことにより、メッセージ「“項目なし”(検索結果が 0 件)」を出力する。また、ソフトウェアCは、処理がスローダウンした状態が所定の期間経過した後、メッセージ「<エラー>メモリ不足が発生しました」を出力する。
したがって、図20に示すログ情報123は、ソフトウェアBによる、時刻「15:10:04」のメッセージ「<警告>無応答時間がタイムアウト制限に達しました」、時刻「15:10:05」のメッセージ「ネットワークとの接続が切断された」を有する。また、ログ情報123は、時刻「15:10:06」に、ソフトウェアAによるメッセージ「“項目なし”(検索結果が 0 件)」を、時刻「15:11:00」に、ソフトウェアCによるメッセージ「<エラー>メモリ不足が発生しました」を有する。
図10に示した対応情報データベース122と照合すると、項目「4」の各ソフトウェアのメッセージのみが、60%以上の合致度で一致する。具体的に、項目「1」、「2」の合致度は値「50%」を示し、項目「3」の合致度は値「30%」を示す。したがって、通知モジュール132は、対応情報データベース122内の項目「4」の、複数のメッセージを抽出する。このように、メッセージの出力元のソフトウェアに応じて係数を設定することにより、より高精度に事象を特定可能になる。
また、図20に示すログ情報123によると、メッセージの出力順は、ソフトウェアC(一部)、ソフトウェアB、ソフトウェアA、ソフトウェアC(一部)の順であって、各ソフトウェアのメッセージは、1回のみ出力され出力時間間隔を有していない。また、ソフトウェアCの出力開始時刻「15:09:00」は、時刻「15:00:00」から10分間の期間を示す出力開始時刻を満たす。
したがって、図20に示すログ情報123の出力順及び出力時間間隔、出力開始時刻は、図10に示した対応情報データベース122における項目「4」の追加情報と一致し、追加情報の係数の合計値は、値「1.5」となる。これにより、通知モジュール132は、項目「4」の事象Dを、情報処理システム200上で発生している事象として特定する。したがって、事象発生通知プログラム121は、ソフトウェアCが多数の接続を受け付けたことにより高負荷状態となり、処理がスローダウンしていることを特定する。
[発生確率の判定]
なお、本実施の形態における通知モジュール132は、例えば、対応情報データベース122に規定される複数の事象の発生確率を判定し、表示装置等に出力してもよい。これにより、システム管理者は、事象の発生確率に基づいて、事象に対する対処の実施順を判定できる。
図21は、対応情報データベース122に規定される事象の発生確率の一例を示す図である。通知モジュール132は、例えば、複数のメッセージの合致度や、追加情報の一致に応じた係数の合計値等に基づいて、事象の発生確率を判定する。
図21の例によると、事象A〜事象Dのうち、事象Aに対応する複数のメッセージの合致度は、最も大きい。また、事象Aの出力順及び出力時間間隔は、ログ情報123内の複数のメッセージと一致する。また、事象Bに対応する複数のメッセージの合致度は、事象Aに次いで大きく、事象Bの出力順及び出力時間間隔についても、ログ情報123内の複数のメッセージと一致する。一方、事象C、事象Dに対応する複数のメッセージの合致度は、事象A及び事象Bに対して低く、出力順及び出力時間間隔は一致しない。
したがって、通知モジュール132は、例えば、事象A(100%)、事象B(80%)の順に発生確率を設定する。そして、通知モジュール132は、事象C、事象Dの発生確率を、事象A及び事象Bに対して小さい値(20%)に設定する。
これにより、システム管理者は、事象の発生確率の順位に応じて、情報処理システム200を確認できるとともに、確認の優先順位を効率的に決定できる。また、システム管理者は、情報処理システム200上で多数の事象が発生している場合に、効率的に、事象を特定できる。
[他の実施の形態]
なお、上記の実施の形態では、複数のメッセージと追加情報とに基づいて、単独の事象が特定される場合を例示した。ただし、この例に限定されるものではない。情報処理システム200では、実際に複数の事象が発生している場合がある。したがって、通知モジュール132は、複数のメッセージと追加情報とに基づいて、複数の事象を特定してもよい。
なお、本実施の形態例における対応情報データベース122は、エラーや警告等の事象が発生した場合における、複数のメッセージと追加情報を記憶する。ただし、この例に限定されるものではなく、対応情報データベース122は、正常時におけるメッセージや追加情報等をさらに記憶していてもよい。
以上の実施の形態をまとめると、次の付記のとおりである。
(付記1)
コンピュータに、
情報処理システムから出力されたメッセージのログ情報を取得し、
特定の事象の発生に応じて前記情報処理システムから出力される複数のメッセージについて出力順及び出力時間間隔が記憶された記憶部の前記出力順及び前記出力時間間隔と所定の時間差以内の出力時間間隔で、前記複数のメッセージが出力されたことを示す情報が、前記ログ情報に含まれることの検出に応じて、前記ログ情報に含まれる出力順及び出力時間間隔の複数のメッセージに対応する特定の事象が前記情報処理システム上で発生したことを通知する、
ことを実行させることを特徴とする事象発生通知プログラム。
(付記2)
付記1において、
前記情報処理システムは、複数のソフトウェアを実行し、
前記ログ情報は、前記複数のソフトウェアから出力されたメッセージを含む、
事象発生通知プログラム。
(付記3)
付記1または2において、
前記記憶部は、前記複数のメッセージの出力開始時刻、前記複数のメッセージに付加された付加情報のいずれかをさらに記憶し、
前記通知は、前記記憶部の、前記出力順及び前記出力時間間隔に加えて、前記出力開始時刻、前記付加情報のいずれかが一致する前記複数のメッセージが出力されたことを示す情報が、前記ログ情報に含まれることを検出する、
事象発生通知プログラム。
(付記4)
付記3において、
前記出力順及び前記出力時間間隔と、前記出力開始時刻、前記付加情報のいずれかまたは両方と、の項目はそれぞれ第1の係数を有し、
前記通知は、
前記記憶部の複数のメッセージが出力されたことを示す情報が前記ログ情報に含まれる場合に、前記項目の一致に応じて当該項目に対応する第1の係数を加算して合計値を算出し、
前記合計値が第1の基準値を超える場合に、前記ログ情報に含まれることを検出する、
事象発生通知プログラム。
(付記5)
付記1乃至4のいずれかにおいて、
前記通知は、
前記記憶部の前記複数のメッセージが出力されたことを示す情報が前記ログ情報に含まれる度合いをそれぞれ算出し、
前記度合いが第2の基準値を超える前記記憶部の複数のメッセージの前記出力順及び出力時間間隔が前記所定の時間差以内の出力時間間隔で、前記ログ情報に含まれる複数のメッセージと一致する場合に、前記ログ情報に含まれることを検出する、
事象発生通知プログラム。
(付記6)
付記5において、
前記ログ情報は複数のソフトウェアから出力されたメッセージを含み、
前記複数のソフトウェアはそれぞれ第2の係数を有し、
前記通知は、前記記憶部の前記複数のメッセージに含まれる各メッセージのうち、前記ログ情報に含まれるメッセージについて、当該メッセージの出力元のソフトウェアに対応する前記第2の係数を適用し、前記度合いを算出する、
事象発生通知プログラム。
(付記7)
付記1乃至6のいずれかにおいて、
前記通知は、特定の事象の発生に応じて前記情報処理システムから出力される複数のメッセージについて出力順及び出力時間間隔が前記記憶部に記憶されていない場合、当該複数のメッセージについて出力順及び出力時間間隔を、前記記憶部に記憶する、
事象発生通知プログラム。
(付記8)
情報処理システムから出力されたメッセージのログ情報を取得し、
特定の事象の発生に応じて前記情報処理システムから出力される複数のメッセージについて出力順及び出力時間間隔が記憶された記憶部の前記出力順及び前記出力時間間隔と所定の時間差以内の出力時間間隔で、前記複数のメッセージが出力されたことを示す情報が、前記ログ情報に含まれることの検出に応じて、前記ログ情報に含まれる出力順及び出力時間間隔の複数のメッセージに対応する特定の事象が前記情報処理システム上で発生したことを通知する、
事象発生通知方法。
(付記9)
付記8において、
前記情報処理システムは、複数のソフトウェアを実行し、
前記ログ情報は、前記複数のソフトウェアから出力されたメッセージを含む、
事象発生通知方法。
(付記10)
付記8または9において、
前記記憶部は、前記複数のメッセージの出力開始時刻、前記複数のメッセージに付加された付加情報のいずれかをさらに記憶し、
前記通知は、前記記憶部の、前記出力順及び前記出力時間間隔に加えて、前記出力開始時刻、前記付加情報のいずれかが一致する前記複数のメッセージが出力されたことを示す情報が、前記ログ情報に含まれることを検出する、
事象発生通知方法。
(付記11)
付記10において、
前記出力順及び前記出力時間間隔と、前記出力開始時刻、前記付加情報のいずれかまたは両方と、の項目はそれぞれ第1の係数を有し、
前記通知は、
前記記憶部の複数のメッセージが出力されたことを示す情報が前記ログ情報に含まれる場合に、前記項目の一致に応じて当該項目に対応する第1の係数を加算して合計値を算出し、
前記合計値が第1の基準値を超える場合に、前記ログ情報に含まれることを検出する、
事象発生通知方法。
(付記12)
付記8乃至11のいずれかにおいて、
前記通知は、特定の事象の発生に応じて前記情報処理システムから出力される複数のメッセージについて出力順及び出力時間間隔が前記記憶部に記憶されていない場合、当該複数のメッセージについて出力順及び出力時間間隔を、前記記憶部に記憶する、
事象発生通知方法。
(付記13)
特定の事象の発生に応じて情報処理システムから出力される複数のメッセージについて出力順及び出力時間間隔を記憶する記憶部と、
前記情報処理システムから出力されたメッセージのログ情報を取得する取得部と、
前記記憶部に記憶された前記出力順及び前記出力時間間隔と所定の時間差以内の出力時間間隔で、前記複数のメッセージが出力されたことを示す情報が、前記ログ情報に含まれることの検出に応じて、前記ログ情報に含まれる出力順及び出力時間間隔の複数のメッセージに対応する特定の事象が前記情報処理システム上で発生したことを通知する制御部と、
を備えたことを特徴とする事象発生通知装置。
(付記14)
付記13において、
前記情報処理システムは、複数のソフトウェアを実行し、
前記ログ情報は、前記複数のソフトウェアから出力されたメッセージを含む、
事象発生通知装置。
(付記15)
付記13または14において、
前記記憶部は、前記複数のメッセージの出力開始時刻、前記複数のメッセージに付加された付加情報のいずれかをさらに記憶し、
前記制御部は、前記記憶部の、前記出力順及び前記出力時間間隔に加えて、前記出力開始時刻、前記付加情報のいずれかが一致する前記複数のメッセージが出力されたことを示す情報が、前記ログ情報に含まれることを検出する、
事象発生通知装置。
(付記16)
付記15において、
前記出力順及び前記出力時間間隔と、前記出力開始時刻、前記付加情報のいずれかまたは両方と、の項目はそれぞれ第1の係数を有し、
前記制御部は、
前記記憶部の複数のメッセージが出力されたことを示す情報が前記ログ情報に含まれる場合に、前記項目の一致に応じて当該項目に対応する第1の係数を加算して合計値を算出し、
前記合計値が第1の基準値を超える場合に、前記ログ情報に含まれることを検出する、
事象発生通知装置。
(付記17)
付記13乃至16のいずれかにおいて、
前記制御部は、特定の事象の発生に応じて前記情報処理システムから出力される複数のメッセージについて出力順及び出力時間間隔が前記記憶部に記憶されていない場合、当該複数のメッセージについて出力順及び出力時間間隔を、前記記憶部に記憶する、
事象発生通知装置。