JMX インターフェイスを使用したライブ モニタリング
JMX (Java Management Extensions API) aを使用すると、リアルタイムで Confluence インスタンスのステータスを監視できます。JMX は、MBeans (Managed Beans) ト呼ばれるオブジェクトを使用して、アプリケーションからデータやリソースを表示し、インスタンスのデータベース使用量やデータベース レイテンシなどの便利なデータを提供します。これにより、問題やパフォーマンスの課題を診断することができます。
このページでは、JConsole を使用して、Confluence をローカルおよびリモートで監視する方法について説明します。JConsole は Java Development Kit (JDK) に含まれていますが、どの JMX クライアントでも使用することができます。
このガイドは、JMX インターフェースの基本的な概要をそのまま提供します。弊社のサポート チームは、特定の Confluence の問題のトラブルシューティングをサポートできますが、監視システムのセットアップや、結果の解釈についてはお手伝いできません。
JMX メトリックをログ ファイルに書き込む
次の JMX メトリクスをログ ファイルに書き込むことも選択できます。これは、問題をトラブルシューティングする際に便利です。
- キャッシュ統計
- IndexingStatistics
- MailTaskQueue
- RequestMetrics
- システム情報
- スレッド プール
- OS
- GC
- Threading
- TomcatManager
- RequestProcessor
JMX メトリクスをログ ファイルに書き込むには、次の手順に従います。
- 移動 > Scheduled jobs
- JMX メトリックをログ ジョブを有効にします。
このジョブは初期設定で 1 分に 1 回実行して、メトリックを <local-home/logs/atlassian-confluence-jmx.log
ファイルに書き込みます。
JConsole を使用して Confluence をローカルで監視する
特定の課題のトラブルシューティングを行う場合や、Confluence を短期間のみ監視する必要がある場合は、ローカル監視を使用できます。ローカル監視はサーバーのパフォーマンスに影響を与える可能性があるため、本番システムの長期的な監視にはお勧めしません。
ローカルに監視するには:
JConsole を起動します (JDK インストール ディレクトリの
bin
ディレクトリにあります)。- ローカル プロセス を選択します。
Confluence プロセスを選択します。
org.apache.catalina.startup.Bootstrap start
のようになります。
ローカル監視の詳細については、JConsole の使用を参照してください。
JConsole を使用してた Confluence のリモート監視
リモート監視は、Confluence サーバーのリソースを消費しないため、本番環境システムにお勧めです。
リモートで監視するには:
以下のプロパティを
setenv.sh
/setenv.bat
ファイルに追加します。ポートは未使用の任意のポートに設定できます。set CATALINA_OPTS=-Dcom.sun.management.jmxremote %CATALINA_OPTS% set CATALINA_OPTS=-Dcom.sun.management.jmxremote.port=8099 %CATALINA_OPTS%
リモート接続の保護方法を決定します。詳細は、リモート監視と管理 を参照してください。
認証を無効化することは可能ですが、本番環境システムではお勧めしません。- JConsole を起動します (JDK インストール ディレクトリの
bin
ディレクトリにあります)。 - リモート プロセス を選択します。
- ホスト名とポートを (Confluence ポートではなく、以前に指定したポート) を入力します。
- 接続 をクリックします。
リモート監視の詳細については、JConsole の使用を参照してください。
Confluence MBeans
以下の Confluence MBeans を使用して、Confluence インスタンスに関するライブ情報を確認できます。
キャッシュ統計
この MBean は、Confluence バージョンや稼働時間などの情報を示します。この情報は、キャッシュ統計ページにも表示されます。
IndexingStatistics
この MBean は検索インデックス作成に関連する情報を表示します。便利な属性をいくつか示します。
プロパティ名 | 機能 | 値 |
---|---|---|
Flushing | キャッシュが現在フラッシュ中かどうかを示す | True/False |
LastElapsedMilliseconds | 最後のインデックス作成の所要時間 | ミリ秒 |
TaskQueueLength | キューにあるタスクの数を表示 | 整数 |
ReIndexing | Confluence が現在再インデックス中かどうかを示す | True/False |
システム情報
この MBean は、Confluence バージョンや稼働時間などの情報を示します。この情報は、システム情報ページにも表示されます。
プロパティ名 | 機能 | 値 |
---|---|---|
DatabaseExampleLatency | データベース対して実行されたクエリ例の待ち時間を表示。 | ミリ秒 |
RequestMetrics
この MBean はシステム負荷と表示されたエラーページに関連する情報を表示します。
プロパティ名 | 機能 | 値 |
---|---|---|
AverageExecutionTimeForLastTenRequests | 最新 10 件の要求の平均実行時間。 | ミリ秒 |
CurrentNumberOfRequestsBeingServed | この時点で提供されている要求の数。 | 整数 |
ErrorCount | Confluence エラーページが提供された回数。 | 整数 |
NumberOfRequestsInLastTenSeconds | 最近 10 秒間の要求数。 | 整数 |
MailServer-SMTPServer
この MBean は、メールディスパッチの試行と失敗に関連する情報を表示します。Confluence インスタンスで設定された SMTP メールサーバーごとに MBean があります。
プロパティ名 | 機能 | 値 |
---|---|---|
EmailsAttempted | Confluence が送信しようとしたメールメッセージの数。 | 整数 |
EmailsSent | 正常に送信されたメールメッセージの数。 | 整数 |
MailTaskQueue
この MBean は、メールワークロードに関連する情報を示します。
プロパティ名 | 機能 | 値 |
---|---|---|
ErrorQueueSize | キュー内のエラー数。 | 整数 |
Flushing | 状態 (フラッシュの有無) を表示。 | True/False |
FlushStarted | 稼働を開始した時間。 | 時間 |
RetryCount | 実行された再試行の回数。 | 整数 |
TaskSize | ディスパッチのためにキューに入れられたメールメッセージの数。 | 整数 |
SchedulingStatistics
この MBean は現在のジョブ、スケジュール済みタスク、およびそれらが最後に実行された時間に関連する情報を表示します。
プロパティ名 | 機能 | 値 |
---|---|---|
AllJobNames | 現在のジョブ、スケジュール済みタスク、およびそれらが最後に実行された時間に関連する情報を表示する | 文字列 |
CurrentlyRunningJobNames | 現在実行中のスケジュール済みジョブを一覧表示する | 一覧 |
追加の MBeans
Hibernate および Hazelcast を監視する (Confluence Data Center のみ) には、まず、setenv.sh
/ setenv.bat
ファイルに次のプロパティを追加する必要があります。
set CATALINA_OPTS=-Dconfluence.hazelcast.jmx.enable=true %CATALINA_OPTS%
set CATALINA_OPTS=-Dconfluence.hibernate.jmx.enable=true %CATALINA_OPTS%
これにより、お使いの JMX クライアントでハイバーネイトおよび Hazelcast MBeans を使用できるようになります。
CPU 消費量が多いスレッドを監視する
JConsole の上位スレッド プラグインは、CPU のスパイクが発生しているかどうかを監視するのに便利です。以下のコマンドを使用して、このコマンドで JConsole を起動します。
JConsole -pluginpath /pathto/topthreads.jar