Jira Data Center monitoring
To help you monitor the performance of your Jira Data Center instance, we've introduced a number of monitors you can use to analyze bottlenecks and get alerts if something attention-worthy is happening.
The alerts are available in the App Diagnostics framework by going to <JIRA_URL>/plugins/servlet/diagnostics/overview.
JQL monitors
Jira has already provided alerts for slow and complex JQL queries, but in Jira 8.4 we have added an alert for queries with a large number of custom fields. The thresholds for the below alerts are checked every time a JQL query is executed. When a slow JQL query is detected one of the below alerts are raised.
The following monitors are available for Jira Data Center version 8.4 and later.
Type of alert | Description | Configuration options | Alert type | Data captured |
---|---|---|---|---|
Slow JQL query | Default Alert raised when a JQL query is slow to execute | jira.diagnostics.thresholds.slow-query-millis
| Info |
|
Complex JQL query | Raised when a complex JQL query is executed. | jira.diagnostics.thresholds.query-complexity
| Info |
|
Large number of request | Raised when a JQL query produces a large number of results. | jira.diagnostics.thresholds.number-of-results
| Info |
|
Large number of custom fields | Raised when a JQL query contains a large number of custom fields. | jira.diagnostics.thresholds.query-custom-fields
| Info |
|
Data Center-specific monitors: Database, Scheduler, REST resources and Servlets
The following monitors have been introduced in Jira 8.4 and are available for Jira Data Center 8.4 and later.
Database monitoring
The following are the alerts for slow database queries, high pool utilization, and abandoned connections:
Type of alert | Description | Default Threshold | Configuration options | Alert type | Data captured |
---|---|---|---|---|---|
Connection leak | Raised when a database connection has leaked from the pool. | 300 seconds | Configurable via the tomcat pool-remove-abandoned-timeout option. | Warning |
|
High connection pool utilization alert | Raised when the database connection pool is utilized at the limit for a specified period of time. | 90% utilization for 15 minutes | jira.diagnostics.threshold.database-pool-utilization
jira.diagnostics.threshold.database-pool-utilization-time-window
jira.diagnostics.settings.database-pool-poller-interval
| Info |
|
Slow operation alert | Raised when an SQL operation is slow to execute. Optionally, the SQL statement being executed can also be captured but this is configurable and is disabled by default. | 5 seconds with SQL not included in alerts | jira.diagnostics.settings.include-sql-in-alerts
jira.diagnostics.thresholds.slow-query-millis
| Info |
|
Scheduler monitoring
The following are the alerts for high pool utilization and slow jobs:
Type of alert | Description | Default Threshold | Configuration options | Alert type | Data captured |
---|---|---|---|---|---|
High utilization alert | Raised when the scheduler worker threads are 100% utilized for a period of time. Has a default polling interval of 5 seconds. | More than or equal to 100% utilization for 15 minutes | jira.diagnostics.threshold.scheduler-utilization-time-window
jira.diagnostics.settings.scheduler-poller-interval
| Info |
|
Slow job alert | Raised when a scheduled job is taking longer than its configured interval to execute. Has a default polling interval of 5 seconds. | jira.diagnostics.settings.scheduler-poller-interval
| Info |
|
REST resources and Servlets monitoring
The following is the alerts for slow running http requests:
Type of alert | Description | Default Threshold | Configuration options | Alert type | Data captured |
---|---|---|---|---|---|
Slow request | Raised when a HTTP request is slow to respond. | 60 seconds | jira.diagnostics.settings.http-request-max-elapsed-time
| Info |
|
Configuration
Specific configuration
Unless described in the table, each of the above mentioned alerts is configurable through the jira-config.properties
file located in the <jira-home> directory. For more information on how to configure the file, see jira-config.properties file.
All alerts
Apart from the specific configuration described for each of the available alerts, you can change the general alert configuration. This way, your changes will apply to all alerts. To do that, open jira-config.properties and edit the following metrics:
- com.atlassian.jira.health.diagnostics.alerts.retention-period-days
: number of days to retain Diagnostics Alerts; 30 by default
- com.atlassian.jira.health.diagnostics.alerts.truncation-interval-days
: number of days to run the truncation job; 1 by default
For more information on how to configure the file, see jira-config.properties file.
Changing default threshold
To change the default threshold, you need to edit the following properties in the jira-config.properties file:
- jira.diagnostics
- com.atlassian.jira.health.diagnostics.
Enabling and disabling alerts
The monitors are enabled by default, but they can be disabled and enabled with FeatureFlags. Learn more about how to work with dark features.
Feature type | Feature name |
---|---|
All monitors | com.atlassian.diagnostics.monitors |
JQL | com.atlassian.diagnostics.jql.monitor |
Database | com.atlassian.diagnostics.database.monitor |
Scheduler | com.atlassian.diagnostics.scheduler.monitor |
REST resources and Servlets | com.atlassian.diagnostics.http.monitor |