So installierst du Zabbix auf einem Debian 12 Server
Zabbix ist eine kostenlose und quelloffene Überwachungslösung für die IT-Infrastruktur. Mit ihr kannst du Netzwerke, Server, virtuelle Maschinen und Cloud-Dienste überwachen. Zabbix bietet ein Client/Server-Modell. Du kannst den Zabbix-Agenten einfach auf dem Zielserver installieren und ihn über das Zabbix-Dashboard überwachen. Zabbix unterstützt auch allgemeine Überwachungsprotokolle wie SNMP und IPMI.
Diese Anleitung zeigt dir, wie du die Zabbix Monitoring Solution auf einem Debian 12 Server installierst. Du installierst Zabbix mit PostgreSQL als Datenbankserver, Nginx als Webserver und PHP-FPM.
Voraussetzungen
Um mit diesem Leitfaden zu beginnen, musst du folgende Voraussetzungen erfüllen:
- Einen Debian 12-Server
- Einen Nicht-Root-Benutzer mit einem Administrator-Benutzer
Installation des PostgreSQL-Servers
Standardmäßig unterstützt Zabbix RDBMS wie MySQL und PostgreSQL. In dieser Anleitung wirst du PostgreSQL als Zabbix-Installationsdatenbank verwenden. Deshalb installierst du PostgreSQL zunächst mit dem APT-Paketmanager aus dem Debian-Repository.
Führe zunächst den Befehl „apt“ aus, um deinen Debian-Paketindex zu aktualisieren.
sudo apt update
Installiere nun PostgreSQL mit dem unten stehenden Befehl. Gib „Y“ ein, um die Installation zu bestätigen.
sudo apt install postgresql postgresql-contrib
Nachdem die Installation abgeschlossen ist, überprüfe den Status des Dienstes „postgresql“, um sicherzustellen, dass er läuft. Du wirst PostgreSQL mit dem Status „running(exited)“ sehen, was bedeutet, dass der Dienst zwar läuft, systemd aber keinen Daemon zur Überwachung findet.
sudo systemctl is-enabled postgresql sudo systemctl status postgresql
PostgreSQL Datenbank und Benutzer anlegen
Nach der Installation von PostgreSQL musst du einen neuen Benutzer und eine neue Datenbank für Zabbix erstellen. In diesem Schritt verwendest du den Befehl „createuser“, um eine neue Rolle in PostgreSQL anzulegen, und den Befehl „createdb“, um die PostgreSQL-Datenbank zu erstellen.
Um einen neuen PostgreSQL-Benutzer „zabbix“ zu erstellen, führe den folgenden Befehl aus. Gib nun das Passwort für deinen Datenbankbenutzer ein und wiederhole es, wenn du dazu aufgefordert wirst.
sudo -u postgres createuser --pwprompt zabbix
Führe nun den folgenden Befehl aus, um eine neue Datenbank „zabbix“ mit dem Standardbesitzer „zabbix“ zu erstellen. Diese Datenbank und dieser Benutzer werden für die Installation von Zabbix verwendet.
sudo -u postgres createdb -O zabbix zabbix
Zabbix installieren
Nachdem du nun PostgreSQL installiert und konfiguriert hast, fügen wir das Zabbix-Repository hinzu und installieren die Zabbix-Pakete „zabbix-frontend-php“, „zabbix-server-pgsql“ und „zabbix-agent“. Außerdem werden dadurch automatisch der Nginx-Webserver und PHP-FPM installiert, die vom Zabbix-Frontend verwendet werden.
Lade das Zabbix-Repository für dein Debian-System mit dem folgenden Befehl herunter. In diesem Beispiel installierst du Zabbix 7.2 auf deinem Debian-Server. Nach dem Download ist die Datei „zabbix-release_latest_7.2+debian12_all.deb“ in deinem aktuellen Arbeitsverzeichnis verfügbar.
wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb
Führe nun den Befehl „dpkg“ aus, um das Zabbix-Repository zu deinem System hinzuzufügen.
sudo dpkg -i zabbix-release_latest_7.2+debian12_all.deb
Danach führst du den folgenden „apt“-Befehl aus, um dein Debian-Repository zu aktualisieren und den Zabbix-Server zu installieren. In diesem Beispiel installierst du Zabbix und den Zabbix Agent mit der PostgreSQL-Datenbank, dem Webserver Nginx und PHP-FPM.
sudo apt update sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Gib „Y“ ein, um mit der Installation fortzufahren.
Integration von Zabbix mit PostgreSQL
Nachdem du die Zabbix-Pakete installiert hast, musst du im nächsten Schritt Zabbix mit dem PostgreSQL-Datenbankserver integrieren. Dazu musst du das Zabbix-Datenbankschema importieren und die PostgreSQL-Anmeldedaten in der Datei „/etc/zabbix/zabbix_server.conf“ ändern.
Importiere das Datenbankschema für Zabbix in die Datenbank „zabbix“ mit dem Benutzer „zabbix“. Gib dein „zabbix“-Passwort ein, wenn du dazu aufgefordert wirst.
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Öffne anschließend die Zabbix-Konfiguration „/etc/zabbix/zabbix_server.conf“ mit dem Editor „nano“.
sudo nano /etc/zabbix/zabbix_server.conf
Entferne die Kommentare zu „DBHost“, „DBName“, „DBUser“ und „DBPassword“ mit deinen PostgreSQL-Anmeldedaten.
DBHost = localhost DBName = zabbix DBUser = zabbix DBPassword = password
Speichere die Datei und beende den Editor, wenn du fertig bist.
Nginx Webserver einrichten
Nachdem du nun Zabbix mit PostgreSQL integriert hast, müssen wir den Nginx Webserver konfigurieren. Standardmäßig ist die Nginx-Konfiguration für Zabbix in der Datei „/etc/zabbix/nginx.conf“ zu finden, die du nun ändern musst, indem du den Standard-Domänennamen und den Standard-Port für Zabbix änderst (optional).
Öffne die Nginx-Konfiguration „/etc/zabbix/nginx.conf“ für die Zabbix-Integration mit dem Editor „nano“.
sudo nano /etc/zabbix/nginx.conf
Ändere die Standardoption „listen“ in Port „8080“. In diesem Beispiel lassen wir Zabbix mit dem Nginx-Webserver auf Port „8080“ laufen.
listen 8080;
Ändere die Option „server_name“ in deinen Domainnamen. In diesem Beispiel verwenden wir den lokalen Domainnamen, den du in der Datei „/etc/hosts“ anlegen kannst.
server_name zabbix.howtoforge.local;
Speichere die Datei und beende den Editor, wenn du fertig bist.
Führe abschließend den Befehl „nginx“ aus, um deine Nginx-Konfiguration zu überprüfen. Wenn du die Nginx-Konfiguration korrigiert hast, siehst du eine Ausgabe wie „syntax is ok – test is successful“.
sudo nginx -t
Neustart der Zabbix-Dienste
Jetzt hast du die Zabbix-Pakete installiert und Zabbix mit dem PostgreSQL-Server und dem Nginx-Webserver integriert. Jetzt musst du jeden Zabbix-Dienst neu starten, um alle Änderungen zu übernehmen. Anschließend musst du jeden Zabbix-Dienst überprüfen, um sicherzustellen, dass er läuft.
Führe zunächst den Befehl „systemctl“ aus, um die Dienste „zabbix-server“, „zabbix-agent“, „nginx“ und „php8.2-fpm“ zu aktivieren.
sudo systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm
Führe nun den folgenden Befehl aus, um die Zabbix-Dienste neu zu starten und deine neuen Änderungen in Zabbix zu übernehmen.
sudo systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm
Überprüfe abschließend die Zabbix-Dienste mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.
sudo systemctl status zabbix-server zabbix-agent nginx php8.2-fpm
Du kannst unten sehen, dass der „zabbix-server“ läuft.
Auch der „zabbix-agent“ läuft.
Unten kannst du sehen, dass der Dienst „nginx“ läuft.
Und schließlich kannst du sehen, dass der Dienst „php8.2-fpm“ auf deinem Server läuft.
Zabbix-Installationsassistent
Wenn alle Zabbix-Dienste laufen, kannst du jetzt auf deine Zabbix-Installation zugreifen.
Bearbeite auf deinem lokalen Computer die Datei „/etc/hosts“ mit deinem Texteditor. Achte darauf, dass du über Administratorrechte verfügst. Für Windows-Benutzer kannst du ‚C:\Windows\System32\drivers\etc\hosts‘ als Administrator ändern.
In der Datei „hosts“ gibst du die IP-Adresse und den Domänennamen deines Zabbix-Servers wie folgt an:
192.168.10.10 zabbix.howtoforge.local
Speichere die Datei und beende den Editor.
Öffne nun deinen Webbrowser und rufe http://zabbix.howtoforge.local:8080/ auf. Wenn deine Zabbix-Installation erfolgreich war, siehst du den Zabbix-Installationsassistenten.
Wähle deine Standardsprache für Zabbix aus und klicke auf„Nächster Schritt„, um fortzufahren.
Vergewissere dich während der Vorprüfung, dass deine Serverkonfiguration den Zabbix-Anforderungen entspricht.
Wähle nun als Datenbank „PostgreSQL“ aus und gib deine Datenbankdetails ein.
Gib deinen Servernamen ein und wähle die Standardzeitzone für Zabbix.
Überprüfe alles, bevor du fortfährst, und klicke dann auf„Nächster Schritt„.
Nachdem die Installation abgeschlossen ist, siehst du eine Meldung wie„Glückwunsch! Du hast das Zabbix-Frontend erfolgreich installiert„.
Klicke auf„Fertig stellen„, um die Installation abzuschließen.
Jetzt wirst du zur Zabbix-Anmeldeseite weitergeleitet. Gib den Benutzer Admin und das Passwort zabbix ein und klicke dann auf„Anmelden„.
Wenn alles gut geht, siehst du das folgende Zabbix-Administrations-Dashboard.
Fazit
Herzlichen Glückwunsch! Du hast die Installation der Zabbix Monitoring Solution auf dem Debian 12 Server abgeschlossen. Du hast Zabbix mit dem PostgreSQL-Datenbankserver, dem Nginx-Webserver und PHP-FPM zum Laufen gebracht. Außerdem läuft auf deinem Server der „zabbix-agent“, der deine Zabbix-Instanz überwachen wird. Von hier aus kannst du nun einen neuen Zielhost hinzufügen, um Zabbix zu überwachen, Benachrichtigungen über mehrere Dienste einzurichten und dann deine Dienste über Zabbix zu überwachen.