Zabbix sammelt Messwerte von Servern, Diensten und Netzgeräten und vergleicht sie mit Regeln, den Auslösern. Ist ein Auslöser erfüllt, entsteht ein Problem, und Zabbix kann Dich benachrichtigen. Für den Einstieg reichen ein Zabbix-Server, ein Agent 2 auf einer Debian-VM und die mitgelieferte Vorlage „Linux by Zabbix agent“. Danach baust Du einen eigenen Auslöser für eine volle Festplatte.
01Die Bausteine
| Baustein | Aufgabe |
|---|---|
| Zabbix-Server | Speichert die Werte in einer Datenbank, wertet Auslöser aus und verschickt Benachrichtigungen |
| Weboberfläche | Hier legst Du Hosts, Vorlagen, Auslöser und Benachrichtigungen an |
| Zabbix-Proxy | Sammelt Werte an einem entfernten Standort ein und gibt sie gebündelt an den Server weiter |
| Agent 2 | Läuft auf dem überwachten Host und liefert Werte wie CPU-Last, Speicher und Plattenbelegung |
Der Agent arbeitet auf zwei Arten. Passiv fragt der Server den Agenten auf Port 10050 ab. Aktiv holt sich der Agent seine Aufgaben vom Server und schickt die Werte selbst an Port 10051. Für den Anfang reicht der passive Weg. Einen Proxy brauchst Du im Labor nicht. Er lohnt sich, sobald ein Standort hinter einer Firewall liegt.
02Einen Host anlegen
Installiere den Server nach der Anleitung auf zabbix.com/download. Dort wählst Du Version, Betriebssystem und Datenbank und bekommst die passenden Befehle. Auf dem Host, den Du überwachen willst, bindest Du dasselbe Paketquellen-Repository ein und installierst den Agenten:
sudo apt install zabbix-agent2In der Konfiguration trägst Du ein, welcher Server fragen darf und wie der Host heißt:
# /etc/zabbix/zabbix_agent2.conf (Auszug, Adressen sind Platzhalter)
Server=192.0.2.10
ServerActive=192.0.2.10
Hostname=debian-uebungDanach den Agenten neu starten und vom Zabbix-Server aus testen. zabbix_get steckt im Paket zabbix-get:
sudo systemctl restart zabbix-agent2
zabbix_get -s 192.0.2.20 -k agent.ping
zabbix_get -s 192.0.2.20 -k 'vfs.fs.size[/,pused]'Kommt eine 1 und eine Prozentzahl zurück, legst Du den Host in der Weboberfläche unter Data collection > Hosts an. Der Hostname muss genau dem Wert Hostname aus der Agent-Konfiguration entsprechen. Gib ihm eine Hostgruppe und eine Agent-Schnittstelle mit der IP-Adresse der VM.
03Vorlagen, Items und Auslöser
Eine Vorlage bündelt alles, was für eine Art von System gemessen wird. Verknüpf Deinen Host mit Linux by Zabbix agent. Nach wenigen Minuten siehst Du unter Monitoring > Latest data die ersten Werte.
Ein Item ist ein einzelner Messwert. Es hat einen Schlüssel, etwa vfs.fs.size[/,pused] für die Belegung der Wurzelpartition in Prozent, und ein Abfrageintervall. Die Vorlage findet Dateisysteme selbst, das nennt Zabbix Low-Level Discovery.
Ein Auslöser (Trigger) ist ein Ausdruck, der wahr oder falsch ist. Die Grundform lautet Funktion(/Host/Schlüssel,Parameter) Operator Wert, zum Beispiel last(/debian-uebung/vfs.fs.size[/,pused])>90.
Ist der Ausdruck wahr, geht der Auslöser in den Zustand PROBLEM. Wird er wieder falsch, entsteht ein Wiederherstellungsereignis, und das Problem ist gelöst. Mit einem eigenen Wiederherstellungsausdruck legst Du eine zweite, niedrigere Schwelle fest. So springt der Alarm nicht ständig an und aus, wenn der Wert um 90 Prozent pendelt: last(/debian-uebung/vfs.fs.size[/,pused])<85.
Jeder Auslöser hat außerdem einen Schweregrad von „Information“ bis „Disaster“, nach dem sich später die Benachrichtigung richtet.
04Makros statt fester Werte
Schwellen gehören in Makros. Die Vorlage nutzt für Dateisysteme zum Beispiel {$VFS.FS.PUSED.MAX.WARN} mit 80 und {$VFS.FS.PUSED.MAX.CRIT} mit 90 Prozent. Ihr Auslöser für eine kritisch volle Platte prüft, ob die Belegung fünf Minuten lang über dem kritischen Wert lag.
Braucht ein Host andere Schwellen, überschreibst Du das Makro am Host und änderst die Vorlage nicht. Mit einem Kontext gilt der Wert nur für ein bestimmtes Dateisystem, etwa {$VFS.FS.PUSED.MAX.CRIT:"/var/log"} mit 95. Für eigene Auslöser legst Du eigene Makros an, zum Beispiel {$DISK.PUSED.MAX}.
05Benachrichtigung über Medien und Aktionen
Damit Du von einem Problem erfährst, ohne in die Oberfläche zu schauen, greifen drei Teile ineinander:
- Medientyp (Alerts > Media types): der Weg, etwa E-Mail oder ein Webhook für einen Chat-Dienst.
- Medium am Benutzer (im Benutzerprofil unter „Media“): Deine Adresse für diesen Weg und ab welchem Schweregrad.
- Aktion (Alerts > Actions > Trigger actions): Bedingungen wie Hostgruppe und Schweregrad, dazu die Schritte für Problem und Wiederherstellung.
Wichtig: Zabbix benachrichtigt nur Benutzer, deren Benutzergruppe mindestens Leserecht auf die Hostgruppe hat. Fehlt das Recht, bleibt die Nachricht still aus.
06Wartungszeiten
Wenn Du einen Server absichtlich neu startest, soll niemand geweckt werden. Unter Data collection > Maintenance legst Du ein Wartungsfenster für Hosts oder Hostgruppen an. Probleme in diesem Zeitraum werden unterdrückt. Ist bei der Aktion „Pause operations for suppressed problems“ angehakt, wartet sie bis zum Ende der Wartung. Besteht das Problem dann noch, kommt die Nachricht hinterher. Wähl „With data collection“, damit Zabbix weiter misst und Du danach siehst, was passiert ist.
07Alarmmüdigkeit vermeiden
Wer jeden Tag zwanzig unwichtige Meldungen bekommt, übersieht die eine wichtige. Deshalb:
- Nur melden, was eine Handlung braucht. Alles andere darf in der Oberfläche stehen, ohne Benachrichtigung.
- Kurze Spitzen ausfiltern: min(...,5m) statt last(...) meldet erst, wenn der Wert fünf Minuten lang zu hoch war.
- Hysterese einbauen: mit einem Wiederherstellungsausdruck unterhalb der Auslöseschwelle.
- Abhängigkeiten setzen: Ist der Agent nicht erreichbar, braucht es keine zehn Folgemeldungen. Die Vorlage nutzt dafür Auslöser, die von anderen abhängen.
- Regelmäßig aufräumen: Ein Auslöser, auf den nie jemand reagiert, wird angepasst oder gelöscht.
08Typische Fallen
- Hostname passt nicht: Für aktive Prüfungen muss der Name in der Oberfläche exakt dem Hostname des Agenten entsprechen. Sonst lehnt der Server die Werte ab.
- Firewall dazwischen: Port 10050 zum Agenten und Port 10051 zum Server müssen offen sein. Teste mit zabbix_get, bevor Du in der Oberfläche suchst.
- Alarm kommt nie an: Medientyp, Medium am Benutzer, Aktion und Leserecht müssen alle stimmen. Prüf unter Reports > Action log, ob Zabbix überhaupt versucht hat zu senden.
- Ungeduld: Die Auslöser der Vorlage warten fünf Minuten. Wer nach einer Minute aufgibt, hält einen funktionierenden Auslöser für kaputt.
- Vorlage direkt geändert: Änderungen an mitgelieferten Vorlagen gehen bei einem Update leicht verloren. Überschreib Makros am Host oder leg eine eigene Vorlage an.
09Übung
- Setz einen Zabbix-Server und eine Debian-13-VM mit Agent 2 auf. Mach von beiden einen Snapshot.
- Leg die VM als Host an, verknüpf die Vorlage Linux by Zabbix agent und prüf unter Latest data, dass Werte kommen.
- Leg am Host das Makro {$DISK.PUSED.MAX} mit dem Wert 90 an.
- Erstell am Host einen Auslöser mit dem Ausdruck last(/debian-uebung/vfs.fs.size[/,pused])>{$DISK.PUSED.MAX} und dem Wiederherstellungsausdruck last(/debian-uebung/vfs.fs.size[/,pused])<85. Ersetze debian-uebung durch Deinen Hostnamen.
- Richte einen Medientyp, Dein Medium und eine Aktion ein, die Dich bei diesem Auslöser benachrichtigt.
- Füll die Platte auf etwa 93 Prozent:
df -h /
read -r size used < <(df --output=size,used -B1 / | tail -n 1)
fill=$(( size * 93 / 100 - used ))
echo "$fill" # muss positiv sein, sonst ist die Platte schon voller
sudo fallocate -l "$fill" /var/tmp/fuellung.img
df -h /- Warte, bis das Problem unter Monitoring > Problems erscheint und die Nachricht ankommt. Nach fünf Minuten meldet sich auch der Auslöser der Vorlage. Das ist richtig so.
- Räum auf mit sudo rm /var/tmp/fuellung.img und warte auf die Wiederherstellung.
- Leg ein Wartungsfenster für den Host an, prüf die Pause-Option Deiner Aktion und wiederhole die Schritte 6 bis 8 innerhalb der Wartung. Das Problem erscheint unterdrückt, eine Nachricht kommt nicht.
Geschafft, wenn: Der Alarm beim Füllen kommt, nach dem Aufräumen von allein verschwindet und Du erklären kannst, warum die Wiederherstellung erst unter 85 Prozent greift.
10Häufige Fragen zu Zabbix
Brauche ich Agent 2 oder reicht der alte Agent? Beide liefern die Grundwerte für Linux. Agent 2 ist die neuere Fassung und bringt Erweiterungen für Dienste wie Datenbanken und Docker mit, deshalb nimmst Du für neue Installationen Agent 2.
Was ist der Unterschied zwischen Item und Auslöser? Ein Item misst einen Wert, etwa die Plattenbelegung. Ein Auslöser bewertet diesen Wert mit einem Ausdruck und entscheidet, ob ein Problem vorliegt.
Warum kommt meine Benachrichtigung nicht an? Meist fehlt ein Glied der Kette aus Medientyp, Medium am Benutzer, Aktion und Leserecht auf die Hostgruppe. Im Aktionsprotokoll siehst Du, ob Zabbix gesendet hat und welche Fehlermeldung zurückkam.
Was passiert während einer Wartung mit den Messwerten? Bei „With data collection“ misst Zabbix weiter, unterdrückt aber die Probleme. Bei „No data collection“ verwirft der Server die Werte für diesen Zeitraum, dann fehlen sie später in den Grafiken.
11Weiter im Lernpfad
Zurück zur Übersicht: Lernpfad IT-Infrastruktur. Den Agenten auf vielen Servern verteilst Du am besten mit Ansible, welche Server es gibt, steht in NetBox. Zabbix zeigt Dir, ob ein Server läuft. Ob jemand versucht, auf ihn einzudringen, zeigen Wazuh und Suricata. Was nach einem Alarm automatisch passieren soll, baust Du mit Tracecat. Wenn Du in der Umschulung zum Fachinformatiker bist: Überwachung ist Teil unserer Praktika Fachinformatiker Systemintegration und Fachinformatiker Digitale Vernetzung.
Zuletzt geprüft: Oktober 2026
