ログ・モニター構成ファイルには、 1 つまたは複数の構成コマンド行が含まれていなければなりません。 これらのコマンドは、モニターするログ・ファイル、 ウェイクアップ間隔、メッセージ宛先、およびフィルター基準を定義します。
構成ファイルのそれぞれの行は、空行にすることもでき、 注釈または構成コマンドを入れることもできます。 注釈行の先頭には、ポンド記号 (#) を付けます。 1 つまたは複数のスペース文字を、 注釈標識または構成コマンドの先頭文字の前に空けることができます。 また、先頭にポンド記号を付けると、 それぞれの構成コマンド行の末尾に注釈を入力することもできます。
# DB2 Query Patroller sample log monitor configuration file INTERVAL 15 # wake up every 15 seconds LOGFILE * TRUNCATE # truncate the log at start-up MAILTO iwm root # send e-mail to these users MAILTO admin@customer.com # add this one too INCLUDE SEV=E # include error messages EXCLUDE ALL # exclude all others
ログ・ファイルに書き込まれるメッセージは、以下の形式で表示されます。
<date-time> <node> <program> <pid> <message-id> <source-line> <text>
それぞれの意味は以下のとおりです。
デフォルトのログ・ファイル名は syserr.log です。 DB2 クエリー・パトローラーはこのファイルを、 $DQP_RUNTIME/log ディレクトリー (UNIX の場合)、 または sqllib\db2\log ディレクトリー (Windows の場合) に作成します。 ただし、DQP_LOG プロファイル変数を設定すれば、DB2 クエリー・パトローラーは、 指定したディレクトリーにこのログ・ファイルを作成します。
構文:
>>-INTERVAL----seconds-----------------------------------------><
INTERVAL コマンドは、1 つのパラメーターを受け入れます。これは、ログ・モニターが、 新しいメッセージのログ・ファイルを検査する間に待機する時間 (秒数) です。 INTERVAL コマンドを指定しない場合には、パラメーターのデフォルトは 30 秒になります。 複数の INTERVAL コマンドを指定すると、ログ・モニターは、最後に指定されたコマンドを使用します。
構文:
>>-LOGFILE----+-file_name--+---+-----------+------------------->< '-*----------' +-TRUNCATE--+ '-CONTINUE--'
LOGFILE コマンドは、ログ・ファイル名、 およびログ・モニターの開始時に実行されるアクションを定義します。 最初に、ログ・ファイル名パラメーターを指定しなければなりません。 デフォルト・ログ・ファイル名を使用したい場合には、アスタリスク (*) を指定できます。 デフォルトのログ・ファイル名は syserr.log です。 DB2 クエリー・パトローラーはこのファイルを、 DQP_RUNTIME/log ディレクトリー (UNIX の場合)、 または instance_directory\log ディレクトリー (Windows の場合) に作成します。 ただし、DQP_LOG プロファイル変数を設定すれば、DB2 クエリー・パトローラーは、 指定したディレクトリーにこのログ・ファイルを作成します。
実行するアクションは、TRUNCATE または CONTINUE で指定するか、 あるいはこれらのキーワードを全く付けずに指定することもできます。 TRUNCATE を指定すると、DB2 クエリー・パトローラーは、ログ・モニターの初期化を実行するときに、 ログ・ファイルからすべてのメッセージを除去します。 CONTINUE を指定すると、DB2 クエリー・パトローラーは、 ログ・モニターが開始した後にログ・ファイルに追加するメッセージのみ送信します。 これらのキーワードを省略すると、DB2 クエリー・パトローラーは、新しいメッセージと共に、 すでにログ・ファイルにあるすべてのメッセージを送信します。
複数の LOGFILE コマンドを指定すると、DB2 クエリー・パトローラーは最後のコマンドを使用します。 LOGFILE コマンドを指定しなければ、ログ・モニターは、 デフォルト・ログ・ファイルをモニターし、 開始時にログ・ファイルにすでにあるメッセージを送信します。
構文:
>>-MAILTO----address-------------------------------------------><
MAILTO コマンドは、メッセージの送付先を定義します。 それぞれの MAILTO コマンドには、1 つまたは複数の電子メール・アドレスを入れなければなりません。 少なくとも 1 つは MAILTO コマンドを指定しなければなりません。 Windows で DB2 クエリー・パトローラーを実行している場合、電子メール通知は、 Windows Message Application Programming Interface (MAPI) を使用して送信されます。 MAILTO コマンドで指定する電子メール・アドレスは、 MAPI サービス提供者が認識できる形式でなければなりません。 Windows での電子メール通知の設定については、Windows での電子メール通知を参照してください。
構文:
>>-+-INCLUDE--+---test1--+--------------------+---------------->< '-EXCLUDE--' '-test2--+--------+--' '-test3--'
各 test は、 SEV (メッセージ重大度)、 NUM (メッセージ番号)、 PGM (プログラム名)、 または ALL のいずれかです。
INCLUDE および EXCLUDE コマンドは、メッセージ・フィルター基準を定義します。 ログ・モニターは、フィルター・コマンドに対して新しいメッセージをそれぞれテストします。 受信側は、INCLUDE コマンドに適合するメッセージも、 どのフィルター・コマンドにも適合しないメッセージも受け取ります。 ログ・モニターは、構成ファイルに指定されている順序で、 フィルター・コマンドに対してそれぞれのメッセージをテストします。 指定されたすべてのテストでメッセージに一致する最初のコマンドにより、 メッセージが組み込まれるか除外されるかのいずれかになります。
ALL テストは、他のテストと一緒に指定することができません。 これは、構成ファイルで最後の INCLUDE または EXCLUDE コマンドにしか指定できません。 なぜなら、これはすべてのメッセージに適合し、 後続のすべてのフィルター・コマンドが無視されることになるからです。
他のテスト (SEV、NUM、および PGM) のうち、 それぞれのフィルター・コマンドごとに 3 つまで指定できますが、 それぞれのコマンドの各タイプには 1 つしか指定できません。 コマンドに複数のテストを指定する場合には、 すべてのテストが、適用するコマンドのメッセージと一致しなければなりません。 それぞれのテスト・タイプ名の後に、比較演算子と比較値を続けなければなりません。 演算子は、等号 (=) または感嘆符に等号を続けたもの (!=) のいずれかです。 等号は、テストが適合するには、テストは値と同値でなければならないことを意味します。 感嘆符に等号を続けたもの (!=) は、テストは値と同値ではならないことを意味します。 以下のリストで、フィルター・テストのタイプを説明します。
重大度比較値は、以下のいずれかの文字でなければなりません。 V (冗長)、W (警告)、I (通知)、または E (エラー)。 たとえば、エラー・メッセージをテストするには、SEV=E を使用します。 冗長メッセージ以外をテストするには、SEV!=V を使用します。
メッセージ番号比較値は、単一の 1〜5 桁の番号か、 またはコロン (:) で分離された 2 つの数により指定される、 メッセージ番号の範囲のいずれかでなければなりません。 たとえば、メッセージ 100 をテストするには、NUM=100 を使用します。 100 より大きい値のすべてのメッセージをテストするには、NUM!=0:100 を指定します。
プログラム名比較は、メッセージを生成したプログラムの名前でなければなりません。 たとえば、iwm_analyze プログラムにより生成されるメッセージのテストには、 PGM=iwm_analyze を使用します。 iwm_sqlexec プログラムにより生成されないメッセージのテストには、 PGM!=iwm_sqlexec を使用します。