(57)【特許請求の範囲】
【請求項１】
基準末尾及び基準ハッシュ値を記憶する記憶部と、
ローテーション及び世代管理されているログファイル群から一のログファイルを入力し、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求め、このハッシュ値と前記基準ハッシュ値とを比較し、両者が一致する場合は前記一のログファイル以降の世代のログファイルをログ情報差分として抽出し、両者が一致しない場合は前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す処理部と、
を備えたことを特徴とするログ情報差分抽出管理装置。
【請求項２】
請求項１記載のログ情報差分抽出管理装置において、
前記ログ情報差分の先頭から末尾までのハッシュ値を求め、このハッシュ値を前記基準ハッシュ値として前記記憶部に記憶させ、前記ログ情報差分の末尾を前記基準末尾として前記記憶部に記憶させる更新部を、
更に備えたことを特徴とするログ情報差分抽出管理装置。
【請求項３】
請求項１又は２記載のログ情報差分抽出管理装置において、
前記処理部は、
前記ログファイル群から前記一のログファイルを入力する際に、世代の古い順に前記一のログファイルを入力し、
前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する際に、前記一のログファイルの前記基準末尾の直後から、最も世代の新しいログファイルの末尾までを抽出する、
ことを特徴とするログ情報差分抽出管理装置。
【請求項４】
基準末尾及び基準ハッシュ値を記憶しておき、
ローテーション及び世代管理されているログファイル群から一のログファイルを入力し、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求め、このハッシュ値と前記基準ハッシュ値とを比較し、両者が一致する場合は前記一のログファイル以降の世代のログファイルをログ情報差分として抽出し、両者が一致しない場合は前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す、
ことを特徴とするログ情報差分抽出管理方法。
【請求項５】
請求項４記載のログ情報差分抽出管理方法において、
前記ログ情報差分の先頭から末尾までのハッシュ値を求め、当該ハッシュ値を前記基準ハッシュ値として更新し、前記ログ情報差分の末尾を前記基準末尾として更新する、
ことを更に含むことを特徴とするログ情報差分抽出管理方法。
【請求項６】
請求項４又は５記載のログ情報差分抽出管理方法において、
前記ログファイル群から前記一のログファイルを入力する際には、世代の古い順に前記一のログファイルを入力し、
前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する際には、前記一のログファイルの前記基準末尾の直後から、最も世代の新しいログファイルの末尾までを抽出する、
ことを特徴とするログ情報差分抽出管理方法。
【請求項７】
基準末尾及び基準ハッシュ値を記憶する記憶部と、コンピュータとを備えた装置に用いられるログ情報差分抽出管理プログラムであって、
ローテーション及び世代管理されているログファイル群から一のログファイルを入力する手順と、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求める手順と、このハッシュ値と前記基準ハッシュ値とを比較する手順と、両者が一致する場合に前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する手順と、両者が一致しない場合に前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す手順と、
を前記コンピュータに実行させるためのログ情報差分抽出管理プログラム。
【請求項８】
請求項７記載のログ情報差分抽出管理プログラムにおいて、
前記ログ情報差分の先頭から末尾までのハッシュ値を求める手順と、当該ハッシュ値を前記基準ハッシュ値として前記記憶部に記憶させる手順と、前記ログ情報差分の末尾を前記基準末尾として前記記憶部に記憶させる手順と、
を更に前記コンピュータに実行させるためのログ情報差分抽出管理プログラム。
【請求項９】
請求項７又は８記載のログ情報差分抽出管理プログラムにおいて、
前記ログファイル群から前記一のログファイルを入力する手順では、世代の古い順に前記一のログファイルを入力し、
前記一のログファイル以降の世代のログファイルをログ情報の差分として抽出する手順では、前記一のログファイルの前記基準末尾の直後から、最も世代の新しいログファイルの末尾までを抽出する、
ことを特徴とするログ情報差分抽出管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログファイルのローテーションによって世代管理されているログ情報の差分を抽出し管理する、ログ情報差分抽出管理等に関する。
【背景技術】
【０００２】
関連技術のログ管理システムの一例が、特許文献１に記載されている。特許文献１のシステムは、ログファイルに付与され、ローテーションにより変更されない情報（以下「不変情報」という。）を調査、取得、記憶する手段と、ログファイルを処理する手段と、あらかじめ記憶しておいた不変情報（以下「第１の不変情報」という。）と取得した不変情報（以下「第２の不変情報」という。）とが同一であるか否かを判定する手段と、ログファイルの世代情報を調査、取得する手段と、取得した世代情報に基づいて次世代のログファイルを処理する手段と、ログファイルを記憶する手段と、からなる。
【０００３】
処理としては、ログファイルに付与された不変情報を第１の不変情報として記憶し、第１の不変情報が記憶された状態において、監視すべきログファイル名のログに付与された不変情報を第２の不変情報として調査、取得し、記憶された第１の不変情報と取得された第２の不変情報とが同一であるか否かを判定し、判定結果が同一でない場合に、ログファイルローテーションで適用されるログファイル名変更規則に基づいてログファイルに至る世代情報を調査、取得し、取得された世代情報に基づいてログファイルより次世代のログファイルを順に処理する。これにより、ログファイルのローテーションに対応し、ログファイルの監視を実現する。ここで、不変情報としては、Ｕｎｉｘ系システム（Ｕｎｉｘは登録商標）固有の値であるｉｎｏｄｅ番号が使用されている。
【０００４】
しかし、この方法は、ｉｎｏｄｅ番号を持つＵｎｉｘ系システムのログファイルのみを監視対象としており、ローテーションによって管理されているログファイルに対して、汎用的に適用することはできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２９３０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワーク機器等の機器内部におけるログ情報保存は、ログファイルのローテーション及び世代管理により、保存量の上限を超えないように制御されている場合が多い。この場合、設定された保存量の上限を超えた時点で、古いデータは順次削除されてしまい、長期的な証跡の保管ができない。この課題は、各機器から外部のログ管理システムへログファイルを送信し、一元的に証跡管理をおこなうといった方法により、解決されている。
【０００７】
しかしここで、関連技術のログ管理システムでは、ログファイル名を使用して、機器から送信されるログファイルの管理をおこなっている場合がある。この場合、送信されたログファイルから、追記されたログ情報（前回送信時からの差分）のみを抽出して保管するにあたり、ローテーションの発生によって、ログファイルの特定及び追記分のログ情報の抽出ができない可能性がある。その結果、管理上、ログ情報の欠落又は重複が発生する。
【０００８】
また、機器側における最新のログファイルは、基本的にログ情報の書込み処理の対象となっているため、ログ管理システム側へ送信できない。例えば、機器側のログファイルのローテーションにおいて、一世代のファイルサイズ上限とファイル数とを設定している場合、設定されたファイルサイズに達するまで、最新のログファイルはログ管理システム側へ送信されない。よって、ログ管理システム側では、常に最新のログファイルの一世代前までが管理対象となるので、ログ情報の収集に遅れが発生する。
【０００９】
これらの課題解決においては、昨今の法規制等により証跡管理の必要性が高まる中、様々な機器における各ログ情報ないしログファイル固有の値によらず、実施されるべきである。既存のログ管理技術として、ローテーション発生時にもログファイルを特定可能とするログファイルの監視方法が知られているが、各機器のログフォーマット固有の値が使用されている。このため、機器固有のログフォーマットによらない、汎用的なログ情報の差分抽出としては実現されていなかった。
【００１０】
そこで、本発明の目的は、ローテーション及び世代管理されているログファイルから、ログ情報を出力している機器固有のログフォーマットによらず、適切にログ情報の差分を抽出し保管し得るログ情報差分抽出管理装置等を提供することにある。
【課題を解決するための手段】
【００１１】
本発明のログ情報差分抽出管理装置は、
基準末尾及び基準ハッシュ値を記憶する記憶部と、
ローテーション及び世代管理されているログファイル群から一のログファイルを入力し、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求め、このハッシュ値と前記基準ハッシュ値とを比較し、両者が一致する場合は前記一のログファイル以降の世代のログファイルをログ情報差分として抽出し、両者が一致しない場合は前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す処理部と、
を備えたことを特徴とする。
【００１２】
本発明のログ情報差分抽出管理方法は、
基準末尾及び基準ハッシュ値を記憶しておき、
ローテーション及び世代管理されているログファイル群から一のログファイルを入力し、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求め、このハッシュ値と前記基準ハッシュ値とを比較し、両者が一致する場合は前記一のログファイル以降の世代のログファイルをログ情報差分として抽出し、両者が一致しない場合は前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す、
ことを特徴とする。
【００１３】
本発明のログ情報差分抽出管理プログラムは、
基準末尾及び基準ハッシュ値を記憶する記憶部と、コンピュータとを備えた装置に用いられるログ情報差分抽出管理プログラムであって、
ローテーション及び世代管理されているログファイル群から一のログファイルを入力する手順と、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求める手順と、このハッシュ値と前記基準ハッシュ値とを比較する手順と、両者が一致する場合に前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する手順と、両者が一致しない場合に前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す手順と、
を前記コンピュータに実行させるためのものである。
【発明の効果】
【００１４】
本発明によれば、基準末尾を用いることにより前回のログ情報差分を抽出したときのログファイルの末尾を特定でき、かつ、基準ハッシュ値を用いることにより前回のログ情報差分を抽出したときのログファイルを特定できるので、ローテーション及び世代管理されているログファイルから、機器固有のログフォーマットによらず、適切にログ情報差分を抽出できる。
【図面の簡単な説明】
【００１５】
【図１】実施形態における全体動作を示す概念図である。
【図２】実施形態における構成を示すブロック図である。
【図３】実施形態における収集対象登録処理を示すフローチャートである。
【図４】実施形態における収集開始処理を示すフローチャートである。
【図５】実施形態における収集対象判定処理を示すフローチャートである。
【図６】実施形態における収集処理を示すフローチャートである。
【図７】実施形態における収集終了処理を示すフローチャートである。
【図８】実施形態における収集対象情報テーブルを示す図表である。
【図９】実施形態における末尾位置情報テーブルを示す図表である。
【図１０】実施形態における一時ログ情報テーブルを示す図表である。
【図１１】実施形態におけるハッシュ値情報テーブルを示す図表である。
【図１２】実施形態におけるログ情報テーブルを示す図表である。
【発明を実施するための形態】
【００１６】
まず、本発明の概要について説明する。なお、下記構成要素に付された括弧内の符号は、その構成要素に相当する図２の構成要素の符号である。
【００１７】
本発明のログ情報差分抽出管理装置（１）は、記憶部（５３，５５）と処理部（５１，５４）とを基本的に備えている。記憶部（５３，５５）は、基準末尾及び基準ハッシュ値を記憶する。処理部（５１，５４）は、ローテーション及び世代管理されているログファイル群から一のログファイルを入力し、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求め、このハッシュ値と前記基準ハッシュ値とを比較し、両者が一致する場合は前記一のログファイル以降の世代のログファイルをログ情報差分として抽出し、両者が一致しない場合は前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す。ここで、「基準末尾」は図１におけるＮ（ｔ０）に相当し、「基準ハッシュ値」はｈａｓｈ（ｔ０）に相当する。
【００１８】
本発明のログ情報差分抽出管理装置（１）によれば、基準末尾を用いることにより前回のログ情報差分を抽出したときのログファイルの末尾を特定でき、かつ、基準ハッシュ値を用いることにより前回のログ情報差分を抽出したときのログファイルを特定できるので、ローテーション及び世代管理されているログファイルから、機器固有のログフォーマットによらず、適切にログ情報差分を抽出できる。
【００１９】
また、本発明のログ情報差分抽出管理装置（１）は、更に更新部（５１，５４）を備えてもよい。更新部（５１，５４）は、前記ログ情報差分の先頭から末尾までのハッシュ値を求め、このハッシュ値を前記基準ハッシュ値として記憶部（５５）に記憶させ、前記ログ情報差分の末尾を前記基準末尾として記憶部（５３）に記憶させる。更新部（５１，５４）を備えた場合は、基準末尾及び基準ハッシュ値をログ情報差分を抽出する度に更新することにより、連続してログ情報差分を抽出できる。
【００２０】
更に、処理部（５１）は、前記ログファイル群から前記一のログファイルを入力する際に、世代の古い順に前記一のログファイルを入力し、前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する際に、前記一のログファイルの前記基準末尾の直後から、最も世代の新しいログファイルの末尾までを抽出する、としてもよい。
【００２１】
本発明のログ情報差分抽出管理方法は、本発明のログ情報差分抽出管理装置（１）の動作として実現される。すなわち、本発明のログ情報差分抽出管理方法は、基準末尾及び基準ハッシュ値を記憶しておき、ローテーション及び世代管理されているログファイル群から一のログファイルを入力し、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求め、このハッシュ値と前記基準ハッシュ値とを比較し、両者が一致する場合は前記一のログファイル以降の世代のログファイルをログ情報差分として抽出し、両者が一致しない場合は前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す、ことを特徴とする。
【００２２】
また、前記ログ情報差分の先頭から末尾までのハッシュ値を求め、当該ハッシュ値を前記基準ハッシュ値として更新し、前記ログ情報差分の末尾を前記基準末尾として更新する、ことを更に含むようにしてもよい。
【００２３】
更に、前記ログファイル群から前記一のログファイルを入力する際には、世代の古い順に前記一のログファイルを入力し、前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する際には、前記一のログファイルの前記基準末尾の直後から、最も世代の新しいログファイルの末尾までを抽出する、としてもよい。
【００２４】
ログ情報差分抽出管理装置（１）の処理部（５１，５４）は、コンピュータ及び本発明ログ情報差分抽出管理プログラムによって実現してもよい。つまり、本発明のログ情報差分抽出管理プログラムは、基準末尾及び基準ハッシュ値を記憶する記憶部（５３，５５）と、コンピュータとを備えた装置に用いられるものである。すなわち、本発明のログ情報差分抽出管理プログラムは、ローテーション及び世代管理されているログファイル群から一のログファイルを入力する手順と、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求める手順と、このハッシュ値と前記基準ハッシュ値とを比較する手順と、両者が一致する場合に前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する手順と、両者が一致しない場合に前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す手順と、を前記コンピュータに実行させるためのものである。このコンピュータは、ＣＰＵ、メモリ（ＲＯＭ及びＲＡＭ）、入出力インタフェースなどを有する一般的なものでよい。このとき、ＣＰＵが、メモリに記憶された本発明のログ情報差分抽出管理プログラムを読み出し、解釈し、実行する。
【００２５】
また、前記ログ情報差分の先頭から末尾までのハッシュ値を求める手順と、当該ハッシュ値を前記基準ハッシュ値として記憶部（５５）に記憶させる手順と、前記ログ情報差分の末尾を前記基準末尾として記憶部（５３）に記憶させる手順と、を更に前記コンピュータに実行させる、としてもよい。
【００２６】
更に、前記ログファイル群から前記一のログファイルを入力する手順では、世代の古い順に前記一のログファイルを入力し、前記一のログファイル以降の世代のログファイルをログ情報の差分として抽出する手順では、前記一のログファイルの前記基準末尾の直後から、最も世代の新しいログファイルの末尾までを抽出する、としてもよい。
【００２７】
本発明のログ情報差分抽出管理方法及び情報差分抽出管理プログラムも、前述した本発明のログ情報差分抽出管理装置と同様の作用及び効果を奏する。
【００２８】
以下、添付図面を参照しながら、本発明を実施するための形態（以下「実施形態」という。）について説明する。まず、本実施形態の概要について説明する。
【００２９】
本実施形態のログ情報差分抽出管理装置（以下「本装置」という。）は、以下の手段によって、ログ情報収集対象とする機器（以下「収集対象機器」という。）のログ情報を収集することにより、前述の課題を解決する。
【００３０】
図１に示すように、まず事前準備として、収集対象機器７を一意に特定可能な情報やログファイルの世代管理情報等、収集対象機器７に関する収集処理に必要な情報（以下、対象機器情報）を登録する（図１の［０］対象機器情報）。
【００３１】
収集処理としては、ある時刻ｔ１に収集対象機器７からログファイル７１が送信され（［１］時刻ｔ１）、本装置１側に一時的に格納される（［２］一時ログ情報）ことにより開始する。本装置１は、このログファイルの格納を検知し、一時ログ情報の格納先をキーとして、あらかじめ登録されている対象機器情報を読み出す（［３］）。続けて、［３］にて読み出した対象機器情報を元に、一時的に格納しているログファイルを世代の古い順に処理対象として読出す（［４］）。また、対象機器情報を元に、前回収集処理実施時ｔ０の末尾位置情報Ｎ（ｔ０）と（［５］）、ハッシュ値ｈａｓｈ（ｔ０）とを読み出し（［６］）、後続の処理をおこなう。
【００３２】
［４］にて読み出したログファイル内の、先頭からＮ（ｔ０）までのログ情報Ａを抽出し（［７］）、そのログ情報のハッシュ値ｈａｓｈ（Ａ）を算出する（［８］）。算出したハッシュ値ｈａｓｈ（Ａ）と、［６］にて読み出したハッシュ値ｈａｓｈ（０）とを比較し（［９］）、両者の値が異なる場合は、当該ログファイルは収集すべき対象ではないと判定し、［７］−［９］の手順を繰返す（［１０］ｈａｓｈ（Ａ）≠ｈａｓｈ（ｔ０））。両者の値が一致した場合は、当該ログファイル以降の世代のログファイルを収集すべき対象と判定し、当該ログファイルのＮ（ｔ０）の直後から、最も世代の新しいログファイルの末尾までのログ情報を抽出する（［１１］ｈａｓｈ（Ａ）＝ｈａｓｈ（ｔ０））。また、抽出したログ情報は、時刻ｔ１にて収集したログ情報として所定の保管先に追記、格納する（［１２］ログ情報）。
【００３３】
ログ情報の格納が完了した後は、ｔ１で収集したログファイルの内、最も世代の新しいログファイルの情報を保持する処理をおこなう。つまり、当該ログファイルの末尾位置を、今回収集時ｔ１の末尾位置情報Ｎ（ｔ１）として抽出し（［１３］Ｎ（ｔ１））、保持している末尾位置情報をＮ（ｔ０）からＮ（ｔ１）へ更新する（［１４］末尾位置情報）。また同様に、当該ログファイルの先頭から末尾までのログ情報を抽出する（［１５］）。抽出したログ情報からハッシュ値を算出して今回収集時のハッシュ値ｈａｓｈ（ｔ１）とし（［１６］ｈａｓｈ（ｔ１））、保持しているハッシュ値をｈａｓｈ（ｔ０）からｈａｓｈ（ｔ１）へ更新する（［１７］末尾位置情報）。これら末尾位置情報及びハッシュ値をＮ（ｔ１）及びｈａｓｈ（ｔ１）にて更新及び保持することにより、次回収集時に算出されるハッシュ値との比較及び収集対象とすべきログファイルの判定が継続的に可能となる。
【００３４】
次に、本実施形態の構成について、図面を参照して詳細に説明する。
【００３５】
図２の構成図を参照すると、本装置１は、入力手段２と、出力手段３と、収集処理管理手段４と、収集対象判定処理手段５と、ログ情報保管手段６とで構成されている。
【００３６】
入力手段２は、収集対象情報を入力するものであり、例えば管理者からの入力を実現するキーボードのようなインタフェース機器を指す。
【００３７】
出力手段３は、入力手段２から入力された収集対象情報の登録結果を出力するものであり、例えばディスプレイのようなインタフェース機器を指す。
【００３８】
収集処理管理手段４は、収集対象情報の管理を行なうものであり、収集対象登録部４１と、収集対象情報記憶部４２と、収集処理管理部４３とを含む。
【００３９】
収集対象登録部４１は、入力手段２からの収集対象情報入力を受け、収集対象情報の登録処理をおこなう。具体的には、入力された収集対象情報を収集対象情報記憶部４２へ書込む。また、入力された収集対象情報に基づき、ログ情報保管部６１上に、収集対象機器７のログ情報を格納する領域（以下、ログ情報格納先）が確保されているかを確認する。確保されていない場合は、ログ情報保管部６１上にログ情報格納先を、一時ログ情報記憶部５２上に収集対象機器７が一時的にログファイル７１を書き込むための領域（以下「一時ログ情報格納先」という。）を確保する。
【００４０】
収集対象情報記憶部４２は、収集対象登録部４１からの書込みを受け、収集対象情報を格納、保管する。
【００４１】
収集処理管理部４３は、ログファイル処理部５１からの収集対象判定処理開始通知として、一時ログ情報格納先の情報を受信する。また、この一時ログ情報格納先の情報をキーに、収集対象情報記憶部４２から収集対象情報を読出し、ログファイル処理部５１へ送信する。
【００４２】
収集対象判定処理手段５は、収集対象機器７からのログファイル７１の送信を受けて、収集すべきログファイルの判定及びログ情報の収集処理をおこなうものであり、ログファイル処理部５１と、一時ログ情報記憶部５２と、末尾位置情報記憶部５３と、ハッシュ処理部５４と、ハッシュ値記憶部５５とを含む。
【００４３】
ログファイル処理部５１は、収集対象機器７から一時ログ情報記憶部５２への書込みを検知し、ログ情報の収集開始処理をおこなう。具体的には、一時ログ情報記憶部５２上の一時ログ情報格納先への、収集対象機器７からのログファイル７１の書込みを検知し、収集処理管理部４３へ収集対象判定処理開始として一時ログ情報格納先の情報を通知する。また、収集処理管理部４３から一時ログ情報格納先の情報をキーに読み出された、収集対象情報を受信する。
【００４４】
続けて、ログファイル処理部５１は、収集対象判定処理をおこなう。具体的には、収集処理管理部４３から受信した収集対象情報に基づき、末尾位置情報記憶部５３から、収集対象機器７の前回収集時の末尾位置を読み出す。また、一時ログ情報記憶部５２から収集対象機器７のログファイル７１を世代の古い順に読み出し、読み出したログファイル内から前回収集時の末尾位置に基づいてログ情報を抽出し、収集対象情報と合わせてハッシュ処理部５４に送信する。又はハッシュ処理部５４からのハッシュ値の比較結果を受けて、収集対象判定処理を継続するか、若しくは収集処理を開始する。
【００４５】
更に、ログファイル処理部５１は、収集処理をおこなう。具体的には、ハッシュ処理部５４からのハッシュ値の比較結果が「一致」であった場合、一致したログファイルから最新のログファイルまでに含まれる、今回収集すべきログ情報を抽出し、ログ情報保管部６１へ格納する。
【００４６】
最後に、収集すべきログ情報を全てログ情報保管部６１へ格納した後に、収集終了処理をおこなう。具体的には、最後に収集処理をおこなった最新のログファイルの末尾位置を抽出する。また、次回収集時の収集対象判定処理のために、末尾位置情報記憶部５３上の収集対象機器７の末尾位置を、抽出した末尾位置の情報に更新する。更に、最後に収集処理をおこなったログファイル内の先頭から末尾までのログ情報を抽出し、収集対象情報と合わせてハッシュ処理部５４に送信する。
【００４７】
一時ログ情報記憶部５２は、収集対象機器７から送信されたログファイル７１を一時的に格納する。具体的には、収集対象機器７から一時ログ情報記憶部５２上の一時ログ情報格納領域へのログファイル７１の書込みを受け、収集対象機器７の一時ログ情報を格納、保管する。また、ログファイル処理部５１からの処理により、不要となったログファイル（一時ログ情報）を削除する。
【００４８】
末尾位置情報記憶部５３は、ログファイル処理部５１からの書込みを受け、収集対象機器７のログファイル７１における前回収集時の末尾位置を格納、保管する。
【００４９】
ハッシュ処理部５４は、収集対象判定処理において、収集すべきログファイルを判定するために、ハッシュ値の算出と比較をおこなう。具体的には、ログファイル処理部５１にてログファイルから抽出されたログ情報及び収集対象機器情報を受信し、そのログ情報のハッシュ値を算出する。また、ログファイル処理部５１から受信した収集対象情報に基づき、ハッシュ値記憶部５５から収集対象機器７の前回収集時のハッシュ値を読み出し、算出したハッシュ値と比較する。また、その比較結果をログファイル処理部５１に送信する。
【００５０】
更に、ハッシュ処理部５４は、収集終了処理においては、ログファイル処理部５１にて最後に収集処理をおこなったログファイルから抽出されたログ情報と収集対象機器情報とを受信し、受信したログ情報のハッシュ値を算出する。また、次回収集時の収集対象判定処理のために、ログファイル処理部５１から受信した収集対象情報に基づき、ハッシュ値記憶部５５上の収集対象機器７のハッシュ値を、算出したハッシュ値に更新する。
【００５１】
ハッシュ値記憶部５５は、ハッシュ処理部５４からの書込みを受け、収集対象機器の前回収集時に、最後に収集処理をおこなったログファイル内のログ情報のハッシュ値を格納、保管する。
【００５２】
ログ情報保管手段６は、収集対象機器７のログ情報を保管するものであり、ログ情報保管部６１を含む。
【００５３】
ログ情報保管部６１は、ログファイル処理部５１からの書込みを受け、収集対象機器７のログ情報を格納、保管する。
【００５４】
次に、図２の構成図、図３から図７のフローチャート、及び図８から図１２の各情報フォーマット例を参照し、本実施形態の動作について詳細に説明する。なお、各情報のフォーマット例としては、図８に収集対象情報テーブル、図９に末尾位置情報テーブル、図１０に一時ログ情報テーブル、図１１にハッシュ値情報テーブル、図１２にログ情報テーブルを示す。
【００５５】
まず、図３を参照し、収集対象登録処理について説明する。
【００５６】
はじめに、入力手段２にて、管理者等による収集対象情報の入力を受ける（図３のＳ０１）。この収集対象情報は、図８に例示するように、収集対象機器７を一意に特定可能な情報（以下「収集対象機器ＩＤ」という。）と、一時ログ情報格納先と、ログ情報格納先と、収集対象機器７から送信されるログファイル７１群のローテーションにおける世代管理規則又は条件式（以下「世代管理情報」という。）といった情報を含む。なお、一時ログ情報格納先とログ情報格納先は、収集対象機器ＩＤとそれぞれ一意に紐づく情報であり、一時ログ情報格納先は一時ログ情報記憶部５２上に、ログ情報格納先はログ情報保管部６１上に確保されるものである。また、世代管理情報は、世代管理情報の内容に基づき、ログファイル処理部５１が、一時ログ情報記憶部５２上に格納されたログファイルの世代を判別するための情報である。
【００５７】
入力された収集対象情報は、入力手段２を経由して、収集対象登録部４１に通知される（Ｓ０２）。収集対象登録部４１は、通知された収集対象情報を、収集対象情報記憶部４２に格納する（Ｓ０３）。また、収集対象情報のログ情報格納先が、一時ログ情報記憶部５２上に確保されているかを確認する（Ｓ０４）。確保されている場合は、収集対象登録部４１から出力手段３へ、登録処理完了を通知し（Ｓ０７）、出力手段３は登録結果を出力する（Ｓ０８）。確保されていない場合は、収集対象登録部４１にて、ログ情報保管部６１上に、入力された収集対象情報のログ情報格納先に基づき、領域を確保する（Ｓ０５）。また同様に、一時ログ情報記憶部５２上に、入力された収集対象情報の一時ログ情報格納先に基づき、領域を確保する（Ｓ０６）。各領域の確保が完了したら、収集対象登録部４１から出力手段３へ登録処理完了を通知し（Ｓ０７）、出力手段３は登録結果を出力する（Ｓ０８）。
【００５８】
次に、図４を参照し、収集開始処理について説明する。
【００５９】
まず、一時ログ情報記憶部５２上の一時ログ情報格納先への収集対象機器７からのログファイル７１の書込みを、ログファイル処理部５１にて検知する（図４のＳ０９）。ログファイル処理部５１は、収集対象判定処理開始通知として、収集処理管理部４３へ、書込みが発生した一時ログ情報記憶部５２上の一時ログ情報格納先を送信する（Ｓ１０）。収集処理管理部４３は、ログファイル処理部５１からの通知を受けて、一時ログ情報格納先の情報をキーに、該当する収集対象情報を収集対象情報記憶部４２から読み出す（Ｓ１１）。読み出した収集対象情報は、収集処理管理部４３からログファイル処理部５１へ送信される（Ｓ１２）。
【００６０】
次に、図５を参照し、収集対象判定処理について説明する。
【００６１】
まず、ログファイル処理部５１は、Ｓ１２にて受信した収集対象情報に基づき、一時ログ情報記憶部５２上に格納されている収集対象機器のログファイルから、最も世代の古いログファイルを読み出す（図５のＳ１３）。また、末尾位置情報記憶部５３から、同様に収集対象情報に基づき、収集対象機器の前回収集時の末尾位置を読み出す（Ｓ１４）。末尾位置は、図９に例示するように、収集対象機器ＩＤと紐づけて末尾位置情報テーブルで管理される値であり、データサイズ（バイト数）や行番号で示される。この値は、前回収集時に最後に収集処理をおこなったログファイルにおける、ログ情報の末尾の位置を示すものである。
【００６２】
続けて、ログファイル処理部５１は、Ｓ１４にて読み出した前回収集時の末尾位置に基づき、Ｓ１３にて読み出したログファイルの先頭位置から読み出した末尾位置までのログ情報を抽出する（Ｓ１５）。これは例えば、読み出した末尾位置が「１，２３４，５６７バイト」であった場合、ログファイル内のログ情報における、０から１，２３４，５６７バイトまでのデータを抽出する処理となる。ここで抽出したログ情報を、以下、一時ログ情報と呼ぶ。なお一時ログ情報は、図１０に例示するように、一時ログ情報のみで構成される一時ログ情報テーブルで管理される。また図１０では、便宜上テキスト形式にて一時ログ情報を例示しているが、本発明の適用においては、一時ログ情報のバイナリ又はテキストといった形式を問わない。
【００６３】
一時ログ情報の抽出後、ログファイル処理部５１は、収集対象情報の収集対象機器ＩＤと、抽出した一時ログ情報とをハッシュ処理部５４へ送信する（Ｓ１６）。ハッシュ処理部５４では、受信した一時ログ情報を元にハッシュ値を算出する（Ｓ１７）。また、Ｓ１６にて受信した収集対象情報の収集対象機器ＩＤに基づき、ハッシュ値記憶部５５から収集対象機器７のハッシュ値を読み出す（Ｓ１８）。ハッシュ値記憶部５５に格納されているハッシュ値は、図１１に例示するように、収集対象機器ＩＤと紐づけてハッシュ値情報テーブルで管理される値であり、前回収集時に最後に処理をおこなったログファイル内のログ情報から算出されたハッシュ値である。
【００６４】
更に、Ｓ１７にて今回算出したハッシュ値とＳ１８にて読み出した前回収集時のハッシュ値とを比較する（Ｓ１９）。この比較結果が「不一致」だった場合、収集対象判定処理をおこなったログファイルは、前回収集時において最後に収集処理をおこなったログファイルではないということになる。つまり、既に前回以前の収集処理において、ログファイル内のログ情報全てを収集済みのログファイルであり、今回の収集対象ではないと判定する。この場合は、ハッシュ処理部５４からログファイル処理部５１へ判定結果「不一致」として、判定処理の継続を通知する（Ｓ２０）。ログファイル処理部５１は、Ｓ２０の通知を受けて、一時ログ情報記憶部５２から次世代のログファイルを読み出し（Ｓ２１）、Ｓ１５以降の処理を継続する。比較結果が「一致」した場合、収集対象判定処理をおこなったログファイルは、前回収集時において最後に収集処理をおこなったログファイルであるということになる。つまり、当該ログファイルにおける前回収集時の末尾位置の直後から、今回一時ログ情報記憶部５２に格納された中で最も世代の新しいログファイルの末尾までが、今回収集すべきログ情報であると判定する。この場合は、ハッシュ処理部５４からログファイル処理部５１へ判定結果「一致」として、収集処理開始を通知する（Ｓ２２）。
【００６５】
次に、図６を参照し、収集処理について説明する。
【００６６】
まず、ログファイル処理部５１は、Ｓ２２にて受信した判定結果を受けて、Ｓ１５で処理をおこなったログファイルにおける、前回収集時の末尾位置の直後から末尾までのログ情報を抽出する（図６のＳ２３）。これは例えば、末尾位置情報が「１，２３４，５６７バイト」であった場合、当該ログファイルの１，２３４，５６８から最後のバイトまでのデータを抽出する処理となる。Ｓ２３にて抽出したログ情報は、ログファイル処理部５１にて、ログ情報保管部６１へ格納する（Ｓ２４）。なお、ログ情報保管部６１にて保管するログ情報は、図１２に例示するように、収集対象機器ＩＤと紐づけてログ情報テーブルで管理される。また、当該収集対象機器ＩＤと紐づく収集対象機器から収集した、ログ情報を累積したものである。なお図１２は、図１０と同様に、便宜上テキスト形式にてログ情報を例示しているが、本発明の適用においては、ログ情報のバイナリ又はテキストといった形式を問わない。
【００６７】
続けて、ログファイル処理部５１にて、一時ログ情報記憶部５２上の収集対象機器のログファイルを確認し（Ｓ２５）、次世代のログファイルが存在する場合は、そのファイルを一時ログ情報記憶部５２から読み出す（Ｓ２６）。Ｓ２６にて読み出したログファイルについては、先頭から末尾までの全てのログ情報を抽出し（Ｓ２７）、Ｓ２４以降の処理を繰り返し継続することにより、ログ情報保管部６１へログ情報を追記していく。Ｓ２５で実施する一時ログ情報記憶部５２上のログファイル確認において、次世代のログファイルが存在しない場合は、直前のＳ２４にて格納したログ情報が、今回収集対象における末尾のログ情報であると判定する。この場合は、当該ログ情報を含んでいたログファイルが、今回収集処理において最後に処理したログファイルとなるため、このログファイルを元に、収集終了処理を実施する。
【００６８】
最後に、図７を参照し、収集終了処理について説明する。
【００６９】
まず、ログファイル処理部５１からハッシュ処理部５４へ、収集対象機器ＩＤと、今回収集処理において最後に処理したログファイル内のログ情報（直前のＳ２３又はＳ２７で抽出したログ情報）とを送信する（図７のＳ２８）。ハッシュ処理部５４では、Ｓ２８にて受信したログ情報を元にハッシュ値を算出する（Ｓ２９）。続けて、次回収集時の収集対象判定処理のために、ハッシュ値記憶部５５上の、Ｓ２８にて受信した収集対象機器ＩＤと紐づくハッシュ値をＳ２９にて算出したハッシュ値で更新する（Ｓ３０）。更新完了後、ハッシュ処理部５４は、ハッシュ値の更新完了報告としてログファイル処理部５１へ収集対象機器ＩＤを通知する（Ｓ３１）。
【００７０】
また、ログファイル処理部５１は、今回収集時に最後に処理をおこなったログファイルの末尾位置を抽出する（Ｓ３２）。ここで例えば、当該ログファイル内のログ情報が、０から９８７，６５４バイトまで存在していた場合、抽出される末尾位置は「９８７，６５４バイト」となる。ログファイル処理部５１は、次回収集時の収集対象判定処理のために、末尾位置情報記憶部５３上の収集対象機器ＩＤと紐づく末尾位置情報を抽出した末尾位置で更新する（Ｓ３３）。
【００７１】
ログファイル処理部５１は、以上のハッシュ値更新及び末尾位置更新の完了を受けて、一時ログ情報記憶部５２上の収集対象機器のログファイル（一時ログ情報）を削除することにより、収集を終了する（Ｓ３４）。
【００７２】
次に、本実施形態の効果について説明する。
【００７３】
第１の効果は、ローテーションにて管理されている収集対象機器のログファイルについて、収集対象機器のログファイル固有の値やログ情報に含まれるパラメータを使用することなく、ログファイル内のログ情報から算出したハッシュ値を使用し、収集対象すべきログファイルを特定することができる点にある。この結果、収集対象機器内で使用されているオペレーティングシステムや、出力されるログファイルの形式（バイナリ形式、テキスト形式）等に依存せず、様々な機器のログ収集において、本発明を適用することができる。
【００７４】
第２の効果は、前回収集時の最後（最新）のログファイル及び末尾位置を特定することができる点にある。この結果、重複や欠落することなく、前回収集時から追記されたログ情報の差分収集が可能となる。
【００７５】
第３の効果は、収集対象機器上において書き込み処理対象である最新のログファイルについても、収集処理が可能である点にある。この結果、常に最新のログ情報を収集することが可能となり、ログ情報収集のタイムラグを軽減することができる。
【００７６】
第４の効果は、エージェント等の本特許システム専用の装置を、収集対象機器に組み込む必要がない点にある。この結果、収集対象機器内の構成によらず、また影響を与えることなく、ログ情報の収集が可能となる。
【００７７】
以上、上記実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細については、当業者が理解し得るさまざまな変更を加えることができる。
【００７８】
上記の実施形態の一部又は全部は以下の付記のようにも記載され得るが、本発明は以下の構成に限定されるものではない。
【００７９】
（付記１）基準末尾及び基準ハッシュ値を記憶する記憶部と、
ローテーション及び世代管理されているログファイル群から一のログファイルを入力し、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求め、このハッシュ値と前記基準ハッシュ値とを比較し、両者が一致する場合は前記一のログファイル以降の世代のログファイルをログ情報差分として抽出し、両者が一致しない場合は前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す処理部と、
を備えたことを特徴とするログ情報差分抽出管理装置。
【００８０】
（付記２）付記１記載のログ情報差分抽出管理装置において、
前記ログ情報差分の先頭から末尾までのハッシュ値を求め、このハッシュ値を前記基準ハッシュ値として前記記憶部に記憶させ、前記ログ情報差分の末尾を前記基準末尾として前記記憶部に記憶させる更新部を、
更に備えたことを特徴とするログ情報差分抽出管理装置。
【００８１】
（付記３）付記１又は２記載のログ情報差分抽出管理装置において、
前記処理部は、
前記ログファイル群から前記一のログファイルを入力する際に、世代の古い順に前記一のログファイルを入力し、
前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する際に、前記一のログファイルの前記基準末尾の直後から、最も世代の新しいログファイルの末尾までを抽出する、
ことを特徴とするログ情報差分抽出管理装置。
【００８２】
（付記４）基準末尾及び基準ハッシュ値を記憶しておき、
ローテーション及び世代管理されているログファイル群から一のログファイルを入力し、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求め、このハッシュ値と前記基準ハッシュ値とを比較し、両者が一致する場合は前記一のログファイル以降の世代のログファイルをログ情報差分として抽出し、両者が一致しない場合は前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す、
ことを特徴とするログ情報差分抽出管理方法。
【００８３】
（付記５）付記４記載のログ情報差分抽出管理方法において、
前記ログ情報差分の先頭から末尾までのハッシュ値を求め、当該ハッシュ値を前記基準ハッシュ値として更新し、前記ログ情報差分の末尾を前記基準末尾として更新する、
ことを更に含むことを特徴とするログ情報差分抽出管理方法。
【００８４】
（付記６）付記４又は５記載のログ情報差分抽出管理方法において、
前記ログファイル群から前記一のログファイルを入力する際には、世代の古い順に前記一のログファイルを入力し、
前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する際には、前記一のログファイルの前記基準末尾の直後から、最も世代の新しいログファイルの末尾までを抽出する、
ことを特徴とするログ情報差分抽出管理方法。
【００８５】
（付記７）基準末尾及び基準ハッシュ値を記憶する記憶部と、コンピュータとを備えた装置に用いられるログ情報差分抽出管理プログラムであって、
ローテーション及び世代管理されているログファイル群から一のログファイルを入力する手順と、この一のログファイルの先頭から前記基準末尾までのハッシュ値を求める手順と、このハッシュ値と前記基準ハッシュ値とを比較する手順と、両者が一致する場合に前記一のログファイル以降の世代のログファイルをログ情報差分として抽出する手順と、両者が一致しない場合に前記ログファイル群から他のログファイルを入力して前記一のログファイルを入力した後の動作を繰り返す手順と、
を前記コンピュータに実行させるためのログ情報差分抽出管理プログラム。
【００８６】
（付記８）付記７記載のログ情報差分抽出管理プログラムにおいて、
前記ログ情報差分の先頭から末尾までのハッシュ値を求める手順と、当該ハッシュ値を前記基準ハッシュ値として前記記憶部に記憶させる手順と、前記ログ情報差分の末尾を前記基準末尾として前記記憶部に記憶させる手順と、
を更に前記コンピュータに実行させるためのログ情報差分抽出管理プログラム。
【００８７】
（付記９）付記７又は８記載のログ情報差分抽出管理プログラムにおいて、
前記ログファイル群から前記一のログファイルを入力する手順では、世代の古い順に前記一のログファイルを入力し、
前記一のログファイル以降の世代のログファイルをログ情報の差分として抽出する手順では、前記一のログファイルの前記基準末尾の直後から、最も世代の新しいログファイルの末尾までを抽出する、
ことを特徴とするログ情報差分抽出管理プログラム。
【産業上の利用可能性】
【００８８】
本発明は、パーソナルコンピュータ、サーバ、ネットワーク機器等の情報処理をおこなう機器において、特にログファイルのローテーションによって世代管理されているログ情報を、単独又は統合的に管理する装置、方法、プログラムなどの用途に適用できる。
【符号の説明】
【００８９】
１  ログ情報差分抽出管理装置
２  入力手段
３  出力手段
４  収集処理管理手段
４１  収集対象登録部
４２  収集対象情報記憶部
４３  収集処理管理部
５  収集対象判定処理手段
５１  ログファイル処理部
５２  一時ログ情報記憶部
５３  末尾位置情報記憶部
５４  ハッシュ処理部
５５  ハッシュ値記憶部
６  ログ情報保管手段
６１  ログ情報保管部
７  収集対象機器
７１  ログファイル
【図１】
0005471721.tif 000002
【図２】
0005471721.tif 000003
【図３】
0005471721.tif 000004
【図４】
0005471721.tif 000005
【図５】
0005471721.tif 000006
【図６】
0005471721.tif 000007
【図７】
0005471721.tif 000008
【図８】
0005471721.tif 000009
【図９】
0005471721.tif 000010
【図１０】
0005471721.tif 000011
【図１１】
0005471721.tif 000012
【図１２】
0005471721.tif 000013