アプリケーション パフォーマンスを監視する

アプリ監視によって、インスタンスにおけるアプリの動作内容をより深く把握できます。これは、特定のアプリに関する問題のトラブルシューティングを行ったり、アプリが全体的なパフォーマンスや安定性の低下の一因になっているかどうかを判断したりするのに役立ちます。

監視をセットアップする

APM を Confluence に接続するには、次の手順に従う必要があります。

  • JMX エクスポーターを設定する
  • サイトで JMX とアプリ指標を有効にする 

このページの説明では、Prometheus を使用することを前提としています。どのアプリケーション パフォーマンス監視 (APM) ソリューションを使用する場合でも、手順はほぼ変わりません。

On this page:

JMX エクスポーターを設定する

エクスポーターの役割は、JMX MBean を受け取って Prometheus に適した形式に変換することです。また、Prometheus の接続先となる HTTP エンドポイントをホストします。Prometheus JMX エクスポーターの詳細についてご確認ください

Prometheus を使用しない場合は、使用する APM ソリューションで必要となるエクスポーターまたはエージェントを確認する必要があります。たとえば、NewRelic 用の Java エージェントなどです。

エクスポーターをインストールするには、次の手順に従います。

  1. 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
  2. Java エクスポーター用の設定ファイルを作成します。リポジトリで提供されている jmx-exporter-config.yml 設定ファイルを使用することをお勧めします。

  3. jar と設定の各ファイルを各アプリケーション ノードにコピーします (ローカル ホーム ディレクトリが適しています)。

  4. Confluence をひとつのノードで停止する。

  5. 次のシステム プロパティを追加して、JMX エクスポーターの場所を Confluence に指示します。サイトでこの作業を行う方法については「システム プロパティの設定」をご参照ください。

    -javaagent:<full-path-to-jmx-exporter-jar>=<port>:<full-path-to-jmx-exporter-config.yml>

    初期設定で、JMX エクスポーターではポート 8080 が使用されます。8080 が別のアプリケーションで使用されている場合は、エクスポーター用に別のポートを指定する必要があります。 

  6. Confluence を起動します。
  7. エクスポーターが動作していることを確認するには、localhost:<jmx-exporter-port> に移動します。指標の出力が表示されるはずです。

Confluence をクラスターで実行する場合は、残りのすべてのノードに対してこの手順を繰り返します。ローリング リスタートを実行すると、ダウンタイムを回避できます。

JMX エクスポーター エンドポイントをネットワークの外部に公開しないようにするか適切な手順を実行して、セキュリティを確保します。 

アプリ監視が有効になっていることを確認する

アプリ監視では JMX (Java Management Extensions) が使用されるため、JMX とアプリの両監視が有効になっていることを確認する必要があります。初期設定で、これらは両方とも有効になっています。

アプリ監視が有効になっていることを確認するには、次の手順に従います。

  1. [管理] > [一般設定] > [監視] に移動します。
  2. [JMX 監視] が有効になっていることを確認します。
  3. [アプリ監視] が有効になっていることを確認します。

以前に Confluence に対して JMX 監視をセットアップしている場合は、操作不要です。追加のアプリ監視指標は、既存のアプリ指標と同じ方法で公開されます。

アプリ名を識別する

アプリ指標には、アプリの表示名ではなくプラグイン キーが含まれています。たとえば、com.atlassian.troubleshooting.plugin-confluence は、Confluence 用のトラブルシューティングおよびサポート ツール システム アプリのプラグイン キーです。 

アプリ名を確認するには、次の手順に従います。

  1. <base-url>/plugins/servlet/upm/osgi に移動します。
  2. プラグイン キーを [バンドル メタデータの検索] フィールドに入力します。
  3. 名前やベンダーなど、プラグインの詳細が返されます。

プラグイン キーの検索結果を示す OSGi 管理画面

プラグイン キーの検索結果を示す OSGi 管理画面

オプションのタグを有効にする

アプリ ベンダーは、パフォーマンス問題のトラブルシューティング時に役立つ追加メタデータを含められます。初期設定では、これらのタグは含まれていません。

atlassian.metrics.optional.tags システム プロパティによって、指標の追加タグを表示できます。 

atlassian.metrics.optional.tags.<metric-name>=<tag-key1>,<tag-key2>
例を見る...

たとえば、完全な指標名が sampleApp.asset.loadtime である場合に、アプリ ベンダーがコンテンツ タイプに関する追加情報を出力するタグを含めたとします。

atlassian.metrics.optional.tags.sampleApp.asset.loadtime=sampleApp-type

これによって、アプリ ベンダーは正確な指標とタグ名を伝えられます。

アプリ監視を無効にする

アプリ監視を無効にするには、次の手順に従います。

  1. [管理] > [一般設定] > [監視] に移動します。
  2. [アプリ監視] を無効にします

無効にすると、Confluence によるアプリ固有の指標の出力やログへの書き込みが停止されます。JMX を完全に無効にする場合は、JMX 監視も無効にできます。 

トラブルシューティング

システム プロパティによる JMX の無効化

初期設定で JMX は Confluence で有効になっており、以前はシステム プロパティによってのみ無効にできました。いずれかのノードで confluence.jmx.disabled プロパティが設定されている場合は、監視ページに警告が表示されます。

システム プロパティを削除するまで、監視画面で JMX 監視のオン/オフを切り替えられません。

out of memory (メモリ不足) エラー

監視はアプリケーションの外部で行われるため、インスタンスのパフォーマンスや安定性に大きな影響はないと予想されます。

監視エージェントが原因でメモリ使用量が増加した、または out of memory (メモリ不足) エラー (OOME) が発生した場合は、setenv ファイルで最小ヒープ サイズ (Xms) を増やすことをお勧めします。「Fix java.lang.OutOfMemoryError in Confluence (Confluence で java.lang.OutOfMemoryError を修正する)」をご覧ください。

次のステップ

次に、APM ツールを JMX エクスポーター エンドポイントを指すように設定します。APM を所有していない場合は、Prometheus と Grafana の設定ガイドをご確認ください。

アプリ指標と推奨されるアラートの完全なリストについては「アプリ指標のリファレンス」をご参照ください。 

最終更新日 2023 年 8 月 22 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.