Sun Java System Directory Server Enterprise Edition 6.3 トラブルシューティングガイド

Message Queue コンポーネントのトラブルシューティング

ここでは、Message Queue コンポーネントとそのブローカに関する問題のトラブルシューティングの方法について説明します。項目は、次のとおりです。

この章の内容は次のとおりです。

telnet を使用した、Message Queue ブローカが実行中であることの確認

Message Queue ブローカが実行されていることを確認します。telnet コマンドを使用して、Message Queue ブローカが実行されているマシンおよびポートに接続すると、アクティブな Message Queue サービスの一覧が返されます。


# telnet localhost 7676
Trying 127.0.0.1...
Connected to localhost.
Escape character is \q^]\q.
101 psw-broker 3.0.1
cluster tcp CLUSTER 32914
admin tcp ADMIN 32912
portmapper tcp PORTMAPPER 7676
ssljms tls NORMAL 32913
jms tcp NORMAL 32911
Connection closed by foreign host.

ssljms tcp NORMAL サービスが出力に含まれていない場合は、Message Queue ログで可能性のある問題について調べます。このログの場所は、次のように、使用しているプラットフォームによって異なります。


[13/Mar/2003:18:17:09 CST] [B1004]:
'Starting the portmapper service using tcp
[ 7676, 50 ]
with min threads 1 and max threads of 1'

ブローカが実行されていない場合、Solaris および Linux では /etc/init.d/imq start コマンドを実行してブローカを起動します。Windows の場合は、iMQ Broker Windows サービスを開始してブローカを起動します。

Message Queue を Solaris 8 にインストールし、mquinstall コマンドを実行してすべてのパッケージをインストールする場合は、mqinstall コマンドを実行する前に必ず IMQ_JAVAHOME プロパティーを設定してください。これにより、ソフトウェアが確実に正しいバージョンの Java を選択します。

まだコアコンポーネントをインストールしていない場合は、どのバージョンの Java を使用すべきかを Identity Synchronization for Windows インストールプログラムが Message Queue ブローカに指示するため、IMQ_JAVAHOME プロパティーを設定する必要はありません。

Message Queue ブローカに関するその他の情報の収集

デバッグログを有効にしてブローカを実行すると、問題に関するその他の情報を収集しやすくなります。デバッグログレベルを有効にするには、次のコマンドを実行します。


# imqbrokerd -loglevel DEBUG

次のコマンドを使用して、ブローカのデバッグダンプを取得します。


imqcmd dump bkr -edebug -u admin -o file=filename

Directory Server での通信の問題のトラブルシューティング

Message Queue ブローカは、Identity Synchronization for Windows 設定を格納する Directory Server でクライアントを認証します。ブローカがこの Directory Server に接続できない場合、クライアントは Message Queue に接続できません。ブローカログには、javax.naming.CommunicationExceptionjavax.naming.NameNotFoundException などの javax.naming 例外が記録されます。

javax.naming 例外が発生した場合は、次の手順を実行します。

メモリーの問題のトラブルシューティング

Message Queue ブローカは、通常の操作中は適度なメモリー量を消費します。ただし、idsync resync 操作の最中は、ブローカのメモリー要件が大きくなります。ブローカの使用メモリー制限に達すると、未配信メッセージが蓄積されて、idsync resync 操作の速度が著しく低下したり、Identity Synchronization for Windows が応答しなくなったりすることもあります。

ブローカがメモリー低下状態になると、そのログに次のメッセージが表示されます。


[03/Nov/2003:14:07:51 CST] [B1089]:
In low memory condition,
Broker is attempting to f
ree up resources [03/Nov/2003:14:07:51 CST] [B1088]:
Entering Memory State [B0024]:
RED  from previous state [B0023]:
ORANGE - current memory is 1829876K,
90% of total memory

メモリー低下状態を回避するには、次の手順を実行します。

ProcedureMessage Queue ブローカのメモリー低下状態から回復する

  1. ブローカに未配信メッセージのバックログがあることを確認します。

    使用しているオペレーティングシステムの適切なディレクトリにある、ブローカの持続メッセージストアを調べます。

    • Solaris の場合: /var/imq/instances/psw-broker/filestore/message/

    • Linux の場合: /var/opt/sun/mq/instances/isw-broker/filestore/message/

    • Windows の場合: installation_root\isw- machine_name\imq\var\instances\isw-broker\filestore\message\

    このディレクトリ内の各ファイルには、1 つの未配信メッセージが含まれています。このディレクトリに 10,000 個を超えるファイルがある場合は、ブローカにメッセージのバックログがあります。そうでない場合、ブローカに関する問題の原因は未配信メッセージのバックログではありません。

    メッセージバックログには、通常は idsync resync 操作に関連するログファイルが含まれ、それらは安全に削除できます。

  2. Message Queue ブローカを停止します。

    詳細については、『Sun Java System Directory Server Enterprise Edition 6.3 Installation Guide - Ja』「Starting and Stopping Services」を参照してください。

  3. 持続メッセージストア内のすべてのファイルを削除します。

    これらのファイルを削除するもっとも簡単な方法は、message/ ディレクトリを再帰的に削除してから再度作成することです。

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

    将来メモリー不足にならないようにするには、この節の前のほうで説明した手順を実行します。