Consul Exporter
The consul_exporter_config block configures the consul_exporter integration, which is an embedded version of consul_exporter. This allows for the collection of consul metrics and exposing them as Prometheus metrics.
Full reference of options:
# Enables the consul_exporter integration, allowing the Agent to automatically# collect system metrics from the configured consul server address[enabled: <boolean> | default = false]# Sets an explicit value for the instance label when the integration is# self-scraped. Overrides inferred values.## The default value for this integration is inferred from the hostname portion# of the server URL.[instance: <string>]# Automatically collect metrics from this integration. If disabled,# the consul_exporter integration will be run but not scraped and thus not# remote-written. Metrics for the integration will be exposed at# /integrations/consul_exporter/metrics and can be scraped by an external# process.[scrape_integration: <boolean> | default = <integrations_config.scrape_integrations>]# How often should the metrics be collected? Defaults to# prometheus.global.scrape_interval.[scrape_interval: <duration> | default = <global_config.scrape_interval>]# The timeout before considering the scrape a failure. Defaults to# prometheus.global.scrape_timeout.[scrape_timeout: <duration> | default = <global_config.scrape_timeout>]# Allows for relabeling labels on the target.relabel_configs:[- <relabel_config> ... ]# Relabel metrics coming from the integration, allowing to drop series# from the integration that you don't care about.metric_relabel_configs:[ - <relabel_config> ... ]# How frequent to truncate the WAL for this integration.[wal_truncate_frequency: <duration> | default = "60m"]# Monitor the exporter itself and include those metrics in the results.[include_exporter_metrics: <bool> | default = false]## Exporter-specific configuration options## Prefix from which to expose key/value pairs.[kv_prefix: <string> | default = ""]# Regex that determines which keys to expose.[kv_filter: <string> | default = ".*"]# Generate a health summary for each service instance. Needs n+1 queries to# collect all information.[generate_health_summary: <bool> | default = true]# HTTP API address of a Consul server or agent. Prefix with https:// to# connect using HTTPS.[server: <string> | default = "http://localhost:8500"]# Disable TLS host verification.[insecure_skip_verify: <bool> | default = false]# File path to a PEM-encoded certificate authority used to validate the# authenticity of a server certificate.[ca_file: <string> | default = ""]# File path to a PEM-encoded certificate used with the private key to verify# the exporter's authenticity.[cert_file: <string> | default = ""]# File path to a PEM-encoded private key used with the certificate to verify# the exporter's authenticity.[key_file: <string> | default = ""]# When provided, this overrides the hostname for the TLS certificate. It can# be used to ensure that the certificate name matches the hostname we declare.[server_name: <string> | default = ""]# Timeout on HTTP requests to the Consul API.[timeout: <duration> | default = "500ms"]# Limit the maximum number of concurrent requests to consul. 0 means no limit.[concurrent_request_limit: <int> | default = 0]# Allows any Consul server (non-leader) to service a read.[allow_stale: <bool> | default = true]# Forces the read to be fully consistent.[require_consistent: <bool> | default = false]
采集的指标列表
consul_memberlist_tcp : irate(consul_memberlist_tcp{host="$consul"}[1m])consul_memberlist_udp : irate(consul_memberlist_udp{host="$consul"}[1m])consul_raft_apply[30s]) : delta(consul_raft_apply[30s])consul_raft_commitTime : consul_raft_commitTimeconsul_raft_leader_dispatchLog : consul_raft_leader_dispatchLogconsul_raft_leader_lastcontact : consul_raft_leader_lastcontactconsul_raft_leader_lastcontact_count : consul_raft_leader_lastcontact_countconsul_raft_replication_appendEntries_rpc : consul_raft_replication_appendEntries_rpcconsul_raft_replication_heartbeat : consul_raft_replication_heartbeatconsul_rpc_query : delta(consul_rpc_query{host="$consul"}[30s])consul_serf_coordinate_adjustment_ms : consul_serf_coordinate_adjustment_ms{host="$consul"}labels) : COUNT (changes(consul_memberlist_gossep_sum[1m]) > 0) BY (labels)node_cpu : sum(irate(node_cpu{mode="idle", host="$consul"}[1m])) * 100 / count_scalar(node_cpu{mode="user", host="$consul"})node_load1 : node_load1{host="$consul"}node_load15 : node_load15{host="$consul"}node_load5 : node_load5{host="$consul"}
