Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Monitoring 02.06.2026 · 9 min Lesezeit

Zabbix-Server aufsetzen und ersten Host überwachen

So setzen Sie einen Zabbix-Server (7.0 LTS) auf Debian oder Ubuntu 24.04 auf, richten das Frontend ein und überwachen den ersten Host mit Zabbix Agent 2, inklusive Template, Triggern und E-Mail-Benachrichtigung.

Geprüft am 30.09.2026 · für zabbix 7.0.31

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Server-Rack mit grünen Statusleuchten und einer gelben Warnleuchte in einem abgedunkelten Betriebsraum, Sinnbild für Server-Monitoring

Diese Anleitung zeigt, wie Sie einen Zabbix-Server aufsetzen und den ersten Host überwachen, von der Paketinstallation bis zur ersten E-Mail-Warnung. Zabbix ist eine quelloffene Monitoring-Lösung für Netzwerke, Server und Dienste. Verwendet werden Zabbix 7.0 LTS mit MySQL oder MariaDB als Datenbank, das PHP-Frontend und Zabbix Agent 2.

Voraussetzungen

  1. Zwei Linux-Server: einer für den Zabbix-Server (Debian 12 oder 13, Ubuntu 24.04 LTS), einer als Zielhost. Für einen ersten Test genügt ein Server, der sich selbst überwacht.
  2. Root- bzw. sudo-Rechte auf beiden Maschinen.
  3. MySQL- oder MariaDB-Server lokal auf dem Zabbix-Host. Installation und Absicherung beschreibt die verlinkte Anleitung am Ende.
  4. PHP 8.0 oder neuer, kommt mit dem Frontend-Paket. Anforderungen: memory_limit mindestens 128M, post_max_size 16M, upload_max_filesize 2M, max_execution_time 300.
  5. Offene Ports: Agent passiv 10050/TCP (Server fragt Agent ab), Server-Trapper 10051/TCP (Agent sendet an Server), Frontend 80 bzw. 443/TCP.

Welche Version? Diese Anleitung nutzt Zabbix 7.0 LTS (Stand September 2026: 7.0.31) mit eingeschränktem Support bis 30.06.2029. Die Zwischenversion 7.4 erhält nur bis zum Erscheinen von 8.0 LTS Updates; 7.2 ist bereits EOL. Verwenden Sie die offiziellen Pakete von repo.zabbix.com, die Pakete der Distributionen sind veraltet.

Schritt 1: Repository einbinden und Pakete installieren

Binden Sie das offizielle Zabbix-Repository ein und installieren Sie Server, Frontend, SQL-Skripte und Agent 2. Die Repository-Datei unterscheidet sich je nach Distribution.

Variante A: Debian 12

wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian12_all.deb
sudo dpkg -i zabbix-release_latest_7.0+debian12_all.deb
sudo apt update
sudo apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2

Für Debian 13 ersetzen Sie in beiden Zeilen debian12 durch debian13.

Variante B: Ubuntu 24.04 LTS

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt update
sudo apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2

zabbix-apache-conf liefert die Apache-Konfiguration für das Frontend. Für Nginx installieren Sie stattdessen zabbix-nginx-conf; die übrigen Schritte bleiben gleich.

Verifizieren: apt policy zabbix-server-mysql zeigt eine installierte Version 1:7.0.x aus repo.zabbix.com.

Schritt 2: Datenbank anlegen

Die Datenbank muss mit Zeichensatz utf8mb4 und Sortierung utf8mb4_bin angelegt werden, sonst schlagen Schema-Import oder spätere Trigger fehl. Melden Sie sich an der Datenbank an:

sudo mysql -uroot -p

Legen Sie Datenbank und Benutzer an und ersetzen Sie EinSicheresPasswort durch ein eigenes, starkes Passwort:

create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'EinSicheresPasswort';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;

log_bin_trust_function_creators = 1 ist nötig, wenn Binary Logging aktiv ist; ohne die Einstellung bricht der Schema-Import ab. Nach dem Import setzen Sie den Wert zurück.

