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

パーセンタイル値、最小値、最大値、平均値、および標準偏差の報告に使用される時間単位。デフォルトはミリ秒です。

FifteenMinuteRate

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

FiveMinuteRate

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

Max

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

平均

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

MeanRate

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

最小

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

OneMinuteRate

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

RateUnit

MeanRate、OneMinuteRate、FiveMinuteRate、FifteenMinuteRate の報告単位。デフォルトはイベント数 / 秒です。

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)。

はい

以下のメトリックは 8.1 以降の Jira に追加されており、com.atlassian.jira/metrics 公開されています。以下のすべてのメトリックは、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

レプリケーション遅延は、変更が行われたノードで課題、コメント、または作業ログのインデックス作成が行われてから現在のノードでインデックス作成操作が再生されるまでの時間です。

indexing/WaitForLucene

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

indexing/issueAddSearchExtractors

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

課題

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

issue/Create

作成されている課題

issue/Delete

削除されている課題

issue/Index

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

issue/DeIndex

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

issue/ReIndex

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

issue/Update

更新されている課題


Jira の監視

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

考慮事項

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

Jira で JMX 監視を有効化する

既定ではすべてのメトリックが収集されますが、それらを公開するには JMX 監視を有効化する必要があります。これは Jira で実行できますが、Jira 管理者である必要があります。

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

JConsole を使って監視する

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

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

    手順について

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

    1. JConsole を起動します (JDK インストール ディレクトリの bin ディレクトリにあります)。
    2. ローカル プロセス を選択します。
    3. Jira プロセスを選択します (org.apache.catalina.startup.Bootstrap start など)。
    4. 接続後、すべてのメトリックをグループ化する com.atlassian.jira プロパティを展開します。

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

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

    手順について

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

    1. 以下のプロパティを setenv.sh / setenv.bat ファイルに追加します。ポートは未使用の任意のポートに設定できます。

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

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

最終更新日 2019 年 7 月 2 日

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

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