第10章 JBoss EAP を用いたロギング
JBoss EAP は、内部使用とデプロイされたアプリケーションの両方に対して、高度に設定可能なログ機能を提供します。logging サブシステムは JBoss LogManager を基盤とし、JBoss Logging だけでなくサードパーティーアプリケーションのロギングフレームワークを複数サポートします。
10.1. JBoss EAP のロギングメカニズム リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP は、サーバー環境の監視、トラブルシューティング、管理をサポートするさまざまなロギングメカニズムを提供します。これらのメカニズムを理解することで、JBoss EAP セットアップの保守とデバッグに活用できます。
10.1.1. JBoss EAP におけるサーバーロギング リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP では、サーバーロギングは主に server.log ファイルを通じて管理され、そこにすべてのログエントリーが記録されます。
このファイルの場所は、操作モードにより異なります。
-
スタンドアロンサーバーの場合:
EAP_HOME/standalone/log/server.log -
マネージドドメインの場合:
EAP_HOME/domain/servers/SERVER_NAME/log/server.log
一般的に、このファイルはサーバーログと呼ばれます。
10.1.2. JBoss EAP における起動ロギング リンクのコピーリンクがクリップボードにコピーされました!
起動中に JBoss EAP は Java 環境と各サービスの起動に関する情報をログに記録します。このログはトラブルシューティングに役立ち、デフォルトで サーバーログ に書き込まれます。
起動ロギングは、JBoss EAP の logging サブシステムが起動するまで使用される logging.properties ファイルで設定されます。
ファイルの場所は、操作モードによって異なります。
-
スタンドアロンサーバーの場合:
EAP_HOME/standalone/configuration/logging.properties 管理対象ドメイン: ドメインコントローラーと各サーバーの両方に、
logging.propertiesファイルがあります。-
ドメインコントローラー:
EAP_HOME/domain/configuration/logging.properties サーバー:
EAP_HOME/domain/servers/SERVER_NAME/data/logging.properties警告必要な場合を除き、
logging.propertiesファイルは直接編集しないでください。特定のユースケースがある場合は、変更する前に Red Hat カスタマーポータル を参照してください。logging.propertiesファイルへの手動での変更は、起動時に上書きされます。
-
ドメインコントローラー:
10.1.2.1. 起動エラーの表示 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP のトラブルシューティングでは、起動エラーの確認が重要なステップとなります。この情報を使用して、エラーを診断および解決できます。起動エラーのトラブルシューティングでサポートが必要な場合はサポートケースを作成してください。
起動エラーは次の方法で表示できます。
それぞれの方法には、要件に応じた利点があります。
10.1.2.1.1. server.log ファイルで起動エラーを確認する リンクのコピーリンクがクリップボードにコピーされました!
server.log ファイルを開いて起動中に発生したエラーを確認します。
このメソッドは、エラーメッセージと関連情報を提供するため、エラーの原因を理解するために役立ちます。エラーメッセージをプレーンテキスト形式で表示します。
前提条件
- JBoss EAP サーバーのファイルシステムにアクセスできる。
-
確認のために
server.logファイルにアクセスできる。
手順
-
ファイルビューアーで
server.logファイルを開きます。 - ファイルの最後に移動します。
-
最後の起動シーケンスの開始を示す
WFLYSRV0049メッセージ識別子を後方検索します。 ログのその位置から
ERRORを前方検索します。各検索一致箇所には、エラーの説明が示され、関連するモジュールがリストされます。以下は、
server.logログファイルのエラー説明の例です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.1.2.1.2. 管理 CLI コマンドで起動エラーを読み取る リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP のトラブルシューティングを行う場合、read-boot-errors 管理 CLI コマンドを使用して、起動中に報告されたエラーを表示できます。
この方法は、サーバーのファイルシステムにアクセスできない場合に使用でき、スクリプトによるリモート監視とエラーチェックが可能になります。管理 CLI コマンドを使用すると、起動エラーを特定して対処できます。たとえば、複数の JBoss EAP インスタンスを起動し、起動エラーをチェックするスクリプトを作成できます。
前提条件
- JBoss EAP が実行している。
- 管理 CLI にアクセスできる。
手順
管理 CLI を起動します。
<EAP_HOME>/bin/jboss-cli.sh
$ <EAP_HOME>/bin/jboss-cli.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の管理 CLI コマンドを実行します。
/core-service=management:read-boot-errors
/core-service=management:read-boot-errorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力で、起動中に発生したエラーのリストを確認します。
- 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.1.3. JBoss EAP におけるガベージコレクションロギング リンクのコピーリンクがクリップボードにコピーされました!
ガベージコレクションのロギングでは、すべてのガベージコレクションアクティビティーをプレーンテキストのログファイルに記録します。これらのログは、診断に使用できます。
ガベージコレクションログは、EAP_HOME/standalone/log/gc.log.DIGIT.current にあります。各ログファイルは 3 MB に制限されており、最大 5 つのファイルがローテーションされます。
ガベージコレクションのロギングは、トラブルシューティングに役立ち、オーバーヘッドも最小であるため、有効にしておくことが推奨されます。ただし、サーバーを起動する前に GC_LOG 変数を false に設定することで、スタンドアロンサーバーで無効にできます。以下に例を示します。
export GC_LOG=false EAP_HOME/bin/standalone.sh
$ export GC_LOG=false
$ EAP_HOME/bin/standalone.sh
10.1.4. JBoss EAP におけるデフォルトのログファイルの場所 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのロギング設定に基づいて、次のログファイルが作成されます。これらの設定では、periodic ログハンドラーを使用してサーバーログファイルを書き込みます。
| ログファイル | 説明 |
|---|---|
|
| 起動メッセージを含むサーバーログメッセージが含まれます。 |
|
| ガベージコレクションの詳細が含まれます。 |
| ログファイル | 説明 |
|---|---|
|
| ホストコントローラーの起動に関連するログメッセージが含まれます。 |
|
| プロセスコントローラーの起動に関連するログメッセージが含まれます。 |
|
| 起動メッセージを含む、名前付きサーバーのログメッセージが含まれます。 |
10.1.5. JBoss EAP におけるサーバーのデフォルトロケールを設定する リンクのコピーリンクがクリップボードにコピーされました!
起動設定ファイルに JVM プロパティーを設定することで、JBoss EAP のデフォルトロケールを設定できます。起動設定ファイルは、スタンドアロンサーバーの場合は EAP_HOME/bin/standalone.conf、管理対象ドメインの場合は EAP_HOME/bin/domain.conf です。
Windows Server の場合、JBoss EAP 起動設定ファイルは standalone.conf.bat と domain.conf.bat です。
国際化または現地化されたログメッセージはこのデフォルトロケールを使用します。
前提条件
- JBoss EAP が実行している。
- サーバーモードの起動設定ファイルにアクセスできる。
手順
JAVA_OPTS変数にuser.languageプロパティーを追加して言語を設定します。たとえば、ロケールをフランス語に設定するには、起動設定ファイルに次の行を追加します。JAVA_OPTS="$JAVA_OPTS -Duser.language=fr"
JAVA_OPTS="$JAVA_OPTS -Duser.language=fr"Copy to Clipboard Copied! Toggle word wrap Toggle overflow user.languageプロパティーとuser.countryプロパティーを追加して、言語と国を設定します。たとえば、ロケールをブラジルポルトガル語に設定するには、次の行を追加します。JAVA_OPTS="$JAVA_OPTS -Duser.language=pt -Duser.country=BR"
JAVA_OPTS="$JAVA_OPTS -Duser.language=pt -Duser.country=BR"Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログメッセージに別のロケールを指定するには、`org.jboss.logging.locale` プロパティーを使用してサーバーのロケールを設定します。これにより、ロギングのデフォルトロケールがオーバーライドされます。たとえば、サーバーのロケールをブラジルポルトガル語に設定するには、次の行を追加します。
JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.logging.locale=pt-BR"
JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.logging.locale=pt-BR"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このプロパティーは、JBoss Logging とその依存関係を使用するログメッセージにのみ影響します。Jakarta Server Faces などの他の依存関係ではロケールをオーバーライドできません。
注記システムのデフォルトとは異なるロケールで JBoss EAP を起動するには、スタンドアロンモードの場合は
EAP_HOME/bin/standalone.confを、管理対象ドメインモードの場合はEAP_HOME/bin/domain.confを編集します。org.jboss.logging.localeプロパティーを使用して、BCP 47 形式でロケールを設定します。