Skip to content

Commit ff96e0f

Browse files
committed
Add wireguard alerts
1 parent 2fb8a62 commit ff96e0f

3 files changed

Lines changed: 39 additions & 9 deletions

File tree

‎roles/alertmanager/templates/alertmanager.yml.j2‎

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,36 @@ receivers:
1515
chat_id: {{ vault_secrets.alertmanager.telegram_chat_id }}
1616
send_resolved: true
1717
message: |
18-
{% raw %}{{ if eq .Status "firing" }}
19-
THE {{ range .Alerts }}{{ .Labels.target }}{{ end }} SERVER HAS LEFT THE BUILDING
18+
{% raw %}{{ if eq .Status "firing" }}{{ range .Alerts }}
19+
{{ if eq .Labels.alertname "WireguardDown" }}
20+
THE {{ .Labels.target }} WIREGUARD TUNNEL HAS LEFT THE BUILDING
2021

21-
The HTTPS check for {{ range .Alerts }}{{ .Labels.target }}{{ end }} has failed for over 5 minutes.
22+
The WireGuard exit connection on {{ .Labels.target }} has been down for over 5 minutes.
23+
24+
The tunnel may be offline, unreachable, or taking an unscheduled holiday.
25+
26+
Severity: {{ .Labels.severity }}
27+
Check: {{ .Labels.job }}
28+
{{ else }}
29+
THE {{ .Labels.target }} SERVER HAS LEFT THE BUILDING
30+
31+
The HTTPS check for {{ .Labels.target }} has failed for over 5 minutes.
2232

2333
The server may be offline, unreachable, or contemplating its life choices.
2434

25-
Severity: {{ range .Alerts }}{{ .Labels.severity }}{{ end }}
26-
Check: {{ range .Alerts }}{{ .Labels.job }}{{ end }}
35+
Severity: {{ .Labels.severity }}
36+
Check: {{ .Labels.job }}
37+
{{ end }}{{ end }}{{ else }}{{ range .Alerts }}
38+
{{ if eq .Labels.alertname "WireguardDown" }}
39+
{{ .Labels.target }} WIREGUARD IS BACK
40+
41+
The WireGuard exit connection on {{ .Labels.target }} is responding normally again.
42+
43+
The tunnel has returned from its brief adventure.
2744
{{ else }}
28-
{{ range .Alerts }}{{ .Labels.target }} IS BACK
45+
{{ .Labels.target }} IS BACK
2946

3047
The HTTPS check for {{ .Labels.target }} is responding normally again.
3148

3249
The server has returned from its brief adventure.
33-
{{ end }}{{ end }}{% endraw %}
50+
{{ end }}{{ end }}{{ end }}{% endraw %}

‎roles/prometheus/templates/alert_rules.yml.j2‎

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,13 @@ groups:
88
severity: critical
99
annotations:
1010
summary: "Blackbox probe failed for {{ '{{ $labels.instance }}' }}"
11-
description: "The {{ '{{ $labels.job }}' }} probe for {{ '{{ $labels.instance }}' }} has failed for more than 5 minutes."
11+
description: "The {{ '{{ $labels.job }}' }} probe for {{ '{{ $labels.instance }}' }} has failed for more than 5 minutes."
12+
13+
- alert: WireguardDown
14+
expr: wireguard_up{interface="exit"} == 0 or up{job="ffshmon"} == 0
15+
for: 5m
16+
labels:
17+
severity: critical
18+
annotations:
19+
summary: "WireGuard exit is down on {{ '{{ $labels.target }}' }}"
20+
description: "The WireGuard exit connection on {{ '{{ $labels.target }}' }} has been down for more than 5 minutes."

‎roles/prometheus/templates/prometheus.yml.j2‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@ scrape_configs:
6565
scheme: https
6666

6767
static_configs:
68-
- targets: ["beste.freifunk-suedholstein.de", "brunsbach.freifunk-suedholstein.de", "trave.freifunk-suedholstein.de"]
68+
{% for target in groups['gateways'] %}
69+
- targets: ["{{ target }}.freifunk-suedholstein.de"]
70+
labels:
71+
target: "{{ target }}"
72+
{% endfor %}
6973

7074
- job_name: "services"
7175

0 commit comments

Comments
 (0)