Zabbix wurde entwickelt, um die Serverleistung, die Verfügbarkeit eines Servers, Netzwerkgeräte und andere Netzwerkkomponenten zu überwachen. Damit können wir den Status aller Anwendungen, Systeme und Netzwerkgeräte leicht verfolgen.
In diesem Artikel erkläre ich, wie Sie Zabbix 3.4, ein Open-Source-Überwachungstool, auf unserem neuesten Ubuntu 18.04-Server installieren, und zeige Ihnen, wie Sie Remote-Server zur Überwachung hinzufügen.
Der Kern von Zabbix ist in Java und C eingebaut, aber es kommt mit einer benutzerfreundlichen Frontend-Schnittstelle, die in PHP gebaut ist, was es einfacher macht, die Systeme zu verfolgen und zu überwachen.
Voraussetzungen
- Ein frisch installierter Ubuntu 18.04-Server mit Root-Benutzerrechten.
- Ein gut konfigurierter LAMP-Server.
LAMP-Server installieren
Vor der Installation des Zabbix-Servers müssen wir einen LAMP-Server ordnungsgemäß konfigurieren. Zuerst können wir Apache und PHP zusammen mit einigen der erforderlichen PHP-Module mit dem folgenden Befehl installieren:
#apt update -y
#apt install apache2 libapache2-mod-php7.2 php7.2 php7.2-xml php7.2-bcmath php7.2-mbstring -y
Sobald alle Komponenten installiert sind, müssen wir MariaDB installieren. Zabbix verwendet MySQL, Oracle und PostgreSQL, um seine Daten zu speichern. Hier installieren wir MariaDB, um seine Daten zu speichern. Die neueste Version dieser Software ist in unserem standardmäßigen Ubuntu 18.04-Repository verfügbar. Daher können wir einfach diesen Befehl ausführen, um es zu installieren.
#apt install mariadb-server -y
Als nächstes können wir alle Dienste starten und aktivieren, damit sie beim Booten starten:
#systemctl start apache2
#systemctl enable apache2
#systemctl start mysql
#systemctl enable mysql
Damit sind wir mit unserem LAMP-Server fertig. Als nächstes können wir unsere Zabbix-Installation starten.
Installieren und Konfigurieren von Zabbix Server
Abhängig von unserer Betriebssystemplattform und unseren Anforderungen müssen wir das neueste unterstützende Zabbix-Repository auf unserem Server auswählen/installieren.
Schritt 1:Zabbix-Repository mit MySQL herunterladen und installieren
Wir können das neueste Zabbix 3.4-Repository für unseren Ubuntu 18.04-Server mit den folgenden Befehlen herunterladen und installieren:
# wget https://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
# dpkg -i zabbix-release_3.4-1+bionic_all.deb
# apt update
Schritt 2:Zabbix-Server, Frontend und Zabbix-Agent installieren
Zweitens müssen wir unseren Zabbix-Server, das Frontend und den Zabbix-Agenten aus dem von uns installierten Zabbix-Repository installieren. Bitte führen Sie diesen Befehl aus, um es wie folgt zu installieren:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
Schritt 3:Erste Zabbix-Datenbank erstellen
Sobald alle oben genannten Komponenten installiert sind, können wir eine Datenbank für unseren Zabbix-Benutzer erstellen:
~# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 41
Server version: 10.1.29-MariaDB-6 Ubuntu 18.04
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Jetzt können Sie das anfängliche Schema und die Daten in unsere neu erstellte Zabbix-Datenbank importieren. Sie werden während des Importvorgangs aufgefordert, Ihr DB-Benutzerpasswort einzugeben.
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Schritt 4:Konfigurieren der Datenbank für den Zabbix-Server
In dieser Phase müssen Sie das Datenbankkennwort in der Zabbix-Konfigurationsdatei unter /etc/zabbix/zabbix_server.conf
ordnungsgemäß aktualisieren wie unten:
# grep -i DBpassword /etc/zabbix/zabbix_server.conf
# For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
### Option: DBPassword
DBPassword=password
Sie müssen die DB-Passwortoption auskommentieren und sie mit dem genauen Zabbix-DB-Benutzerpasswort nach Bedarf versehen.
Schritt 5:Konfigurieren von PHP für das Zabbix-Frontend
Wir müssen PHP konfigurieren und die richtige Zeitzone einstellen, um die Zabbix-Frontend-Installation reibungslos durchzuführen. Zunächst einmal können Sie die richtige Zeitzone in Ihrer PHP-Konfigurationsdatei einstellen, die sich unter /etc/php/7.2/apache2/php.ini
befindet und ändern Sie es entsprechend Ihrer bevorzugten Zeitzone. Ich habe es wie folgt aktualisiert:
# grep -i timezone /etc/php/7.2/apache2/php.ini
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Riga
Als nächstes müssen wir die Zabbix-Konfigurationsdatei unter /etc/zabbix/apache.conf
aktualisieren mit derselben Zeitzone wie unten:
# grep timezone /etc/zabbix/apache.conf
php_value date.timezone Europe/Riga
Sie würden den php_value für timezone im Abschnitt PHP 7 Module in der erwähnten Konfigurationsdatei auskommentieren und wie zuvor mit der genauen Zeitzone aktualisieren.
Schritt 6:Zabbix-Server- und Agentenprozesse starten
Schließlich können wir alle erforderlichen Zabbix-Dienste und Apache2 mit den folgenden Befehlen starten und aktivieren:
# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2
Das ist alles! Jetzt wird unser Zabbix-Server betriebsbereit sein. Sie können überprüfen, ob es funktioniert, indem Sie auf die URL>>>http://Server-IP/zabbix
zugreifen
Installieren/Konfigurieren des Zabbix-Frontends
Sobald wir unseren Zabbix-Server zum Laufen gebracht haben, können wir mit der URL>> http://Server-IP or hostname/zabbix.
auf unser neu installiertes Zabbix-Frontend zugreifen Dadurch wird der Frontend-Installationsassistent geöffnet. Damit es voll funktionsfähig ist, müssen wir den Einrichtungsprozess für das Zabbix-Frontend abschließen.
Lassen Sie uns nacheinander durch jeden Einrichtungsprozess navigieren. Sie können auf Next Step
klicken Voraussetzungen zu prüfen. In dieser Phase müssen wir sicherstellen, dass unser Server alle unten aufgeführten Softwarevoraussetzungen erfüllt. Sie können auf "Nächster Schritt" klicken, um fortzufahren, sobald Sie fertig sind.
Stellen Sie in dieser Phase sicher, dass Sie die Details aktualisieren, um eine Verbindung zu unserer Zabbix-Datenbank herzustellen, um eine ordnungsgemäße DB-Verbindung sicherzustellen, und fahren Sie mit den Zabbix-Servereinstellungen fort, einschließlich des dafür bestimmten Hosts und Ports 10051.
Abschließend können wir noch einmal alle Einstellungen überprüfen, die in den obigen Phasen in der Zusammenfassung vor der Installation vorgenommen wurden, und auf Next Step
klicken um die Installation abzuschließen.
Wenn alles gut geht, erhalten Sie die obige Meldung über eine erfolgreiche Installation des Zabbix-Frontends. Jetzt können Sie auf die Registerkarte „Fertig stellen“ klicken, um den Installationsassistenten zu beenden.
Zugriff auf das Zabbix-Dashboard
Hurra! unser Zabbix Frontend ist fertig. Sie können darauf zugreifen, indem Sie die standardmäßigen Zabbix-Anmeldeinformationen mit dem Benutzernamen "Admin"
verwenden und Passwort "zabbix"
in der URL>>>http://Server-IP/zabbix.
Admin-Passwort ändern
Nachdem Sie sich erfolgreich mit den standardmäßigen Administrator-Anmeldeinformationen beim Zabbix-Frontend-Panel angemeldet haben, ist es aus Sicherheitsgründen zwingend erforderlich, die Administrator-Anmeldeinformationen zu ändern. Sie können Ihr Admin-Passwort ändern, indem Sie durch den Pfad navigieren:Administration > Users > Admin > Password > Change Password
wie in den Screenshots unten:
Hinzufügen eines Überwachungshosts
Da unser Zabbix-Server einsatzbereit ist, können wir seine Funktionsweise testen, indem wir unseren ersten Überwachungszielhost hinzufügen, der unser Zabbix-Server selbst ist. Sie können dies tun, indem Sie durch den Pfad navigieren:Configuration >> Hosts
wie in den Screenshots.
Wie Sie sehen, ist unser Host-Status standardmäßig deaktiviert. Wir müssen auf die deaktivierte Schaltfläche klicken, damit der Zabbix-Agent auf diesem Server den Host überwachen kann. Wie im Screenshot zu sehen, der Status
auf enabled
geschaltet ist und der Server wird jetzt überwacht.
Warten Sie einfach ein paar Minuten, bis unser Zabbix-Server die Überwachungsdaten vom Server abgerufen und die Diagramme aktualisiert hat. Jetzt können Sie die Hostdiagramme anzeigen, indem Sie durch den Pfad navigieren:Monitoring > Screens > Server Name
wie im Schnappschuss.
Hinzufügen eines Remote-Hosts
Zunächst müssen wir Zabbix Agent auf unserem Remote-Host installieren/aktivieren. Die Arbeit des Zabbix-Agenten besteht darin, Daten wie CPU-, Speicher-, Festplatten- und Netzwerkschnittstellennutzung von einem Gerät zu sammeln. Der Zabbix-Agent kann sowohl passive (Polling) als auch aktive Prüfungen (Trapping) durchführen. Diese Prüfungen können in Intervallen oder nach bestimmten Zeitplänen durchgeführt werden. Sehen wir uns an, wie der Zabbix-Agent auf einem Ubuntu 18.04-Knoten installiert/aktiviert wird.
Installieren des Zabbix-Agenten
Zunächst benötigen Sie SSH zu unserem neuen Hostserver und laden das Zabbix 3.4-Repository für unser Ubuntu 18.04-Host-Setup herunter und installieren den Zabbix-Agent von dort.
#wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
#dpkg -i zabbix-release_3.4-1+bionic_all.deb
#apt install zabbix-agent
Konfigurieren des Zabbix-Agenten
Jetzt können Sie unseren Zabbix-Agenten konfigurieren, um ordnungsgemäße Verbindungen mit dem Zabbix-Server herzustellen. Wir verwenden Pre-Shared Keys (PSK), um die Verbindung zwischen dem Server und dem Agenten zu sichern. Die Konfiguration des Zabbix-Agenten befindet sich unter /etc/zabbix/zabbix_agentd.conf
.
Schritt 1:PSK-Schlüssel generieren und konfigurieren.
Zuerst müssen wir den PSK-Schlüssel generieren. Dies kann durch Ausführen des folgenden Befehls abgerufen werden:
#sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"
Sie können diesen Schlüssel speichern, der während der Agentenkonfiguration verwendet wird.
# cat /etc/zabbix/zabbix_agentd.psk
abb6a14eace79044b9f3bab0c6cd26d50b4cfb3dc6fe2ef815b96216073b333b
Schritt 2:Hinzufügen des Zabbix-Servers zur Agentenkonfiguration.
Jetzt müssen Sie die Konfigurationsdatei des Zabbix-Agenten /etc/zabbix/zabbix_agentd.conf
öffnen und konfigurieren Sie es, um eine sichere Verbindung zwischen den Servern einzurichten. Zuerst müssen Sie die Zeilennummer „95“ und „136“ mit der IP des Zabbix-Servers wie unten bearbeiten. Hier ist 172.104.210.183 meine Zabbix-Server-IP.
# sed -n '95 p' /etc/zabbix/zabbix_agentd.conf
Server=172.104.210.183
Als nächstes müssen wir die Zeile 136 mit den Zabbix-Serverinformationen bearbeiten.
# sed -n '136 p' /etc/zabbix/zabbix_agentd.conf
ServerActive=172.104.210.183
Schritt 3:Konfigurieren und Aktivieren der sicheren PSK-Verbindung
Um eine sichere Verbindung zwischen den Servern zu konfigurieren, aktivieren wir die TLS-Verbindung mit PSK-Unterstützung. Wir müssen die folgenden Zeilen in der Konfiguration des Zabbix-Agenten entsprechend bearbeiten, um dies zu ermöglichen.
Ändern Sie die folgenden Zeilen in /etc/zabbix/zabbix_agentd.conf von:
# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
# TLSConnect=unencrypted
# TLSAccept=unencrypted
# TLSPSKIdentity=
# TLSPSKFile=
TO:
# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PKI 001
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
Jeden Abschnitt definieren:
TLSConnect=psk
*// Dies aktiviert die Pre-Shared-Key-Unterstützung //*TLSAccept=psk
*// Dies ermöglicht das Akzeptieren aller eingehenden Verbindungen mit PSK-Unterstützung//*TLSPSKIdentity=PKI 001
*// Ein eindeutiger Name wird vergeben, um Ihren vorinstallierten Schlüssel des Agenten zu identifizieren//*TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
*// Dies hilft dem Zabbix-Agenten, Ihre erstellte PSK-Datei zu identifizieren. //*
Schritt 4:Starten Sie den Zabbix-Agenten
Jetzt können Sie diese Änderungen speichern und den Zabbix-Agenten starten und mit den folgenden Befehlen so einstellen, dass er beim Booten gestartet wird:
~# systemctl start zabbix-agent
# systemctl enable zabbix-agent
Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent
Unser Zabbix-Agent ist nun bereit, Daten an den Zabbix-Server zu senden. Aber um es zu verwenden, müssen wir diesen Agenten von der Webkonsole des Zabbix-Servers aus damit verknüpfen.
Schritt 5:Hinzufügen unseres neuen Hosts zum Zabbix-Server
Wir haben Zabbix Agent erfolgreich auf unserem neuen Host installiert/konfiguriert. Jetzt müssen wir diesen neuen Knoten über unsere Webkonsole auf unserem Zabbix-Server registrieren. Sie können sich mit der URL>>http://Zabbix_ServerIP/zabbix/
bei unserem Zabbix-Server-Webinterface anmelden mit den erstellten Admin-Anmeldedaten. Jetzt können wir durch den Pfad navigieren:Configuration > Hosts > Create Host
Dadurch wird die Host-Konfigurationsseite geöffnet, auf der Sie den HOST-Namen und die IP-Details des neuen Hosts hinzufügen können. Außerdem können Sie die Gruppe auswählen, zu der Sie diesen neuen Host hinzufügen möchten. Sie können entweder eine neue Gruppe nach Belieben erstellen oder zu den bereits bestehenden Gruppen hinzufügen. Ein Host kann nach unseren Wünschen in mehrere Gruppen aufgenommen werden. Hier füge ich unseren neuen Knoten zu den standardmäßigen Linux Servers
hinzu Gruppe.
Nachdem wir unseren Host hinzugefügt haben, können wir seine Einstellungen ändern, indem wir unseren hinzugefügten Knoten aus der Hosts-Liste auswählen. Ich habe die Standardvorlage Template OS Linux
ausgewählt für meinen Knoten. Sie können eine beliebige Vorlage aus den Vorlagenlisten auswählen.
Als nächstes müssen wir zur Registerkarte Verschlüsselung navigieren. Da wir entschieden haben, müssen wir PSK sowohl für Verbindungen zum Host als auch für Verbindungen vom Host auswählen. Legen Sie dann PSK identity
fest bis PSK 001
, das ist der Wert von TLSPSKIdentity
Einstellung, die wir am Anfang im Zabbix Agent konfiguriert haben. Setzen Sie dann den PSK-Wert auf den Schlüssel, den Sie für den Zabbix-Agenten generiert haben. Es ist derjenige, der in der Datei /etc/zabbix/zabbix_agentd.psk
gespeichert ist auf dem Agentencomputer.
Das ist alles! Jetzt sehen Sie Ihren neuen Host mit grünen Etiketten, die darauf hinweisen, dass alles gut funktioniert und die Verbindung verschlüsselt ist.
Um sicherzustellen, dass alles funktioniert, können Sie sogar Ihren neuen Host herunterfahren und sehen, ob Zabbix auf das Problem hinweist. In diesem Fall wird ein Problem gemeldet, wie im Screenshot zu sehen.
Ebenso können Sie Ihrem Zabbix-Server neue Hosts hinzufügen, indem Sie dort den Zabbix-Agenten installieren und konfigurieren und ihn bei Ihrem Zabbix-Server registrieren. Ich hoffe, dieser Artikel ist nützlich und informativ. Bitte posten Sie Ihre wertvollen Vorschläge und Kommentare dazu.