JMX インターフェイスを使用したライブ モニタリング
この記事は、JMX クライアントで監視するために、Jira 内の JMX MBeans を表示する方法について説明します。
このガイドは、JMX インターフェースの基本的な概要を紹介します。内容は現状のまま提供されるものとします。弊社のサポート チームは、特定の Jira の問題のトラブルシューティングをサポートできますが、監視システムのセットアップや、結果の解釈についてはサポート対象外となります。
JMX とは何か
JMX (Java Management Extensions) は、Java アプリケーションを監視及び管理するための技術です。JMX は、MBeans (Managed Beans) と呼ばれるオブジェクトを使用して、アプリケーションからデータやリソースを表示します。Jira Server または Jira Data Center の大規模なインスタンスでは、JMX を有効化することで、アプリケーション リソースの消費量をより簡単に監視したり、インデックス関連のパフォーマンスの問題をより簡単に診断したりできるようになります。これにより、マシン リソースの保持 / 最適化方法について、より優れた判断を行えます。
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 管理者である必要があります。
- Jira で、[管理] () > [システム] > [JMX 監視] に移動します。
- JMX 監視の有効化を切り替えます。
JConsole を使って監視する
JMX 監視を有効化した後、任意の JMX を使用してメトリックを表示できあす。これを素早く簡単にするため、JConsole を使用して表示する方法について説明しました。Jira インスタンスはローカルまたはリモートで監視できます。
特定の課題のトラブルシューティングを行う場合や、Jira を短期間のみ監視する必要がある場合は、Jira をローカルで監視できます。ローカル監視はサーバーのパフォーマンスに影響を与える可能性があるため、本番システムの長期的な監視にはお勧めしません。
JIRA のリモート監視 は、JIRA サーバーのリソースを消費しないため、本番環境システムにお勧めです。