Nichts lässt das Herz eines IT-Nerds schneller schlagen als ein gut getimter Alarm (außer vielleicht eine neue Episode von Star Trek). Aber wir alle wissen: Zu viele Alarme verursachen nur Lärm und führen dazu, dass wir irgendwann leise vor uns hin weinen, während wir unsere Inbox ignorieren. Daher ist es Zeit, Prometheus Alerting Regeln auf unseren Debian-Servern sinnvoll zu gestalten.
Zunächst einmal musst du Prometheus auf deinem Debian-Server installieren. Wenn du das noch nicht gemacht hast, dann ist es jetzt an der Zeit. Wir haben das mit Hilfe des offiziellen Debian-Pakets gemacht. Ein einfaches "sudo apt install prometheus" in der Befehlszeile genügt.
Nachdem Prometheus installiert ist, können wir die Alerting-Regeln konfigurieren. Als erstes erstellen wir eine neue Datei namens prometheus.rules.yml in unserem Prometheus-Konfigurationsverzeichnis. Diese Datei enthält alle unsere Alerting-Regeln.
Jetzt zum spannenden Teil: die Regeln selbst. Wir haben uns für zwei grundlegende Alarme entschieden, die uns wirklich helfen, statt uns in Alarmfluten zu ertränken.
1. Alert "HighLoad": Dieser Alarm warnt uns, wenn die Last auf unserem Server für mehr als 5 Minuten über 80% liegt. Perfekt, um zu verhindern, dass unser Server in Flammen aufgeht und uns vorzeitig in den Feierabend schickt.
2. Alert "LowDiskSpace": Dieser Alarm signalisiert, wenn der freie Festplattenspeicher unter 20% fällt. Denn wir alle wissen, dass nichts ein System schneller zum Stillstand bringt als ein voller Speicher.
Der Code für diese beiden Alarme sieht in unserer prometheus.rules.yml Datei etwa so aus:
```
groups:
- name: example
rules:
- alert: HighLoad
expr: node_load1 > 0.8
for: 5m
labels:
severity: major
annotations:
summary: "High load on server"
- alert: LowDiskSpace
expr: (node_filesystem_avail_bytes / node_filesystem_size_bytes) < 0.2
labels:
severity: major
annotations:
summary: "Low disk space on server"
```
Zum Schluss müssen wir Prometheus sagen, wo es unsere Regeln finden kann. Dazu fügen wir in unserer prometheus.yml Datei unter dem Punkt "rule_files" den Pfad zu unserer prometheus.rules.yml Datei hinzu:
```
rule_files:
- 'prometheus.rules.yml'
```
Und voilà! Jetzt haben wir zwei sinnvolle Alarme, die uns helfen, den Überblick zu behalten, ohne von Unmengen an irrelevanten Alarmen überflutet zu werden. Jetzt kannst du dich zurücklehnen, entspannen und darauf warten, dass deine Server dich bei wirklichen Problemen alarmieren. Oder du nutzt die gewonnene Zeit, um die nächste Star Trek Episode zu schauen. Deine Wahl.