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

Repo aktualisieren

Installiere nun PostgreSQL mit dem unten stehenden Befehl. Gib „Y“ ein, um die Installation zu bestätigen.

sudo apt install postgresql postgresql-contrib

install postgresql

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

check postgresql server

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

Datenbank und Benutzer anlegen

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

Repo hinzufügen

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.

install zabbix

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

postgresql und nginx einrichten

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

Zabbix aktivieren

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.

zabbix-server läuft

Auch der „zabbix-agent“ läuft.

zabbix-agent wird ausgeführt

Unten kannst du sehen, dass der Dienst „nginx“ läuft.

nginx läuft

Und schließlich kannst du sehen, dass der Dienst „php8.2-fpm“ auf deinem Server läuft.

php-fpm 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.

Zabbix-Sprache

Vergewissere dich während der Vorprüfung, dass deine Serverkonfiguration den Zabbix-Anforderungen entspricht.

Systemprüfung

Wähle nun als Datenbank „PostgreSQL“ aus und gib deine Datenbankdetails ein.

postgresql einrichten

Gib deinen Servernamen ein und wähle die Standardzeitzone für Zabbix.

Zeitzone und Servername

Überprüfe alles, bevor du fortfährst, und klicke dann auf„Nächster Schritt„.

Konfiguration prüfen

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.

Installationserfolg

Jetzt wirst du zur Zabbix-Anmeldeseite weitergeleitet. Gib den Benutzer Admin und das Passwort zabbix ein und klicke dann auf„Anmelden„.

Login-Seite

Wenn alles gut geht, siehst du das folgende Zabbix-Administrations-Dashboard.

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.

Das könnte dich auch interessieren …