アプリケーション パフォーマンスを監視する
JMX エクスポーターを設定する
The exporter takes the JMX MBeans and transforms them into the right format for Prometheus. It also hosts an HTTP endpoint which Prometheus will connect to. Learn more about the Prometheus JMX exporter
Prometheus を使用しない場合は、使用する APM ソリューションで必要となるエクスポーターまたはエージェントを確認する必要があります。たとえば、NewRelic 用の Java エージェントなどです。
エクスポーターをインストールするには、次の手順に従います。
GitHub リポジトリから、Prometheus JMX エクスポーター jar ファイルをダウンロードします。
$ curl -L https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.16.1/jmx_prometheus_javaagent-0.16.1.jar > jmx-exporter.jar
Java エクスポーター用の設定ファイルを作成します。リポジトリで提供されている jmx-exporter-config.yml 設定ファイルを使用することをお勧めします。
jar と設定の各ファイルを各アプリケーション ノードにコピーします (ローカル ホーム ディレクトリが適しています)。
Confluence をひとつのノードで停止する。
次のシステム プロパティを追加して、JMX エクスポーターの場所を Confluence に指示します。サイトでこの作業を行う方法については「システム プロパティの設定」をご参照ください。
-javaagent:<full-path-to-jmx-exporter-jar>=<port>:<full-path-to-jmx-exporter-config.yml>
初期設定で、JMX エクスポーターではポート 8080 が使用されます。8080 が別のアプリケーションで使用されている場合は、エクスポーター用に別のポートを指定する必要があります。
- Confluence を起動します。
- エクスポーターが動作していることを確認するには、
localhost:<jmx-exporter-port>
に移動します。指標の出力が表示されるはずです。
If you run Confluence in a cluster, repeat steps for all remaining nodes. To avoid downtime, you can perform a rolling restart.
JMX エクスポーター エンドポイントをネットワークの外部に公開しないようにするか適切な手順を実行して、セキュリティを確保します。
アプリ監視が有効になっていることを確認する
アプリ監視では JMX (Java Management Extensions) が使用されるため、JMX とアプリの両監視が有効になっていることを確認する必要があります。初期設定で、これらは両方とも有効になっています。
アプリ監視が有効になっていることを確認するには、次の手順に従います。
- [管理] > [一般設定] > [監視] に移動します。
- [JMX 監視] が有効になっていることを確認します。
[アプリ監視] が有効になっていることを確認します。
以前に Confluence に対して JMX 監視をセットアップしている場合は、操作不要です。追加のアプリ監視指標は、既存のアプリ指標と同じ方法で公開されます。
アプリ名を識別する
App metrics include the plugin key rather than the app's display name. For example, com.atlassian.troubleshooting.plugin-confluence
is the plugin key for the Troubleshooting and Support Tools system app for Confluence.
アプリ名を確認するには、次の手順に従います。
<base-url>/plugins/servlet/upm/osgi
に移動します。- プラグイン キーを [バンドル メタデータの検索] フィールドに入力します。
- The app details will be returned, including the name and vendor.
プラグイン キーの検索結果を示す OSGi 管理画面
オプションのタグを有効にする
アプリ ベンダーは、パフォーマンス問題のトラブルシューティング時に役立つ追加メタデータを含められます。初期設定では、これらのタグは含まれていません。
atlassian.metrics.optional.tags
システム プロパティによって、指標の追加タグを表示できます。
atlassian.metrics.optional.tags.<metric-name>=<tag-key1>,<tag-key2>
アプリ監視を無効にする
アプリ監視を無効にするには、次の手順に従います。
- [管理] > [一般設定] > [監視] に移動します。
- [アプリ監視] を無効にします。
無効にすると、Confluence によるアプリ固有の指標の出力やログへの書き込みが停止されます。JMX を完全に無効にする場合は、JMX 監視も無効にできます。
トラブルシューティング
システム プロパティによる JMX の無効化
初期設定で JMX は Confluence で有効になっており、以前はシステム プロパティによってのみ無効にできました。いずれかのノードで confluence.jmx.disabled
プロパティが設定されている場合は、監視ページに警告が表示されます。
システム プロパティを削除するまで、監視画面で JMX 監視のオン/オフを切り替えられません。
Out-of-memory errors
監視はアプリケーションの外部で行われるため、インスタンスのパフォーマンスや安定性に大きな影響はないと予想されます。
監視エージェントが原因でメモリ使用量が増加した、または out of memory (メモリ不足) エラー (OOME) が発生した場合は、setenv ファイルで最小ヒープ サイズ (Xms) を増やすことをお勧めします。「Fix java.lang.OutOfMemoryError in Confluence (Confluence で java.lang.OutOfMemoryError を修正する)」をご覧ください。
次のステップ
Next, configure your APM tool to point to the JMX exporter endpoint. If you don't have an APM, check out guide to setting up Prometheus and Grafana.
アプリ指標と推奨されるアラートの完全なリストについては「アプリ指標のリファレンス」をご参照ください。