All Projects → prometheus → Consul_exporter

prometheus / Consul_exporter

Licence: apache-2.0
Exporter for Consul metrics

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Consul exporter

Statsd exporter
StatsD to Prometheus metrics exporter
Stars: ✭ 608 (+88.24%)
Mutual labels:  hacktoberfest, metrics, prometheus, prometheus-exporter
Promcord
📊 Analyze your entire discord guild in grafana using prometheus. Message, User, Game and Voice statistics...
Stars: ✭ 39 (-87.93%)
Mutual labels:  hacktoberfest, metrics, prometheus, prometheus-exporter
Druid Exporter
A Golang based exporter captures druid API related metrics and receives druid-emitting HTTP JSON data.
Stars: ✭ 54 (-83.28%)
Mutual labels:  hacktoberfest, prometheus, prometheus-exporter
Windows exporter
Prometheus exporter for Windows machines
Stars: ✭ 1,230 (+280.8%)
Mutual labels:  hacktoberfest, prometheus, prometheus-exporter
Kube State Metrics
Add-on agent to generate and expose cluster-level metrics.
Stars: ✭ 3,433 (+962.85%)
Mutual labels:  metrics, prometheus, prometheus-exporter
Github Exporter
Prometheus exporter for github metrics
Stars: ✭ 231 (-28.48%)
Mutual labels:  metrics, prometheus, prometheus-exporter
Pagespeed exporter
Prometheus pagespeed exporter
Stars: ✭ 149 (-53.87%)
Mutual labels:  metrics, prometheus, prometheus-exporter
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Stars: ✭ 45,930 (+14119.81%)
Mutual labels:  hacktoberfest, metrics, prometheus
Redis exporter
Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x, 4.x, 5.x and 6.x
Stars: ✭ 2,092 (+547.68%)
Mutual labels:  metrics, prometheus, prometheus-exporter
Graphite exporter
Server that accepts metrics via the Graphite protocol and exports them as Prometheus metrics
Stars: ✭ 217 (-32.82%)
Mutual labels:  hacktoberfest, metrics, prometheus
Influxdb exporter
A server that accepts InfluxDB metrics via the HTTP API and exports them via HTTP for Prometheus consumption
Stars: ✭ 159 (-50.77%)
Mutual labels:  hacktoberfest, metrics, prometheus
github exporter
Prometheus exporter for GitHub
Stars: ✭ 21 (-93.5%)
Mutual labels:  metrics, prometheus, prometheus-exporter
Ssl exporter
Exports Prometheus metrics for SSL certificates
Stars: ✭ 211 (-34.67%)
Mutual labels:  metrics, prometheus, prometheus-exporter
Query Exporter
Export Prometheus metrics from SQL queries
Stars: ✭ 166 (-48.61%)
Mutual labels:  metrics, prometheus, prometheus-exporter
s3 exporter
Exports Prometheus metrics about S3 buckets and objects
Stars: ✭ 65 (-79.88%)
Mutual labels:  metrics, prometheus, prometheus-exporter
Prometheus
The Prometheus monitoring system and time series database.
Stars: ✭ 40,114 (+12319.2%)
Mutual labels:  hacktoberfest, metrics, prometheus
Prometheus To Cloudwatch
Utility for scraping Prometheus metrics from a Prometheus client endpoint and publishing them to CloudWatch
Stars: ✭ 127 (-60.68%)
Mutual labels:  metrics, prometheus, prometheus-exporter
Sidekiq Prometheus Exporter
All the basic metrics of Sidekiq with pluggable contribs prepared for Prometheus
Stars: ✭ 129 (-60.06%)
Mutual labels:  metrics, prometheus, prometheus-exporter
Bull exporter
Prometheus exporter for Bull metrics
Stars: ✭ 149 (-53.87%)
Mutual labels:  hacktoberfest, metrics, prometheus-exporter
aws-ec2-sg-exporter
A dockerized Prometheus exporter that compares desired/wanted IPv4/IPv6 CIDR against currently applied inbound CIDR rules in your security group(s).
Stars: ✭ 23 (-92.88%)
Mutual labels:  metrics, prometheus, prometheus-exporter

