Zabbix ist eines der beliebtesten Open-Source-Überwachungssoftware-Tools. Zabbix sammelt Metriken von Ihren Netzwerkgeräten, Systemen und Anwendungen und stellt sicher, dass sie betriebsbereit sind. Im Falle von Problemen sendet Zabbix Benachrichtigungen über verschiedene Methoden.
Zabbix kann für agentenbasierte und agentenlose Überwachung bereitgestellt werden. Der Zabbix-Agent hat einen geringen Platzbedarf und kann auf verschiedenen Plattformen ausgeführt werden, darunter Linux, UNIX, macOS und Windows.
Dieses Tutorial beschreibt, wie Sie die neueste Version von Zabbix 4.0 auf einem Ubuntu 18.04-Server mit MySQL als Datenbank-Back-End installieren und konfigurieren. Wir zeigen Ihnen auch, wie Sie den Zabbix-Agenten auf einem Remote-Host installieren und den Host zum Zabbix-Server hinzufügen.
Voraussetzungen #
Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Mysql-Datenbank erstellen #
Zabbix unterstützt sowohl MySQL/MariaDB als auch PostgreSQL. In diesem Tutorial verwenden wir MySQL als Datenbank-Back-End.
Wenn Sie MySQL noch nicht auf Ihrem Ubuntu-Server installiert haben, können Sie es installieren, indem Sie diesen Anweisungen folgen.
Melden Sie sich bei der MySQL-Shell an, indem Sie den folgenden Befehl eingeben:
sudo mysql
Führen Sie in der MySQL-Shell die folgende SQL-Anweisung aus, um eine neue Datenbank zu erstellen:
CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;
Erstellen Sie als Nächstes ein MySQL-Benutzerkonto und gewähren Sie Zugriff auf die Datenbank:
GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Stellen Sie sicher, dass Sie change-with-strong-password
ändern mit einem starken Passwort. Wenn Sie fertig sind, verlassen Sie die MySQL-Konsole, indem Sie Folgendes eingeben:
EXIT;
Installieren von Zabbix auf Ubuntu #
Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste stabile Version von Zabbix Version 4.0. Die in Ubuntu-Repositorys verfügbaren Zabbix-Pakete sind oft veraltet, daher verwenden wir das offizielle Zabbix-Repository.
1. Zabbix installieren #
Laden Sie das neueste Zabbix-Repository .deb
herunter Paket mit folgendem wget-Befehl:
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
Fügen Sie nach dem Herunterladen der Datei das Zabbix-Repository zu Ihrem Ubuntu 18.04-System hinzu, indem Sie Folgendes eingeben:
sudo apt install ./zabbix-release_4.0-2+bionic_all.deb
Aktualisieren Sie den Paketindex und installieren Sie den Zabbix-Server, das Web-Frontend mit MySQL-Datenbankunterstützung und den Zabbix-Agenten:
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
Der obige Befehl installiert auch Apache, PHP und alle erforderlichen PHP-Module.
2. Konfigurieren von PHP für das Zabbix-Frontend #
Während der Installation wird eine Apache-Konfigurationsdatei erstellt, die alle erforderlichen Apache- und PHP-Einstellungen enthält. Sie müssen nur eine kleine Änderung vornehmen und die entsprechende Zeitzone einstellen.
Öffnen Sie die Konfigurationsdatei, kommentieren Sie die Zeitzonenzeile aus und ändern Sie sie in Ihre Zeitzone. Die vollständige Liste der von PHP unterstützten Zeitzonen finden Sie hier.
/etc/apache2/conf-enabled/zabbix.conf...
<IfModule mod_php7.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone America/Denver
</IfModule>
...
Speichern Sie anschließend die Konfigurationsdatei und starten Sie den Apache-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart apache2
3. Konfigurieren der MySQL-Datenbank für Zabbix-Server #
Das Zabbix-Installationspaket stellt eine Dump-Datei bereit, die ein anfängliches Schema und Daten für den Zabbix-Server mit MySQL enthält.
Importieren Sie die MySQL-Dump-Datei, indem Sie Folgendes ausführen:
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
Wenn Sie dazu aufgefordert werden, geben Sie das zuvor erstellte Benutzerkennwort ein. Bei Erfolg erfolgt keine Ausgabe.
Als nächstes müssen wir die Zabbix-Konfiguration bearbeiten und das Datenbankpasswort festlegen.
Öffnen Sie die Konfigurationsdatei in Ihrem Editor:
sudo nano /etc/zabbix/zabbix_server.conf
Suchen Sie nach dem folgenden Abschnitt, kommentieren Sie das DBPassword
aus Direktive und fügen Sie das Datenbankpasswort hinzu.
...
### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...
Speichern und schließen Sie die Datei.
Starten Sie den Zabbix-Server und die Agentendienste neu und lassen Sie sie beim Systemstart starten:
sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
Um zu überprüfen, ob der Zabbix-Server läuft, geben Sie Folgendes ein:
sudo systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-11-29 03:30:44 PST; 43s ago
Main PID: 14293 (zabbix_server)
Tasks: 34 (limit: 2319)
CGroup: /system.slice/zabbix-server.service
...
Installieren und Konfigurieren des Zabbix-Frontends #
Die Zabbix-Webschnittstelle ist in PHP geschrieben und ermöglicht es uns, den Server zu konfigurieren, gesammelte Daten anzuzeigen und Hosts hinzuzufügen, die wir überwachen möchten.
Bevor Sie das Webinterface verwenden können, müssen wir es installieren.
Öffnen Sie Ihren bevorzugten Browser und geben Sie den Domänennamen oder die öffentliche IP-Adresse Ihres Servers ein, gefolgt von /zabbix
:
http(s)://your_domain_or_ip_address/zabbix
Auf dem ersten Bildschirm wird Ihnen eine Willkommensnachricht angezeigt. Klicken Sie auf Next step
um fortzufahren.
Als Nächstes sehen Sie die folgende Informationsseite, auf der alle PHP-Voraussetzungen aufgeführt sind, die zum Ausführen des Zabbix-Frontends erforderlich sind. Alle Werte in dieser Tabelle sollten OK
sein , scrollen Sie nach unten, um zu überprüfen, ob alles richtig eingerichtet ist. Klicken Sie nach der Bestätigung auf Next step
um fortzufahren.
Auf dem nächsten Bildschirm fordert Sie der Einrichtungsassistent auf, Ihre Datenbankverbindungsdaten einzugeben. Geben Sie die MySQL-Benutzer- und Datenbankdetails ein, die Sie zuvor erstellt haben.
Die Eingabe eines Namens für den Server ist optional. Geben Sie es ein, wenn Sie mehr als einen Zabbix-Überwachungsserver haben. Falls vorhanden, wird es in der Menüleiste und den Seitentiteln angezeigt.
Klicken Sie auf Next step
um fortzufahren.
Auf dem nächsten Bildschirm wird Ihnen die Zusammenfassung vor der Installation angezeigt.
Klicken Sie auf Next step
und sobald die Installation abgeschlossen ist, werden Sie zu einer Seite weitergeleitet, die Sie darüber informiert, dass die Zabbix-Webschnittstelle installiert wurde. Um auf Ihre Zabbix-Anmeldeseite zuzugreifen, klicken Sie auf Finish
Schaltfläche.
Der Standardbenutzer ist „Admin“ und das Passwort „zabbix“. Geben Sie den Benutzernamen und das Passwort ein und klicken Sie auf Log in
Schaltfläche.
Sobald Sie sich angemeldet haben, werden Sie zum Zabbix-Administrations-Dashboard weitergeleitet.
Von hier aus können Sie damit beginnen, Ihre Zabbix-Installation anzupassen und neue Hosts hinzuzufügen. Ihr erster Schritt sollte darin bestehen, das aktuelle Passwort zu ändern. Navigieren Sie dazu zur Benutzerprofilseite, indem Sie auf das Profilsymbol in der oberen Navigationsleiste klicken.
Hinzufügen eines neuen Hosts zu Zabbix-Server #
Das Verfahren zum Hinzufügen eines neuen Hosts zur Überwachung zum Zabbix-Server umfasst zwei Schritte.
Zuerst müssen Sie den Zabbix-Agenten auf dem Remote-Host installieren und dann den Host über die Webschnittstelle zum Zabbix-Server hinzufügen.
Installieren des Zabbix-Agenten #
Dieses Tutorial geht davon aus, dass der Hostcomputer auch Ubuntu 18.04 verwendet.
Führen Sie wie bei der Installation des Zabbix-Servers die folgenden Befehle aus, um das Zabbix-Repository zu aktivieren:
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
sudo apt install ./zabbix-release_4.0-2+bionic_all.deb
Aktualisieren Sie den Paketindex und installieren Sie das Zabbix-Agentenpaket:
sudo apt update
sudo apt install zabbix-agent
Zabbix unterstützt zwei Methoden für die Verschlüsselung der Server-Client-Kommunikation, Preshared Key (PSK) und zertifikatbasierte Verschlüsselung. In diesem Tutorial verwenden wir die Pre-Shared Keys (PSK)-Methode, um die Verbindung zwischen dem Server und dem Agenten zu sichern.
Verwenden Sie den folgenden Befehl, um einen vorinstallierten Schlüssel zu generieren und in einer Datei zu speichern:
openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk
Der PSK-Schlüssel sieht etwa so aus:
fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6
Öffnen Sie die Konfigurationsdatei des Zabbix-Agenten:
sudo nano /etc/zabbix/zabbix_agentd.conf
Suchen Sie nach dem Server
IP-Adresse und ändern Sie sie vom Standardwert in die IP Ihres Zabbix-Servers:
...
### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
# and '::/0' will allow any IPv4 or IPv6 address.
# '0.0.0.0/0' can be used to allow any IPv4 address.
# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=
Server=127.0.0.1
...
Suchen Sie als Nächstes TSLConnect
Option, kommentieren Sie sie aus und setzen Sie sie auf psk
:
...
### Option: TLSConnect
# How the agent should connect to server or proxy. Used for active checks.
# Only one value can be specified:
# unencrypted - connect without encryption
# psk - connect using TLS and a pre-shared key
# cert - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...
Suchen Sie TLSAccept
Option, kommentieren Sie sie aus und setzen Sie sie auf psk
:
...
### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted - accept connections without encryption
# psk - accept connections secured with TLS and a pre-shared key
# cert - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...
Suchen Sie als Nächstes die TLSPSKIdentity
Option, kommentieren Sie sie aus und setzen Sie sie auf PSK 001
Der Wert muss eine eindeutige Zeichenfolge sein:
...
### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...
Suchen Sie schließlich die TLSPSKFile
Option, kommentieren Sie sie aus und stellen Sie sie so ein, dass sie auf den zuvor erstellten vorinstallierten Schlüssel verweist:
...
### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
Wenn Sie fertig sind, speichern und schließen Sie die Datei.
Starten Sie den Zabbix-Agentendienst und stellen Sie ihn so ein, dass er beim Booten gestartet wird mit:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
Als Nächstes müssen Sie eine Firewallregel hinzufügen, die Datenverkehr von Ihrem Zabbix-Server auf TCP-Port 10050
zulässt .
Angenommen, Sie verwenden UFW
zum Verwalten Ihrer Firewall und Sie möchten den Zugriff von 192.168.121.70
zulassen IP-Adresse würden Sie den folgenden Befehl ausführen:
sudo ufw allow proto tcp from 192.168.121.70 to any port 10050
Neuen Host # einrichten
Nachdem der Agent auf dem Remote-Host, den Sie überwachen möchten, installiert und konfiguriert ist, besteht der nächste Schritt darin, den Host auf dem Zabbix-Server zu registrieren.
Melden Sie sich als Admin-Benutzer bei der Zabbix Server-Weboberfläche an:
http(s)://your_domain_or_ip_address/zabbix
Sobald Sie sich darin befinden, klicken Sie in der oberen Navigationsleiste auf Configuration
, und dann Hosts
Klicken Sie anschließend auf den blauen Create host
Schaltfläche in der oberen rechten Ecke des Bildschirms und die Host-Konfigurationsseite wird geöffnet:
Geben Sie den Hostnamen und die IP-Adresse des Remote-Host-Computers ein, den Sie überwachen möchten. Fügen Sie den Host zu einer oder mehreren Gruppen hinzu, indem Sie die Gruppe aus der Liste auswählen, oder geben Sie einen nicht vorhandenen Gruppennamen ein, um einen neuen zu erstellen. Die Linux Servers
Gruppe ist eine gute Wahl.
Wenn Sie fertig sind, klicken Sie auf Templates
Tab. Wählen Sie das Template OS Linux
aus und klicken Sie auf Add
Link zum Hinzufügen der Vorlage zum Host.
Klicken Sie anschließend auf Encryption
Tab. Wählen Sie PSK für beide Connections to host
und Connections from host
.
Legen Sie die PSK identity
fest Wert auf PSK 001
, der Wert von TLSPSKIdentity
Option des Zabbix-Agenten, den Sie im vorherigen Schritt konfiguriert haben.
Im PSK value
file fügen Sie den Schlüssel hinzu, den Sie für den Zabbix-Agenten generiert haben, der in /etc/zabbix/zabbix_agentd.psk
gespeichert ist Datei.
Um den Host hinzuzufügen, klicken Sie abschließend auf die blaue button
hinzufügen .