Verifizieren: sudo mysql -e "SHOW CREATE DATABASE zabbix;" zeigt CHARACTER SET utf8mb4 COLLATE utf8mb4_bin.

Schritt 3: Schema importieren

Das Schema liegt unter /usr/share/zabbix-sql-scripts/mysql/server.sql.gz. Der Import läuft als DB-Benutzer zabbix und dauert je nach Hardware ein bis zwei Minuten:

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

Setzen Sie danach die Option auf den sicheren Standard zurück:

sudo mysql -uroot -p -e "set global log_bin_trust_function_creators = 0;"

Verifizieren: sudo mysql -e "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='zabbix';" liefert eine dreistellige Tabellenzahl (rund 200).

Schritt 4: DB-Zugang in der Server-Konfiguration setzen

Tragen Sie die Zugangsdaten in /etc/zabbix/zabbix_server.conf ein bzw. aktivieren Sie die auskommentierten Zeilen:

# /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=EinSicheresPasswort

DBPassword muss exakt dem Passwort aus Schritt 2 entsprechen. Ein falsches Passwort ist die häufigste Ursache der Frontend-Meldung „Zabbix server is not running“.

Verifizieren: sudo grep -E '^DB(Name|User|Password)=' /etc/zabbix/zabbix_server.conf gibt genau drei Zeilen aus.

Schritt 5: Dienste starten und aktivieren

Starten Sie Zabbix-Server, den lokalen Agent 2 und Apache und aktivieren Sie den Autostart:

sudo systemctl restart zabbix-server zabbix-agent2 apache2
sudo systemctl enable zabbix-server zabbix-agent2 apache2

Verifizieren: systemctl status zabbix-server zeigt active (running), und sudo tail -n 20 /var/log/zabbix/zabbix_server.log enthält keine Zeile mit cannot connect to database. Bei Fehlern liefert sudo journalctl -u zabbix-server -n 50 --no-pager weitere Hinweise (meist DB-Zugang oder Zeichensatz).

Schritt 6: Frontend-Assistenten durchlaufen

Öffnen Sie im Browser http://SERVER-IP/zabbix (z. B. http://192.168.1.10/zabbix). Der Assistent umfasst folgende Schritte:

  1. Welcome: Sprache wählen.
  2. Check of pre-requisites: Zabbix prüft die PHP-Werte. Alle Einträge müssen auf OK stehen; beheben Sie rote Einträge zuerst.
  3. Configure DB connection: Database type MySQL, Database host localhost, Port 0 (Standard), Database name zabbix, User zabbix, Passwort aus Schritt 2.
  4. Settings: Zabbix server name (Anzeigename) und Default time zone festlegen.
  5. Pre-installation summary: Werte kontrollieren.
  6. Install: Abschließen.

Erst-Login: Benutzer Admin (großes A), Passwort zabbix. Ändern Sie dieses Standardpasswort sofort unter Users > Users > Admin > Change password; die Standardzugangsdaten sind öffentlich bekannt.

Meldet der Assistent eine fehlende Zeitzone, setzen Sie sie in /etc/zabbix/apache.conf mit der Zeile php_value date.timezone Europe/Berlin und laden Apache mit sudo systemctl reload apache2 neu.

Verifizieren: Nach dem Login zeigt das Dashboard im Widget System information bei Zabbix server is running den Wert Yes.

Schritt 7: Zabbix-Agent auf dem Zielhost installieren

Binden Sie auf dem Zielhost das Repository wie in Schritt 1 ein und installieren Sie nur den Agent. Beispiel für Debian 12:

wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian12_all.deb
sudo dpkg -i zabbix-release_latest_7.0+debian12_all.deb
sudo apt update
sudo apt -y install zabbix-agent2

Tragen Sie in /etc/zabbix/zabbix_agent2.conf die IP des Zabbix-Servers ein und setzen Sie Hostname exakt so, wie der Host im Frontend heißen soll:

# /etc/zabbix/zabbix_agent2.conf
Server=192.168.1.10
ServerActive=192.168.1.10
Hostname=web-01

Server erlaubt passive Abfragen (Server fragt Agent über Port 10050 ab), ServerActive aktiviert aktive Checks (Agent sendet an Port 10051). Starten und aktivieren Sie den Agent:

