diff --git a/CHANGELOG.md b/CHANGELOG.md index eade1e4a873..4a37d00feb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ IMPROVEMENTS: * api: Metrics endpoint exposes Prometheus formatted metrics [GH-3171] * telemetry: Add support for tagged metrics for Nomad clients [GH-3147] + * telemetry: Add basic Prometheus configuration for a Nomad cluster [GH-3186] BUG FIXES: * core: *Fix restoration of stopped periodic jobs [GH-3201] diff --git a/integrations/prometheus/README.md b/integrations/prometheus/README.md new file mode 100644 index 00000000000..5a434826694 --- /dev/null +++ b/integrations/prometheus/README.md @@ -0,0 +1,12 @@ +# Prometheus Metrics + +This configuration file can be used to set up a Prometheus instance to read +data from Nomad cluster, using Consul for service discovery. + +Requirements: + - See Prometheus's + [Getting Started](https://prometheus.io/docs/introduction/getting_started/) + guide for instructions on how to set up a Prometheus server. + - This configuration is written assuming there is a local Consul agent being + run along side the Prometheus server. If this is not the case, the + configuration will need to be updated to point at the remote Consul agent. diff --git a/integrations/prometheus/prometheus.yml b/integrations/prometheus/prometheus.yml new file mode 100644 index 00000000000..0e644c5f27d --- /dev/null +++ b/integrations/prometheus/prometheus.yml @@ -0,0 +1,16 @@ +scrape_configs: + - job_name: 'nomad_metrics' + + consul_sd_configs: + - server: 'localhost:8500' + services: ['nomad-client', 'nomad'] + + relabel_configs: + - source_labels: ['__meta_consul_tags'] + regex: '(.*)http(.*)' + action: keep + + scrape_interval: 5s + metrics_path: /v1/metrics + params: + format: ['prometheus']