JMX インターフェイスを使用したライブ モニタリング

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

この記事は、JMX クライアントで監視するために、Jira 内の JMX MBeans を表示する方法について説明します。

このガイドは、JMX インターフェースの基本的な概要を紹介します。内容は現状のまま提供されるものとします。弊社のサポート チームは、特定の Jira の問題のトラブルシューティングをサポートできますが、監視システムのセットアップや、結果の解釈についてはサポート対象外となります。

JMX とは何か

JMX (Java Management Extensions) は、Java アプリケーションを監視及び管理するための技術です。JMX は、MBeans (Managed Beans) と呼ばれるオブジェクトを使用して、アプリケーションからデータやリソースを表示します。Jira Server または Jira Data Center の大規模なインスタンスでは、JMX を有効化することで、アプリケーション リソースの消費量をより簡単に監視したり、インデックス関連のパフォーマンスの問題をより簡単に診断したりできるようになります。これにより、マシン リソースの保持 / 最適化方法について、より優れた判断を行えます。

Jira で利用可能な JMX メトリックの詳細

JMX 属性名

説明

50thPercentile

計測時間における分布の 50 番目のパーセンタイルの値 (中央値)。

75thPercentile

計測時間における分布の 75 番目のパーセンタイルの値。

95thPercentile

計測時間における分布の 95 番目のパーセンタイルの値。

98thPercentile

計測時間における分布の 98 番目のパーセンタイルの値。

99thPercentile

計測時間における分布の 99 番目のパーセンタイルの値。

999thPercentile

計測時間における分布の 99.9 番目のパーセンタイルの値。

count

ノード起動以降の呼び出しの数。

DurationUnit

The time unit used to report percentile values, min, max, mean and standard deviation. The default is milliseconds.

FifteenMinuteRate

ノード起動以降の呼び出しの 15 分移動平均レート。このレートでは、Unix の top コマンドの 15 分の負荷平均に使用されるものと同じ指数減衰係数が使用されます。

FiveMinuteRate

ノード起動以降の呼び出しの 5 分移動平均レート。このレートでは、Unix の top コマンドの 5 分の負荷平均に使用されるものと同じ指数減衰係数が使用されます。

Max

ノード起動以降、最大の計測時間。

平均

ノード起動以降、平均の計測時間。

MeanRate

ノード起動以降の呼び出しの平均レート。

最小

ノード起動以降、最小の計測時間。

OneMinuteRate

ノード起動以降の呼び出しの 1 分移動平均レート。このレートでは、Unix の top コマンドの 1 分の負荷平均に使用されるものと同じ指数減衰係数が使用されます。

RateUnit

The unit in which MeanRate, OneMinuteRate, FiveMinuteRate, and FifteenMinuteRate are reported. The default is events/second.

StdDev

ノード起動以降、計測時間における標準偏差。

Jira によって収集されるメトリック

次のテーブルは、Jira が収集するメトリック (MBeans) を示します。これらはすべて、com.atlassian.jira プロパティにグループ化されます。

メトリック説明 Jira 起動後にリセット
dashboard.view.count

すべてのダッシュボードがユーザーによって閲覧された回数。

はい
entity.attachments.total添付ファイルの数。-
entity.components.totalコンポーネントの数。-
entity.customfields.totalカスタム フィールドの数。-
entity.filters.totalフィルターの数。-
entity.groups.totalユーザー グループの数。-
entity.issues.total課題の数。-
entity.users.totalユーザーの数。-
entity.versions.total作成されたバージョンの数。-
issue.assigned.count

課題がユーザーに割り当てられた/再割り当てされた回数 (各操作をカウント)。

はい
issue.created.count

Jira インスタンス起動後に作成した課題の数。

はい
issue.link.count

Jira インスタンス起動後に作成した課題リンクの数。

はい
issue.search.count

課題の検索回数。

はい
issue.updated.count

更新された課題の回数 (情報の追加または変更後の各更新)。

はい
issue.worklogged.count

課題で作業を記録した回数。

はい
jira.license所有しているライセンスのタイプ、アクティブ ユーザーの数、および各ライセンス タイプで利用可能なユーザーの最大数。-
quicksearch.concurrent.search

