add snmp exporter from fabbs

This commit is contained in:
nd 2022-06-29 21:09:34 +02:00
parent 3391c2b8a2
commit 51346d08b7
No known key found for this signature in database
GPG key ID: 089EAC11F59D1863
5 changed files with 122 additions and 0 deletions

View file

@ -55,6 +55,41 @@
{% endfor %}
{% endif %}
{% if prometheus_agent.scrapers[item].snmp|d(False) and prometheus_agent.agents.snmp.enable %}
{% for j in prometheus_agent.agents.snmp.jobs %}
{% set job=prometheus_agent.agents.snmp.jobs[j] %}
- job_name: "prometheus-agent - snmp - {{ j }} : {{ inventory_hostname }}"
scheme: https
metrics_path: /snmp
static_configs:
- targets:
{% for target in job.targets %}
- {{ target }}
{% endfor %}
labels: {{ merged_prometheus_labels|combine(job.labels|d({}))|to_json }}
{% for i in ['scrape_timeout', 'scrape_interval'] if (prometheus_agent|combine(prometheus_agent.agents.snmp)|combine(job))[i] %}
{{ i }}: {{ (prometheus_agent|combine(job))[i] }}
{% endfor %}
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
params:
module: [{{ job.module }}]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- replacement: 'snmp'
target_label: job
- replacement: '{{ job.module }}'
target_label: module
- target_label: __address__
replacement: {{ inventory_hostname }}:{{ prometheus_agent.scrapers[item].snmp }}
{% endfor %}
{% endif %}
{% for j in prometheus_agent.scrapers[item].proxy|d({}) %}
- job_name: "prometheus-agent - proxy - {{ j }} : {{ inventory_hostname }}"
scheme: https

View file

@ -39,6 +39,19 @@ verifyPeer = yes
CAfile = /etc/ssl/scraper_{{ i }}.crt
{% endfor %}
{% for i in prometheus_agent.scrapers if "snmp" in prometheus_agent.scrapers[i] and prometheus_agent.agents.snmp.enable %}
; snmp
[scraper {{ i }} snmp]
client = no
requireCert = yes
accept = :::{{ prometheus_agent.scrapers[i].snmp }}
connect = {{ prometheus_agent.agents.snmp.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({}) %}