Sun Java System Message Queue 3.7 UR1 管理ガイド

ブローカロギングの設定と使用

Message Queue ロガーでは、ブローカコード、デバッガ、メトリックスジェネレータによって生成された情報が取得され、その情報が、標準出力 (コンソール)、ログファイル、Solaris™ オペレーティングシステムの syslog デーモンプロセスなど、多くの出力チャネルに書き込まれます。

ロガーが収集する情報のタイプと、各出力チャネルに書き込む情報のタイプを指定できます。特に、メトリックス情報のログファイルへの書き込みを指定できます。

この節では、ブローカのデフォルトロギング設定、代替出力チャネルにログ情報をリダイレクトする方法、ログファイルロールオーバー基準の変更方法、メトリックスデータをログファイルに送信する方法について説明します。

デフォルトのロギングの設定

ブローカは、ローリングログファイルのセットにログ出力を保存するように自動的に設定されます。ログファイルは、関連付けられたブローカのインスタンス名によって識別されるディレクトリに配置されます (付録 A 「プラットフォームごとの Message QueueTM データの場所」を参照)。

…/instances/instanceName/log

注 –

ライフサイクルがアプリケーションサーバーによって制御されるブローカでは、ログファイルはブローカが起動されたドメインのドメインディレクトリのサブディレクトリに配置されます。

…/appServer_domainName_dir/imq/instances/imqbroker/log

ログファイルは、簡単なテキストファイルです。ログファイルは、次のように順番に名前が付けられています。

log.txt
log_1.txt
log_2.txt
…log_9.txt

デフォルトでは、ログファイルは週に 1 回ロールオーバーされ、システムは 9 つのバックアップファイルを保持します。

ブローカでは、ERRORWARNING INFO という、3 つのログレベルがサポートされます。表 10–2 では、それぞれのレベルについて説明します。

表 10–2 ロギングレベル

レベル 

説明 

ERROR

システム障害が生じる可能性のある問題点を示すメッセージです。 

WARNING

システム障害が生じる可能性はないが、留意すべき警告です。 

INFO

メトリックスおよびその他の情報メッセージの報告です。 

ロギングレベルを設定すると、そのレベル以上のメッセージが収集されます。デフォルトのログレベルは INFO なので、ERROR メッセージ、WARNING メッセージ、INFO メッセージはすべてデフォルトで記録されます。

ログメッセージの書式設定

ログメッセージは、タイムスタンプ、メッセージコード、メッセージ自体から構成されます。情報量は、設定したログレベルにより異なります。INFO メッセージの例を次に示します。


[13/Sep/2000:16:13:36 PDT] [B1004]: Starting the broker service using tcp 
[25374,100] with min threads 50 and max threads of 500

タイムスタンプのタイムゾーンを変更するには、表 14–8 に示す imq.log.timezone プロパティーに関する情報を参照してください。

ロガー設定の変更

ログ関連のプロパティーについては、表 14–8 を参照してください。

Procedureブローカのロガー設定を変更する

  1. ログレベルを設定します。

  2. 1 つまたはそれ以上のロギングカテゴリの出力チャネル (ファイル、コンソール、またはその両方) を設定します。

  3. 出力をファイルに記録する場合、ファイルのロールオーバー基準を設定します。

    ロガープロパティーを設定すると、手順は完了します。ロガープロパティーの設定は、次のどちらかの方法で行います。

    • ブローカを起動する前に、ブローカの config.properties ファイルでロガープロパティーを変更または追加します。

    • ブローカを起動する imqbrokerd コマンドでロガーコマンド行オプションを指定します。また、オプション -D を使用して、ロガープロパティーまたは 任意のブローカプロパティーを変更できます。

    コマンド行で渡されたオプションは、ブローカインスタンス設定ファイルで指定されたプロパティーを上書きします。次の imqbrokerd オプションは、ロギングに影響します。

    -metrics interval

    ブローカメトリックスのロギング間隔 (秒単位)

    -loglevel level

    ロギングレベル (ERRORWARNING INFO、または NONE)

    -silent

    サイレントモード (ロギングはコンソールに表示されない)

    -tty

    コンソールにすべてのメッセージをログ出力します

    続いて、デフォルトの設定を変更して、次のことを実行する方法を説明します。

    • ログメッセージの送信先である、出力チャネルの変更

    • ロールオーバー基準の変更

