# DO NOT EDIT - This file is being maintained by Chef global: scrape_interval: 15s evaluation_interval: 15s alerting: alertmanagers: - path_prefix: /alertmanager static_configs: - targets: - localhost:9093 rule_files: - /etc/prometheus/*_rules.yml scrape_configs: - job_name: prometheus scrape_interval: 5s scrape_timeout: 5s metrics_path: /prometheus/metrics static_configs: - targets: - localhost:9090 - job_name: alertmanager metrics_path: /alertmanager/metrics static_configs: - targets: - localhost:9093 - job_name: ssl scrape_interval: 15m metrics_path: /probe static_configs: <% @certificates.values.sort_by { |c| c[:domains].first }.each do |certificate| -%> - targets: <% certificate[:nodes].sort_by { |h| h[:name] }.each do |host| -%> - <%= certificate[:domains].first %>/<%= host[:name] %>:443 <% end -%> labels: domain: <%= certificate[:domains].first %> <% end -%> relabel_configs: - source_labels: [__address__] regex: "([^/]+)/.*" target_label: __param_module - source_labels: [__address__] regex: "[^/]+/(.*)" target_label: __param_target - source_labels: [__param_target] regex: "([^.]+)\\..*" target_label: instance - target_label: __address__ replacement: 127.0.0.1:9219 <% @jobs.sort.each do |name, targets| -%> - job_name: <%= name %> <% if targets.first[:scrape_interval] -%> scrape_interval: <%= targets.first[:scrape_interval] %> <% end -%> <% if targets.first[:scrape_timeout] -%> scrape_timeout: <%= targets.first[:scrape_timeout] %> <% end -%> <% if targets.first[:sni] -%> tls_config: server_name: <%= targets.first[:sni] %> relabel_configs: - target_label: __scheme__ replacement: https <% end -%> static_configs: <% targets.each do |target| -%> - targets: - "<%= target[:address] %>" labels: instance: <%= target[:instance] %> <% target[:labels].sort.each do |name, value| -%> <%= name %>: <%= value %> <% end -%> <% end -%> metric_relabel_configs: <% targets.each do |target| -%> <% target[:metric_relabel].each do |relabel| -%> - source_labels: [instance,<%= relabel[:source_labels] %>] regex: "<%= target[:instance] %>;<%= relabel[:regex] %>" action: <%= relabel[:action] %> <% end -%> <% end -%> <% end -%> - job_name: junos scrape_interval: 5m scrape_timeout: 4m static_configs: <% @junos_targets.sort_by { |t| t[:instance] }.each do |target| -%> - targets: - "<%= target[:target] %>/<%= target[:address] %>" labels: instance: <%= target[:instance] %> <% target[:labels].sort.each do |name, value| -%> <%= name %>: <%= value %> <% end -%> <% end -%> relabel_configs: - source_labels: [__address__] regex: "([^/]+)/.*" target_label: __param_target - source_labels: [__address__] regex: "[^/]+/(.*)" target_label: __address__ - job_name: snmp scrape_interval: 5m scrape_timeout: 2m metrics_path: /snmp static_configs: <% @snmp_targets.sort_by { |t| t[:instance] }.each do |target| -%> - targets: <% target[:modules].each do |module_name| -%> - "<%= target[:target] %>/<%= module_name %>/<%= target[:address] %>" <% end -%> labels: instance: <%= target[:instance] %> <% target[:labels].sort.each do |name, value| -%> <%= name %>: <%= value %> <% end -%> <% end -%> relabel_configs: - source_labels: [__address__] regex: "([^/]+)/[^/]+/.*" target_label: __param_target - source_labels: [__address__] regex: "[^/]+/([^/]+)/.*" target_label: __param_module - source_labels: [__address__] regex: "[^/]+/([^/]+)/.*" target_label: module - source_labels: [__address__] regex: "[^/]+/[^/]+/(.*)" target_label: __address__