(57)【要約】      （修正有）【課題】複数のログ出力製品が稼働する複数のマシンからログを収集する際に、ログ収集対象マシンに対する設定を容易にし、設定時の漏れや誤りを防止する方法を提供する。【解決手段】ログ収集対象マシンにインストールされている製品の情報を収集し、ログ収集対象マシンごとに製品ごとの動作定義ファイルを生成して、ログ収集対象マシン側に設定情報を送信する手段を提供する。さらに、動作定義ファイルに、収集するログを取捨選択するための定義を追加する手段を提供する。また、収集したログから必要なデータを切り出すためのルールを定義可能とし、定義に従って必要なデータを切り出してデータベースに格納する手段を提供する。【選択図】図１
2008198039.tif 000002
【特許請求の範囲】
【請求項１】
ログを出力するマシンからネットワークを利用してログの収集管理方法であって、
ログを出力するマシンの情報とログを出力する製品の情報を受け付け、
前記製品の情報から取得するログファイル名を特定し、
ログを出力するマシンに前記ログファイル名を送信し、
ログを出力するマシンから、前記ログファイルのパス情報を受信し、
受信したパス情報により、ログの収集設定を行うことを特徴とするログの収集管理方法。
【請求項２】
請求項１に記載のログの収集管理方法であって、
前記ログの収集設定に収集するログを取捨選択するための定義を追加し、ログを出力するマシンに送信し、
ログを出力するマシンで前記設定にしたがって取得するログを取捨選択し、
取得したログのみを収集することを特徴とするログの収集管理方法。
【請求項３】
請求項２に記載のログの収集管理方法であって、
収集したログから必要なデータを切り出すためのルールに従って、
収集したログデータから、必要なデータのみを切り出してデータベースに格納することを特徴とするログの収集管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のログ出力製品が稼働する複数のマシンからログを収集し、データベースで一元管理する技術に関する。
【背景技術】
【０００２】
ログを出力するマシンからネットワークを利用してログを収集する方法が一般的に知られている。また、特許文献１には、ストレージ装置とログ収集装置間でアドレスを通知することにより、ログを収集するサーバ装置を容易に特定する方法が開示されている。
【０００３】
【特許文献１】特開２００６−２２１３２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来、ログの収集対象となるマシン及びログを収集するサーバの双方に設定が必要であることは特許文献１にも開示されているとおりである。この課題を解決する１つの方法として、特許文献１には、ストレージ装置とログ収集装置間でアドレスを通知することにより、ログを収集するサーバ装置を容易に特定する方法が開示されている。
【０００５】
複数のログ出力製品が稼働するマシンをログの収集対象とする場合においては、さらに、収集対象となるマシン側でログ出力製品ごとにログ出力製品に応じた設定を行う必要がある。このような設定は、複数の製品で統一されておらず、製品毎に異なる設定を行わなければならない。このようなマシンが複数存在する場合、その設定作業は煩雑で漏れや誤りが生じ易いという問題がある。
【０００６】
また、収集したログについては、不必要なデータを含んで膨大なデータとなっている場合も多く、ログ収集に負荷がかかるという問題がある。
【０００７】
さらに、製品ごとに出力するログの様式が異なっており、データベースで一元管理するのが困難であるという問題がある。
【課題を解決するための手段】
【０００８】
本発明は、こうした課題を解決するために、複数のログ出力製品が稼働する複数のマシンからログを収集する際に、ログ収集対象マシンに対する設定を容易にし、設定時の漏れや誤りを防止する方法を提供することを第１の目的とする。
【０００９】
また、必要なデータのみを収集することにより、ログ収集時の負荷を軽減することを第２の目的とする。
【００１０】
さらに、出力されたログの様式の差異を吸収し、データベースで一元管理する方法を提供することを第３の目的とする。
【００１１】
本発明では、上記第１の目的を達成するために、ログ収集対象マシンにインストールされている製品の情報を収集し、ログ収集対象マシンごとに製品ごとの動作定義ファイルを生成して、ログ収集対象マシン側に設定情報を送信する手段を提供する。さらに、上記第２の目的を達成するために、動作定義ファイルに、収集するログを取捨選択するための定義を追加する手段を提供する。また、上記第３の目的を達成するために、収集したログから必要なデータを切り出すためのルールを定義可能とし、定義に従って必要なデータを切り出してデータベースに格納する手段を提供する。
【発明の効果】
【００１２】
リモートでのログ収集の定義設定を容易に実現するとともに、出力様式の異なるログをデータベースで一元管理することを可能にする。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。図１は、本発明における１実施例であるログ収集システムのおおまかなプログラム構成を示した図である。
【００１４】
ログ管理サーバ１００には、入力装置１０１、出力装置１０２および監査ログ格納データベース１０３が接続されており、入出力装置からの入出力を制御する入出力制御部１０４、入力装置から入力された条件を定義ファイルに反映する条件設定部１０５、製品に関する情報を定義した製品定義ファイル１０６、条件設定部１０５により作成・変更される動作定義ファイル１０７と監査定義ファイル１０８、設定時にログ収集対象マシンと必要な情報をやり取りするための基本制御部１０９、ログ管理サーバとログ収集対象マシン間の通信を制御する通信制御部１１０、収集対象マシンからログデータの収集を行うログデータ取得制御部１１１、収集したログから必要なデータの切り出しを行うログデータ正規化部１１３、監査ログ格納データベースとの入出力を制御するデータベース入出力制御部１１４から構成される。
【００１５】
ログ収集対象マシン２００は、ログ管理サーバとログ収集対象マシン間の通信を制御する通信制御部２０１、設定時にログ管理サーバと必要な情報をやり取りするための基本制御部２０３、設定に必要な情報を問い合わせるオペレーティングシステム（ＯＳ）２０２、ログ収集部の起動順序を定義する起動順序定義ファイル２０４、ログ管理サーバとのやり取りで生成する動作定義ファイル２０５、動作定義ファイルを読み込んで製品毎に出力されるログファイルを監視し、該当するログのみログ収集制御部２０９へ渡すログ収集部２０８、複数製品から収集したログに通番をつけて転送データ格納部へ格納するログ収集制御部２０９、ログ管理サーバへ転送するデータを格納する転送データ格納部２１０、ログ管理サーバからのログ取得要求に対応し、転送データ格納部からデータを読み出して、ログ管理サーバに転送するログデータ取得制御部２１１、およびログ出力プログラム２０６とそのプログラムが出力する出力ログファイル２０７から構成される。
【００１６】
図２は、製品定義ファイル１０６の定義例である。製品定義ファイルは、ログ収集の対象とする製品（プログラム毎）に予め作成する。予め製品に同梱して提供された定義ファイルを読み込むようにしてもよい。
【００１７】
製品定義ファイルには、その製品が監査のために出力するログファイルの数（Ｃ２０１）、ログファイル数に指定した数分の収集対象とするログファイルの名称（Ｃ２０２）、適用する正規化ルールのファイル名（Ｃ２０３）を定義する。
【００１８】
図３は、動作定義ファイル１０７、２０５の定義例である。動作定義ファイルは、ログ管理サーバ側でログ収集の対象とする製品（プログラム毎）に予め作成するか、条件設定部からの入力内容を元に生成し、ログ収集対象マシン側へ送信する。
【００１９】
動作定義ファイルには、その製品が監査のために出力するログファイルのタイプ（Ｃ３０１）、ログファイルのレコード形式（Ｃ３０２）、ログファイルのヘッダーの行数（Ｃ３０３）やログファイルのヘッダーのサイズ（Ｃ３０４）、指定した文字列に部分一致するレコードを監視対象外にする設定（Ｃ３０５）あるいは、指定した文字列に部分一致するレコードだけを監視対象にする設定（Ｃ３０６）を定義する。
【００２０】
指定した文字列に部分一致するレコードを監視対象外にする設定（Ｃ３０５）あるいは、指定した文字列に部分一致するレコードだけを監視対象にする設定（Ｃ３０６）は複数設定が可能である。
【００２１】
図４は、監査定義ファイル１０８の定義例である。監査定義ファイルは、ホスト名をセクションとしてそのホストで収集対象となる製品に関する情報を定義する。セクション名を複数設定して複数のホストのログファイルに関する設定をすることもできる。
【００２２】
監査定義ファイルには、ホスト名（セクション名）（Ｃ４０１）、そのホストで稼働している製品の動作定義ファイル名（Ｃ４０２）、その製品が監査のために出力するログファイルのタイプ（Ｃ３０１）、ログファイルのレコード形式（Ｃ３０２）、ログファイルのヘッダーの行数（Ｃ３０３）やログファイルのヘッダーのサイズ（Ｃ３０４）、指定した文字列に部分一致するレコードを監視対象外にする設定（Ｃ３０５）あるいは、指定した文字列に部分一致するレコードだけを監視対象にする設定（Ｃ３０６）を定義する。動作定義ファイル名、製品定義ファイル名、ファイルの監視間隔、ログ出力プログラム名は、監視する製品の複数指定が可能である。なおログ出力プログラムはプログラムに限らず、ログ出力を行うログ出力部であってもよい。
【００２３】
図５、図６は、正規化ルールファイル（１１２）の定義例である。正規化ルールファイルは、ログのタイプを指定する［ＬＯＧＴＹＰＥ］セクションと、ログレコードから必要な情報を切り出すためのルールを定義するセクション（名称は任意、複数指定可能）からなる。正規化ルールファイルは、ログタイプ毎に作成する。
【００２４】
本発明では、出力ログを識別するためにレコードの先頭に埋め込まれている情報をセクション名としている。CALFHM 1.0,で始まるログデータを図５に示すルールで正規化し、A001 で始まるログデータを図６に示すルールで正規化する。
【００２５】
正規化ルールファイルには、ログのタイプを指定の開始位置を示す［ＬＯＧＴＹＰＥ］セクション（Ｈ５０１、Ｈ６０１）、ログの形式（Ｈ５０２、Ｈ６０２）、ログの区切り文字の種別（Ｈ５０３、Ｈ６０３）、以降のセクション名の有無（Ｈ５０４、Ｈ６０４）、読み出し開始位置（Ｈ５０５、Ｈ６０５）、エスケープの種別（Ｈ５０６、Ｈ６０６）、エスケープ開始文字指定（Ｈ６０７）、エスケープ終了文字指定（Ｈ６０８）を定義する。
【００２６】
ここまでの定義について、以下にさらに詳細に説明する。
ログの形式Ｈ６０２には、ＫＥＹ，ＶＡＬＵＥ，ＥＶＥＮＴがある。
ＫＥＹは、ログのデータが、「KEY=値」の形式であることを示す。
ＶＡＬＵＥは、「値」が羅列された形式であることを示す。
ＥＶＥＮＴは、ＯＳなどが出力するイベント形式であることを示す。
これらの設定は、正規化するログの形式が異なる場合、その形式に合う定義を追加していくことができる。
【００２７】
ログの区切り文字の種別Ｈ６０３には、ｓｐａｃｅ，ｃｏｍｍａ，ＣＲＬＦがある。
ｓｐａｃｅは、ログのデータが「“＿”（スペース）」で区切られていることを示す。ｃｏｍｍａは、ログのデータが「“,”（カンマ）」で区切られていることを示す。ＣＲＬＦは、ログのデータが「“CR+LF”（改行コード）」で区切られていることを示す。
【００２８】
これらの設定は、正規化するログの形式が異なる場合、その形式に合う定義を追加していくことができる。
【００２９】
以降のセクション名の有無Ｈ６０４には、０（行わない）,１（行う）がある。読み出し開始位置Ｈ６０５には、数値を指定する。０を指定した場合は、ログレコードの先頭から読み出しを行い、１が指定されている場合は、最初の区切り文字までを読み飛ばし、２つめのデータから読み出しを行う。同様にログレコードの先頭から指定されている数分の区切り文字分を読み飛ばすということを示す。
【００３０】
エスケープの種別Ｈ６０６には、０（エスケープ文字を使用しない）,１（「”（ダブルコーテーション）」を使用する）,２（「”（ダブルコーテーション）」以外のエスケープ文字を使用する）がある。エスケープ種別に、「２」を指定した場合には、エスケープ開始文字指定Ｈ６０７でエスケープの開始文字を、エスケープ終了文字指定Ｈ６０８でエスケープの終了文字指定をする。例えば、図６では、エスケープの開始文字を［、終了文字を］と指定している。
【００３１】
続けて、図５の［CALFHM 1.0］セクションのルール定義について説明する。
1=AuditLogID:-:seqnum:2
行の先頭は通番である。１から順に処理を行う。「AuditLogID」が、「-（必ず存在）」であり、KEY名称が「seqnum」の値を読み出して、図７に示す「AuditLogID（監査ログＩＤ：Ｔ７０１）」テーブルに格納することを意味し、この処理が終わると次に行う処理が２で始まる行に記述されていることを示す。
【００３２】
2=MessageID:-:msgid:3
２は１と同様の処理を行う。「MessageID」が「-（必ず存在）」であり、KEY名称が「msgid」の値を読み出して、図７に示す「MessageID（メッセージログＩＤ：Ｔ７０２）」テーブルに格納することを意味し、この処理が終わると次に行う処理が３で始まる行に記述されていることを示す。
【００３３】
3=MessageDate:D:date:4
３は「MessageDate」が「D（日付け形式のデータ）」であり、KEY名称が「date」の値を読み出して、図７に示す「MessageDate（発生日時：Ｔ７０３）」テーブルに格納することを意味し、この処理が終わると次に行う処理が４で始まる行に記述されていることを示す。
【００３４】
４、５、６では、同様にして、プログラム名（Ｔ７０４）、コンポーネント名（Ｔ７０５）、プロセスＩＤ（Ｔ７０６）をそれぞれ読み出してテーブルに格納する。
【００３５】
7=PlaceInfo:S:”ocp:host,ocp:ipv4,ocp:ipv6”:8
７は、「PlaceInfo」が「S（いくつかの候補があるデータ）」であり、KEY名称が「ocp:host」、「ocp:ipv4」、「ocp:ipv6」のいずれかに該当する値を読み出して、図７に示す「PlaceInfo（発生場所：Ｔ７０７）」テーブルに格納することを意味し、この処理が終わると次に行う処理が８で始まる行に記述されていることを示す。
【００３６】
８，９では、同様にして、監査事象（Ｔ７０８）、結果（Ｔ７０９）をそれぞれ読み出してテーブルに格納する。
【００３７】
10=SubjectInfo:S:”subj:uid,subj:euid,subj:pid”:11
１０は、７と同様に「SubjectInfo」が「S（いくつかの候補があるデータ）」であり、KEY名称が「subj:uid」、「subj:euid」、「subj:pid」のいずれかに該当する値を読み出して、図７に示す「SubjectInfo（利用者情報：Ｔ７１０）」テーブルに格納することを意味し、この処理が終わると次に行う処理が１１で始まる行に記述されていることを示す。
【００３８】
11= PeculiarInfo:M:" obj,op,auth":0
１１は、「M（複数のKEY指定がある）」があり、KEY名称が「obj」、「op」、「auth」に該当する値を読み出して、図７に示す「Object（操作対象：Ｔ７１１）」、「Operation（操作内容：Ｔ７１２）」、「Authority（権限情報：Ｔ７１６）」テーブルに格納することを意味し、この処理が終わると次に行う処理は無い（この処理で終了する）ことを示す。
【００３９】
同様に、図６の［A001］セクションのルール定義について説明する。
1=AuditLogID:*:0:2
行の先頭は通番である。１から順に処理を行う。「AuditLogID」が、「*（固定値）」であり、0を図７に示す「AuditLogID（監査ログＩＤ：Ｔ７０１）」テーブルに格納することを意味し、この処理が終わると次に行う処理が２で始まる行に記述されていることを示す。
【００４０】
2=CHECK:J:4:”:”:3:4
２は、「J（判定）」することを示す。図６では区切り文字がスペースであるので、スペースで区切られた４つめの値に「：（コロン）」が存在する場合（真）、次に行う処理が３で始まる行に記述されていることを示し、「：（コロン）」が存在しない場合（偽）、次に行う処理が４で始まる行に記述されていることを示す。
【００４１】
3=MessageDate:D:2,3,4:5
4=MessageDate:D:2,3:6
３は、「MessageDate」が「D（日付け形式のデータ）」であり、スペースで区切られた２つめの値、３つめの値、４つめの値が日付データであることを示している。この場合、「MMM DD hh:mm:ss」（MMMは、Jan等３文字の英語の月表記）の値を読み出して、データ変換を行い（本発明では、YYYY-MM-DDThh:mm:ss.sssTZD形式に変換）、図７に示す「MessageDate（発生日時：Ｔ７０３）」テーブルに格納することを意味し、この処理が終わると次に行う処理が５で始まる行に記述されていることを示す。
【００４２】
４は、「MessageDate」が「D（日付け形式のデータ）」であり、スペースで区切られた２つめの値、３つめの値が日付データであることを示している。この場合、「YYYY/MM/DD hh:mm:ss」の値を読み出して、データ変換を行い（本発明では、YYYY-MM-DDThh:mm:ss.sssTZD形式に変換）、図７に示す「MessageDate（発生日時：Ｔ７０３）」テーブルに格納することを意味し、この処理が終わると次に行う処理が６で始まる行に記述されていることを示す。
【００４３】
5=CHECK:J:5:KAVS:7:8
7=ProcessID:*:-1:11
8=ProcessID:-:5:12
５は、「J（判定）」することを示す。スペースで区切られた５つめの値に「KAVS」が存在する場合（真）、次に行う処理が７で始まる行に記述されていることを示し、７では、「*（固定値）」、-1を図７に示す「ProcessID（プロセスＩＤ：Ｔ７０６）」テーブルに格納、「KAVS」が存在しない場合（偽）、次に行う処理が８で始まる行に記述されていることを示し、８では、「-（必ず存在）」する５つめの値を「ProcessID（プロセスＩＤ：Ｔ７０６）」テーブルに格納することを意味し、この処理が終わると次に行う処理が１２で始まる行に記述されていることを示す。
【００４４】
12=MessageID:-:6:15
１２は、「MessageID」が「-（必ず存在）」する６つめの値を「MessageID（プロセスＩＤ：Ｔ７０２）」テーブルに格納することを意味し、この処理が終わると次に行う処理が１５で始まる行に記述されていることを示す。
【００４５】
15=PeculiarInfo:*:obj=,op=:18
１５は、「*（固有値）」を図７に示す「Object（操作対象：Ｔ７１１）」、「Operation（操作内容：Ｔ７１２）」テーブルに格納することを意味し、この処理が終わると次に行う処理が１８で始まる行に記述されていることを示す。
【００４６】
18=PeculiarInfo:A:auth=:7:21
１８は、「A（加工）」することを示す。「auth=」に、スペースで区切られた７つめの値を付加して、図７に示す「Authority（権限情報：Ｔ７１６）」テーブルに格納することを意味し、この処理が終わると次に行う処理が２１で始まる行に記述されていることを示す。
【００４７】
21=PeculiarInfo:N:8:23
２１は、「N（すべて転記）」することを示す。スペースで区切られた８つめ以降の値をすべて、「Message（メッセージ：Ｔ７２４）」テーブルに格納することを意味し、この処理が終わると次に行う処理が２３で始まる行に記述されていることを示す。２３、２４では同様にして、「*（固定値）」Program2を「プログラム名（Ｔ７０４）」、””を「コンポーネント名（Ｔ７０５）」テーブルに格納する。
【００４８】
25=PlaceInfo:H:26
２５は、イベントサーバ名称を「PlaceInfo（発生場所：Ｔ７０７）」テーブルに格納することを意味し、この処理が終わると次に行う処理が２６で始まる行に記述されていることを示す。２６、２７、２８では同様にして、「*（固定値）」StartStopを「監査事象（Ｔ７０８）」、Successを「結果（Ｔ７０９）」””を「コンポーネント名（Ｔ７０５）」テーブルに格納する。
【００４９】
この処理が終わると次に行う処理は無い（この処理で終了する）ことを示す。説明を省略した処理についても同様にして処理を行う。
【００５０】
図７は、監査ログ格納データベースのテーブル構造を示す。図５、図６の説明で引用したように、正規化ルールに従って、収集したログデータから必要な情報を切り出した後、このデータベースの該当テーブルに値を格納する。
【００５１】
監査ログ格納データベースのテーブルは、監査ログＩＤ（Ｔ７０１）、メッセージＩＤ（Ｔ７０２）、発生日時（Ｔ７０３）、プログラム名（Ｔ７０４）、コンポーネント名（Ｔ７０５）、プロセスＩＤ（Ｔ７０６）、発生場所（Ｔ７０７）、監査事象（Ｔ７０８）、結果（Ｔ７０９）、利用者情報（Ｔ７１０）、操作対象（Ｔ７１１）、操作内容（Ｔ７１２）、ロケーション情報（Ｔ７１３）、変更前情報（Ｔ７１４）、変更後情報（Ｔ７１５）、権限情報（Ｔ７１６）、サービスインスタンス名（Ｔ７１７）、リクエスト沿おう受信ホスト（Ｔ７１８）、リクエスト送受信ポート（Ｔ７１９）、一括操作識別子（Ｔ７２０）、ログ種別情報（Ｔ７２１）、出力元の場所（Ｔ７２２）、エージェント情報（Ｔ７２３）、メッセージ（Ｔ７２４）で構成される。
【００５２】
図８は、ログ収集サーバ側で表示する監査ログの収集設定参照画面例である。「追加」ボタンを押すと図９に示すような入力ダイヤログにより、監査ログを収集対象とするマシン（イベントサーバ名）やプログラム名を指定できる。
【００５３】
プログラム名を指定すると、製品定義ファイルからログファイルの名称を読み込むことができる。さらに、指定されたイベントサーバと通信を行い、イベントサーバ側のログファイル格納先を検索し、該当ファイルが見つかった場合に、そのログファイルのログファイル格納先フォルダ名（フルパス情報）を自動的に指定できる。このようにして複数のマシンの複数のログファイルを収集対象として設定した結果を図８のように確認することができる。
【００５４】
図１０および図１１は、図８、図９に関連したログ管理サーバおよびログ収集対象マシン（イベントサーバ）の内部処理を説明するシーケンス図である。
【００５５】
ログ管理サーバでグラフィカルユーザインタフェース（ＧＵＩ）を起動し（Ｓ１００１）、図９に示すような設定画面を表示する（Ｓ１００２）。入力を受け付けて（Ｓ１００３）、イベントサーバ名の入力がない場合（Ｓ１００４−ＮＯ）、入力受付状態に戻る。
【００５６】
イベントサーバ名が入力されると（Ｓ１００４−ＹＥＳ）、プログラム名の入力がない場合（Ｓ１００５−ＮＯ）、入力受付状態に戻る。プログラム名が入力されていれば（Ｓ１００５−ＹＥＳ）、製品定義ファイルから定義されているログファイル名を読み込む（Ｓ１００６）。イベントサーバ名に指定されたログ収集対象マシンに対してコネクションを開始（Ｓ１００７）する。
【００５７】
ログ収集対象マシンは、待機状態（Ｓ１００８）であり、ログ管理サーバからの接続要求を受け付け（Ｓ１００９）、ＯＳ情報を取得（Ｓ１０１０）し、ＯＳ情報と自身の製品バージョン情報を収集管理サーバへ送信する（Ｓ１０１１）。
【００５８】
ログ管理サーバは、受信したＯＳ情報と製品バージョン情報をチェック（Ｓ１０１２）する。これは、ＯＳの違いにより収集するファイル名が異なる場合があることや、バージョンによって定義ファイルの形式が異なることを想定した処理を行うためであり、ログ管理サーバは、ログ収集対象マシンのＯＳや製品バージョンに対応する収集ログファイル名を送信（Ｓ１１０１）する。
【００５９】
ログ収集対象マシンは、収集ログファイル名を受信し、ログファイルを検索（Ｓ１１０２）する。ログファイルが存在しない場合（Ｓ１１０３−ＮＯ）、ログ管理サーバにエラーを返し、ログ管理サーバは、エラーメッセージを表示（Ｓ１１０４）して処理を終了（Ｓ１１０５）する。ログファイルが存在する場合（Ｓ１１０３−ＹＥＳ）、全てのファイルが検索できるまでループ（Ｓ１１０６−ＮＯ）する。全てのログファイルについて、ログファイルの存在が確認できた場合（Ｓ１１０６−ＹＥＳ）、検索した全てのログファイルの情報をログ管理サーバに送信する（Ｓ１１０７）。
【００６０】
ログ管理サーバ１００は、ログファイルの情報を受信して、動作定義ファイル１０７を生成（Ｓ１１０８）し、監査定義ファイル１０８を生成（Ｓ１１０９）し、作成した定義ファイルをログ収集対象サーバ２００に送信する（Ｓ１１１０）。
【００６１】
ログ収集対象サーバ２００は、定義ファイルを受信し、動作定義ファイル２０５を生成（Ｓ１１１１）し、ログ収集部２０８を起動して起動順序定義ファイル２０４を更新（Ｓ１１１２）し、処理完了通知をログ管理サーバ１００に送信（Ｓ１１１３）して、待機する（Ｓ１１１４）。
【００６２】
ログ管理サーバ１００は、完了通知を受信して完了メッセージを表示（Ｓ１１１５）し、処理を終了する（Ｓ１１１６）。
【００６３】
ここで、起動順序定義ファイル２０４とは、プログラムやログ収集部などの部品を起動する順序を定義してあるファイルであり、ＯＳが起動時に起動順序定義ファイル２０４に定義した順番にプログラムを起動するための定義である。
【００６４】
図１２は、収集対象ログ取得時のログ収集対象マシン２００の内部処理を示すシーケンス図である。起動順序定義２０４によりＯＳ起動時にログ収集に必要なプログラムを順番どおりに起動（Ｓ１２０１）する。製品毎に起動されたログ収集部２０８は、関連する製品の動作定義ファイル２０５を読み込み（Ｓ１２０２）、その製品が出力するログファイルを監視する（Ｓ１２０３）。監視対象に指定されているログが出力されるまでループし（Ｓ１２０４−ＮＯ）、監視対象に指定されているログが出力される（Ｓ１２０４−ＹＥＳ）と該当ログデータを取得（Ｓ１２０５）し、ログ収集制御部２０９へ受け渡す。
【００６５】
ログ収集制御部２０９は、複数のログ収集部２０８から取得したログデータを取得順に採番して、転送データ格納部２１０へ格納する（Ｓ１２０６）。これらの処理は、マシンが停止するまで繰り返し行う。
【００６６】
図１３は、ログ管理サーバ１００がログを収集する時のログ管理サーバ１００およびログ収集対象マシン２００の内部処理を示すシーケンス図である。
【００６７】
定期的にログを収集する方法では、設定時刻になるまで待機（Ｓ１３０１）および（Ｓ１３０２−ＮＯ）し、設定時刻になると（Ｓ１３０２−ＹＥＳ）、前回取得したログデータから次に読み込むべきログの開始位置を読み込み（Ｓ１３０３）、ログ収集対象マシン２００に対して、ログデータの送信要求を送信する（Ｓ１３０４）。
【００６８】
ログ収集対象サーバ２００は、ログの開始位置を受信して、転送データ格納部から今回送信するデータを抽出し（Ｓ１３０６）、ログデータを送信（Ｓ１３０７）して待機状態に戻る（Ｓ１３０８）。
【００６９】
ログ管理サーバ１００は、ログデータを受信（Ｓ１３０９）し、受信したログデータを正規化ルールに従って必要な情報を切り出してデータベースに登録する（Ｓ１３１０）。
【００７０】
受信したログデータの全ての処理が終わるまでループ（Ｓ１３１１−ＮＯ）し、最終エントリの処理が完了すると（Ｓ１３１１−ＹＥＳ）、待機状態に戻る（Ｓ１３１２）。
【００７１】
ここでは、定時イベント時の処理について説明したが、時間とは無関係の何らかの事象発生時にログの収集処理を実行するように構成することもできる。例えば、ログ収集対象マシン２００の転送データ格納部２１０の容量に対して、想定出力ログの量や頻度よりも実際に出力されるログが多いといった場合など、ログ収集対象マシン２００から、転送データ格納部２１０の空き容量が予め指定された値を下回ったあるいは上回ったといったイベント情報をログ管理サーバ１００に送信し、そのイベントを受け付けてログ収集処理を実行するといった構成にすることもできる。
【００７２】
これまでに説明した本発明の実施例によれば、リモートでのログ収集の定義設定を容易に実現するとともに、出力様式の異なるログをデータベースで一元管理することが可能になる。
【図面の簡単な説明】
【００７３】
【図１】ログ収集システムのおおまかなプログラム構成図
【図２】製品定義ファイルの定義例
【図３】動作定義ファイルの定義例
【図４】監査定義ファイルの定義例
【図５】正規化ルールファイルの１例
【図６−１】正規化ルールファイルの１例
【図６−２】正規化ルールファイルの１例
【図７】監査ログ格納データベースのテーブル例
【図８】監査ログ収集設定参照画面例
【図９】監査ログ収集対象の設定画面例
【図１０】ログ収集対象設定時のログ管理サーバの内部処理を示すシーケンス図の例
【図１１】ログ収集対象設定時のログ管理サーバおよびログ収集対象マシンの内部処理を示すシーケンス図の例
【図１２】収集対象ログ取得時のログ収集対象マシンの内部処理を示すシーケンス図の例
【図１３】ログ収集時のログ管理サーバおよびログ収集対象マシンの内部処理を示すシーケンス図の例
【符号の説明】
【００７４】
１００：ログ管理サーバ
１０３：監査ログ格納ＤＢ
１０６：製品定義ファイル
１０７：動作定義ファイル
１０８：監査定義ファイル
１１２：正規化ルールファイル
２００：ログ収集対象マシン
２０５：動作定義ファイル
【図１】
2008198039.tif 000003
【図２】
2008198039.tif 000004
【図３】
2008198039.tif 000005
【図４】
2008198039.tif 000006
【図５】
2008198039.tif 000007
【図６−１】
2008198039.tif 000008
【図６−２】
2008198039.tif 000009
【図７】
2008198039.tif 000010
【図８】
2008198039.tif 000011
【図９】
2008198039.tif 000012
【図１０】
2008198039.tif 000013
【図１１】
2008198039.tif 000014
【図１２】
2008198039.tif 000015
【図１３】
2008198039.tif 000016