アプリケーション パフォーマンスを監視する
アプリ監視によって、インスタンスにおけるアプリの動作内容をより深く把握できます。これは、特定のアプリに関する問題のトラブルシューティング、またはアプリが全体的なパフォーマンスや安定性の低下の一因になっているかどうかを判断する際に役立ちます。
監視をセットアップする
APM を Jira に接続する前に、次を完了します。
JMX エクスポーターを設定する
サイトで JMX とアプリ指標を有効にする
このページの説明では、Prometheus を使用することを前提としています。どのアプリケーション パフォーマンス監視 (APM) ソリューションを使用する場合でも、手順はほぼ変わりません。
1. JMX エクスポーターを設定する
エクスポーターは JMX MBeans を取得して、Prometheus に適した形式に変換します。また、Prometheus が接続する HTTP エンドポイントをホストします。Prometheus JMX エクスポーターの詳細についてご確認ください。
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 エクスポーター用の設定ファイルを作成します。サンプル ファイルはリポジトリからダウンロードできます。設定オプションの詳細については、
README.md
をご参照ください。Copy the jar file and configuration file to each node (the local home directory is a good option).
Jira を 1 つのノードで停止します。
次のシステム プロパティを追加して、Jira に JMX エクスポーターの場所を指示します。ご利用のサイトでこれを行う方法を確認するには「起動時にプロパティとオプションを設定」をご参照ください。
-javaagent:<full-path-to-jmx-exporter-jar>=<port>:<full-path-to-jmx-exporter-config.yml>
The JMX exporter defaults to port 8080. You’ll need to specify a different port for the exporter if this port is in use by Jira or Data Center application.
Jira を起動します。
エクスポーターが動作していることを確認するには、
localhost:<jmx-exporter-port>
に移動します。指標の出力が表示されるはずです。
Jira をクラスターで実行する場合は、このステップを残りのすべてのノードに対して繰り返します。ローリング リスタートを実行すると、ダウンタイムを回避できます。
JMX エクスポーター エンドポイントをネットワークの外部に公開しないようにする、または適切なステップに従って、セキュリティを確保します。
2. アプリ監視を Jira で有効にする
App monitoring uses JMX (Java Management Extensions), so JMX monitoring must also be enabled. Both JMX and App monitoring are enabled by default, but may have been disabled by an administrator.
To turn on app monitoring:
[
] > [システム] > [監視] の順に移動します。[JMX 監視] が有効になっていることを確認します。
Check that App monitoring is enabled.
If you have previously set up JMX monitoring for Jira, there’s nothing else you need to do. The additional app monitoring metrics will be exposed in the same way as existing application metrics. For the full list of things, you might want to monitor see Application metrics reference.
既存の APM (アプリ パフォーマンス監視) ソリューションがない場合は、Prometheus と Grafana の開始に関するアトラシアンのガイドをご参照ください。
JMX 監視は、サイトのパフォーマンスに影響を与える可能性があります。多くの場合は重大な影響ではありませんが、インスタンスのパフォーマンスや安定性に問題が生じた場合は、JMX とアプリの両監視を無効にできます。
アプリ監視を無効にする
アプリ監視を無効にするには、次の手順に従います。
[
] > [監視] の順に移動します。[アプリ監視] を無効にします。
無効にすると、Jira によるアプリ固有の指標の出力やログへの書き込みが停止されます。JMX を完全に無効にする場合は、JMX 監視も無効にできます。
アプリ名を識別する
アプリ指標には、アプリの表示名ではなくプラグイン キーが含まれています。たとえば、com.atlassian.troubleshooting.plugin-jira
は、Jira 用のトラブルシューティングとサポート ツール システム アプリのプラグイン キーです。
アプリ名を確認するには、次の手順に従います。
<base-url>/plugins/servlet/upm/osgi
に移動します。プラグイン キーを [バンドル メタデータの検索] フィールドに入力します。
名前やベンダーなど、プラグインの詳細が返されます。
プラグイン キーの検索結果を示す OSGi 管理画面
アプリに関するすべての詳細を返す次の REST エンドポイント /rest/plugins/1.0/<plugin-key>/summary
も使用できます。
オプションのタグを有効にする
アプリ ベンダーは、パフォーマンス問題のトラブルシューティング時に役立つ追加メタデータを含められます。初期設定では、これらのタグは含まれていません。
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
これによって、アプリ ベンダーは正確な指標とタグ名を伝えられます。
トラブルシューティング
out of memory (メモリ不足) エラー
監視はアプリの外部で行われるため、インスタンスのパフォーマンスや安定性に対する重大な影響はないと予想されます。問題が発生した場合は、JMX とアプリの各監視を無効にできます。
OOME (メモリ不足エラー) が監視エージェントが原因で発生した場合は、setenv ファイルの JVM_MINIMUM_MEMORY
(-xmx) を増やします。「Jira アプリ メモリの容量を増やす」をご参照ください。
App monitoring early access preview
アーリー アクセス プログラムに参加した場合は、EAP 監視エージェントと関連するシステム プロパティをアップグレード前に削除する必要があります。削除しないと、Jira の起動に失敗、または問題が発生する可能性があります。