Live monitoring using the JMX interface
This article describes how to expose JMX MBeans within Jira for monitoring with a JMX client.
This guide provides a basic introduction to the JMX interface and is provided as is. Our support team can help you troubleshoot a specific Jira problem, but aren't able to help you set up your monitoring system or interpret the results.
What is JMX?
JMX (Java Management Extensions) is a technology for monitoring and managing Java applications. JMX uses objects called MBeans (Managed Beans) to expose data and resources from your application. For large instances of Jira Server or Jira Data Center, enabling JMX allows you to more easily monitor the consumption of application resources. This enables you to make better decisions about how to maintain and optimize machine resources.
Metrics collected by Jira
The following table lists metrics (MBeans) that are collected by Jira. All of them are grouped in the com.atlassian.jira
property.
Metric | Description | Reset after restarting Jira |
---|---|---|
dashboard.view.count | The number of times all dashboards were viewed by users. | Yes |
entity.attachments.total | The number of attachments. | - |
entity.components.total | The number of components. | - |
entity.customfields.total | The number of custom fields. | - |
entity.filters.total | The number of filters. | - |
entity.groups.total | The number of user groups. | - |
entity.issues.total | The number of issues. | - |
entity.users.total | The number of users. | - |
entity.versions.total | The number of versions created. | - |
issue.assigned.count | The number of times issues were assigned or reassigned to users (counts each action). | Yes |
issue.created.count | The number of issues that you created after starting your Jira instance. | Yes |
issue.link.count | The number of issue links created after starting your Jira instance. | Yes |
issue.search.count | The number of times you searched for issues. | Yes |
issue.updated.count | The number of times you updated issues (each update after adding or changing some information). | Yes |
issue.worklogged.count | The number of times you logged work on issues. | Yes |
jira.license | The types of licenses you have, the number of active users, and the maximum number of users available for each license type. | - |
quicksearch.concurrent.search | The number of concurrent searches that are being performed in real-time by using the quick search. You can use it to determine whether the limit set for concurrent searches is sufficient or should be increased. | Yes |
web.requests | The number of requests (invocation.count), and the total response time (total.elapsed.time). | Yes |
Monitoring Jira
Before you can monitor Jira, you need to enable JMX monitoring and then use a JMX client to view the metrics.
Good to know
Viewing the metrics will always have some performance impact on Jira. We recommend that you don't refresh them more than once a second.
Enabling JMX monitoring in Jira
All of the metrics are collected by default, but you need to enable JMX monitoring to expose them. You can do it Jira, but you need to be a Jira administrator to get there.
- In Jira, go to > System > JMX monitoring.
- Toggle Enable JMX monitoring.
Monitoring with JConsole
After you enabled JMX monitoring, you can use any JMX client to view the metrics. To make it quick and easy, we've described how to view them by using JConsole. You can monitor your Jira instance either locally, or remotely:
Monitoring Jira locally is good if you're troubleshooting a particular issue, or only need to monitor Jira for a short time. Local monitoring can have a performance impact on your server, so it's not recommended for long-term monitoring of your production system.
Monitoring Jira remotely is recommended for production systems, as it does not consume resources on your Jira server.