sudo systemctl restart zabbix-agent2
sudo systemctl enable zabbix-agent2

Verifizieren: Auf dem Zabbix-Server liefert zabbix_get -s <IP-des-Zielhosts> -k agent.ping den Wert 1 (Paket zabbix-get). Ein Timeout deutet auf Firewall oder falschen Server=-Eintrag hin.

Schritt 8: Verbindung optional per PSK verschlüsseln

Die Agent-Verbindung ist standardmäßig unverschlüsselt. Eine einfache Verschlüsselung bietet ein Pre-Shared Key (PSK). Erzeugen Sie den Schlüssel auf dem Zielhost:

sudo sh -c 'openssl rand -hex 32 > /etc/zabbix/zabbix_agent2.psk'
sudo chown zabbix:zabbix /etc/zabbix/zabbix_agent2.psk
sudo chmod 640 /etc/zabbix/zabbix_agent2.psk

Ergänzen Sie in /etc/zabbix/zabbix_agent2.conf die PSK-Parameter und starten Sie den Agent neu:

# /etc/zabbix/zabbix_agent2.conf (PSK-Teil)
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSK001
TLSPSKFile=/etc/zabbix/zabbix_agent2.psk

Im Frontend hinterlegen Sie am Host im Reiter Encryption dieselbe PSK identity (hier PSK001) und denselben PSK (Inhalt der Datei) und aktivieren bei Connections to host und Connections from host jeweils PSK. Die TLSPSKIdentity wird unverschlüsselt übertragen; wählen Sie dort keinen sensiblen Wert.

Verifizieren: Die Verfügbarkeitsanzeige des Hosts bleibt nach der Umstellung grün, und sudo tail /var/log/zabbix/zabbix_agent2.log enthält keine Meldung TLS handshake-Fehler.

Schritt 9: Host im Frontend anlegen

Öffnen Sie Data collection > Hosts und klicken Sie oben rechts auf Create host:

  1. Host name: exakt der Hostname aus der Agent-Konfiguration (hier web-01), Groß- und Kleinschreibung beachten.
  2. Host groups: z. B. Linux servers wählen oder neu anlegen.
  3. Interfaces: Add > Agent, IP-Adresse des Zielhosts, Port 10050.

Speichern Sie mit Add.

Verifizieren: Der Host erscheint in der Liste, und die Verfügbarkeitsanzeige ZBX wird nach kurzer Zeit grün.

Schritt 10: Template verknüpfen und Items/Trigger verstehen

Items und Trigger liefert ein Template. Öffnen Sie den Host, wechseln Sie in das Feld Templates und verknüpfen Sie:

  1. Linux by Zabbix agent für den passiven Modus oder
  2. Linux by Zabbix agent active für den aktiven Modus.

Speichern Sie mit Update. Der Host erbt damit Dutzende Items und Trigger.

BegriffBedeutungBeispiel
ItemEinzelne Messgröße, die Zabbix sammeltCPU-Last, freier Arbeitsspeicher, Dateisystem-Belegung
TriggerBedingung auf einem oder mehreren Items, die einen Problemzustand definiertDateisystem über 90 % belegt, Dienst nicht erreichbar

Verifizieren: Unter Monitoring > Latest data erscheinen nach wenigen Minuten Messwerte für web-01; aktive Probleme zeigt Monitoring > Problems.

Schritt 11: Einfache E-Mail-Benachrichtigung einrichten

Eine Benachrichtigung besteht aus drei Teilen; fehlt einer, wird nichts versendet:

  1. Media type: Unter Alerts > Media types > Email tragen Sie SMTP server, SMTP server port, SMTP helo und SMTP email (Absender) ein, bei Bedarf Connection security und Authentication. Setzen Sie den Media type auf Enabled.
  2. User media: Unter Users > Users den Benutzer öffnen, Reiter Media > Add, Type Email, Send to mit der Zieladresse.
  3. Trigger action: Unter Alerts > Actions > Trigger actions > Create action eine Aktion anlegen; im Reiter Operations eine Operation Send to users mit Medium Email hinzufügen.