リアルタイムで実行されているクイック検索の同時検索数です。これを使用すると、同時検索に設定した制限が十分かどうかを判断できます。

はい
web.requests

リクエストの数 (invocation.count)、および合計応答時間 (total.elapsed.time)。

はい

The following metrics have been added to Jira as of 8.1 and are exposed under under com.atlassian.jira/metrics. All the metrics mentioned below will be reset after restarting Jira. 

メトリック パス

説明

comment

コメント操作に関するメトリック

comment/Create

作成されているコメント

comment/Delete

削除されているコメント

comment/Update

更新されているコメント

indexing

課題、コメント、作業ログ、変更のインデックスに関するメトリック

indexing/CreateChangeHistoryDocument

変更履歴のエンティティ用に作成されているインデックス ドキュメント。各課題に対して複数の変更履歴ドキュメントが作成される可能性があることにご注意ください。

indexing/CreateCommentDocument

コメント エンティティ用に作成されているインデックス ドキュメント。

indexing/CreateIssueDocument

課題エンティティ用に作成されているインデックス ドキュメント。

indexing/IssueAddFieldIndexers

FieldIndexer モジュールは、インデックス ドキュメント作成の一環として課題ドキュメントを強化します。プラグインはカスタム FieldIndexer モジュールを登録できます。これらのメトリックでは、FieldIndexer で費やされた時間の詳細が提供され、それらによって生じたインデックス パフォーマンスの低下を追跡するのに使用できます。このメトリックは、作成された課題ドキュメントごとに組み合わされたすべての FieldIndexers で費やされた時間について示しています。

indexing/LuceneAddDocument

Lucene インデックスへのドキュメントの追加に費やされた時間

indexing/LuceneDeleteDocument

Lucene インデックスから語句が一致する 1 つ以上のドキュメントを削除するのに費やされた時間

indexing/LuceneOptimize

Lucene インデックスの最適化に関するメトリック (Jira から手動でトリガーされます)

indeding/LuceneUpdateDocument

Lucene インデックスへの作成済みドキュメントの追加に費やされた時間

indexing/ReplicationLatency

Replication latency is the time between an issue, comment, or worklog being indexed on the node where the change was made and the indexing operation being replayed on the current node.

indexing/WaitForLucene

ドキュメントは Lucene インデックスに非同期で書き込まれます。このメトリックでは、Lucene が書き込みを完了するまで Jira のインデックス作成スレッドが待機した時間をキャプチャします。

indexing/issueAddSearchExtractors

EntitySearchExtractor は、インデックス ドキュメント作成の一環として課題ドキュメントを強化するものです。プラグインを使用してカスタム EntitySearchExtractor モジュールを登録できます。これらのメトリックを利用すると、EntitySearchExtractor で費やされた時間に関するインサイトを得て、それらによって生じたインデックス パフォーマンスの低下を追跡できます。これらのメトリックは、作成された課題ドキュメントごとに組み合わされたすべての EntitySearchExtractor で費やされた時間について示しています。

課題

課題操作に関するメトリック

issue/Create

作成されている課題

issue/Delete

削除されている課題

issue/Index

Lucene インデックスに追加されている課題。これは、課題ドキュメントの作成と、インデックスへのドキュメントの追加を網羅します。

issue/DeIndex

Lucene インデックスから削除されている課題

issue/ReIndex

インデックスが再作成されている課題 (課題更新の結果として)。これは、課題ドキュメント作成、インデックスからの古いドキュメントの削除、インデックスへの新しいドキュメントの作成を網羅します。

issue/Update

更新されている課題

Jira の監視

Jira を監視する前に、JMX の監視を有効化してから、JMX クライアントを使用してメトリックを表示する必要があります。

メトリックの閲覧は常に、Jira にパフォーマンス上の影響を与えます。更新は 1 秒に 1 回未満にすることをお勧めします。

Jira で JMX 監視を有効化する

All of the metrics are collected by default, but you need to enable JMX monitoring to expose them. You can do it in Jira but you must be a Jira admin.

  1. Jira で、[管理] () > [システム] > [JMX 監視] に移動します。
  2. JMX 監視の有効化を切り替えます。

JConsole を使って監視する

