Das Frontend installieren
Bevor Sie das Zabbix-Frontend konfigurieren, stellen Sie sicher, dass das System die Anforderungen erfüllt und entsprechend vorbereitet ist, wie im vorherigen Kapitel beschrieben: Getting started. Dieser Server kann der gleiche sein, auf dem zuvor Zabbix-Server-Pakete installiert wurden, oder es kann sich um einen separaten Rechner handeln.
Führen Sie alle nachfolgenden Schritte auf dem für das Frontend vorgesehenen Server aus.
Das Frontend mit NGINX installieren
Installiere Frontend-Pakete
Red Hat
# List all available php modules and active php-8.2
dnf module list php -y
dnf module enable php:8.2
# When using MySQL/MariaDB
dnf install zabbix-nginx-conf zabbix-web-mysql
# or when using PostgreSQL
dnf install zabbix-nginx-conf zabbix-web-pgsql
SUSE
# When using MySQL/MariaDB
zypper install zabbix-nginx-conf zabbix-web-mysql php8-openssl php8-xmlreader php8-xmlwriter
# or when using PostgreSQL
zypper install zabbix-nginx-conf zabbix-web-pgsql php8-openssl php8-xmlreader php8-xmlwriter
Suse Linux Enterprise Server
Auf SUSE Linux Enterprise Server (SLES) stellen Sie sicher, dass Sie abonniert sind für den
"SUSE Linux Enterprise Module Web and Scripting" Repository, um auf die notwendigen PHP 8-Pakete zuzugreifen,
die für die Installation des Zabbix-Frontends erforderlich sind:
(für SLES-Versionen < 16 lautet der Befehl "SUSEConnect" anstelle von "suseconnect")
Die tatsächliche URL für das Web-Scripting-Modul kann je nach spezifischem Service-Paket unterschiedlich sein. Verwenden Sie den folgenden Befehl, um die richtige zu bestimmen.
Ubuntu
Dieser Befehl installiert die Frontend-Pakete sowie die erforderlichen Abhängigkeiten für NGINX.
Ab SUSE 16 ist SELinux nun das Standard-Sicherheitsmodul anstelle von AppArmor. Standardmäßig erlaubt SELinux auf SUSE PHP-FPM nicht, - Ausführungs-Memorystecker zu mappen, die für die JIT-Kompilierung von PHP erforderlich sind, - eine Verbindung zum Zabbix-Server herzustellen oder - eine Verbindung zur Datenbank über TCP. Wir müssen SELinux dazu auffordern, dies zuzulassen:
SELinux: Erlaube PHP-FPM, Ausführungs-Memorystecker zu mappen
Tip
Um Probleme mit SELinux zu beheben, wird empfohlen, das Paket setroubleshoot zu installieren,
welches jede SELinux-Absage im System-Protokoll protokolliert und Vorschläge zur Behebung liefert.
Abhängig von den Standard-Einstellungen Ihrer Linux-Distribution ist PHP-FPM möglicherweise standardmäßig nicht
erlaubt, durch Systemd in das Verzeichnis zu schreiben /etc/zabbix/web, welches für die Einrichtung des Zabbix-Frontends erforderlich ist. Um dies zuzulassen, müssen wir eine Drop-In-Datei erstellen:
Systemd: Erlaube PHP-FPM das Schreiben in /etc/zabbix/web
Dies öffnet einen Editor zur Erstellung einer Drop-In-Datei /etc/systemd/system/php-fpm.service.d/override.conf
die die bestehende Dienstdatei überschreibt oder erweitert.
Fügen Sie die folgenden Zeilen in die Datei ein:
Schließen Sie dann den Editor und laden Sie das Systemd-Konfiguration neu:
Wie hält Systemd PHP-FPM vom Schreiben in /etc/zabbix/web ab?
Auf vielen modernen Linux-Distributionen verwendet Systemd eine Sicherheitsfunktion namens
Sandboxing, um die Fähigkeiten von Diensten zu begrenzen. Dies geschieht, um durch Einschränkung der Zugriffsmöglichkeiten auf nur notwendige Ressourcen die Sicherheit zu erhöhen.
Standardmäßig kann PHP-FPM möglicherweise von Systemd verhindert werden, in bestimmten Verzeichnissen
zu schreiben, einschließlich /etc/zabbix/web, um potenzielle Sicherheitslücken zu vermeiden.
Dies wird durch die Systemd-Direktiven ProtectSystem und ReadWritePaths kontrolliert,
welche den Dateisystemzugriff von Diensten steuern.
Tip
Normalerweise ist der Schreibzugriff auf /etc/zabbix/web nur während der ersten Einrichtung
des Zabbix-Frontends erforderlich. Nach Abschluss der Einrichtung können Sie die Drop-In-Datei wieder entfernen, um die Sicherheit Ihres Systems weiter zu erhöhen.
Als Erstes müssen wir die NGINX-Konfigurationsdatei anpassen, damit wir nicht die Standardkonfiguration verwenden und das Zabbix-Frontend über Port 80 servieren können.
Wenn Sie auf Ubuntu sind, müssen Sie nginx.conf nicht bearbeiten, führen Sie stattdessen sudo unlink /etc/nginx/sites-enabled/default aus
In dieser Konfigurationsdatei suchen Sie nach dem folgenden Block, der mit server { beginnt:
Original-Config
Tip
Dieser Block kann je nach Ihrer Distribution und NGINX-Version unterschiedlich sein.
Dann kommentieren Sie die listen und server_name-Direktiven aus, um die Standardkonfiguration
des HTTP-Servers zu deaktivieren. Dies können Sie tun, indem Sie am Anfang jeder Zeile ein # hinzufügen,
wie im folgenden Beispiel gezeigt:
Die Zabbix-Konfigurationsdatei muss nun angepasst werden, um die Standarddienste auf Port 80 zu übernehmen wir haben gerade deaktiviert. Öffnen Sie die folgende Datei zur Bearbeitung:
Und ändern Sie die folgenden Zeilen:
Original-Config
Entfernen Sie das # vor den ersten beiden Zeilen und passen Sie sie an, um die korrekten
Port und Domain für Ihr Frontend zu verwenden.
Tip
Falls Sie keine Domain haben können Sie servername mit _ ersetzen
wie im folgenden Beispiel gezeigt:
Config nach der Bearbeitung
Der Webserver und der PHP-FPM-Dienst sind nun bereit für die Aktivierung und den automatischen Start. Führen Sie die folgenden Befehle aus, um sie zu aktivieren und sofort zu starten:
Starte Frontend-Dienste neu
Red Hat / SUSE
Ubuntu
Lassen Sie uns überprüfen, ob der Dienst ordnungsgemäß gestartet und für den automatischen Start konfiguriert ist, damit er nach dem nächsten Neustart weiterläuft.
Beispielausgabe
localhost:~> sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/nginx.service.d
└─php-fpm.conf
Active: active (running) since Mon 2023-11-20 11:42:18 CET; 30min ago
Main PID: 1206 (nginx)
Tasks: 2 (limit: 12344)
Memory: 4.8M
CPU: 38ms
CGroup: /system.slice/nginx.service
├─1206 "nginx: master process /usr/sbin/nginx"
└─1207 "nginx: worker process"
Nov 20 11:42:18 zabbix-srv systemd[1]: Starting The nginx HTTP and reverse proxy server...
Nov 20 11:42:18 zabbix-srv nginx[1204]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Nov 20 11:42:18 zabbix-srv nginx[1204]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Nov 20 11:42:18 zabbix-srv systemd[1]: Started The nginx HTTP and reverse proxy server.
Mit einem ordnungsgemäß laufenden und für den automatischen Start konfigurierten Dienst ist der letzte vorbereitende Schritt die Anpassung des Firewalls, um eingehenden HTTP-Traffic zuzulassen. Führen Sie die folgenden Befehle aus:
Konfiguriere die Firewall
Red Hat / SUSE
Ubuntu
Öffnen Sie Ihren Browser und gehen Sie zur URL oder IP-Adresse Ihres Frontends:
Wenn alles gut läuft, sollten Sie mit einer Zabbix-Willkommenseite begrüßt werden. Falls ein Fehler auftritt,
prüfen Sie die Konfiguration erneut oder schauen Sie sich den NGINX-Protokollen /var/log/nginx/error.log an oder führen Sie den folgenden Befehl aus:
Dies sollte Ihnen helfen, die Fehler zu lokalisieren.
Beim Zugriff auf die entsprechende URL sollte eine Seite erscheinen, wie im Folgenden dargestellt:

1.2 Zabbix Willkommenseite
Wähle das passende Englische Locale
Das en_US-locale verwendet amerikanisches Datumsformat und eine 12-Stunden-Uhr, während
en_GB internationales Datumsformat und eine 24-Stunden-Uhr verwendet.
Das Zabbix-Frontend bietet eine begrenzte Auswahl an verfügbaren Lokalisierungen, wie im Folgenden dargestellt.

1.3 Zabbix Sprachauswahl
Was tun wir, wenn wir Chinesisch als Sprache installieren oder eine andere Sprache aus der Liste? Führen Sie den folgenden Befehl aus, um eine Liste aller verfügbaren Lokalisierungen für Ihr Betriebssystem zu erhalten.
Installiere Sprachpakete
Red Hat
SUSE
Ubuntu
Benutzer auf Ubuntu werden wahrscheinlich den Fehler Locale for language "en_US"
is not found on the web server."" bemerken.
Dies kann einfach mit folgenden Befehlen gelöst werden.
Dies gibt Ihnen eine Liste wie folgt:
Beispielausgabe
Red Hat
Installed Packages
glibc-langpack-en.x86_64
Available Packages
glibc-langpack-aa.x86_64
---
glibc-langpack-zu.x86_64
SUSE
Ubuntu
language-pack-kab - translation updates for language Kabyle
language-pack-kab-base - translations for language Kabyle
language-pack-kn - translation updates for language Kannada
language-pack-kn-base - translations for language Kannada
---
language-pack-ko - translation updates for language Korean
language-pack-ko-base - translations for language Korean
language-pack-ku - translation updates for language Kurdish
language-pack-ku-base - translations for language Kurdish
language-pack-lt - translation updates for language Lithuanian
Suchen Sie nun nach Ihrer chinesischen Lokalisierung, um zu überprüfen, ob sie verfügbar ist. Wie Sie sehen können, beginnt der Code mit zh.
Suche nach Sprachpaket
Red Hat
SUSE
Ubuntu
Auf RedHat und Ubuntu gibt der Befehl zwei Zeilen aus; jedoch, gegeben dem identifizierten Sprachcode,
'zh_CN', muss nur das erste Paket installiert werden.
auf SUSE entweder nur die Locale C.UTF-8 und en_US.UTF-8 sind zu installieren oder alle
verfügbaren Lokalisierungen, abhängig davon, ob das Paket glibc-locale
installiert ist oder nicht.
Installiere die Locale-Pakete
Red Hat
SUSE
Ubuntu
Wenn wir jetzt zurückkehren zu unserem Frontend, können wir die Chinesische Sprache auswählen, nach einem Neuladen des Browsers.

1.4 Zabbix Sprache auswählen
Note
Wenn Ihre bevorzugte Sprache nicht im Zabbix-Frontend verfügbar ist, brauchen Sie sich keine Sorgen zu machen, dies bedeutet nur, dass die Übersetzung entweder unvollständig oder noch nicht verfügbar ist. Zabbix ist ein Open-Source-Projekt, das auf Gemeinschaftsbeiträge für Übersetzungen angewiesen ist. Sie können helfen, es zu verbessern, indem Sie Ihre eigenen Übersetzungen beisteuern.
Besuchen Sie die Übersetzungssite unter https://translate.zabbix.com/
um bei den Übersetzungsefforts mitzuwirken. Sobald Ihre Übersetzung abgeschlossen und überprüft wurde,
wird sie in der nächsten Minor-Patch-Version von Zabbix enthalten sein.
Ihre Beiträge helfen, Zabbix für mehr Menschen zugänglicher zu machen und verbessern die allgemeine
Benutzererfahrung.Wenn Sie mit den verfügbaren Übersetzungen zufrieden sind, klicken Sie auf Next. Sie werden dann zu einer Seite weitergeleitet, um zu überprüfen, ob alle Voraussetzungen erfüllt sind. Wenn nicht alle Voraussetzungen erfüllt sind, beheben Sie diese Probleme zunächst. Bei Erfüllung aller Voraussetzungen können Sie fortfahren, indem Sie auf Next klicken.

1.5 Zabbix Voraussetzungen
Auf der nächsten Seite konfigurieren Sie die Datenbankverbindungsparameter:
Select the Database Type: Wählen Sie entweder MySQL oder PostgreSQL, abhängig von Ihrer Umgebung.Enter the Database Host: Geben Sie die IP-Adresse oder den DNS-Namen Ihres Datenbankservers an. Verwenden Sie Port 3306 für MariaDB/MySQL oder Port 5432 für PostgreSQL.Enter the Database Name: Geben Sie den Namen Ihrer Datenbank an. In unserem Fall lautet dieser Name zabbix. Wenn Sie PostgreSQL verwenden, müssen Sie auch den Schemanamen angeben, der in unserem Fall zabbix_server ist.Enther the Database Schema: Nur für Benutzer von PostgreSQL - Geben Sie den Schemanamen an, der für den Zabbix-Server erstellt wurde, der in unserem Fallzabbix_serverlautet.Enter the Database User: Geben Sie den Datenbankbenutzer ein, der für das Webfrontend erstellt wurde. Denken Sie daran, dass wir im einfachen Installationsleitfaden zwei Benutzerzabbix-webundzabbix-srverstellt haben. Einen für das Frontend und einen anderen für unseren Zabbix-Server. Hier verwenden wir den Benutzerzabbix-web. Geben Sie das zugehörige Passwort für diesen Benutzer ein.
Stellen Sie sicher, dass die Option Database TLS encryption nicht ausgewählt ist, und klicken Sie dann auf
Next step, um fortzufahren.

1.6 Zabbix Verbindungen
Sie sind fast mit der Einrichtung fertig! Die letzten Schritte beinhalten:
Assigning an Instance Name: Geben Sie einen beschreibenden Namen für Ihre Zabbix-Instanz an.Selecting the Timezone: Wählen Sie die Zeitzone, die Ihrer Standort oder Ihrer bevorzugten Zeitzone für das Zabbix-Interface entspricht.Setting the Default Time Format: Wählen Sie den Standardzeitformat, das Sie bevorzugen.- Verschlüsselte Verbindungen vom Webinterface: Ich habe dieses Kästchen markiert, aber Sie sollten es nicht tun. Dieses Kästchen dient zur Verschlüsselung der Kommunikation zwischen Zabbix-Frontend und Ihrem Browser. Wir werden dies später behandeln. Sobald diese Einstellungen konfiguriert sind, können Sie die Einrichtung abschließen und gegebenenfalls weitere Konfigurationsanweisungen ausführen.
Note
Es ist eine gute Praxis, Ihren Zabbix-Server auf die UTC-Zeitzone einzustellen, insbesondere wenn Sie Systeme in mehreren Zeitzonen verwalten. Die Verwendung von UTC hilft dabei, Konsistenz bei zeitabhängigen Aktionen und Ereignissen zu gewährleisten, da die Zeitzone des Servers oft für das Berechnen und Anzeigen von zeitbezogenen Informationen verwendet wird.

1.7 Zabbix Übersicht
Nachdem Sie auf Next step geklickt haben, werden Sie zu einer Seite weitergeleitet, die bestätigt, dass die
Konfiguration erfolgreich war. Klicken Sie auf Finish, um den Einrichtungsprozess abzuschließen.

1.8 Zabbix Installieren
Wir sind nun bereit, uns anzumelden:

1.9 Zabbix Anmelden
- Anmeldung: Admin
- Passwort: zabbix
Dies schließt unser Thema zur Einrichtung des Zabbix-Servers ab. Wenn Sie sich für die Sicherung Ihres Frontends interessieren, empfehle ich Ihnen das Thema "Sicherung von Zabbix" zu lesen, um weitere Richtlinien und Best Practices kennenzulernen.
Tip
Wenn Sie Ihre Konfiguration nicht speichern können, stellen Sie sicher, dass Sie
die Anweisungen für SELinux ausgeführt haben oder SELinux deaktiviert ist.
Überprüfen Sie auch, ob das Verzeichnis /etc/zabbix/web schreibbar vom Webservice-Benutzer ist (normalerweise wwwrun oder www)
Schlussfolgerung
Mit der Installation und Konfiguration des Zabbix-Frontends abgeschlossen, haben Sie erfolgreich die Benutzeroberfläche für Ihr Zabbix-Monitoring-System eingerichtet. Dieser Prozess umfasste das Installieren der notwendigen Pakete, die Konfiguration eines Web-Servers und eines PHP-Engines, die Einrichtung der Datenbankverbindung und die Anpassung von Frontend-Einstellungen.
In diesem Stadium ist Ihre Zabbix-Instanz einsatzbereit und bietet eine Grundlage für fortgeschrittene Überwachung und Warnungen. In den kommenden Kapiteln werden wir uns mit der Feinabstimmung von Zabbix, der Optimierung der Leistung und der Erforschung von Schlüsselmerkmalen beschäftigen, die es zu einem mächtigen Observabilitäts-Plattform machen.
Nun, da Ihr Zabbix-Umfeld läuft, lass uns auf die nächste Stufe gehen.
Fragen
- Warum ist es notwendig, den Standardlisten 80 Block in der nginx.conf auszukommentieren vor dem Bearbeiten von zabbix.conf?
- Welche Webserver und PHP-Prozessmanager-Dienste müssen aktiviert und gestartet werden nachdem die Konfigurationen angepasst wurden?
- Warum sollten Sie während des Frontend-Datenbank-Einrichtungswizards den Zabbix-web Datenbankbenutzer eingeben anstatt zabbix-srv?
- Wenn Sie eine PostgreSQL-Datenbank in der Zabbix-Einrichtungsanleitung verbinden, welches weitere Parameter müssen im Vergleich zu MySQL/MariaDB bereitgestellt werden?