--- layout: docs page_title: Dashboard for Consul server metrics description: >- This documentation provides an overview of the Consul Server Dashboard. Learn about the metrics it displays and the queries that produce the metrics. --- # Consul server monitoring dashboard This page provides reference information about the [Grafana dashboard configuration included in the `hashicorp/consul` GitHub repository](https://github.com/hashicorp/consul/blob/main/grafana/consul-server-monitoring.json). ## Grafana queries overview This dashboard provides the following information about service mesh operations. ### Raft commit time **Description:** This metric measures the time it takes to commit Raft log entries. Stable values are expected for a healthy cluster. High values can indicate issues with resources such as memory, CPU, or disk space. ```promql consul_raft_commitTime ``` ### Raft commits per 5 minutes **Description:** This metric tracks the rate of Raft log commits emitted by the leader, showing how quickly changes are being applied across the cluster. ```promql rate(consul_raft_apply[5m]) ``` ### Last contacted leader **Description:** Measures the duration since the last contact with the Raft leader. Spikes in this metric can indicate network issues or an unavailable leader, which may affect cluster stability. ```promql consul_raft_leader_lastContact != 0 ``` ### Election events **Description:** Tracks Raft state transitions, which indicate leadership elections. Frequent transitions might suggest cluster instability and require investigation. ```promql rate(consul_raft_state_candidate[1m]) ``` ```promql rate(consul_raft_state_leader[1m]) ``` ### Autopilot health **Description:** A boolean metric that shows a value of 1 when Autopilot is healthy and 0 when issues are detected. Ensures that the cluster has sufficient resources and an operational leader. ```promql consul_autopilot_healthy ``` ### DNS queries per 5 minutes **Description:** This metric tracks the rate of DNS queries per node, bucketed into 5 minute intervals. It helps monitor the query load on Consul’s DNS service. ```promql rate(consul_dns_domain_query_count[5m]) ``` ### DNS domain query time **Description:** Measures the time spent handling DNS domain queries. Spikes in this metric may indicate high contention in the catalog or too many concurrent queries. ```promql consul_dns_domain_query ``` ### DNS reverse query time **Description:** Tracks the time spent processing reverse DNS queries. Spikes in query time may indicate performance bottlenecks or increased workload. ```promql consul_dns_ptr_query ``` ### KV applies per 5 minutes **Description:** This metric tracks the rate of key-value store applies over 5 minute intervals, indicating the operational load on Consul’s KV store. ```promql rate(consul_kvs_apply_count[5m]) ``` ### KV apply time **Description:** Measures the time taken to apply updates to the key-value store. Spikes in this metric might suggest resource contention or client overload. ```promql consul_kvs_apply ``` ### Transaction apply time **Description:** Tracks the time spent applying transaction operations in Consul, providing insights into potential bottlenecks in transaction operations. ```promql consul_txn_apply ``` ### ACL resolves per 5 minutes **Description:** This metric tracks the rate of ACL token resolutions over 5 minute intervals. It provides insights into the activity related to ACL tokens within the cluster. ```promql rate(consul_acl_ResolveToken_count[5m]) ``` ### ACL resolve token time **Description:** Measures the time taken to resolve ACL tokens into their associated policies. ```promql consul_acl_ResolveToken ``` ### ACL updates per 5 minutes **Description:** Tracks the rate of ACL updates over 5 minute intervals. This metric helps monitor changes in ACL configurations over time. ```promql rate(consul_acl_apply_count[5m]) ``` ### ACL apply time **Description:** Measures the time spent applying ACL changes. Spikes in apply time might suggest resource constraints or high operational load. ```promql consul_acl_apply ``` ### Catalog operations per 5 minutes **Description:** Tracks the rate of register and deregister operations in the Consul catalog, providing insights into the churn of services within the cluster. ```promql rate(consul_catalog_register_count[5m]) ``` ```promql rate(consul_catalog_deregister_count[5m]) ``` ### Catalog operation time **Description:** Measures the time taken to complete catalog register or deregister operations. Spikes in this metric may indicate performance issues within the catalog. ```promql consul_catalog_register ``` ```promql consul_catalog_deregister ```