With the latest release of Jira just out, some exciting new features were added; among them is the addition of JMX Live Monitoring, which allows you to monitor your JIRA instance in real time. This is seriously helpful, as you can check the number of requests your Jira has to manage, the total response time, details about your license and even the number of issues your users have created.
Let’s take a look as to how this works:
Wait, what is JMX?
JMX stands for Java Management Extensions, an API that lets you manage and monitor JAVA applications and services, using objects called MBeans (Managed Beans).
It exposes your JVM underlying data and resources, enabling you to easily monitor your instance(s) and make more informed decisions to optimize and maintain them.
Most importantly, these resources are live and can help in troubleshooting or audit scenarios, or to help you diagnose pain points instantly.
The latest release of Jira 7.6 adds a new System property, where you can easily toggle the functionality on or off:
To access live diagnostics, you can use jconsole. You can monitor your instance locally or remotely, but a remote execution is preferred as it does not impact your Jira server. The different tabs list all the available stats, and you can perform various operations, such as Garbage Collection, or set different timeframes.
As well as selecting time ranges, you can select different types of memory pools or use the Heap/Non-Heap dashboard on the bottom right-hand corner to click on values directly.
Many live threads are available and offer insights into your environment, such as detecting deadlocks and obtaining stack traces (These features were previously available, though could not be toggled directly from the UI as is now the case).
The new functionality introduced with 7.6 is the availability of Jira specific statistics (the “MBeans”) and can be accessed from the jconsole MBeans tab under com.atlassian.Jira:
The BasicDataResource component lists all your database information in one handy panel, from url to username, password and other db settings:
The other attributes listed in the table above can help tremendously in a situation where you need to quickly size your implementation and find out how many users, issues, filters were created. It offers a one-stop solution to not only gather server statistics, but also information specific to your Jira environment such as projects, components or groups.
Here is the official list of components Atlassian has made available:
|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.||–|
|web.requests||The number of requests (invocation.count), and the total response time (total.elapsed.time).||Yes|
Stay in the know
Make sure you stay on top of all the product developments coming out of the Atlassian ecosystem by signing up for our monthly newsletter!