global: scrape_interval: 15s scrape_timeout: 10s scrape_configs: - job_name: 'consul' consul_sd_configs: - server: 'consul.service.consul:8500' token: <%= @consul_node_token %> scheme: http relabel_configs: # Only keep services with the `metrics` tag - source_labels: [__meta_consul_tagpresent_metrics] regex: true action: keep # Use the service address and port - source_labels: [__meta_consul_node, __meta_consul_service_port] separator: ':' target_label: __address__ replacement: '${1}:${2}' action: replace # Set scheme to metrics_scheme - source_labels: [__meta_consul_tag_metrics_scheme] target_label: __scheme__ action: replace # Set path to /metrics - target_label: __metrics_path__ replacement: /metrics # Use metrics_job= as job label - source_labels: [__meta_consul_tag_metrics_job] target_label: job action: replace <% if @static_targets -%> <% @static_targets.each do |job_name, config| -%> - job_name: '<%= job_name %>' static_configs: <% config['targets'].each do |target| -%> - targets: ['<%= target %>'] <% if config['labels'] -%> labels: <% config['labels'].each do |label_name, label_value| -%> <%= label_name %>: '<%= label_value %>' <% end -%> <% end -%> <% end -%> <% if config['scrape_interval'] -%> scrape_interval: <%= config['scrape_interval'] %> <% end -%> <% if config['metrics_path'] -%> metrics_path: <%= config['metrics_path'] %> <% end -%> <% if config['scheme'] -%> scheme: <%= config['scheme'] %> <% end -%> <% end -%> <% end -%>