|
|
|
# Prometheus example configuration to be used with PuppetDB.
|
|
|
|
|
|
|
|
scrape_configs:
|
|
|
|
- job_name: 'puppetdb-node-exporter'
|
|
|
|
puppetdb_sd_configs:
|
|
|
|
# This example discovers the nodes which have the class Prometheus::Node_exporter.
|
|
|
|
- url: https://puppetdb.example.com
|
|
|
|
query: 'resources { type = "Class" and title = "Prometheus::Node_exporter" }'
|
|
|
|
port: 9100
|
|
|
|
tls_config:
|
|
|
|
cert_file: prometheus-public.pem
|
|
|
|
key_file: prometheus-private.pem
|
|
|
|
ca_file: ca.pem
|
|
|
|
|
|
|
|
- job_name: 'puppetdb-scrape-jobs'
|
|
|
|
puppetdb_sd_configs:
|
|
|
|
# This example uses Prometheus::Scrape_job exported resources.
|
|
|
|
# It is compatible with the prometheus-puppetdb-sd
|
|
|
|
# (https://github.com/camptocamp/prometheus-puppetdb-sd) if the
|
|
|
|
# exported resources have exactly one target.
|
|
|
|
- url: https://puppetdb.example.com
|
|
|
|
query: 'resources { type = "Prometheus::Scrape_job" and exported = true }'
|
|
|
|
include_parameters: true
|
|
|
|
tls_config:
|
|
|
|
cert_file: prometheus-public.pem
|
|
|
|
key_file: prometheus-private.pem
|
|
|
|
ca_file: ca.pem
|
|
|
|
relabel_configs:
|
|
|
|
- source_labels: [__meta_puppetdb_certname]
|
|
|
|
target_label: certname
|
|
|
|
- source_labels: [__meta_puppetdb_parameter_targets]
|
|
|
|
regex: '(.+),?.*'
|
|
|
|
replacement: $1
|
|
|
|
target_label: __address__
|
|
|
|
- source_labels: [__meta_puppetdb_parameter_job_name]
|
|
|
|
target_label: job
|
|
|
|
- regex: '__meta_puppetdb_parameter_labels_(.+)'
|
|
|
|
replacement: '$1'
|
|
|
|
action: labelmap
|