puppet-prod/modules/vmcluster/templates/vmagent.scrape.yaml.erb
Ben Vincent 6400c89853 feat: add vmcluster static targets (#426)
- add ability to list static targets for vmagent to scrape
- add vyos router to be scraped

Reviewed-on: #426
2025-11-20 20:19:53 +11:00

63 lines
1.7 KiB
Plaintext

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=<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 -%>