added support for the blackbox exporter

This commit is contained in:
nd 2020-06-06 23:41:06 +02:00
parent 7997ebfb59
commit f772558e31
No known key found for this signature in database
GPG key ID: 21B5CD4DEE3670E9
6 changed files with 113 additions and 7 deletions

View file

@ -18,6 +18,40 @@
- replacement: 'node'
target_label: job
{% if prometheus_agent.scrapers[item].blackbox 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
{% 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: instance
- replacement: 'blackbox'
target_label: job
- 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

View file

@ -0,0 +1,10 @@
ARGS="{% for i in prometheus_agent.agents.blackbox.args %} --{{ i }}{% if prometheus_agent.agents.blackbox.args[i] and prometheus_agent.agents.blackbox.args[i] != {} %}='{{ prometheus_agent.agents.blackbox.args[i] }}'{% endif %} {% endfor %}"
# Usage of prometheus-blackbox-exporter:
# --config.file="blackbox.yml"
# Blackbox exporter configuration file.
# --web.listen-address=":9115"
# The address to listen on for HTTP requests.
# --timeout-offset=0.5 Offset to subtract from timeout in seconds.
# --log.level=info Only log messages with the given severity or above.
# One of: [debug, info, warn, error]

View file

@ -1,6 +1,6 @@
sslVersionMin = TLSv1.2
{% for i in prometheus_agent.scrapers if "nodeexporter" in prometheus_agent.scrapers[i]%}
{% for i in prometheus_agent.scrapers if "nodeexporter" in prometheus_agent.scrapers[i] %}
; nodeexporter
[scraper {{ i }} nodeexporter]
client = no
@ -13,6 +13,19 @@ verifyPeer = yes
CAfile = /etc/ssl/scraper_{{ i }}.crt
{% endfor %}
{% for i in prometheus_agent.scrapers if "blackbox" in prometheus_agent.scrapers[i] and prometheus_agent.agents.blackbox.enable%}
; blackbox
[scraper {{ i }} blackbox]
client = no
requireCert = yes
accept = {{ prometheus_agent.scrapers[i].blackbox }}
connect = {{ prometheus_agent.agents.blackbox.args['web.listen-address']|replace('[', '')|replace(']', '') }}
cert = /etc/ssl/prometheus_agent.crt
key = /etc/ssl/private/prometheus_agent.key
verifyPeer = yes
CAfile = /etc/ssl/scraper_{{ i }}.crt
{% endfor %}
; proxy
{% for i in prometheus_agent.scrapers if "proxy" in prometheus_agent.scrapers[i] %}
{% for j in prometheus_agent.scrapers[i].proxy|d({}) %}