Consul Exporter

CircleCI Docker Repository on Quay Docker Pulls

Export Consul service health to Prometheus.

To run it:

make
./consul_exporter [flags]

Exported Metrics

Metric Meaning Labels
consul_up Was the last query of Consul successful
consul_raft_peers How many peers (servers) are in the Raft cluster
consul_serf_lan_members How many members are in the cluster
consul_serf_lan_member_status Status of member in the cluster. 1=Alive, 2=Leaving, 3=Left, 4=Failed. member
consul_catalog_services How many services are in the cluster
consul_catalog_service_node_healthy Is this service healthy on this node service, node
consul_health_node_status Status of health checks associated with a node check, node, status
consul_health_service_status Status of health checks associated with a service check, node, service, status
consul_catalog_kv The values for selected keys in Consul's key/value catalog. Keys with non-numeric values are omitted key
consul_service_checks Link the Consul service ID with check name if available service_id,service_name, check_id, check_name, node

Flags

./consul_exporter --help
  • consul.allow_stale: Allows any Consul server (non-leader) to service a read.
  • consul.ca-file: File path to a PEM-encoded certificate authority used to validate the authenticity of a server certificate.
  • consul.cert-file: File path to a PEM-encoded certificate used with the private key to verify the exporter's authenticity.
  • consul.health-summary: Collects information about each registered service and exports consul_catalog_service_node_healthy. This requires n+1 Consul API queries to gather all information about each service. Health check information are available via consul_health_service_status as well, but only for services which have a health check configured. Defaults to true.
  • consul.key-file: File path to a PEM-encoded private key used with the certificate to verify the exporter's authenticity.
  • consul.insecure: Disable TLS host verification.
  • consul.require_consistent: Forces the read to be fully consistent.
  • consul.server: Address (host and port) of the Consul instance we should connect to. This could be a local agent (localhost:8500, for instance), or the address of a Consul server.
  • consul.server-name: 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.
  • consul.timeout: Timeout on HTTP requests to consul.
  • consul.request-limit: Limit the maximum number of concurrent requests to consul, 0 means no limit.
  • log.format: Set the log target and format. Example: logger:syslog?appname=bob&local=7 or logger:stdout?json=true
  • log.level: Logging level. info by default.
  • web.listen-address: Address to listen on for web interface and telemetry.
  • web.telemetry-path: Path under which to expose metrics.

Key/Value Checks

This exporter supports grabbing key/value pairs from Consul's KV store and exposing them to Prometheus. This can be useful, for instance, if you use Consul KV to store your intended cluster size, and want to graph that value against the actual value found via monitoring.

  • kv.filter: Only store keys that match this regex pattern.
  • kv.prefix: Prefix under which to look for KV pairs.

A prefix must be supplied to activate this feature. Pass / if you want to search the entire keyspace.

Environment variables

The consul_exporter supports all environment variables provided by the official consul/api package, including CONSUL_HTTP_TOKEN to set the ACL token.

Useful Queries

Are my services healthy?

min(consul_catalog_service_node_healthy) by (service_name)

Values of 1 mean that all nodes for the service are passing. Values of 0 mean at least one node for the service is not passing.

What service nodes are failing?

sum by (node, service_name)(consul_catalog_service_node_healthy == 0)

What service checks are critical?

consul_health_service_status{status="critical"} == 1

You can query for the following health check states: "maintenance", "critical", "warning" or "passing"

Using Docker

You can deploy this exporter using the prom/consul-exporter Docker image.

For example:

docker pull prom/consul-exporter

docker run -d -p 9107:9107 prom/consul-exporter --consul.server=172.17.0.1:8500

Keep in mind that your container needs to be able to communicate with the Consul server or agent. Use an IP accessible from the container or set the --dns and --dns-search options of the docker run command:

docker run -d -p 9107:9107 --dns=172.17.0.1 --dns-search=service.consul \
        prom/consul-exporter --consul.server=consul:8500
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].