summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus/server
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2022-12-17 18:21:12 +0100
committerChristian Pointner <equinox@spreadspace.org>2022-12-17 18:21:12 +0100
commitb362c4a1b1462b1ccf26750752c2147615508f52 (patch)
treea86c60116991ec5460931c33259b076ef77035ae /roles/monitoring/prometheus/server
parentch-epimetheus: decrease zfs ARC size (diff)
add prometheus snmp exporter
Diffstat (limited to 'roles/monitoring/prometheus/server')
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/main.yml2
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_snmp.yml11
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_snmp__probe.yml11
-rw-r--r--roles/monitoring/prometheus/server/templates/targets/snmp/probe.yml.j25
4 files changed, 29 insertions, 0 deletions
diff --git a/roles/monitoring/prometheus/server/defaults/main/main.yml b/roles/monitoring/prometheus/server/defaults/main/main.yml
index 375b3458..b377a7f0 100644
--- a/roles/monitoring/prometheus/server/defaults/main/main.yml
+++ b/roles/monitoring/prometheus/server/defaults/main/main.yml
@@ -29,6 +29,8 @@ prometheus_server_rules:
ssl/probe: "{{ prometheus_server_rules_ssl__probe + prometheus_server_rules_ssl__probe_extra }}"
smokeping: "{{ prometheus_server_rules_smokeping + prometheus_server_rules_smokeping_extra }}"
bind: "{{ prometheus_server_rules_bind + prometheus_server_rules_bind_extra }}"
+ snmp: "{{ prometheus_server_rules_snmp + prometheus_server_rules_snmp_extra }}"
+ snmp/probe: "{{ prometheus_server_rules_snmp__probe + prometheus_server_rules_snmp__probe_extra }}"
# prometheus_server_alertmanager:
# url: "127.0.0.1:9093"
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_snmp.yml b/roles/monitoring/prometheus/server/defaults/main/rules_snmp.yml
new file mode 100644
index 00000000..7aec66c4
--- /dev/null
+++ b/roles/monitoring/prometheus/server/defaults/main/rules_snmp.yml
@@ -0,0 +1,11 @@
+---
+prometheus_server_rules_snmp_extra: []
+prometheus_server_rules_snmp:
+ - alert: SNMPRequestErrors
+ expr: increase(snmp_request_errors_total[1m]) > 0
+ for: 5m
+ labels:
+ severity: warning
+ annotations:
+ summary: SNMP Exporter reports request errors (instance {{ '{{' }} $labels.instance {{ '}}' }})
+ description: "SNMP expoter on {{ '{{' }} $labels.instance {{ '}}' }} reports request errors \n VALUE = {{ '{{' }} $value {{ '}}' }}\n LABELS = {{ '{{' }} $labels {{ '}}' }}"
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_snmp__probe.yml b/roles/monitoring/prometheus/server/defaults/main/rules_snmp__probe.yml
new file mode 100644
index 00000000..548144c2
--- /dev/null
+++ b/roles/monitoring/prometheus/server/defaults/main/rules_snmp__probe.yml
@@ -0,0 +1,11 @@
+---
+prometheus_server_rules_snmp__probe_extra: []
+prometheus_server_rules_snmp__probe:
+ - alert: SNMPSlowScrape
+ expr: snmp_scrape_duration_seconds > 5
+ for: 0m
+ labels:
+ severity: warning
+ annotations:
+ summary: SNMP slow scrape (instance {{ '{{' }} $labels.instance {{ '}}' }})
+ description: "Scraping SNMP target took more than 5 seconds \n VALUE = {{ '{{' }} $value {{ '}}' }}\n LABELS = {{ '{{' }} $labels {{ '}}' }}"
diff --git a/roles/monitoring/prometheus/server/templates/targets/snmp/probe.yml.j2 b/roles/monitoring/prometheus/server/templates/targets/snmp/probe.yml.j2
new file mode 100644
index 00000000..47e6dceb
--- /dev/null
+++ b/roles/monitoring/prometheus/server/templates/targets/snmp/probe.yml.j2
@@ -0,0 +1,5 @@
+- targets: [ '{{ (target.exporter_hostname == prometheus_server) | ternary('127.0.0.1:9999', hostvars[target.exporter_hostname].prometheus_scrape_endpoint) }}' ]
+ labels:
+ instance: '{{ target.instance }}'
+ __param_target: '{{ target.config.target }}'
+ __param_module: '{{ target.config.module }}'