(57)【要約】【課題】サーバ間で連携して実行される一連の処理を明確に関連付ける。【解決手段】サーバＡは管理装置２００にグループＩＤを要求する。その際に通知されるイベントが最初のイベントであるため、管理装置２００はグループＩＤをサーバＡに返す。サーバＡはサーバＢへのコマンドにグループＩＤを埋め込む。サーバＢは管理装置２００にグループＩＤを要求する。その際に通知されるイベントが途中のイベントであるため、管理装置２００は「ｐｒｅｖ」をサーバＢに返す。サーバＢはサーバＡからのコマンドからグループＩＤを取得し、サーバＣへのコマンドにグループＩＤを埋め込む。サーバＣは管理装置２００にグループＩＤを要求する。その際に通知されるイベントが最後のイベントであるため、管理装置２００は「ｐｒｅｖ」をサーバＣに返す。サーバＣはサーバＢからのコマンドからグループＩＤを取得する。【選択図】図１
2019168918.tif 000002
【特許請求の範囲】
【請求項１】
互いに連携して個別の処理を実行する複数のサーバ装置から、各サーバ装置で実行される処理の種別をイベントとして通知する要求データを受信する受信部と、
メモリに記憶した設定情報において同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータが前記要求データとして前記受信部により受信された場合に、識別子を付与し、付与した識別子を含む第１応答データを前記要求データの送信元のサーバ装置に送信する第１送信部と、
前記一連のイベントのうち、２番目以降のイベントを通知するデータが前記要求データとして前記受信部により受信された場合に、前記第１送信部により付与済の識別子を利用するよう指示する第２応答データを前記要求データの送信元のサーバ装置に送信する第２送信部と
を備える管理装置。
【請求項２】
前記第１送信部は、付与した識別子を含むとともに、付与した識別子を、前記要求データの送信元のサーバ装置で実行される処理の次の処理を実行する他のサーバ装置に通知するよう指示するデータを前記第１応答データとして送信し、
前記第２送信部は、前記要求データの送信元のサーバ装置で実行される処理の前の処理を実行する他のサーバ装置から通知される識別子を利用するよう指示するデータを前記第２応答データとして送信する請求項１に記載の管理装置。
【請求項３】
前記第２送信部は、前記一連のイベントのうち、２番目以降で最後以外のイベントを通知するデータが前記要求データとして前記受信部により受信された場合は、前記要求データの送信元のサーバ装置で実行される処理の前の処理を実行する他のサーバ装置から通知される識別子を利用するよう指示するとともに、通知される識別子を、前記要求データの送信元のサーバ装置で実行される処理の次の処理を実行する他のサーバ装置に通知するよう指示するデータを前記第２応答データとして送信する請求項２に記載の管理装置。
【請求項４】
前記第１送信部は、識別子を付与する日時の情報を、付与する識別子に含める請求項１から３のいずれか１項に記載の管理装置。
【請求項５】
前記第１送信部は、前記メモリに記憶したカウント番号を、付与する識別子に含めてから、前記メモリに記憶したカウント番号をインクリメントする請求項１から４のいずれか１項に記載の管理装置。
【請求項６】
前記第１送信部は、日付が変わるときに、前記メモリに記憶したカウント番号を初期値にリセットする請求項５に記載の管理装置。
【請求項７】
前記第１送信部は、前記メモリに記憶したカウント番号とともに、前記メモリに記憶したリセット番号を、付与する識別子に含め、前記メモリに記憶したカウント番号が最大値に達している場合は、前記メモリに記憶したカウント番号をインクリメントする代わりに初期値にリセットするとともに、前記メモリに記憶したリセット番号をインクリメントする請求項５または６に記載の管理装置。
【請求項８】
前記第１送信部は、日付が変わるときに、前記メモリに記憶したリセット番号を初期値にリセットする請求項７に記載の管理装置。
【請求項９】
他のサーバ装置と連携して処理を実行するサーバ装置において、
前記処理の種別をイベントとして通知する要求データを、識別子を付与する管理装置に送信する送信部と、
同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータが前記要求データとして前記送信部により送信された場合に、前記管理装置から、前記管理装置により付与された識別子を含む第１応答データを受信する第１受信部と、
前記一連のイベントのうち、２番目以降のイベントを通知するデータが前記要求データとして前記送信部により送信された場合に、前記管理装置から、前記管理装置により付与済の識別子を利用するよう指示する第２応答データを受信するとともに、前記処理の前の処理を実行する他のサーバ装置から、前記管理装置により付与済の識別子を通知する呼出しデータを受信する第２受信部と、
前記第１応答データが前記第１受信部により受信された場合は、前記処理を実行するとともに、前記第１応答データに含まれる識別子を記録したログを出力し、前記第２応答データが前記第２受信部により受信された場合は、前記処理を実行するとともに、前記呼出しデータによって通知された識別子を記録したログを出力する実行部と
を備えるサーバ装置。
【請求項１０】
前記第１受信部は、前記管理装置により付与された識別子を含むとともに、付与された識別子を、前記処理の次の処理を実行する他のサーバ装置に通知するよう指示するデータを前記第１応答データとして受信し、
前記送信部は、前記第１応答データが前記第１受信部により受信された場合は、前記第１応答データに含まれる識別子を通知する呼出しデータを、前記処理の次の処理を実行する他のサーバ装置に送信する請求項９に記載のサーバ装置。
【請求項１１】
前記送信部は、前記第２応答データが前記第２受信部により受信された場合は、前記処理の次の処理があれば、前記呼出しデータによって通知された識別子を通知する別の呼出しデータを生成し、生成した呼出しデータを、前記処理の次の処理を実行する他のサーバ装置に送信する請求項９または１０に記載のサーバ装置。
【請求項１２】
互いに連携して個別の処理を実行する複数のサーバ装置が、各サーバ装置で実行される処理の種別をイベントとして通知する要求データを、識別子を付与する管理装置に送信し、
前記管理装置が、同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータを前記要求データとして受信した場合に、識別子を付与し、付与した識別子を含む第１応答データを前記要求データの送信元のサーバ装置に送信し、
各サーバ装置が、前記第１応答データを受信した場合に、各サーバ装置の処理を実行するとともに、前記第１応答データに含まれる識別子を記録したログを出力し、
前記管理装置が、前記一連のイベントのうち、２番目以降のイベントを通知するデータを前記要求データとして受信した場合に、前記管理装置により付与済の識別子を利用するよう指示する第２応答データを前記要求データの送信元のサーバ装置に送信し、
各サーバ装置が、前記第２応答データを受信した場合に、各サーバ装置の処理の前の処理を実行する他のサーバ装置から、前記管理装置により付与済の識別子を通知する呼出しデータを受信し、各サーバ装置の処理を実行するとともに、前記呼出しデータによって通知された識別子を記録したログを出力するログ管理方法。
【請求項１３】
コンピュータに、
互いに連携して個別の処理を実行する複数のサーバ装置から、各サーバ装置で実行される処理の種別をイベントとして通知する要求データを受信する受信手順と、
メモリに記憶した設定情報において同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータが前記要求データとして前記受信手順により受信された場合に、識別子を付与し、付与した識別子を含む第１応答データを前記要求データの送信元のサーバ装置に送信する第１送信手順と、
前記一連のイベントのうち、２番目以降のイベントを通知するデータが前記要求データとして前記受信手順により受信された場合に、前記第１送信手順により付与済の識別子を利用するよう指示する第２応答データを前記要求データの送信元のサーバ装置に送信する第２送信手順と
を実行させる管理プログラム。
【請求項１４】
他のサーバ装置と連携して処理を実行するサーバ装置であるコンピュータに、
前記処理の種別をイベントとして通知する要求データを、識別子を付与する管理装置に送信する送信手順と、
同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータが前記要求データとして前記送信手順により送信された場合に、前記管理装置から、前記管理装置により付与された識別子を含む第１応答データを受信する第１受信手順と、
前記一連のイベントのうち、２番目以降のイベントを通知するデータが前記要求データとして前記送信手順により送信された場合に、前記管理装置から、前記管理装置により付与済の識別子を利用するよう指示する第２応答データを受信するとともに、前記処理の前の処理を実行する他のサーバ装置から、前記管理装置により付与済の識別子を通知する呼出しデータを受信する第２受信手順と、
前記第１応答データが前記第１受信手順により受信された場合は、前記処理を実行するとともに、前記第１応答データに含まれる識別子を記録したログを出力し、前記第２応答データが前記第２受信手順により受信された場合は、前記処理を実行するとともに、前記呼出しデータによって通知された識別子を記録したログを出力する実行手順と
を実行させるサーバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、サーバ装置、ログ管理方法、管理プログラムおよびサーバプログラムに関するものである。
【背景技術】
【０００２】
特許文献１には、互いに連携して動作する複数のサーバのそれぞれがログを作成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１００２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のサーバが連携するシステムの動作状況を判断する場合、各サーバで実行されたイベントの処理結果について、「送信」および「受信」等、対応するものを関連付けて把握する必要があるが、次のような理由により困難である。
【０００５】
各サーバはマルチタスクで動作するので、各種イベントのログが入り乱れて記録される上、各サーバのＯＳ時刻はＮＴＰ等を用いてもミリ秒単位では一致しないため、ログに記録されたイベントの順序および発生日時等から関連付けを把握することは難しい。「ＯＳ」は、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略語である。「ＮＴＰ」は、Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌの略語である。
【０００６】
特に、昨今のシステムを構成するサーバでは、オープン化の流れにより、Ｗｉｎｄｏｗｓ（登録商標）およびＬｉｎｕｘ（登録商標）といった様々なＯＳの上で、ＩＩＳ、Ｔｏｍｃａｔ、Ｏｒａｃｌｅ（登録商標）といった様々なソフトウェアが使用されている。「ＩＩＳ」は、Ｉｎｔｅｒｎｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｉｃｅｓの略語である。各サーバはそれぞれが閉じた世界で管理されており、他のサーバとの関連を把握するための機能は備わっていない。すべてのサーバにて共通で用いられ、動作の関連を把握するために使うことができる情報は、システム時刻しかないのが現状である。
【０００７】
このような状況では、サーバ間の一連の動作の流れを把握しづらいため、障害発生時の問題箇所の把握が困難となる。サーバ間の動作を関連付ける際の助けとなるシステム時刻も、ＮＴＰ等を用いてもミリ秒単位で合わせることは難しい上に、１秒間に多数のログを出力するサーバもあるため、関連付けを明確に判断するための情報としては不十分である。
【０００８】
本発明は、サーバ間で連携して実行される一連の処理を明確に関連付けることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様に係る管理装置は、
互いに連携して個別の処理を実行する複数のサーバ装置から、各サーバ装置で実行される処理の種別をイベントとして通知する要求データを受信する受信部と、
メモリに記憶した設定情報において同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータが前記要求データとして前記受信部により受信された場合に、識別子を付与し、付与した識別子を含む第１応答データを前記要求データの送信元のサーバ装置に送信する第１送信部と、
前記一連のイベントのうち、２番目以降のイベントを通知するデータが前記要求データとして前記受信部により受信された場合に、前記第１送信部により付与済の識別子を利用するよう指示する第２応答データを前記要求データの送信元のサーバ装置に送信する第２送信部と
を備える。
【００１０】
前記第１送信部は、付与した識別子を含むとともに、付与した識別子を、前記要求データの送信元のサーバ装置で実行される処理の次の処理を実行する他のサーバ装置に通知するよう指示するデータを前記第１応答データとして送信し、
前記第２送信部は、前記要求データの送信元のサーバ装置で実行される処理の前の処理を実行する他のサーバ装置から通知される識別子を利用するよう指示するデータを前記第２応答データとして送信する。
【００１１】
前記第２送信部は、前記一連のイベントのうち、２番目以降で最後以外のイベントを通知するデータが前記要求データとして前記受信部により受信された場合は、前記要求データの送信元のサーバ装置で実行される処理の前の処理を実行する他のサーバ装置から通知される識別子を利用するよう指示するとともに、通知される識別子を、前記要求データの送信元のサーバ装置で実行される処理の次の処理を実行する他のサーバ装置に通知するよう指示するデータを前記第２応答データとして送信する。
【００１２】
前記第１送信部は、識別子を付与する日時の情報を、付与する識別子に含める。
【００１３】
前記第１送信部は、前記メモリに記憶したカウント番号を、付与する識別子に含めてから、前記メモリに記憶したカウント番号をインクリメントする。
【００１４】
前記第１送信部は、日付が変わるときに、前記メモリに記憶したカウント番号を初期値にリセットする。
【００１５】
前記第１送信部は、前記メモリに記憶したカウント番号とともに、前記メモリに記憶したリセット番号を、付与する識別子に含め、前記メモリに記憶したカウント番号が最大値に達している場合は、前記メモリに記憶したカウント番号をインクリメントする代わりに初期値にリセットするとともに、前記メモリに記憶したリセット番号をインクリメントする。
【００１６】
前記第１送信部は、日付が変わるときに、前記メモリに記憶したリセット番号を初期値にリセットする。
【００１７】
本発明の一態様に係る、他のサーバ装置と連携して処理を実行するサーバ装置は、
前記処理の種別をイベントとして通知する要求データを、識別子を付与する管理装置に送信する送信部と、
同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータが前記要求データとして前記送信部により送信された場合に、前記管理装置から、前記管理装置により付与された識別子を含む第１応答データを受信する第１受信部と、
前記一連のイベントのうち、２番目以降のイベントを通知するデータが前記要求データとして前記送信部により送信された場合に、前記管理装置から、前記管理装置により付与済の識別子を利用するよう指示する第２応答データを受信するとともに、前記処理の前の処理を実行する他のサーバ装置から、前記管理装置により付与済の識別子を通知する呼出しデータを受信する第２受信部と、
前記第１応答データが前記第１受信部により受信された場合は、前記処理を実行するとともに、前記第１応答データに含まれる識別子を記録したログを出力し、前記第２応答データが前記第２受信部により受信された場合は、前記処理を実行するとともに、前記呼出しデータによって通知された識別子を記録したログを出力する実行部と
を備える。
【００１８】
前記第１受信部は、前記管理装置により付与された識別子を含むとともに、付与された識別子を、前記処理の次の処理を実行する他のサーバ装置に通知するよう指示するデータを前記第１応答データとして受信し、
前記送信部は、前記第１応答データが前記第１受信部により受信された場合は、前記第１応答データに含まれる識別子を通知する呼出しデータを、前記処理の次の処理を実行する他のサーバ装置に送信する。
【００１９】
前記送信部は、前記第２応答データが前記第２受信部により受信された場合は、前記処理の次の処理があれば、前記呼出しデータによって通知された識別子を通知する別の呼出しデータを生成し、生成した呼出しデータを、前記処理の次の処理を実行する他のサーバ装置に送信する。
【００２０】
本発明の一態様に係るログ管理方法では、
互いに連携して個別の処理を実行する複数のサーバ装置が、各サーバ装置で実行される処理の種別をイベントとして通知する要求データを、識別子を付与する管理装置に送信し、
前記管理装置が、同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータを前記要求データとして受信した場合に、識別子を付与し、付与した識別子を含む第１応答データを前記要求データの送信元のサーバ装置に送信し、
各サーバ装置が、前記第１応答データを受信した場合に、各サーバ装置の処理を実行するとともに、前記第１応答データに含まれる識別子を記録したログを出力し、
前記管理装置が、前記一連のイベントのうち、２番目以降のイベントを通知するデータを前記要求データとして受信した場合に、前記管理装置により付与済の識別子を利用するよう指示する第２応答データを前記要求データの送信元のサーバ装置に送信し、
各サーバ装置が、前記第２応答データを受信した場合に、各サーバ装置の処理の前の処理を実行する他のサーバ装置から、前記管理装置により付与済の識別子を通知する呼出しデータを受信し、各サーバ装置の処理を実行するとともに、前記呼出しデータによって通知された識別子を記録したログを出力する。
【００２１】
本発明の一態様に係る管理プログラムは、
コンピュータに、
互いに連携して個別の処理を実行する複数のサーバ装置から、各サーバ装置で実行される処理の種別をイベントとして通知する要求データを受信する受信手順と、
メモリに記憶した設定情報において同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータが前記要求データとして前記受信手順により受信された場合に、識別子を付与し、付与した識別子を含む第１応答データを前記要求データの送信元のサーバ装置に送信する第１送信手順と、
前記一連のイベントのうち、２番目以降のイベントを通知するデータが前記要求データとして前記受信手順により受信された場合に、前記第１送信手順により付与済の識別子を利用するよう指示する第２応答データを前記要求データの送信元のサーバ装置に送信する第２送信手順と
を実行させる。
【００２２】
本発明の一態様に係るサーバプログラムは、
他のサーバ装置と連携して処理を実行するサーバ装置であるコンピュータに、
前記処理の種別をイベントとして通知する要求データを、識別子を付与する管理装置に送信する送信手順と、
同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベントを通知するデータが前記要求データとして前記送信手順により送信された場合に、前記管理装置から、前記管理装置により付与された識別子を含む第１応答データを受信する第１受信手順と、
前記一連のイベントのうち、２番目以降のイベントを通知するデータが前記要求データとして前記送信手順により送信された場合に、前記管理装置から、前記管理装置により付与済の識別子を利用するよう指示する第２応答データを受信するとともに、前記処理の前の処理を実行する他のサーバ装置から、前記管理装置により付与済の識別子を通知する呼出しデータを受信する第２受信手順と、
前記第１応答データが前記第１受信手順により受信された場合は、前記処理を実行するとともに、前記第１応答データに含まれる識別子を記録したログを出力し、前記第２応答データが前記第２受信手順により受信された場合は、前記処理を実行するとともに、前記呼出しデータによって通知された識別子を記録したログを出力する実行手順と
を実行させる。
【発明の効果】
【００２３】
本発明では、サーバ間で連携して実行される一連の処理が識別子によってグループ化される。そのため、本発明によれば、これら一連の処理を明確に関連付けることができる。
【図面の簡単な説明】
【００２４】
【図１】実施の形態１に係るログ管理システムの構成を示すブロック図。
【図２】実施の形態１に係る管理装置の構成を示すブロック図。
【図３】実施の形態１に係るサーバ装置の構成を示すブロック図。
【図４】実施の形態１に係る管理装置の動作を示すフローチャート。
【図５】実施の形態１に係るグループＩＤの各数値の説明表。
【図６】実施の形態１の適用例に係るログ管理システムの構成を示すブロック図。
【図７】実施の形態１の適用例に係るログ管理システムの処理推移図。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態は、部分的に実施されても構わない。
【００２６】
実施の形態１．
本実施の形態について、図１から図５を用いて説明する。
【００２７】
＊＊＊構成の説明＊＊＊
図１を参照して、本実施の形態に係るログ管理システム１００の構成を説明する。
【００２８】
ログ管理システム１００は、識別子をグループＩＤとして付与する管理装置２００と、互いに連携して個別の処理を実行する複数のサーバ装置３００とを備える。「ＩＤ」は、Ｉｄｅｎｔｉｆｉｅｒの略語である。
【００２９】
管理装置２００と各サーバ装置３００とは、図示していないインターネット等のネットワークを介して互いに通信を行う。サーバ装置３００同士は、図示していないＬＡＮ等のネットワークを介して互いに通信を行う。「ＬＡＮ」は、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略語である。
【００３０】
図２を参照して、本実施の形態に係る管理装置２００の構成を説明する。
【００３１】
管理装置２００は、コンピュータである。管理装置２００は、具体的には、クラウドサーバ等のサーバコンピュータである。管理装置２００は、プロセッサ２０１を備えるとともに、メモリ２０２および通信デバイス２０３といった他のハードウェアを備える。プロセッサ２０１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００３２】
管理装置２００は、機能要素として、受信部２１０と、第１送信部２１１と、第２送信部２１２とを備える。受信部２１０、第１送信部２１１および第２送信部２１２の機能は、ソフトウェアにより実現される。具体的には、受信部２１０、第１送信部２１１および第２送信部２１２の機能は、管理プログラムにより実現される。管理プログラムは、受信部２１０、第１送信部２１１および第２送信部２１２により行われる手順をそれぞれ受信手順、第１送信手順および第２送信手順としてコンピュータに実行させるプログラムである。管理プログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【００３３】
プロセッサ２０１は、管理プログラムを実行する装置である。プロセッサ２０１は、例えば、ＣＰＵである。「ＣＰＵ」は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。
【００３４】
メモリ２０２は、管理プログラムをあらかじめまたは一時的に記憶する装置である。メモリ２０２は、例えば、ＲＡＭ、フラッシュメモリまたはこれらの組み合わせである。「ＲＡＭ」は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略語である。
【００３５】
通信デバイス２０３は、管理プログラムに入力されるデータを受信するレシーバと、管理プログラムから出力されるデータを送信するトランスミッタとを備える。通信デバイス２０３は、例えば、通信チップまたはＮＩＣである。「ＮＩＣ」は、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略語である。
【００３６】
管理装置２００は、ハードウェアとして、入力機器およびディスプレイを備えていてもよい。
【００３７】
入力機器は、管理プログラムへのデータの入力のためにユーザにより操作される機器である。入力機器は、例えば、マウス、キーボード、タッチパネル、または、これらのうちいくつか、もしくは、すべての組み合わせである。
【００３８】
ディスプレイは、管理プログラムから出力されるデータを画面に表示する機器である。ディスプレイは、例えば、ＬＣＤである。「ＬＣＤ」は、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略語である。
【００３９】
管理プログラムは、メモリ２０２からプロセッサ２０１に読み込まれ、プロセッサ２０１によって実行される。メモリ２０２には、管理プログラムだけでなく、ＯＳも記憶されている。プロセッサ２０１は、ＯＳを実行しながら、管理プログラムを実行する。なお、管理プログラムの一部または全部がＯＳに組み込まれていてもよい。
【００４０】
管理プログラムおよびＯＳは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、ＨＤＤ、フラッシュメモリまたはこれらの組み合わせである。「ＨＤＤ」は、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。管理プログラムおよびＯＳは、補助記憶装置に記憶されている場合、メモリ２０２にロードされ、プロセッサ２０１によって実行される。
【００４１】
管理装置２００は、プロセッサ２０１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、管理プログラムの実行を分担する。それぞれのプロセッサは、例えば、ＣＰＵである。
【００４２】
管理プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ２０２、補助記憶装置、または、プロセッサ２０１内のレジスタまたはキャッシュメモリに記憶される。本実施の形態では、少なくとも関連イベント設定ファイル２２０、カウント番号２２１およびリセット番号２２２がメモリ２０２に記憶される。
【００４３】
管理装置２００は、１台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。管理装置２００が複数台のコンピュータで構成されている場合は、受信部２１０、第１送信部２１１および第２送信部２１２の機能が、各コンピュータに分散されて実現されてもよい。
【００４４】
図３を参照して、本実施の形態に係るサーバ装置３００の構成を説明する。
【００４５】
サーバ装置３００は、コンピュータである。サーバ装置３００は、具体的には、ウェブサーバ、アプリケーションサーバ、データベースサーバ等のサーバコンピュータである。サーバ装置３００は、プロセッサ３０１を備えるとともに、メモリ３０２および通信デバイス３０３といった他のハードウェアを備える。プロセッサ３０１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００４６】
サーバ装置３００は、機能要素として、送信部３１０と、第１受信部３１１と、第２受信部３１２と、実行部３１３とを備える。送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３の機能は、ソフトウェアにより実現される。具体的には、送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３の機能は、サーバプログラムにより実現される。サーバプログラムは、送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３により行われる手順をそれぞれ受信手順、第１送信手順および第２送信手順としてコンピュータに実行させるプログラムである。サーバプログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【００４７】
プロセッサ３０１は、サーバプログラムを実行する装置である。プロセッサ３０１は、例えば、ＣＰＵである。
【００４８】
メモリ３０２は、サーバプログラムをあらかじめまたは一時的に記憶する装置である。メモリ３０２は、例えば、ＲＡＭ、フラッシュメモリまたはこれらの組み合わせである。
【００４９】
通信デバイス３０３は、サーバプログラムに入力されるデータを受信するレシーバと、サーバプログラムから出力されるデータを送信するトランスミッタとを備える。通信デバイス３０３は、例えば、通信チップまたはＮＩＣである。
【００５０】
サーバ装置３００は、ハードウェアとして、入力機器およびディスプレイを備えていてもよい。
【００５１】
入力機器は、サーバプログラムへのデータの入力のためにユーザにより操作される機器である。入力機器は、例えば、マウス、キーボード、タッチパネル、または、これらのうちいくつか、もしくは、すべての組み合わせである。
【００５２】
ディスプレイは、サーバプログラムから出力されるデータを画面に表示する機器である。ディスプレイは、例えば、ＬＣＤである。
【００５３】
サーバプログラムは、メモリ３０２からプロセッサ３０１に読み込まれ、プロセッサ３０１によって実行される。メモリ３０２には、サーバプログラムだけでなく、ＯＳも記憶されている。プロセッサ３０１は、ＯＳを実行しながら、サーバプログラムを実行する。なお、サーバプログラムの一部または全部がＯＳに組み込まれていてもよい。
【００５４】
サーバプログラムおよびＯＳは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、ＨＤＤ、フラッシュメモリまたはこれらの組み合わせである。サーバプログラムおよびＯＳは、補助記憶装置に記憶されている場合、メモリ３０２にロードされ、プロセッサ３０１によって実行される。
【００５５】
サーバ装置３００は、プロセッサ３０１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、サーバプログラムの実行を分担する。それぞれのプロセッサは、例えば、ＣＰＵである。
【００５６】
サーバプログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ３０２、補助記憶装置、または、プロセッサ３０１内のレジスタまたはキャッシュメモリに記憶される。本実施の形態では、少なくともログファイル３２０がメモリ３０２に記憶される。
【００５７】
サーバ装置３００は、１台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。サーバ装置３００が複数台のコンピュータで構成されている場合は、送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３の機能が、各コンピュータに分散されて実現されてもよい。
【００５８】
＊＊＊動作の説明＊＊＊
図１を参照して、本実施の形態に係るログ管理システム１００の動作を説明する。ログ管理システム１００の動作は、本実施の形態に係るログ管理方法に相当する。
【００５９】
本実施の形態は、複数のサーバ装置３００が連携して動作するシステムにおいて、各サーバ装置３００で実行される「送信」および「受信」等の関連するイベントをグループ化するものである。関連するイベントには、同一のグループＩＤが付与される。
【００６０】
グループＩＤを付与するためのサーバとして、管理装置２００が配置される。管理装置２００は、各サーバ装置３００からの要求を受けてグループＩＤを返す。管理装置２００は、グループに含まれる関連イベントの名称および順序の設定情報を関連イベント設定ファイル２２０として保持しており、各サーバ装置３００に対してグループＩＤを付与すると同時にその伝達も指示する。
【００６１】
グループＩＤの付与とサーバ装置３００間の伝達は、以下のような手順で実現する。
【００６２】
手順は、実行するイベントの関連グループ内での位置が最初であるか、途中であるか、最後であるかによって異なる。
【００６３】
３つの関連イベント「ｓｔａｒｔ」、「ｃｍｄ１」および「ｃｍｄ２」を実行する場合を例に説明する。
【００６４】
ステップＳ１１において、最初の処理Ａを実行するサーバ装置３００であるサーバＡは、管理装置２００に対し、グループＩＤを要求する。その際、サーバＡは、付与対象のイベント名も通知する。ここでは、例として「ｓｔａｒｔ」が通知される。なお、サーバＡは、実行する処理の種別とイベントの名称との対応関係を定義するファイルをあらかじめ保持しており、グループＩＤを要求する際に、このファイルを参照して、通知すべきイベント名「ｓｔａｒｔ」を得るものとする。
【００６５】
ステップＳ１２において、管理装置２００は、関連イベント設定ファイル２２０を参照し、グループＩＤの付与を要求されたイベントがグループとして登録されているか、また、何番目に実行されるイベントかを調べる。管理装置２００は、イベント「ｓｔａｒｔ」は「Ｇｒｏｕｐ１」として登録されており、最初に実行され、次のイベントがあることを認識する。
【００６６】
ステップＳ１３において、イベント「ｓｔａｒｔ」が最初に実行され、次のイベントがあるため、管理装置２００はグループＩＤおよび「ｎｅｘｔ」をサーバＡに返す。
【００６７】
ステップＳ１４において、サーバＡは「ｎｅｘｔ」を受け、次のサーバ装置３００であるサーバＢへのコマンド「ｃｍｄ１」に埋め込む形でグループＩＤを伝達する。
【００６８】
ステップＳ１５において、途中の処理Ｂを実行するサーバ装置３００であるサーバＢは、管理装置２００に対し、グループＩＤを要求する。その際、サーバＢは、付与対象のイベント名も通知する。ここでは、例として「ｃｍｄ１」が通知される。なお、サーバＢは、実行する処理の種別とイベントの名称との対応関係を定義するファイルをあらかじめ保持しており、グループＩＤを要求する際に、このファイルを参照して、通知すべきイベント名「ｃｍｄ１」を得るものとする。
【００６９】
ステップＳ１６において、管理装置２００は、関連イベント設定ファイル２２０を参照し、イベント「ｃｍｄ１」は「Ｇｒｏｕｐ１」として登録されており、２番目に実行され、次のイベントがあることを認識する。
【００７０】
ステップＳ１７において、イベント「ｃｍｄ１」が最初のイベントではなく、次のイベントがあるため、管理装置２００は「ｐｒｅｖ」および「ｎｅｘｔ」をサーバＢに返す。サーバＢは「ｐｒｅｖ」を受け、直前のサーバ装置３００であるサーバＡからのコマンド「ｃｍｄ１」からグループＩＤを取得する。
【００７１】
ステップＳ１８において、サーバＢは「ｎｅｘｔ」を受け、次のサーバ装置３００であるサーバＣへのコマンド「ｃｍｄ２」に埋め込む形でグループＩＤを伝達する。なお、サーバＣを動作させる必要がない状況では、サーバＢは「ｎｅｘｔ」を無視してもよい。すなわち、サーバＢは「ｎｅｘｔ」を受けたとしても、サーバＣにグループＩＤを伝達するかどうかは独自に判断してよい。
【００７２】
ステップＳ１９において、最後の処理Ｃを実行するサーバ装置３００であるサーバＣは、管理装置２００に対し、グループＩＤを要求する。その際、サーバＣは、付与対象のイベント名も通知する。ここでは、例として「ｃｍｄ２」が通知される。なお、サーバＣは、実行する処理の種別とイベントの名称との対応関係を定義するファイルをあらかじめ保持しており、グループＩＤを要求する際に、このファイルを参照して、通知すべきイベント名「ｃｍｄ２」を得るものとする。
【００７３】
ステップＳ２０において、管理装置２００は、関連イベント設定ファイル２２０を参照し、イベント「ｃｍｄ２」は「Ｇｒｏｕｐ１」として登録されており、３番目に実行され、次のイベントがないことを認識する。
【００７４】
ステップＳ２１において、イベント「ｃｍｄ２」が最初のイベントではなく、次のイベントがないため、管理装置２００は「ｐｒｅｖ」および「ｎｏｎｅ」をサーバＣに返す。サーバＣは「ｐｒｅｖ」を受け、直前のサーバ装置３００であるサーバＢからのコマンド「ｃｍｄ２」からグループＩＤを取得する。
【００７５】
図４を参照して、管理装置２００の処理手順を説明する。
【００７６】
ステップＳ３１において、管理装置２００は、関連イベント設定ファイル２２０を読み込む。
【００７７】
ステップＳ３２において、管理装置２００は、グループＩＤ要求を受信する。
【００７８】
ステップＳ３３において、管理装置２００は、返却値を決定する。
【００７９】
ステップＳ３４において、管理装置２００は、要求元のサーバ装置３００に返却値を送信する。
【００８０】
返却値としては、値１および値２がある。
【００８１】
値１は、グループＩＤ要求で通知されたイベントが最初のイベントなら、そのイベントに対して新たに採番されたグループＩＤとなり、最初のイベント以外なら、直前のサーバ装置３００から伝達されたグループＩＤを使うよう指示する「ｐｒｅｖ」となる。グループＩＤの採番については後述する。
【００８２】
値２は、グループＩＤ要求で通知されたイベントが最後のイベントなら、次のサーバ装置３００へグループＩＤを伝達しないよう指示する「ｎｏｎｅ」となり、最後のイベント以外なら、次のサーバ装置３００へグループＩＤを伝達するよう指示する「ｎｅｘｔ」となる。
【００８３】
本実施の形態では、図５に示すような年月日、リセット番号２２２およびカウント番号２２１を並べた数値がグループＩＤとして使用される。例として、年月日が「２０１８年２月１４日」、リセット番号２２２が「０」、カウント番号２２１が「１」であれば、グループＩＤは「２０１８０２１４００００１」となる。
【００８４】
グループＩＤは、値が無限に大きくなることを防ぐため、先頭が年月日であり、２４時間ごとにカウント番号２２１が「０」に戻される。管理装置２００にて障害が起きた場合およびカウント番号２２１が最大値に達した場合を想定してリセット番号２２２の桁が設けられ、同じ日にカウント番号２２１をリセットしてもグループＩＤが重複しない仕組みが採用される。リセット番号２２２は管理装置２００内のファイルに記録され、管理装置２００を再起動しても引き継がれるが、日が変わると「０」に戻る。カウント番号２２１は既定で４桁だが、各サーバ装置３００で発生するログが多い場合は桁数を増やしてもよい。
【００８５】
各サーバ装置３００で共通のグループＩＤを使用するため、サーバ装置３００間でグループＩＤを伝達する必要がある。本実施の形態では、グループＩＤは、次のサーバ装置３００へのイベント命令に埋め込む形で伝達される。具体的には、グループＩＤは、Ｔｏｍｃａｔ等のアプリケーションサーバに伝達される場合は、ＵＲＬの引数として埋め込まれる。「ＵＲＬ」は、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒの略語である。グループＩＤは、Ｏｒａｃｌｅ（登録商標）等のデータベースサーバに伝達される場合は、ＳＱＬのコメントとして埋め込まれる。
【００８６】
図１から図３を参照して、管理装置２００およびサーバ装置３００の各部の動作を説明する。
【００８７】
ステップＳ１１において、サーバＢおよびサーバＣといった他のサーバ装置３００と連携して処理Ａを実行するサーバ装置３００であるサーバＡの送信部３１０は、処理Ａの種別をイベント「ｓｔａｒｔ」として通知する要求データ４００を管理装置２００に送信する。
【００８８】
ステップＳ１２において、管理装置２００の受信部２１０は、サーバＡから、サーバＡで実行される処理Ａの種別をイベント「ｓｔａｒｔ」として通知する要求データ４００を受信する。管理装置２００の第１送信部２１１は、メモリ２０２に記憶した関連イベント設定ファイル２２０において同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、１番目のイベント「ｓｔａｒｔ」を通知するデータが要求データ４００として受信部２１０により受信されたことを認識する。
【００８９】
ステップＳ１３において、管理装置２００の第１送信部２１１は、グループＩＤを付与し、付与したグループＩＤを含む第１応答データ４０１を要求データ４００の送信元のサーバ装置３００であるサーバＡに送信する。本実施の形態では、第１送信部２１１は、付与したグループＩＤを含むとともに、付与したグループＩＤを、サーバＡで実行される処理Ａの次の処理Ｂを実行する他のサーバ装置３００であるサーバＢに通知するよう指示する、すなわち、「ｎｅｘｔ」を含むデータを第１応答データ４０１として送信する。
【００９０】
グループＩＤを付与する際に、第１送信部２１１は、グループＩＤを付与する日時の情報を、付与するグループＩＤに含める。具体的には、第１送信部２１１は、年月日を、付与するグループＩＤの先頭に配置する。また、第１送信部２１１は、メモリ２０２に記憶したカウント番号２２１を、付与するグループＩＤに含めてから、メモリ２０２に記憶したカウント番号２２１をインクリメントする。具体的には、第１送信部２１１は、メモリ２０２に記憶したカウント番号２２１を、付与するグループＩＤの最後尾に配置し、その後、メモリ２０２に記憶したカウント番号２２１を１インクリメントする。また、第１送信部２１１は、メモリ２０２に記憶したリセット番号２２２を、付与するグループＩＤに含める。具体的には、第１送信部２１１は、メモリ２０２に記憶したリセット番号２２２を、付与するグループＩＤの年月日とカウント番号２２１との間に配置する。第１送信部２１１は、メモリ２０２に記憶したカウント番号２２１が最大値に達している場合は、メモリ２０２に記憶したカウント番号２２１をインクリメントする代わりに初期値にリセットするとともに、メモリ２０２に記憶したリセット番号２２２をインクリメントする。具体的には、第１送信部２１１は、メモリ２０２に記憶したカウント番号２２１が「９９９９」に達している場合は、メモリ２０２に記憶したカウント番号２２１を１インクリメントする代わりに「０」にリセットするとともに、メモリ２０２に記憶したリセット番号２２２を１インクリメントする。
【００９１】
なお、第１送信部２１１は、日付が変わるときに、メモリ２０２に記憶したカウント番号２２１およびリセット番号２２２を初期値にリセットする。具体的には、第１送信部２１１は、日付が変わるときに、メモリ２０２に記憶したカウント番号２２１およびリセット番号２２２を「０」にリセットする。
【００９２】
ステップＳ１４において、サーバＡの第１受信部３１１は、管理装置２００から、管理装置２００により付与されたグループＩＤを含む第１応答データ４０１を受信する。本実施の形態では、第１受信部３１１は、管理装置２００により付与されたグループＩＤを含むとともに、付与されたグループＩＤをサーバＢに通知するよう指示する、すなわち、「ｎｅｘｔ」を含むデータを第１応答データ４０１として受信する。そのため、サーバＡの送信部３１０は、第１応答データ４０１に含まれるグループＩＤを通知する呼出しデータ４０３をサーバＢに送信する。
【００９３】
サーバＡの実行部３１３は、処理Ａを実行するとともに、第１応答データ４０１に含まれるグループＩＤを記録したログをログファイル３２０に出力する。
【００９４】
ステップＳ１５において、サーバＡおよびサーバＣといった他のサーバ装置３００と連携して処理Ｂを実行するサーバ装置３００であるサーバＢの送信部３１０は、処理Ｂの種別をイベント「ｃｍｄ１」として通知する要求データ４００を管理装置２００に送信する。
【００９５】
ステップＳ１６において、管理装置２００の受信部２１０は、サーバＢから、サーバＢで実行される処理Ｂの種別をイベント「ｃｍｄ１」として通知する要求データ４００を受信する。管理装置２００の第２送信部２１２は、メモリ２０２に記憶した関連イベント設定ファイル２２０において同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、２番目以降のイベント「ｃｍｄ１」を通知するデータが要求データ４００として受信部２１０により受信されたことを認識する。本実施の形態では、第２送信部２１２は、メモリ２０２に記憶した関連イベント設定ファイル２２０において同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、２番目以降で最後以外のイベント「ｃｍｄ１」を通知するデータが要求データ４００として受信部２１０により受信されたことを認識する。
【００９６】
ステップＳ１７において、管理装置２００の第２送信部２１２は、第１送信部２１１により付与済のグループＩＤを利用するよう指示する第２応答データ４０２を要求データ４００の送信元のサーバ装置３００であるサーバＢに送信する。具体的には、第２送信部２１２は、サーバＢで実行される処理Ｂの前の処理Ａを実行する他のサーバ装置３００であるサーバＡから通知されるグループＩＤを利用するよう指示する、すなわち、「ｐｒｅｖ」を含むデータを第２応答データ４０２として送信する。本実施の形態では、第２送信部２１２は、サーバＡから通知されるグループＩＤを利用するよう指示するとともに、通知されるグループＩＤを、サーバＢで実行される処理Ｂの次の処理Ｃを実行する他のサーバ装置３００であるサーバＣに通知するよう指示する、すなわち、「ｎｅｘｔ」を含むデータを第２応答データ４０２として送信する。
【００９７】
ステップＳ１８において、サーバＢの第２受信部３１２は、管理装置２００から、管理装置２００により付与済のグループＩＤを利用するよう指示する第２応答データ４０２を受信するとともに、サーバＡから、管理装置２００により付与済のグループＩＤを通知する呼出しデータ４０３を受信する。本実施の形態では、第２受信部３１２は、サーバＡから通知されるグループＩＤを利用するよう指示する、すなわち、「ｐｒｅｖ」を含むとともに、通知されるグループＩＤをサーバＣに通知するよう指示する、すなわち、「ｎｅｘｔ」を含むデータを第２応答データ４０２として受信する。そのため、サーバＢの送信部３１０は、サーバＡからの呼出しデータ４０３によって通知されたグループＩＤを通知する別の呼出しデータ４０３を生成し、生成した呼出しデータ４０３をサーバＣに送信する。なお、処理Ｂの次の処理がなければ、送信部３１０は、呼出しデータ４０３を生成したり、送信したりしなくてよい。
【００９８】
サーバＢの実行部３１３は、処理Ｂを実行するとともに、呼出しデータ４０３によって通知されたグループＩＤを記録したログをログファイル３２０に出力する。
【００９９】
ステップＳ１９において、サーバＡおよびサーバＢといった他のサーバ装置３００と連携して処理Ｃを実行するサーバ装置３００であるサーバＣの送信部３１０は、処理Ｃの種別をイベント「ｃｍｄ２」として通知する要求データ４００を管理装置２００に送信する。
【０１００】
ステップＳ２０において、管理装置２００の受信部２１０は、サーバＣから、サーバＣで実行される処理Ｃの種別をイベント「ｃｍｄ２」として通知する要求データ４００を受信する。管理装置２００の第２送信部２１２は、メモリ２０２に記憶した関連イベント設定ファイル２２０において同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、２番目以降のイベント「ｃｍｄ２」を通知するデータが要求データ４００として受信部２１０により受信されたことを認識する。本実施の形態では、第２送信部２１２は、メモリ２０２に記憶した関連イベント設定ファイル２２０において同じグループに分類され、該当グループ内での順番が規定された一連のイベントのうち、最後のイベント「ｃｍｄ２」を通知するデータが要求データ４００として受信部２１０により受信されたことを認識する。
【０１０１】
ステップＳ２１において、管理装置２００の第２送信部２１２は、第１送信部２１１により付与済のグループＩＤを利用するよう指示する第２応答データ４０２を要求データ４００の送信元のサーバ装置３００であるサーバＣに送信する。具体的には、第２送信部２１２は、サーバＣで実行される処理Ｃの前の処理Ｂを実行する他のサーバ装置３００であるサーバＢから通知されるグループＩＤを利用するよう指示する、すなわち、「ｐｒｅｖ」を含むデータを第２応答データ４０２として送信する。本実施の形態では、第２送信部２１２は、サーバＢから通知されるグループＩＤを利用するよう指示するとともに、通知されるグループＩＤを他のサーバ装置３００に通知しなくてよいことを通知する、すなわち、「ｎｏｎｅ」を含むデータを第２応答データ４０２として送信する。
【０１０２】
サーバＣの第２受信部３１２は、管理装置２００から、管理装置２００により付与済のグループＩＤを利用するよう指示する第２応答データ４０２を受信するとともに、サーバＢから、管理装置２００により付与済のグループＩＤを通知する呼出しデータ４０３を受信する。本実施の形態では、第２受信部３１２は、サーバＢから通知されるグループＩＤを利用するよう指示する、すなわち、「ｐｒｅｖ」を含むとともに、通知されるグループＩＤを通知しなくてよいことを通知する、すなわち、「ｎｏｎｅ」を含むデータを第２応答データ４０２として受信する。
【０１０３】
サーバＣの実行部３１３は、処理Ｃを実行するとともに、呼出しデータ４０３によって通知されたグループＩＤを記録したログをログファイル３２０に出力する。
【０１０４】
なお、グループＩＤは、一連のイベントを１つのグループとして識別できれば、任意の形式でよく、変形例として、年月日、リセット番号２２２またはそれらの両方が含まれていなくてもよい。
【０１０５】
図６および図７を参照して、本実施の形態の適用例を説明する。
【０１０６】
イベントのグループ化について、サーバ装置３００として、Ａｐａｃｈｅ（登録商標）等のウェブサーバ、Ｔｏｍｃａｔ等のアプリケーションサーバおよびＯｒａｃｌｅ（登録商標）等のデータベースサーバが組み合わされたログ管理システム１００を例に説明する。
【０１０７】
この例において、ウェブクライアントは、ウェブサーバにアクセスする。ウェブサーバは、アプリケーションサーバ上のＪａｖａ（登録商標）等のアプリケーションを呼び出す。アプリケーションサーバは、アプリケーションを実行し、アプリケーションがデータベースサーバを呼び出す。データベースサーバは、検索を実行し、検索結果をアプリケーションサーバに返す。各サーバ装置３００は、管理装置２００に対しグループＩＤを要求する。
【０１０８】
管理装置２００上の関連イベント設定ファイル２２０では、「Ｇｒｏｕｐ１＝ＷｅｂＡｃｃｅｓｓ，ＡｐｐＥｘｅｃ，ＤＢＳｅａｒｃｈ」が設定されている。
【０１０９】
ステップＳ４１において、ウェブクライアントが、ウェブサーバを参照する。ステップＳ４２において、ウェブサーバが、管理装置２００に対し「ウェブアクセス」のグループＩＤを要求する。ステップＳ４３において、管理装置２００が、関連イベント設定ファイル２２０を参照し、「ウェブアクセス」のイベント名「ＷｅｂＡｃｃｅｓｓ」がグループ内の処理として登録されており、１番目に実行される処理で、かつ、次の処理があるので、グループＩＤ「２０１８０２１４００００１」を生成し、「ＧＩＤ＝２０１８０２１４００００１，ｎｅｘｔ」を返す。ステップＳ４４において、ウェブサーバが、グループＩＤ「２０１８０２１４００００１」を含むログをログファイル３２０に出力する。ステップＳ４５において、ウェブサーバが、アプリケーションサーバに対しアプリケーション実行命令を送信する。このとき、ウェブサーバは、管理装置２００のｎｅｘｔ指示を受け、命令にグループＩＤ「２０１８０２１４００００１」を埋め込む。
【０１１０】
ステップＳ４６において、アプリケーションサーバが、アプリケーションを実行する。ステップＳ４７において、アプリケーションサーバが、管理装置２００に対し「アプリケーション実行」のグループＩＤを要求する。ステップＳ４８において、管理装置２００が、関連イベント設定ファイル２２０を参照し、「アプリケーション実行」のイベント名「ＡｐｐＥｘｅｃ」がグループ内の処理として登録されており、２番目に実行される処理で、かつ、次の処理があるので、「ＧＩＤ＝ｐｒｅｖ，ｎｅｘｔ」を返す。ステップＳ４９において、アプリケーションサーバが、ｐｒｅｖ指示を受け、アプリケーション実行命令からグループＩＤ「２０１８０２１４００００１」を取得する。ステップＳ５０において、アプリケーションサーバが、グループＩＤ「２０１８０２１４００００１」を含むログをログファイル３２０に出力する。ステップＳ５１において、アプリケーションサーバが、データベースサーバに対しデータベース検索命令を送信する。このとき、アプリケーションサーバは、管理装置２００のｎｅｘｔ指示を受け、命令にグループＩＤ「２０１８０２１４００００１」を埋め込む。
【０１１１】
ステップＳ５２において、データベースサーバが、検索を実行する。ステップＳ５３において、データベースサーバが、管理装置２００に対し「データベース検索」のグループＩＤを要求する。ステップＳ５４において、管理装置２００が、関連イベント設定ファイル２２０を参照し、「データベース検索」のイベント名「ＤＢＳｅａｒｃｈ」がグループ内の処理として登録されており、３番目に実行される処理で、かつ、次の処理がないので、「ＧＩＤ＝ｐｒｅｖ，ｎｏｎｅ」を返す。ステップＳ５５において、データベースサーバが、ｐｒｅｖ指示を受け、データベース検索命令からグループＩＤ「２０１８０２１４００００１」を取得する。ステップＳ５６において、データベースサーバが、グループＩＤ「２０１８０２１４００００１」を含むログをログファイル３２０に出力する。ステップＳ５７において、データベースサーバが、データベース検索結果をアプリケーションに返す。ステップＳ５８において、アプリケーションサーバが、アプリケーション実行結果をウェブサーバに返す。ステップＳ５９において、ウェブサーバが、ウェブ画面データをウェブクライアントに返す。
【０１１２】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、サーバ間で連携して実行される一連の処理が識別子によってグループ化される。そのため、本実施の形態によれば、これら一連の処理を明確に関連付けることができる。
【０１１３】
本実施の形態では、各サーバ装置３００で発生するイベントをグループ化することにより、一連の処理の関連付けを把握可能となる。すなわち、本実施の形態では、「グループＩＤ」という概念を導入し、管理装置２００から各サーバ装置３００に対してグループＩＤを付与し、関連するイベントをグループ化することで、システム時刻とは別の情報を、全サーバで共通に使用でき、サーバ装置３００間で実行される一連の動作を明確に関連付けることが可能となる。
【０１１４】
具体例として、サーバ間の一連の動作の関連および順序が明確になり、障害発生時の問題箇所の特定が容易になる。従来は、障害解決のために一連の動作の処理結果を確認したい場合、実行時刻を頼りに、各サーバのログを順番に追っていく必要があるが、本実施の形態では、障害が起きた処理のグループＩＤが分かれば、後は任意のサーバのログを確認できる。
【０１１５】
また、システム時刻にズレがあっても、各動作の順序および関連が明確であるため、混乱が起きない。従来は、各サーバのシステム時刻のズレを考慮しつつログを確認する必要があり、判断ミスが起きやすいが、本実施の形態では、同一のグループＩＤのログを確認するだけでよいので、判断ミスが起きにくい。
【０１１６】
また、２つのサーバで開始された処理の実行順序の判断が容易になる。従来は、システム時刻のズレを考慮しつつ、各サーバでの実行時刻を比較する必要があり、２つのサーバでほぼ同時に処理が実行された場合、実行時刻が同一になり実行順序を判断できないが、本実施の形態では、付与されたグループＩＤの大小がそのまま実行順序なので、グループＩＤの大きさを比較するだけでよい。ほぼ同時に処理が実行された場合でも、個別のグループＩＤが付与されるので実行順序を判断できる。
【０１１７】
＊＊＊他の構成＊＊＊
本実施の形態では、管理装置２００の受信部２１０、第１送信部２１１および第２送信部２１２の機能がソフトウェアにより実現されるが、変形例として、受信部２１０、第１送信部２１１および第２送信部２１２の機能が専用のハードウェアにより実現されてもよい。あるいは、別の変形例として、受信部２１０、第１送信部２１１および第２送信部２１２の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、受信部２１０、第１送信部２１１および第２送信部２１２の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【０１１８】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡ、ＡＳＩＣ、または、これらのうちいくつか、もしくは、すべての組み合わせである。「ＩＣ」は、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。「ＧＡ」は、Ｇａｔｅ  Ａｒｒａｙの略語である。「ＦＰＧＡ」は、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。「ＡＳＩＣ」は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。
【０１１９】
プロセッサ２０１および専用のハードウェアは、いずれも処理回路である。すなわち、受信部２１０、第１送信部２１１および第２送信部２１２の機能がソフトウェアにより実現されるか、ハードウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、受信部２１０、第１送信部２１１および第２送信部２１２の動作は、処理回路により行われる。
【０１２０】
本実施の形態では、サーバ装置３００の送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３の機能がソフトウェアにより実現されるが、変形例として、送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３の機能が専用のハードウェアにより実現されてもよい。あるいは、別の変形例として、送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【０１２１】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡ、ＡＳＩＣ、または、これらのうちいくつか、もしくは、すべての組み合わせである。
【０１２２】
プロセッサ３０１および専用のハードウェアは、いずれも処理回路である。すなわち、送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３の機能がソフトウェアにより実現されるか、ハードウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、送信部３１０、第１受信部３１１、第２受信部３１２および実行部３１３の動作は、処理回路により行われる。
【符号の説明】
【０１２３】
１００  ログ管理システム、２００  管理装置、２０１  プロセッサ、２０２  メモリ、２０３  通信デバイス、２１０  受信部、２１１  第１送信部、２１２  第２送信部、２２０  関連イベント設定ファイル、２２１  カウント番号、２２２  リセット番号、３００  サーバ装置、３０１  プロセッサ、３０２  メモリ、３０３  通信デバイス、３１０  送信部、３１１  第１受信部、３１２  第２受信部、３１３  実行部、３２０  ログファイル、４００  要求データ、４０１  第１応答データ、４０２  第２応答データ、４０３  呼出しデータ。
【図１】
2019168918.tif 000003
【図２】
2019168918.tif 000004
【図３】
2019168918.tif 000005
【図４】
2019168918.tif 000006
【図５】
2019168918.tif 000007
【図６】
2019168918.tif 000008
【図７】
2019168918.tif 000009