- job_name: "prometheus-agent - node-exporter : {{ inventory_hostname }}" scheme: https {% for i in ['scrape_timeout', 'scrape_interval'] if prometheus_agent[i] %} {{ i }}: {{ prometheus_agent[i] }} {% endfor %} static_configs: - targets: - {{ inventory_hostname }}:{{ prometheus_agent.scrapers[item].nodeexporter }} labels: {{ merged_prometheus_labels|to_json }} tls_config: ca_file: /etc/prometheus/targetcerts/{{ inventory_hostname }}.crt cert_file: /etc/ssl/prometheus_scraper.crt key_file: /etc/ssl/private/prometheus_scraper.key relabel_configs: - source_labels: [__address__] regex: '([^:]+):\d+' target_label: instance - replacement: 'node' target_label: job {% if prometheus_agent.scrapers[item].blackbox|d(False) and prometheus_agent.agents.blackbox.enable %} {% for j in prometheus_agent.agents.blackbox.jobs %} {% set job=prometheus_agent.agents.blackbox.jobs[j] %} - job_name: "prometheus-agent - blackbox - {{ j }} : {{ inventory_hostname }}" scheme: https metrics_path: /probe {% for i in ['scrape_timeout', 'scrape_interval'] if (prometheus_agent|combine(job))[i] %} {{ i }}: {{ (prometheus_agent|combine(job))[i] }} {% endfor %} params: module: [{{ job.module }}] static_configs: - targets: {% for t in job.targets %} - {{ t }} {% endfor %} labels: {{ merged_prometheus_labels|combine(job.labels)|to_json }} tls_config: ca_file: /etc/prometheus/targetcerts/{{ inventory_hostname }}.crt cert_file: /etc/ssl/prometheus_scraper.crt key_file: /etc/ssl/private/prometheus_scraper.key relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: target - replacement: 'blackbox' target_label: job - replacement: '{{ inventory_hostname }}' target_label: instance - replacement: '{{ job.module }}' target_label: module - target_label: __address__ replacement: {{ inventory_hostname }}:{{ prometheus_agent.scrapers[item].blackbox }} {% endfor %} {% endif %} {% for j in prometheus_agent.scrapers[item].proxy|d({}) %} - job_name: "prometheus-agent - proxy - {{ j }} : {{ inventory_hostname }}" scheme: https {% for i in ['scrape_timeout', 'scrape_interval'] if prometheus_agent[i] %} {{ i }}: {{ prometheus_agent[i] }} {% endfor %} static_configs: - targets: - {{ inventory_hostname }}:{{ prometheus_agent.scrapers[item].proxy[j] }} labels: {{ merged_prometheus_labels|to_json }} tls_config: ca_file: /etc/prometheus/targetcerts/{{ inventory_hostname }}.crt cert_file: /etc/ssl/prometheus_scraper.crt key_file: /etc/ssl/private/prometheus_scraper.key relabel_configs: - source_labels: [__address__] regex: '([^:]+):\d+' target_label: instance - replacement: '{{ prometheus_agent.agents.proxy.mappings[j].job }}' target_label: job {% endfor %}