added (working) proxy support

This commit is contained in:
nd 2020-05-30 22:14:44 +02:00
parent 0494c4907a
commit 2c33fcc9cf
No known key found for this signature in database
GPG key ID: 21B5CD4DEE3670E9
2 changed files with 40 additions and 1 deletions

View file

@ -17,3 +17,25 @@
target_label: instance target_label: instance
- replacement: 'node' - replacement: 'node'
target_label: job target_label: job
{% 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 %}

View file

@ -1,7 +1,8 @@
sslVersionMin = TLSv1.2 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]%}
[scraper {{ i }}] ; nodeexporter
[scraper {{ i }} nodeexporter]
client = no client = no
requireCert = yes requireCert = yes
accept = {{ prometheus_agent.scrapers[i].nodeexporter }} accept = {{ prometheus_agent.scrapers[i].nodeexporter }}
@ -10,5 +11,21 @@ cert = /etc/ssl/prometheus_agent.crt
key = /etc/ssl/private/prometheus_agent.key key = /etc/ssl/private/prometheus_agent.key
verifyPeer = yes verifyPeer = yes
CAfile = /etc/ssl/scraper_{{ i }}.crt 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({}) %}
; {{ j }}
[scraper {{ i }} proxy {{ j }}]
client = no
requireCert = yes
accept = {{ prometheus_agent.scrapers[i].proxy[j] }}
connect = {{ prometheus_agent.agents.proxy.mappings[j].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 %} {% endfor %}
{% endfor %}