(57)【要約】【課題】パケットの追い越しや消失等のイベントが発生しても、統合したログ情報の記録の精度を向上させることを可能にした情報処理システムを提供する。【解決手段】タイムスタンプ、外部からの要求に関連するパラメータおよび第１の項目の情報を含む複数の第１のログ情報を出力する第１の情報処理装置と、第１の情報処理装置から転送された要求に対して、タイムスタンプ、パラメータおよび第２の項目の情報を含む複数の第２のログ情報を出力する第２の情報処理装置と、複数の第１のログ情報および複数の第２のログ情報に対して、タイムスタンプを参照して時系列に第１および第２のログ情報のペアを生成し、パラメータの値が一致しないペアがあると、予め決められた整合性ルールにしたがってそのペアに含まれる第１または第２の項目の情報を変更し、ペア毎に第１および第２の項目の情報を抽出して解析用ログ情報を生成するログ統合装置とを有する。【選択図】図１
2013257619.tif 000002
【特許請求の範囲】
【請求項１】
外部からの要求に対する処理の記録として、タイムスタンプ、該要求に関連するパラメータおよび第１の項目の情報を含む複数の第１のログ情報を生成して出力する第１の情報処理装置と、
前記第１の情報処理装置から転送された要求に対する処理の記録として、タイムスタンプ、前記パラメータ、および前記第１の項目とは異なる第２の項目の情報を含む複数の第２のログ情報を生成して出力する第２の情報処理装置と、
前記第１および第２の情報処理装置から受信する前記複数の第１のログ情報および前記複数の第２のログ情報に対して、前記タイムスタンプを参照して時系列に前記第１および第２のログ情報のペアを生成し、前記パラメータの値が一致しないペアがあると、予め決められた整合性ルールにしたがって該ペアに含まれる前記第１または第２の項目の情報を変更する整合性判定部と、該整合性判定部から受け取るペア毎に前記第１および第２の項目の情報を抽出して解析用ログ情報を生成する整形部とを含むログ統合装置と、
を有する情報処理システム。
【請求項２】
請求項１記載の情報処理システムにおいて、
前記整合性ルールは、前記パラメータの値が一致しないペアである基準ペアと、該基準ペアの前記タイムスタンプを基準に所定の時間内のタイムスタンプを含む他のペアについて、同じペアの前記第１および第２のログ情報の前記パラメータの値が一致するように、前記基準ペアの前記第１または第２のログ情報を前記他のペアと入れ替えるものである、情報処理システム。
【請求項３】
請求項１記載の情報処理システムにおいて、
前記整合性ルールは、前記パラメータの値が一致しないペアである基準ペアに対して、該基準ペアの前記タイムスタンプを基準にした所定の時間内のタイムスタンプを含み、かつ、該基準ペアとは異なる他のペアがあると、前記基準ペアの前記第１のログ情報に記録された前記第１の項目の情報を、前記他のペアの前記第１のログ情報から読み出した前記第１の項目の情報に書き換えるものである、情報処理システム。
【請求項４】
第１および第２の情報処理装置と接続されるログ統合装置であって、
外部からの要求に対する処理の記録として、タイムスタンプ、該要求に関連するパラメータおよび第１の項目の情報を含む複数の第１のログ情報を前記第１の情報処理装置から受信し、該第１の情報処理装置から転送された要求に対する処理の記録として、タイムスタンプ、前記パラメータ、および前記第１の項目とは異なる第２の項目の情報を含む複数の第２のログ情報を前記第２の情報処理装置から受信すると、前記タイムスタンプを参照して時系列に前記第１および第２のログ情報のペアを生成し、前記パラメータの値が一致しないペアがあると、予め決められた整合性ルールにしたがって該ペアに含まれる前記第１または第２の項目の情報を変更する整合性判定部と、
前記整合性判定部から受け取るペア毎に前記第１および第２の項目の情報を抽出して解析用ログ情報を生成する整形部と、
を有するログ統合装置。
【請求項５】
第１および第２の情報処理装置と接続されるログ統合装置によるログ生成方法であって、
外部からの要求に対する処理の記録として、タイムスタンプ、該要求に関連するパラメータおよび第１の項目の情報を含む複数の第１のログ情報を前記第１の情報処理装置から受信し、該第１の情報処理装置から転送された要求に対する処理の記録として、タイムスタンプ、前記パラメータ、および前記第１の項目とは異なる第２の項目の情報を含む複数の第２のログ情報を前記第２の情報処理装置から受信すると、前記タイムスタンプを参照して時系列に前記第１および第２のログ情報のペアを生成し、
生成した複数のペアのうち、前記パラメータの値が一致しないペアがあると、予め決められた整合性ルールにしたがって該ペアに含まれる前記第１または第２の項目の情報を変更し、
前記ペア毎に前記第１および第２の項目の情報を抽出して解析用ログ情報を生成する、ログ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置から出力されるログ情報を統合する情報処理システム、ログ統合装置およびログ生成方法に関する。
【背景技術】
【０００２】
複数の情報処理装置から出力される複数のログに対して、アクセス時刻を示すタイムスタンプを参照にして時系列順にログ同士を対応させ、複数の情報処理装置のログを統合して解析を行う技術が知られている。
【０００３】
ウェブサーバ、アプリケーションサーバおよびデータベースサーバを含むＷｅｂ３層システムにおいて、これらのサーバが生成するログのタイムスタンプを補正する方法が特許文献１に開示されている。
【０００４】
特許文献１には、ウェブサーバおよびデータベースサーバ間の処理に注目し、ウェブサーバはクライアントからデータ要求があると、受信ログを生成し、その後、データベースサーバにデータを要求し、データベースサーバは、その要求に対してウェブサーバに返答した後にクエリログを生成することが記載されている。この場合、受信ログのタイムスタンプよりもクエリログのタイムスタンプが後になるという順序関係が成立する。特許文献１に開示された方法では、これらのログの順序が時系列になるという整合性ルールにしたがって、タイムスタンプを補正している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２６９０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ウェブサーバからデータベースサーバに送信されたパケットに追い越しや消失などのイベントが発生した場合、クエリログの並びが時系列ではなくなる。この間違った並びに対して、特許文献１に開示された方法では、上述の順序関係に基づいてタイムスタンプを補正しているだけなので、追い越されたパケットのタイムスタンプを追い越したパケットよりも先にするような補正は行われない。
【０００７】
そのため、内容が対応していない受信ログとクエリログが時系列に並べられたままとなり、その結果、間違ったログ同士を結び付けてしまうことになる。特許文献１に開示された方法では、パケットの追い越しや消失等のイベントが発生した場合に、ログの整合性が取れないという課題があった。
【０００８】
本発明は上述したような技術が有する問題点を解決するためになされたものであり、パケットの追い越しや消失等のイベントが発生しても、統合したログ情報の記録の精度を向上させることを可能にした情報処理システム、ログ統合装置およびログ生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための本発明の情報処理システムは、
外部からの要求に対する処理の記録として、タイムスタンプ、該要求に関連するパラメータおよび第１の項目の情報を含む複数の第１のログ情報を生成して出力する第１の情報処理装置と、
前記第１の情報処理装置から転送された要求に対する処理の記録として、タイムスタンプ、前記パラメータ、および前記第１の項目とは異なる第２の項目の情報を含む複数の第２のログ情報を生成して出力する第２の情報処理装置と、
前記第１および第２の情報処理装置から受信する前記複数の第１のログ情報および前記複数の第２のログ情報に対して、前記タイムスタンプを参照して時系列に前記第１および第２のログ情報のペアを生成し、前記パラメータの値が一致しないペアがあると、予め決められた整合性ルールにしたがって該ペアに含まれる前記第１または第２の項目の情報を変更する整合性判定部と、該整合性判定部から受け取るペア毎に前記第１および第２の項目の情報を抽出して解析用ログ情報を生成する整形部とを含むログ統合装置と、
を有する構成である。
【００１０】
また、本発明のログ統合装置は、第１および第２の情報処理装置と接続されるログ統合装置であって、
外部からの要求に対する処理の記録として、タイムスタンプ、該要求に関連するパラメータおよび第１の項目の情報を含む複数の第１のログ情報を前記第１の情報処理装置から受信し、該第１の情報処理装置から転送された要求に対する処理の記録として、タイムスタンプ、前記パラメータ、および前記第１の項目とは異なる第２の項目の情報を含む複数の第２のログ情報を前記第２の情報処理装置から受信すると、前記タイムスタンプを参照して時系列に前記第１および第２のログ情報のペアを生成し、前記パラメータの値が一致しないペアがあると、予め決められた整合性ルールにしたがって該ペアに含まれる前記第１または第２の項目の情報を変更する整合性判定部と、
前記整合性判定部から受け取るペア毎に前記第１および第２の項目の情報を抽出して解析用ログ情報を生成する整形部と、
を有する構成である。
【００１１】
さらに、本発明のログ生成方法は、第１および第２の情報処理装置と接続されるログ統合装置によるログ生成方法であって、
外部からの要求に対する処理の記録として、タイムスタンプ、該要求に関連するパラメータおよび第１の項目の情報を含む複数の第１のログ情報を前記第１の情報処理装置から受信し、該第１の情報処理装置から転送された要求に対する処理の記録として、タイムスタンプ、前記パラメータ、および前記第１の項目とは異なる第２の項目の情報を含む複数の第２のログ情報を前記第２の情報処理装置から受信すると、前記タイムスタンプを参照して時系列に前記第１および第２のログ情報のペアを生成し、
生成した複数のペアのうち、前記パラメータの値が一致しないペアがあると、予め決められた整合性ルールにしたがって該ペアに含まれる前記第１または第２の項目の情報を変更し、
前記ペア毎に前記第１および第２の項目の情報を抽出して解析用ログ情報を生成するものである。
【発明の効果】
【００１２】
本発明によれば、複数の情報処理装置間の通信でパケットの追い越しや消失等のイベントが発生しても、統合したログ情報の記録の精度を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態の情報処理システムの一構成例を示すブロック図である。
【図２】図１に示したリバースプロキシサーバの一構成例を示すブロック図である。
【図３】図１に示したウェブサーバの一構成例を示すブロック図である。
【図４】図２に示したリバースプロキシサーバのログ情報を説明するための図である。
【図５】図３に示したウェブサーバのログ情報を説明するための図である。
【図６】第１の実施形態におけるログ統合装置の一構成例を示すブロック図である。
【図７】第１の実施形態における整合性ルールにしたがってログ情報を統合する場合の動作手順を示すフローチャートである。
【図８】ログ情報の整列順序が合致しない状態を模式的に示す図である。
【図９】図７に示したフローチャートの手順による処理の具体例を説明するための図である。
【図１０】第２の実施形態におけるログ統合装置の一構成例を示すブロック図である。
【図１１】第２の実施形態における整合性ルールにしたがってログ情報を統合する場合の動作手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
（第１の実施形態）
本実施形態の情報処理システムの構成を説明する。図１は本実施形態の情報処理システムの一構成例を示すブロック図である。
【００１５】
本実施形態の情報処理システムは、ウェブサーバ４０と、リバースプロキシサーバ３０と、ログ統合装置１０とを有する。ウェブサーバ４０は、リバースプロキシサーバ３０を介してネットワーク６０と接続される。ログ統合装置１０は、リバースプロキシサーバ３０およびウェブサーバ４０と接続される。本実施形態では、ネットワーク６０はインターネットであるものとする。
【００１６】
ユーザが使用する情報端末としてクライアント５０ａ〜５０ｃがネットワーク６０に接続される。クライアント５０ａのユーザは、クライアント５０ａを操作して、クライアント５０ａをネットワーク６０を介してリバースプロキシサーバ３０に接続させ、ウェブサーバ４０に格納されているウェブページをリバースプロキシサーバ３０を介して取得する。
【００１７】
本実施形態では、クライアントの台数が３台の場合で説明するが、その台数は複数であればよく、３台の場合に限らない。クライアント５０ａ〜５０ｃのネットワーク６０上のＩＰ（Internet Protocol）アドレスを、クライアントＩＰアドレスと称する。
【００１８】
リバースプロキシサーバ３０およびウェブサーバ４０は通信可能に接続されるが、ＬＡＮ（Local Area Network）等のネットワークを介して接続されてもよい。リバースプロキシサーバ３０は、複数のウェブサーバ４０の代行サーバとして役割を果たしてもよいが、本実施形態では、ウェブサーバ４０が１台の場合で説明する。
【００１９】
また、図１に示す各装置は、他の装置とデータを送受信する際、通信プロトコルとしてＴＣＰ（Transmission Control Protocol）／ＩＰにしたがって行い、データをパケットで送受信するが、以下では、その詳細な説明を省略する。ウェブサーバ４０およびリバースプロキシサーバ３０は、ＮＴＰ（Network Time Protocol）サーバ（不図示）により、時刻の同期がとれているものとする。
【００２０】
本実施形態の情報処理システムの各構成について説明する。はじめにリバースプロキシサーバ３０について説明する。
【００２１】
リバースプロキシサーバ３０は、ある特定のウェブサーバの代わりにクライアントからのアクセスを受け付ける代行サーバの一種であり、ウェブサイトを運営する側のネットワークに設置される。一般的なプロキシサーバはクライアント側に置かれ、クライアントがウェブサーバにアクセスする際のデータの送受信を中継する役割を果たす。
【００２２】
これに対して、リバースプロキシサーバ３０は、図１を参照してクライアント５０ａ〜５０ｃからウェブサーバ４０への通信ルートを考えたとき、図１に示すように、ウェブサーバ４０の手前に配置されている。リバースプロキシサーバ３０は、このような配置により、クライアント５０ａ〜５０ｃからウェブサーバ４０への要求を受け取ると、その要求を背後のウェブサーバ４０に渡す役割を果たす。
【００２３】
代行されている側のウェブサーバ４０にアクセスしようとするクライアント５０ａ〜５０ｃは、必ずリバースプロキシサーバ３０を介して行うことになる。そのため、ウェブサーバ４０は、クライアント５０ａ〜５０ｃから直接にアクセスを受けることがなくなり、負担が軽減される。また、リバースプロキシサーバには、認証機能やアクセス制御機能を備えているものがあり、この場合、ウェブサーバ４０では、セキュリティが向上する効果が得られる。
【００２４】
図２はリバースプロキシサーバの一構成例を示すブロック図である。
【００２５】
図２に示すように、リバースプロキシサーバ３０は、記憶部３３と、制御部３５とを有する。制御部３５は、プログラムにしたがって処理を実行するＣＰＵ（Central Processing Unit）（不図示）と、プログラムを記憶するメモリ（不図示）とを有する。
【００２６】
制御部３５は、アクセス先を示すＵＲＬ（Uniform Resource Locator）であるアクセス先ＵＲＬの情報を含む要求信号をクライアントからネットワーク６０を介して受け取ると、その要求信号をウェブサーバ４０に転送する。また、制御部３５は、アクセス先ＵＲＬのウェブページのデータをウェブサーバ４０から受け取ると、そのデータを要求元のクライアントに返信する。その際、制御部３５は、クライアントからの要求に対する処理の記録としてログ情報を生成してログ統合装置１０に送信する。このログ情報が第１のログ情報に相当する。
【００２７】
図３はウェブサーバの一構成例を示すブロック図である。
【００２８】
図３に示すように、ウェブサーバ４０は、記憶部４３と、制御部４５とを有する。制御部４５は、プログラムにしたがって処理を実行するＣＰＵ（不図示）と、プログラムを記憶するメモリ（不図示）とを有する。
【００２９】
記憶部４３には、クライアントに提供するウェブページのデータが格納されている。
【００３０】
制御部４５は、アクセス先ＵＲＬを含む要求信号をリバースプロキシサーバ３０から受け取ると、アクセス先ＵＲＬのウェブページのデータを記憶部４３から読み出してリバースプロキシサーバ３０に返信する。その際、制御部４５は、リバースプロキシサーバ３０から転送された、クライアントの要求に対する処理の記録として、ログ情報を生成してログ統合装置１０に送信する。このログ情報が第２のログ情報に相当する。
【００３１】
ここで、リバースプロキシサーバ３０およびウェブサーバ４０が生成するログ情報について説明する。図４はリバースプロキシサーバのログ情報を説明するための図であり、図５はウェブサーバのログ情報を説明するための図である。
【００３２】
リバースプロキシサーバ３０のログ情報には、図４（ａ）に示すフォーマットで、各項目の値が順に記述されている。各項目の説明を図４（ｂ）に示し、ログ情報のサンプルデータを図４（ｃ）に示す。
【００３３】
図４（ｃ）に示すサンプルデータは、図４（ｂ）を参照すると、２０１０年１１月１５日の１０時０６分ｘｘ秒に、クライアントＩＰアドレス「１２９．ｘｘ．ｘｘｘ．ｘｘ」のクライアントからデータサイズ「５０２」バイトの情報を受け付け、そのクライアントへデータサイズ「３７６９」バイトのデータを返信したことを示す。内部サーバＩＰアドレス「１２９．６０．ｘｘ．ｘｘ」はウェブサーバ４０を意味する。
【００３４】
ウェブサーバ４０のログ情報には、図５（ａ）に示すフォーマットで、各項目の値が順に記述されている。ログ情報のサンプルデータを図５（ｂ）に示す。
【００３５】
図５（ｂ）に示すサンプルデータは、図５（ａ）を参照すると、２０１０年１１月１５日の１０時０６分ｘｘ秒に、データサイズ「２４２１６」バイトのＵＲＬ「１２９．ｘｘ．ｘｘｘ．ｘｘ」のウェブページのデータの要求を、ＩＰアドレス「１２９．６０．ｘｘ．ｘｘｘ」のリバースプロキシサーバから受け付けたことを示す。
【００３６】
なお、図５（ｂ）に示すサンプルデータには記述されていないが、リバースプロキシサーバ３０とウェブサーバ４０とのデータのやり取りでセッションＩＤが付与されると、セッションＩＤもログ情報として記録される。
【００３７】
以下では、リバースプロキシサーバ３０のログ情報については、図４を参照して説明した項目のうち、タイムスタンプに相当するアクセス時刻と、クライアントＩＰアドレスと、データサイズに注目する。ここでのデータサイズは、リバースプロキシサーバ３０からクライアントに送信したデータのサイズを意味する。また、ウェブサーバ４０のログ情報については、図５を参照して説明した項目のうち、タイムスタンプに相当するアクセス時刻と、アクセス先ＵＲＬと、データサイズに注目する。本実施形態では、データサイズが、タイムスタンプのズレを検出するための手がかりとなるパラメータとしての役目を果たす。
【００３８】
次に、ログ統合装置１０の構成を説明する。図６は本実施形態におけるログ統合装置の一構成例を示すブロック図である。
【００３９】
図６に示すように、ログ統合装置１０は、記憶部１３と、制御部１５とを有する。
【００４０】
記憶部１３には、タイムスタンプのズレ、パケットの追い越しおよびパケットの消失に対してログ情報を整列するための整合性ルールが予め格納されている。記憶部１３に、ウェブサーバ４０から出力されるログ情報と、リバースプロキシサーバ３０から出力されるログ情報が保存される。
【００４１】
制御部１５は、整合性判定部２１と、整形部２２とを有する。また、制御部１５には、プログラムにしたがって処理を実行するＣＰＵ（不図示）と、プログラムを記憶するメモリ（不図示）とが設けられており、ＣＰＵがプログラムを実行することで、整合性判定部２１および整形部２２が仮想的にログ統合装置１０に構成される。
【００４２】
整合性判定部２１は、リバースプロキシサーバ３０から受信するログ情報を、タイムスタンプが示す時刻の順に並べたリストにして記憶部１３に格納する。これと同様に、整合性判定部２１は、ウェブサーバ４０から受信するログ情報を、タイムスタンプが示す時刻の順に並べたリストにして記憶部１３に格納する。以下では、これらのリストを、ログ情報リストと称する。
【００４３】
図６に、各サーバから受信するログ情報が記憶部１３に格納される様子を模式的に示している。図６において、「クライアントＡ〜Ｃ」のそれぞれはクライアント５０ａ〜５０ｃのそれぞれのＩＰアドレスに相当し、「アクセス先ＵＲＬ１〜３」はＵＲＬがそれぞれ異なることを意味する。
【００４４】
整合性判定部２１は、リバースプロキシサーバ３０から受信するログ情報とウェブサーバ４０から受信するログ情報に対して、タイムスタンプを参照して時系列にログ情報のペアを生成する。また、整合性判定部２１は、生成した複数のペアのうち、データサイズが一致しないペアがあると、整合性ルールにしたがって、複数のログ情報を整列し直す。そして、整合性判定部２１は、整列処理を行った後のログ情報のリストである整列後ログ情報リストを整形部２２に渡す。
【００４５】
整合性ルールは、データサイズが一致しないペアを基準ペアとすると、基準ペアに含まれるタイムスタンプを基準に所定の時間内のタイムスタンプを含む他のペアを抽出し、同じペア内の２つのログ情報のデータサイズが一致するように、基準ペアのリバースプロキシサーバ３０のログ情報またはウェブサーバ４０のログ情報を上記の他のペアと入れ替えるものである。この整合性ルールを、第１の整合性ルールと称する。
【００４６】
整形部２２は、整列後ログ情報リストを整合性判定部２１から受け取ると、ペアのログ情報毎に、リバースプロキシサーバ３０のログ情報からクライアントＩＰアドレスを読み出し、ウェブサーバ４０のログ情報からアクセス先ＵＲＬを読み出す。そして、整形部２２は、クライアントＩＰアドレスおよびアクセス先ＵＲＬを組にしたものをリストにした解析用ログ情報リストを生成し、解析用ログ情報リストを出力する。
【００４７】
次に、ログ統合装置１０の動作を説明する。
【００４８】
図７は本実施形態における整合性ルールにしたがってログ情報を統合する場合の動作手順を示すフローチャートである。説明のために、リバースプロキシサーバ３０が出力するログ情報を「ログ情報Ｘ」とし、ウェブサーバ４０が出力するログ情報を「ログ情報Ｙ」とする。図８はログ情報の整列順序が合致しない状態を模式的に示す図である。
【００４９】
整合性判定部２１は、リバースプロキシサーバ３０から受信するログ情報Ｘとウェブサーバ４０から受信するログ情報Ｙのそれぞれをタイムスタンプが示す時刻に沿って比較する（ステップ１０１）。そして、整合性判定部２１は、対象となるログ情報Ｘ、Ｙのパラメータ同士を比較し、比較するログ情報の整列順序が合致するか否かを判定する（ステップ１０２）。ここでは、パラメータとしてデータサイズを用いるものとする。
【００５０】
ステップ１０２で、データサイズが合致しないログ情報の組があると、整合性判定部２１は、その組のログ情報Ｙのタイムスタンプが示す時刻から（微小時間Δｔ＋ｔ）の範囲を探索範囲に決定する（ステップ１０３）。図８に、探索範囲を破線で区切った様子を示す。
【００５１】
ステップ１０３で決定された探索範囲で、整合性判定部２１は、データサイズが一致するログ情報同士をペアにする（ステップ１０４）。リバースプロキシサーバ３０側のログ情報リストに、ペアにならないログ情報Ｘがあると（ステップ１０５）、整合性判定部２１は、「パケットの消失」があったと判定し、そのログ情報Ｘを廃棄する（ステップ１０６）。
【００５２】
一方、整合性判定部２１は、ステップ１０４でペアにしたログ情報Ｘ、Ｙを、リバースプロキシサーバ３０のログ情報Ｘにおけるタイムスタンプを基準にして整列し直す（ステップ１０７）。その後、整合性判定部２１は、整列後ログ情報リストを整形部２２に渡す。整形部２２は、整合性判定部２１から整列後ログ情報リストを受け取ると、ペアになったログ情報同士を統合し（ステップ１０８）、解析用ログ情報リストを生成する。
【００５３】
なお、図７に示すフローチャートでは、ログ情報同士の整列順序が合致しない場合の処理を説明するために、ステップ１０８の後で処理を終了させているが、整合性判定部２１は、リバースプロキシサーバ３０およびウェブサーバ４０から順次、受信するログ情報に対して、ステップ１０１〜１０７の処理を繰り返す。
【００５４】
次に、図７に示したフローチャートの手順による処理の具体例を説明する。微小時間Δｔ＝１秒とし、ｔ＝２秒とする。
【００５５】
図９（ａ）はパケットの追い越しがある場合の具体例を示す図であり、図９（ｂ）はパケットが消失した場合の具体例を示す図である。図９に示すログ情報において、Ｃ−ＩＰ−Ａ〜Ｃはクライアント５０ａ〜５０ｃのＩＰアドレスに相当し、ＵＲＬ１〜７はアクセス先ＵＲＬに相当する。また、「・・・１０：０６：ｘｘ」は、タイムスタンプであり、ある日にちの午前１０時０６分ｘｘ秒を意味する。１００、２００、１５０等の値はデータサイズに相当する。
【００５６】
はじめに、パケットの追い越しがある場合を、図９（ａ）を参照して説明する。
【００５７】
図９（ａ）に示すように、リバースプロキシサーバ３０のログ情報リストとウェブサーバ４０のログ情報リストとを比較すると、データサイズ「１５０バイト」に関するログ情報とデータサイズ「１２０バイト」に関するログ情報の順番が逆になっている。このまま、タイムスタンプが示す時刻に沿って、ログ情報同士をペアにしてログ情報を統合すると、クライアント５０ａがＵＲＬ−４にアクセスし、クライアント５０ｂがＵＲＬ−３にアクセスしたことが記録されてしまうことになる。
【００５８】
本実施形態では、図９（ａ）に示すリストの場合、整合性判定部２１は、図７に示すステップ１０３において、ウェブサーバ４０のログ情報リストにおけるタイムスタンプ「１０：０６：３４」の時刻を基準にして、（１＋２）秒後の範囲までを探索範囲に決定する。図９（ａ）では、探索範囲の両端を破線で区切っている。続いて、整合性判定部２１は、リバースプロキシサーバ３０のログ情報リストの探索範囲で、データサイズ「１２０バイト」のログ情報Ｘを探す。そして、整合性判定部２１は、探索範囲の４つのログ情報Ｘのうち、データサイズ「１２０バイト」のログ情報Ｘを見つけると、同じデータサイズ「１２０バイト」のログ情報Ｘとログ情報Ｙをペアにする。
【００５９】
続いて、整合性判定部２１は、ウェブサーバ４０のログ情報リストにおけるタイムスタンプ「１０：０６：３５」のログ情報Ｙについても、タイムスタンプ「１０：０６：３４」のログ情報Ｙと同様に行うことで、同じデータサイズ「１５０バイト」のログ情報Ｘとログ情報Ｙをペアにする。
【００６０】
そして、整列し直した後のログ情報をペアにしたものを整形部２２が統合すると、クライアント５０ａがＵＲＬ−３にアクセスし、クライアント５０ｂがＵＲＬ−４にアクセスしたことが解析用ログ情報リストに記録される。
【００６１】
なお、ペアの組み直し方法は、リバースプロキシサーバ３０のログ情報のタイムスタンプを基準にしてウェブサーバ４０側のログ情報の順番を入れ替えてもよく、その逆であってもよい。
【００６２】
次に、パケットが消失した場合を、図９（ｂ）を参照して説明する。
【００６３】
図９（ｂ）に示すように、リバースプロキシサーバ３０のログ情報リストとウェブサーバ４０のログ情報リストとを比較すると、データサイズ「５０バイト」に関するログ情報Ｘに、データサイズ「１５０バイト」に関するログ情報Ｙが対応している。このまま、タイムスタンプが示す時刻に沿って、ログ情報同士をペアにしてログ情報を統合すると、クライアント５０ａがＵＲＬ−４にアクセスしたことが記録されてしまうことになる。
【００６４】
本実施形態では、図９（ｂ）に示すリストの場合、整合性判定部２１は、図７に示すステップ１０３において、ウェブサーバ４０のログ情報リストにおけるタイムスタンプ「１０：０６：３４」の時刻を基準にして、（１＋２）秒後の範囲までを探索範囲に決定する。図９（ｂ）では、探索範囲の両端を破線で区切っている。
【００６５】
続いて、整合性判定部２１は、ウェブサーバ４０のログ情報リストの探索範囲で、データサイズ「５０バイト」のログ情報Ｙを探す。そして、整合性判定部２１は、探索範囲の４つのログ情報Ｙの中に、データサイズ「５０バイト」のログ情報を見つけることができないと、データサイズ「５０バイト」のログ情報Ｘに関するパケットがウェブサーバ４０に到達せずに消失したと判定し、データサイズ「５０バイト」のログ情報Ｘを廃棄する（ステップ１０６）。
【００６６】
整列し直した後のログ情報をペアにしたものを整形部２２が統合すると、クライアント５０ｂがＵＲＬ−４にアクセスしたことが解析用ログ情報リストに記録され、それ以降のログ情報のペアのズレも解消する。
【００６７】
なお、図９（ｂ）に示す例では、タイムスタンプ「１０：０６：３７」のログ情報Ｙとペアになるログ情報Ｘが存在しないように見えるが、整合性判定部２１がデータサイズ「５０バイト」のログ情報Ｘをログ情報リストから廃棄すると、次のログ情報Ｘ（不図示）が探索範囲に含まれるようになり、データサイズ「９０バイト」のログ情報Ｘ、Ｙのペアが成立する。
【００６８】
本実施形態によれば、リバースプロキシサーバおよびウェブサーバ間の通信でパケットの追い越しや消失等のイベントが発生しても、パラメータが一致するようにログ情報が並び替えられ、リバースプロキシサーバのログ情報とウェブサーバのログ情報が正しく組み合わせられる。そのため、解析用ログ情報リストの記録の精度を向上させることが可能となる。
【００６９】
なお、本実施形態では、タイムスタンプのズレを検出するためのパラメータにデータサイズを用いる場合で説明したが、パラメータとしてデータサイズおよびセッションＩＤを用いてもよい。
【００７０】
（第２の実施形態）
本実施形態は、第１の整合性ルールとは異なる第２の整合性ルールを用いた場合である。
【００７１】
第１および第２の整合性ルールは、パケットの追い越しがあっても所定の時間内に、追い越されたパケットが到着するという条件に基づいている点が共通しているが、第１の整合性ルールが時系列に並ぶログ情報を整列し直すのに対し、第２の整合性ルールは、時系列に並ぶログ情報の順序を維持したまま、ログ情報の一部の項目を書き改めるものである。
【００７２】
本実施形態の情報処理システムは図１を参照して説明したシステムと同様な構成であり、本実施形態では、第１の実施形態で説明した装置と同様な構成についての詳細な説明を省略し、第１の実施形態と異なる構成について詳細に説明する。
【００７３】
本実施形態におけるログ統合装置の構成を説明する。
【００７４】
図１０は本実施形態におけるログ統合装置の一構成例を示すブロック図である。
【００７５】
本実施形態における整合性ルールは、データサイズが一致しない基準ペアに対して、基準ペアに含まれるタイムスタンプを基準にした所定の時間内のタイムスタンプを含み、かつ、基準ペアとは異なる他のペアがあると、基準ペアのリバースプロキシサーバ３０のログ情報に記録されたクライアントＩＰアドレスの情報を、他のペアのリバースプロキシサーバ３０のログ情報に記録されたクライアントＩＰアドレスに書き換えるものである。所定の時間の上限値として、パケットの消失か否かの判定基準となる時間Ｔが、制御部１５に格納されたプログラムに予め登録されている。
【００７６】
整合性判定部２１は、リバースプロキシサーバ３０から受信するログ情報とウェブサーバ４０から受信するログ情報とから、タイムスタンプを参照して時系列にログ情報のペアを生成し、生成した複数のペアのうち、データサイズが一致しない基準ペアがあると、整合性ルールにしたがって、基準ペアに含まれるクライアントＩＰアドレスを書き改める。
【００７７】
次に、本実施形態のログ統合装置１０の動作を説明する。
【００７８】
図１１は、本実施形態における整合性ルールにしたがってログ情報を統合する場合の動作手順を示すフローチャートである。ここでも、リバースプロキシサーバ３０が出力するログ情報を「ログ情報Ｘ」とし、ウェブサーバ４０が出力するログ情報を「ログ情報Ｙ」とする。
【００７９】
整合性判定部２１は、リバースプロキシサーバ３０から受信するログ情報Ｘとウェブサーバ４０から受信するログ情報Ｙのそれぞれをタイムスタンプが示す時刻に沿って比較する（ステップ２０１）。そして、整合性判定部２１は、比較対象のログ情報Ｘ、Ｙのパラメータ同士を比較し、これらのログ情報の整列順序が合致するか否かを判定する（ステップ２０２）。本実施形態でも、パラメータとしてデータサイズを用いるものとする。
【００８０】
ステップ２０２で、データサイズが合致しないログ情報の組（ログ情報Ｘ１およびログ情報Ｙ１とする）があると、整合性判定部２１は、ログ情報Ｙ１のタイムスタンプが示す時刻から「±ｔ」の範囲を探索範囲に決定する（ステップ２０３）。ｔは、例えば、１秒である。
【００８１】
ステップ２０３で決定された探索範囲で、整合性判定部２１は、ログ情報Ｘ１とは異なるログ情報Ｘがあるか否かを調べる（ステップ２０４）。これは、パケットの追い越しがあった場合、ログ情報Ｙ１とパラメータの値が一致しないログ情報Ｘ１の前後に、パラメータの値が一致するログ情報Ｘが存在する可能性が高いからである。
【００８２】
ステップ２０４の判定で、他のログ情報Ｘが１以上あると、整合性判定部２１は、ログ情報ＸからクライアントＩＰアドレスを置換候補のＩＰアドレスとして読み出す。候補となるクライアントＩＰアドレスが１つしかない場合（ステップ２０５）、整合性判定部２１は、ログ情報Ｘ１に記録されたクライアントＩＰアドレスを、候補のクライアントＩＰアドレスに書き換える（ステップ２０６）。
【００８３】
一方、ステップ２０５の判定で、候補となるクライアントＩＰアドレスが複数ある場合、整合性判定部２１は、それらのクライアントＩＰアドレスを候補リストとして記憶部１３に格納する（ステップ２０７）。なお、整合性判定部２１は、ステップ２０４においてログ情報Ｘが複数あって、クライアントＩＰアドレスも複数種ある場合、ステップ２０７の処理に進むが、ログ情報Ｘが複数であってもクライアントＩＰアドレスが１種類しかない場合、ステップ２０６の処理に進む。
【００８４】
ステップ２０７の後、整合性判定部２１は、ステップ２０４で抽出した他のログ情報Ｘのうち、ログ情報Ｙ１のタイムスタンプの時刻に最も近い時刻のタイムスタンプのログ情報Ｘを特定し、そのログ情報Ｘに記録されたクライアントＩＰアドレスを候補リストから読み出して候補ＩＰアドレスに設定する。そして、整合性判定部２１は、ログ情報Ｘ１に記録されたクライアントＩＰアドレスを、候補ＩＰアドレスに書き換える（ステップ２０８）。
【００８５】
ログ情報Ｘ１のクライアントＩＰアドレスを置換した後、整合性判定部２１は、整列後ログ情報リストを整形部２２に渡す。整形部２２は、整合性判定部２１から整列後ログ情報リストを受け取ると、時系列に並んだログ情報同士を統合し（ステップ２０９）、解析用ログ情報リストを生成する。
【００８６】
ステップ２０４の処理で他のログ情報Ｘがない場合、整合性判定部２１は、所定の時間（例えば、±１秒）で探索範囲を拡大し（ステップ２１０）、再度、ステップ２０４の処理を実行する。探索範囲の時間がＴ（例えば、１０秒）未満で他のログ情報Ｘが見つからない場合（ステップ２１１）、整合性判定部２１は、「パケットの消失」があったと判定し、そのログ情報Ｘ１を廃棄する（ステップ２１２）。
【００８７】
なお、図１１に示すフローチャートでは、ログ情報同士の整列順序が合致しない場合の処理を説明するために、ステップ２０９の後で処理を終了させているが、整合性判定部２１は、リバースプロキシサーバ３０およびウェブサーバ４０から順次、受信するログ情報に対して、ステップ２０１〜２０８の処理を繰り返す。
【００８８】
次に、図１１に示したフローチャートの手順による処理の具体例を、図９（ａ）を参照して説明する。ｔ＝１秒とする。
【００８９】
本実施形態では、図９（ａ）に示すリストの場合、整合性判定部２１は、図１１に示すステップ２０３において、ウェブサーバ４０のログ情報リストにおけるタイムスタンプ「１０：０６：３４」の時刻を基準にして、±１秒の範囲までを探索範囲に決定する。探索範囲に含まれる３つのログ情報Ｘのうち、タイムスタンプ「１０：０６：３３」のログ情報Ｘはタイムスタンプ「１０：０６：３４」のログ情報Ｙと同じ組なので対象から外される。その結果、整合性判定部２１は、タイムスタンプ「１０：０６：３４」のログ情報Ｘとタイムスタンプ「１０：０６：３５」のログ情報ＸからクライアントＩＰアドレスを読み出す。
【００９０】
クライアントＩＰアドレスは「Ｃ−ＩＰ−Ａ」と「Ｃ−ＩＰ−Ｂ」の２種類になるので、整合性判定部２１は、図１１に示すステップ２０７の処理に進み、これらのＩＰアドレスを候補リストとして記憶部１３に格納する。続いて、整合性判定部２１は、ステップ２０８で、候補ＩＰアドレスを「Ｃ−ＩＰ−Ｂ」に決定し、タイムスタンプ「１０：０６：３３」のログ情報Ｘの「Ｃ−ＩＰ−Ａ」を「Ｃ−ＩＰ−Ｂ」に書き換える。
【００９１】
続いて、整合性判定部２１は、次の組のログ情報Ｘ、Ｙについても、図１１に示す手順で処理を行う。次の組は、タイムスタンプ「１０：０６：３４」のログ情報Ｘとタイムスタンプ「１０：０６：３５」のログ情報Ｙである。ステップ２０４で、整合性判定部２１は、タイムスタンプ「１０：０６：３５」のログ情報Ｘとタイムスタンプ「１０：０６：３６」のログ情報Ｘの２つのログ情報Ｘを抽出する。
【００９２】
ステップ２０７で、整合性判定部２１は、候補リストとして、「Ｃ−ＩＰ−Ａ」と「Ｃ−ＩＰ−Ｃ」を記憶部１３に格納する。そして、ステップ２０８で、候補ＩＰアドレスを「Ｃ−ＩＰ−Ａ」に決定し、タイムスタンプ「１０：０６：３４」のログ情報Ｘの「Ｃ−ＩＰ−Ｂ」を「Ｃ−ＩＰ−Ａ」に書き換える。
【００９３】
上記のようにしてＩＰアドレスを置換した後、時系列に並んだ組のログ情報を整形部２２が統合すると、クライアント５０ａがＵＲＬ−３にアクセスし、クライアント５０ｂがＵＲＬ−４にアクセスしたことが解析用ログ情報リストに記録される。
【００９４】
本実施形態によれば、パケットの追い越しがあっても、解析用ログ情報リストの記録の精度を高めることが可能となる。本実施形態では、第１の実施形態に比べて精度が低下するが、探索範囲の複数のログ情報と基準となるログ情報についてパラメータの値が一致するか否かの判定処理、およびログ情報の順番を入れ替える処理を行う必要がないので、ログ統合装置における処理の負荷が軽減し、処理速度が向上する利点がある。
【００９５】
そのため、ログ情報のデータ量が膨大で、かつ、ある一定以上の精度が確保されていればよい場合に、本実施形態は有効である。例えば、複数のウェブサーバ４０が設けられ、リバースプロキシサーバ３０が複数のウェブサーバ４０の受付処理を代行しているような場合に有効である。
【００９６】
なお、図７に示すステップ１０６および図１１に示すステップ２１２では、リバースプロキシサーバ３０がウェブサーバ４０に送信したパケットが途中で消失したものと判定し、ログ情報Ｘを廃棄しているが、ログ情報Ｘを残してログ情報Ｙを廃棄してもよい。ウェブサーバ４０がリバースプロキシサーバ３０に送信したパケットが途中で消失する場合も考えられるからである。その際、整合性判定部２１は、同じ組のログ情報Ｘおよびログ情報Ｙのうち、どちらのログ情報を廃棄するかの判定を、２つのログ情報のそれぞれについて、一方を廃棄した場合にそれ以降のログ情報の整列順序が合致するか否かをシミュレーションすることで行ってもよい。
【符号の説明】
【００９７】
１０    ログ統合装置
１３    記憶部
１５    制御部
２１    整合性判定部
２２    整形部
３０    リバースプロキシサーバ
４０    ウェブサーバ
【図１】
2013257619.tif 000003
【図２】
2013257619.tif 000004
【図３】
2013257619.tif 000005
【図４】
2013257619.tif 000006
【図５】
2013257619.tif 000007
【図６】
2013257619.tif 000008
【図７】
2013257619.tif 000009
【図８】
2013257619.tif 000010
【図９】
2013257619.tif 000011
【図１０】
2013257619.tif 000012
【図１１】
2013257619.tif 000013