出力チャネルの変更

デフォルトでは、エラーメッセージと警告メッセージは、ログファイルに記録されると同時に、端末に表示されます。Solaris では、エラーメッセージはシステムの syslog デーモンにも書き込まれます。

次の方法で、ログメッセージの出力チャネルを変更できます。


注 –

ロガー出力チャネルを変更する前に、出力チャネルにマッピングされた情報をサポートするレベルにロギングが設定されていることを確認する必要があります。たとえば、ログレベルを ERROR に設定し、imq.log.console.output プロパティーを WARNING に設定すると、WARNING メッセージのロギングが有効になっていないため、どのメッセージも記録されません。


ログファイルのロールオーバー基準の変更

ログファイルのロールオーバーには、時間とサイズの 2 つの基準があります。デフォルトでは時間の基準が使用され、7 日ごとにファイルがロールオーバーされます。

時間に関連するロールオーバープロパティーとサイズに関連するロールオーバープロパティーの両方が設定されている場合は、どちらかの制限に最初に達したときにロールオーバーが実行されます。前の節でも説明したように、ブローカでは 9 つのロールオーバーファイルが保持されます。

ログファイルのロールオーバープロパティーの設定や変更は、ブローカの動作時に実行できます。このプロパティーを設定するには、imqcmd update bkr コマンドを使用します。

ログファイルへのメトリックスデータの送信

この節では、ブローカログファイルを使用してメトリックス情報を報告するための手順を説明します。ロガーの設定方法については、「ブローカロギングの設定と使用」を参照してください。

Procedureログファイルを使用してメトリックス情報を報告する

  1. ブローカのメトリックス生成機能を設定します。

    1. imq.metrics.enabled=true に設定されていることを確認します。

      デフォルトでは、ロギング用のメトリックスの生成は有効になっています。

    2. メトリックスの生成間隔を適切な秒数に設定します。

      imq.metrics.interval=interval

      この値は、config.properties ファイル内で設定するか、またはブローカの起動時に -metrics interval コマンド行オプションを使用して設定できます。

  2. ロガーがメトリックス情報を収集していることを確認します。


    imq.log.level=INFO

    これはデフォルト値です。この値は、config.properties ファイル内で設定するか、またはブローカの起動時に -loglevel level コマンド行オプションを使用して設定できます。

  3. ロガーが、メトリックス情報をログファイルへ書き込むように設定されていることを確認します。


    imq.log.file.output=INFO

    これはデフォルト値です。config.properties ファイル内で設定できます。

  4. ブローカを起動します。

    ログファイルに出力されたブローカメトリックスの例を次に示します。


    [21/Jul/2004:11:21:18 PDT]
    Connections: 0    JVM Heap: 8323072 bytes (7226576 free) Threads: 0 (14-1010)
          In: 0 msgs (0bytes) 0 pkts (0 bytes)
         Out: 0 msgs (0bytes) 0 pkts (0 bytes)
     Rate In: 0 msgs/sec (0 bytes/sec) 0 pkts/sec (0 bytes/sec)
    Rate Out: 0 msgs/sec (0 bytes/sec) 0 pkts/sec (0 bytes/sec)

    メトリックスデータの詳細については、第 18 章「メトリックスのリファレンス」を参照してください。

デッドメッセージのロギング

ブローカのデッドメッセージロギングを有効にすると、物理的送信先を監視できます。デッドメッセージキューを使用しているかどうかに関係なく、デッドメッセージを記録できます。

デッドメッセージロギングを有効にすると、次のタイプのイベントが、ブローカによって記録されます。

デッドメッセージキューを使用している場合、ロギングには次のタイプのイベントも含まれます。

デッドメッセージのログ形式の例を次に示します。


[29/Mar/2006:15:35:39 PST] [B1147]: Message 8-129.145.180.87(e7:6b:dd:5d:98:aa)-
35251-1143675279400 from destination Q:q0 has been placed on the DMQ because 
[B0053]: Message on destination Q:q0 Expired: expiration time 1143675279402, 
arrival time 1143675279401, JMSTimestamp 1143675279400

デッドメッセージのロギングは、デフォルトでは無効になっています。有効にするには、ブローカ属性 imq.destination.logDeadMsgs を設定します。