Verifizieren: In Alerts > Media types sendet Test beim Eintrag Email eine Testmail, die ankommt. Nach einem ausgelösten Trigger (z. B. Agent auf dem Zielhost kurz stoppen) zeigt Reports > Action log den Versand mit Status Sent.

Troubleshooting

  1. Frontend meldet „Zabbix server is not running“: Meist falsches DBPassword in zabbix_server.conf oder der Dienst läuft nicht. Prüfen Sie sudo journalctl -u zabbix-server -n 50 und starten Sie den Dienst neu.
  2. „no active checks on server“ im Agent-Log: Hostname in zabbix_agent2.conf stimmt nicht exakt mit dem Host name im Frontend überein.
  3. Schema-Import oder Trigger-Anlage schlägt fehl: Falscher Zeichensatz; die Datenbank muss utf8mb4 und utf8mb4_bin verwenden.
  4. Import-Fehler bei Binary Logging: log_bin_trust_function_creators = 1 fehlte vor dem Import.
  5. ZBX-Anzeige bleibt rot: Firewall blockiert. Port 10050 muss vom Server zum Agent (passiv), 10051 vom Agent zum Server (aktiv) offen sein.
  6. E-Mail kommt nicht an: Alle drei Teile prüfen: Media type aktiv, User media gesetzt, Trigger action aktiv.

Häufige Fragen

Welche Zabbix-Version soll ich nehmen?

Für produktive Umgebungen eine LTS-Version, derzeit Zabbix 7.0 LTS mit Support bis 30.06.2029. Nach dem Erscheinen von Zabbix 8.0 LTS lohnt ein Blick auf die Upgrade-Hinweise; Zwischenversionen wie 7.4 erhalten nur kurz Updates.

Was ist der Unterschied zwischen passivem und aktivem Agent?

Beim passiven Agent fragt der Server die Werte über Port 10050 ab. Beim aktiven Agent holt sich der Agent seine Aufgabenliste vom Server und sendet die Daten an Port 10051. Der aktive Modus entlastet den Server und funktioniert besser hinter NAT, verlangt aber den exakt passenden Hostname und das Template … agent active.

Brauche ich zwingend MySQL oder geht auch MariaDB?

MariaDB funktioniert ebenso, sofern die Datenbank mit utf8mb4 und utf8mb4_bin angelegt ist. Zabbix unterstützt auch PostgreSQL; dann verwenden Sie das Paket zabbix-server-pgsql und das passende SQL-Skript.

Muss ich Items und Trigger manuell anlegen?

Nein. Das Template Linux by Zabbix agent liefert sie. Eigene Items und Trigger ergänzen Sie nur für spezielle Anforderungen.

Warum bekomme ich trotz Problem keine E-Mail?

Weil einer der drei Teile fehlt: aktiver Media type, User media beim Empfänger, aktive Trigger action mit Operation Send to users (Schritt 11).

Ist die Agent-Verbindung standardmäßig verschlüsselt?

Nein. Richten Sie einen PSK ein (Schritt 8) oder Zertifikate.

Fazit

Sie betreiben jetzt einen Zabbix-Server mit MySQL-Datenbank, PHP-Frontend und Agent 2 und überwachen den ersten Host. Die wichtigsten Stolpersteine sind der Zeichensatz utf8mb4_bin, der exakt übereinstimmende Hostname, offene Ports und die drei Teile einer Benachrichtigung. Weitere Hosts binden Sie über dasselbe Template an; als nächste Schritte bieten sich Dashboards, weitere Templates (etwa für Webserver oder Datenbanken) und Eskalationen an.

Weiterführende Anleitungen und Quellen

  1. Datenbank-Unterbau: MariaDB/MySQL installieren und absichern
  2. Messwerte visualisieren: Grafana-Dashboards bauen: Datenquelle und Panel
  3. Weitere Anleitungen aus der Kategorie Monitoring

Quellen: Zabbix 7.0: Installation aus Paketen, Zabbix 7.0: Pre-Shared Keys, Zabbix Life Cycle and Release Policy.