JMX 監視を有効化した後、任意の JMX を使用してメトリックを表示できあす。これを素早く簡単にするため、JConsole を使用して表示する方法について説明しました。Jira インスタンスはローカルまたはリモートで監視できます。

  • 特定の課題のトラブルシューティングを行う場合や、Jira を短期間のみ監視する必要がある場合は、Jira をローカルで監視できます。ローカル監視はサーバーのパフォーマンスに影響を与える可能性があるため、本番システムの長期的な監視にはお勧めしません。

    手順について

     ローカルに監視するには:

    1. Start JConsole. You'll find it in the bin directory of the JDK installation directory. (JConsole is only available as part of the JDK.)
    2. ローカル プロセス を選択します。
    3. Jira プロセスを選択します (org.apache.catalina.startup.Bootstrap start など)。
    4. 接続後、すべてのメトリックをグループ化する com.atlassian.jira プロパティを展開します。

    ローカル監視の詳細については、JConsole の使用を参照してください。

  • JIRA のリモート監視 は、JIRA サーバーのリソースを消費しないため、本番環境システムにお勧めです。

    手順について

     リモートで監視するには:

    • Add the following properties to your setenv.sh / setenv.bat file. The port can be any port that is not in use.

      CATALINA_OPTS

      Windows
      SET CATALINA_OPTS="-Dcom.sun.management.jmxremote.authenticate=true ${CATALINA_OPTS}"
      SET CATALINA_OPTS="-Dcom.sun.management.jmxremote.password.file=/atlassian-jira-software-x.y.z-standalone/jmxremote.password ${CATALINA_OPTS}"
      SET CATALINA_OPTS="-Dcom.sun.management.jmxremote.access.file=/atlassian-jira-software-x.y.z-standalone/jmxremote.access ${CATALINA_OPTS}"

      (info) x.y.z は、使用している Jira バージョンを表します。

      Linux
      CATALINA_OPTS="-Dcom.sun.management.jmxremote.authenticate=true ${CATALINA_OPTS}"
      CATALINA_OPTS="-Dcom.sun.management.jmxremote.password.file=/atlassian-jira-software-x.y.z-standalone/jmxremote.password ${CATALINA_OPTS}"
      CATALINA_OPTS="-Dcom.sun.management.jmxremote.access.file=/atlassian-jira-software-x.y.z-standalone/jmxremote.access ${CATALINA_OPTS}"

      (info) x.y.z stands for the Jira version you're using.

      For more details, see the Using Password Authentication section in Monitoring and Management Using JMX Technology.

      Additionally, to access the JMX properties, you might need to configure SSL. For more details, see the SSL sections in Monitoring and Management Using JMX Technology.

      JAVA_OPT

      JAVA_OPTS を使用すると、JMX MBeans をリモート アクセス用に公開できますが、Jira のシャットダウン中にエラーが発生します。

      Windows
      JAVA_OPTS=-Dcom.sun.management.jmxremote %JAVA_OPTS%
      JAVA_OPTS=-Dcom.sun.management.jmxremote.port=8099 %JAVA_OPTS%
      JAVA_OPTS=-Dcom.sun.management.jmxremote.authenticate=false %JAVA_OPTS%
      Linux
      JAVA_OPTS="-Dcom.sun.management.jmxremote ${JAVA_OPTS}"
      JAVA_OPTS="-Dcom.sun.management.jmxremote.port=8099 ${JAVA_OPTS}"
      JAVA_OPTS="-Dcom.sun.management.jmxremote.authenticate=false ${JAVA_OPTS}"
      export JAVA_OPTS
    • リモート接続の保護方法を決定します。詳細は、リモート監視と管理 を参照してください。
      認証を無効化することは可能ですが、本番環境システムではお勧めしません。
    • JConsole を起動します (JDK インストール ディレクトリの bin ディレクトリにあります)。
    • リモート プロセス を選択します。
    • ホスト名とポートを (Jira ポートではなく、以前に指定したポート) を入力します。
    • 接続 をクリックします。
    • 接続後、すべてのメトリックをグループ化する com.atlassian.jira プロパティを展開します。

    リモート監視の詳細については、JConsole の使用を参照してください。

最終更新日: 2023 年 1 月 16 日

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

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