So installieren und konfigurieren Sie Zabbix zur sicheren Überwachung von Remoteservern unter CentOS 7

Der Autor hat die Initiative Open Source ausgewählt, um eine Spende im Rahmen des Programms Write for DOnations zu erhalten.

Einführung

Zabbix ist eine Open-Source-Überwachungssoftware für Netzwerke und Anwendungen. Es bietet Echtzeitüberwachung von Tausenden von Messwerten, die von Servern, virtuellen Maschinen, Netzwerkgeräten und Webanwendungen erfasst wurden. Mithilfe dieser Metriken können Sie den aktuellen Zustand Ihrer IT-Infrastruktur ermitteln und Probleme mit Hardware- oder Softwarekomponenten erkennen, bevor sich Kunden beschweren. Nützliche Informationen werden in einer Datenbank gespeichert, damit Sie die Daten im Laufe der Zeit analysieren und die Qualität der bereitgestellten Dienste verbessern oder Upgrades Ihrer Geräte planen können.

Zabbix verwendet mehrere Optionen zum Erfassen von Metriken, einschließlich der Überwachung von Benutzerdiensten und der Client-Server-Architektur ohne Agents. Zum Erfassen von Servermetriken wird ein kleiner Agent auf dem überwachten Client verwendet, um Daten zu erfassen und an den Zabbix-Server zu senden. Zabbix unterstützt die verschlüsselte Kommunikation zwischen dem Server und verbundenen Clients, sodass Ihre Daten geschützt sind, während sie über unsichere Netzwerke übertragen werden.

Der Zabbix-Server speichert seine Daten in einer relationalen Datenbank, die von MySQL, PostgreSQL oder https://www.oracle.com bereitgestellt wird /index.html[Oracle]. Sie können historische Daten auch in nosql-Datenbanken wie Elasticsearch und TimescaleDB speichern. Zabbix bietet eine Weboberfläche, über die Sie Daten anzeigen und Systemeinstellungen konfigurieren können.

In diesem Lernprogramm konfigurieren Sie zwei Computer. Einer wird als Server und der andere als zu überwachender Client konfiguriert. Der Server verwendet eine MySQL-Datenbank, um Überwachungsdaten aufzuzeichnen und verwendet Apache, um das Webinterface zu bedienen.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

  • Zwei CentOS 7-Server werden gemäß Initial Server Setup with CentOS 7 eingerichtet, einschließlich eines Nicht-Root-Benutzers mit sudo-Berechtigungen und eine firewall. Auf einem Server installieren Sie Zabbix. In diesem Tutorial wird dies als * Zabbix-Server * bezeichnet. Es wird Ihren zweiten Server überwachen; Dieser zweite Server wird als * zweiter CentOS-Server * bezeichnet.

  • Auf dem Zabbix-Server müssen Apache, MySQL und PHP installiert sein. Folgen Sie Wie installiere ich Linux, Apache, MySQL, PHP ( LAMP) Stack unter CentOS 7, um diese auf Ihrem Zabbix-Server zu konfigurieren.

Da Sie den Zabbix-Server verwenden, um auf wertvolle Informationen zu Ihrer Infrastruktur zuzugreifen, auf die nicht autorisierte Benutzer zugreifen sollen, ist es außerdem wichtig, dass Sie Ihren Server durch die Installation eines TLS / SSL-Zertifikats schützen. Dies ist optional, aber * dringend empfohlen *. Sie können der Let’s Encrypt on CentOS 7 Anleitung folgen, um eine zu erhalten Kostenloses TLS / SSL-Zertifikat.

Schritt 1 - Installieren des Zabbix-Servers

Zuerst müssen Sie Zabbix auf dem Server installieren, auf dem Sie MySQL, Apache und PHP installiert haben. Melden Sie sich bei diesem Computer als Nicht-Root-Benutzer an:

ssh @

Zabbix ist standardmäßig nicht im Paket-Manager verfügbar. Installieren Sie daher ein Repository-Konfigurationspaket über das official Zabbix-Repository für CentOS. In diesem Tutorial wird die Version ++ von Zabbix verwendet:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-.el7.noarch.rpm

Sie werden die folgende Ausgabe sehen:

OutputRetrieving https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.WXsYNB: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
  1:zabbix-release-4.2-1.el7         ################################# [100%]

Löschen Sie alle Einträge für derzeit aktivierte Repositorys aus dem Cache:

sudo yum clean all

Installieren Sie dann den Zabbix-Server und das Web-Frontend mit Unterstützung für MySQL-Datenbanken:

sudo yum install zabbix-server-mysql zabbix-web-mysql

Während des Installationsvorgangs werden Sie gefragt, ob Sie einen GPG-Schlüssel importieren möchten. Dieser Schlüssel überprüft die Echtheit des Pakets, das Sie installieren. Um die Installation zu beenden, akzeptieren Sie den GPG-Schlüssel, indem Sie "+ y " eingeben und " ENTER +" drücken, wenn Sie dazu aufgefordert werden.

Installieren Sie auch den Zabbix-Agenten, mit dem Sie Daten zum Zabbix-Serverstatus selbst erfassen können.

sudo yum install zabbix-agent

Bevor Sie Zabbix verwenden können, müssen Sie eine Datenbank einrichten, in der die Daten gespeichert werden, die der Zabbix-Server von seinen Agenten erfasst. Dies können Sie im nächsten Schritt tun.

Schritt 2 - Konfigurieren der MySQL-Datenbank für Zabbix

Sie müssen eine neue MySQL-Datenbank erstellen und mit einigen grundlegenden Informationen füllen, damit sie für Zabbix geeignet ist. Sie erstellen auch einen bestimmten Benutzer für diese Datenbank, damit sich Zabbix nicht mit dem "+ root +" - Konto bei MySQL anmeldet.

Melden Sie sich bei MySQL als * root * -Nutzer mit dem * root * -Kennwort an, das Sie während der Installation des MySQL-Servers eingerichtet haben:

mysql -uroot -p

Erstellen Sie die Zabbix-Datenbank mit UTF-8-Zeichenunterstützung:

create database zabbix character set utf8 collate utf8_bin;

Erstellen Sie dann einen Benutzer, den der Zabbix-Server verwenden wird, gewähren Sie ihm Zugriff auf die neue Datenbank und legen Sie das Kennwort für den Benutzer fest:

grant all privileges on zabbix.* to @localhost identified by '';

Wenden Sie dann diese neuen Berechtigungen an:

flush privileges;

Das kümmert sich um den Benutzer und die Datenbank. Beenden Sie die Datenbankkonsole:

quit;

Importieren Sie als Nächstes das ursprüngliche Schema und die ursprünglichen Daten. Die Zabbix-Installation hat Ihnen eine Datei zur Verfügung gestellt, die diese Einstellungen vornimmt.

Führen Sie den folgenden Befehl aus, um das Schema einzurichten und die Daten in die Datenbank "+ zabbix " zu importieren. Verwenden Sie ` zcat +`, da die Daten in der Datei komprimiert sind.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Geben Sie das Kennwort für den MySQL-Benutzer ein, den Sie bei entsprechender Aufforderung konfiguriert haben.

Dieser Befehl gibt keine Fehler aus, wenn er erfolgreich war. Wenn Sie den Fehler "+ ERROR 1045 (28000): Zugriff verweigert für Benutzer @" localhost "(mit Kennwort: YES) +" sehen, stellen Sie sicher, dass Sie das Kennwort für den * zabbix * -Benutzer und nicht für den * root * -Benutzer verwendet haben.

Damit der Zabbix-Server diese Datenbank verwenden kann, müssen Sie das Datenbankkennwort in der Zabbix-Serverkonfigurationsdatei festlegen. Öffnen Sie die Konfigurationsdatei in Ihrem bevorzugten Texteditor. In diesem Tutorial wird "+ vi +" verwendet:

sudo vi /etc/zabbix/zabbix_server.conf

Suchen Sie nach dem folgenden Abschnitt der Datei:

/etc/zabbix/zabbix_server.conf

...
### Option: DBPassword
#       Database password. Ignored for SQLite.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=
...

Diese Kommentare in der Datei erläutern, wie eine Verbindung zur Datenbank hergestellt wird. Sie müssen den Wert "+ DBPassword " in der Datei auf das Kennwort für Ihren Datenbankbenutzer setzen. Rufen Sie den Einfügemodus auf, indem Sie " i " drücken, das Kommentarzeichen " DBPassword = +" entfernen und Ihr Kennwort hinzufügen, um die Datenbank zu konfigurieren:

/etc/zabbix/zabbix_server.conf

...
# Mandatory: no
# Default
DBPassword=
...

Wenn Sie fertig sind, drücken Sie "+ ESC ", um den Einfügemodus zu verlassen, und dann ": wq " und " ENTER +", um die Datei zu speichern und zu beenden.

Das kümmert sich um die Zabbix-Serverkonfiguration. Als Nächstes nehmen Sie einige Änderungen an Ihrem PHP-Setup vor, damit die Zabbix-Weboberfläche ordnungsgemäß funktioniert.

Schritt 3 - PHP für Zabbix konfigurieren

Die Zabbix-Weboberfläche ist in PHP geschrieben und erfordert einige spezielle PHP-Servereinstellungen. Während des Zabbix-Installationsprozesses wurde eine Apache-Konfigurationsdatei erstellt, die diese Einstellungen enthält. Sie müssen eine kleine Änderung an dieser Datei vornehmen, öffnen Sie sie also wie folgt:

sudo vi /etc/httpd/conf.d/zabbix.conf

Die Datei enthält PHP-Einstellungen, die die erforderlichen Anforderungen für die Zabbix-Weboberfläche erfüllen. Die Zeitzoneneinstellung ist jedoch standardmäßig auskommentiert. Um sicherzustellen, dass Zabbix die richtige Zeit verwendet, müssen Sie die entsprechende Zeitzone festlegen.

/etc/httpd/conf.d/zabbix.conf

...
<IfModule mod_php5.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

</IfModule>

Kommentieren Sie die im vorhergehenden Codeblock hervorgehobene Zeitzonenzeile aus und ändern Sie sie in Ihre Zeitzone. Sie können diese liste der unterstützten Zeitzonen verwenden, um die richtige für Sie zu finden. Speichern und schließen Sie dann die Datei.

Starten Sie nun Apache neu, um diese neuen Einstellungen zu übernehmen:

sudo systemctl restart httpd

Sie können jetzt den Zabbix-Server und -Agent starten:

sudo systemctl start zabbix-server
sudo systemctl start zabbix-agent

Überprüfen Sie anschließend, ob der Zabbix-Server ordnungsgemäß ausgeführt wird:

sudo systemctl status zabbix-server

Sie sehen folgenden Status:

Output● zabbix-server.service - Zabbix Server
  Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)
  Active:  since Fri 2019-05-03 05:57:29 UTC; 2s ago
 Process: 4461 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 ...

Aktivieren Sie schließlich den Server und den Agenten, um beim Booten zu starten:

sudo systemctl enable zabbix-server
sudo systemctl enable zabbix-agent

Der Server ist eingerichtet und mit der Datenbank verbunden. Als nächstes richten Sie das Web-Frontend ein.

Schritt 4 - Konfigurieren der Einstellungen für das Zabbix-Webinterface

Über die Weboberfläche können Sie Berichte anzeigen und Hosts hinzufügen, die Sie überwachen möchten. Sie müssen jedoch erst eingerichtet werden, bevor Sie sie verwenden können. Starten Sie Ihren Browser und rufen Sie die Adresse "+ http: /// zabbix / +" auf. Auf dem ersten Bildschirm sehen Sie eine Willkommensnachricht. Klicken Sie auf * Nächster Schritt *, um fortzufahren.

Auf dem nächsten Bildschirm sehen Sie die Tabelle, in der alle Voraussetzungen für die Ausführung von Zabbix aufgeführt sind.

Alle Werte in dieser Tabelle müssen * OK * sein. Vergewissern Sie sich daher, dass dies der Fall ist. Scrollen Sie nach unten und sehen Sie sich alle Voraussetzungen an. Sobald Sie überprüft haben, dass alles bereit ist, klicken Sie auf "Weiter", um fortzufahren.

Im nächsten Bildschirm werden Informationen zur Datenbankverbindung abgefragt.

Sie haben dem Zabbix-Server Ihre Datenbank mitgeteilt, die Zabbix-Weboberfläche benötigt jedoch auch Zugriff auf die Datenbank, um Hosts verwalten und Daten lesen zu können. Geben Sie daher die MySQL-Anmeldeinformationen ein, die Sie in Schritt 2 konfiguriert haben, und klicken Sie zum Fortfahren auf * Nächster Schritt *.

Auf dem nächsten Bildschirm können Sie die Standardwerte für die Optionen beibehalten.

Der * Name * ist optional; Es wird in der Weboberfläche verwendet, um einen Server von einem anderen zu unterscheiden, falls Sie über mehrere Überwachungsserver verfügen. Klicken Sie auf * Nächster Schritt *, um fortzufahren.

Auf dem nächsten Bildschirm wird die Zusammenfassung vor der Installation angezeigt, damit Sie überprüfen können, ob alles korrekt ist.

Klicken Sie auf * Nächster Schritt *, um zum letzten Bildschirm zu gelangen.

Die Einrichtung der Webschnittstelle ist abgeschlossen. Dieser Prozess erstellt die Konfigurationsdatei "+ / etc / zabbix / web / zabbix.conf.php +", die Sie sichern und in Zukunft verwenden können. Klicken Sie auf * Fertig stellen *, um zum Anmeldebildschirm zu gelangen. Der Standardbenutzer ist * Admin * und das Passwort ist * zabbix *.

Richten Sie vor der Anmeldung den Zabbix-Agenten auf Ihrem zweiten CentOS-Server ein.

Schritt 5 - Installieren und Konfigurieren des Zabbix-Agenten

Jetzt müssen Sie die Agentensoftware konfigurieren, die Überwachungsdaten an den Zabbix-Server sendet.

Melden Sie sich am zweiten CentOS-Server an:

ssh @

Führen Sie dann genau wie auf dem Zabbix-Server den folgenden Befehl aus, um das Repository-Konfigurationspaket zu installieren:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-.el7.noarch.rpm

Löschen Sie als Nächstes den Yum-Cache:

sudo yum clean all

Dann installieren Sie den Zabbix-Agenten:

sudo yum install zabbix-agent

Während des Installationsvorgangs werden Sie gefragt, ob Sie einen GPG-Schlüssel importieren möchten. Bestätigen Sie dies, damit die Installation abgeschlossen werden kann.

Während Zabbix die zertifikatbasierte Verschlüsselung unterstützt, geht das Einrichten einer Zertifizierungsstelle über den Rahmen dieses Lernprogramms hinaus. In diesem Lernprogramm wird stattdessen pre-shared keys (PSK) verwendet, um die Verbindung zwischen Server und Agent zu sichern.

Erstellen Sie zunächst eine PSK:

sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

Zeigen Sie den Schlüssel, damit Sie ihn irgendwo kopieren können. Sie benötigen es, um den Host zu konfigurieren.

cat /etc/zabbix/zabbix_agentd.psk

Der Schlüssel sieht ungefähr so ​​aus:

Output

Bearbeiten Sie nun die Einstellungen des Zabbix-Agenten, um dessen sichere Verbindung zum Zabbix-Server einzurichten. Öffnen Sie die Agentenkonfigurationsdatei in Ihrem Texteditor:

sudo vi /etc/zabbix/zabbix_agentd.conf

Jede Einstellung in dieser Datei wird durch informative Kommentare in der gesamten Datei dokumentiert, aber Sie müssen nur einige von ihnen bearbeiten.

Zuerst müssen Sie die IP-Adresse des Zabbix-Servers bearbeiten. Suchen Sie den folgenden Abschnitt:

/etc/zabbix/zabbix_agentd.conf

...
### Option: Server
#       List of comma delimited IP addresses (or hostnames) of Zabbix servers.
#       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.
#
# Mandatory: no
# Default:
# Server=

Server=127.0.0.1
...

Ändern Sie den Standardwert in die IP Ihres Zabbix-Servers:

/etc/zabbix/zabbix_agentd.conf

...
# Mandatory: no
# Default:
# Server=

Server=
...

Suchen Sie als Nächstes den Abschnitt, der die sichere Verbindung zum Zabbix-Server konfiguriert, und aktivieren Sie die Pre-Shared Key-Unterstützung. Suchen Sie den Abschnitt "+ TLSConnect +", der so aussieht:

/etc/zabbix/zabbix_agentd.conf

...
### 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=unencrypted
...

Dann entfernen Sie das Kommentarzeichen "+ TLSConnect = " und ersetzen " unverschlüsselt " durch " psk +", um die Unterstützung für Pre-Shared Keys zu konfigurieren:

/etc/zabbix/zabbix_agentd.conf

...
TLSConnect=
...

Suchen Sie als nächstes den Abschnitt + TLSAccept +, der so aussieht:

/etc/zabbix/zabbix_agentd.conf

...
### 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=unencrypted
...

Konfigurieren Sie eingehende Verbindungen für die Unterstützung vorinstallierter Schlüssel, indem Sie "+ TLSAccept = " auskommentieren und " psk +" hinzufügen:

/etc/zabbix/zabbix_agentd.conf

...
TLSAccept=
...

Suchen Sie als Nächstes den Abschnitt "+ TLSPSKIdentity +", der folgendermaßen aussieht:

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKIdentity=
...

Wählen Sie einen eindeutigen Namen, um Ihren vorinstallierten Schlüssel zu identifizieren, indem Sie "+ TLSPSKIdentity = +" auskommentieren und den hervorgehobenen Code hinzufügen:

/etc/zabbix/zabbix_agentd.conf

...
TLSPSKIdentity=
...

Sie verwenden dies als * PSK-ID *, wenn Sie Ihren Host über die Zabbix-Weboberfläche hinzufügen.

Stellen Sie dann die Option ein, die auf Ihren zuvor erstellten vorinstallierten Schlüssel verweist. Suchen Sie die Option + TLSPSKFile +:

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKFile=
...

Entfernen Sie das Kommentarzeichen "+ TLSPSKFile = +" und fügen Sie diesen Text hinzu, um den Zabbix-Agenten auf die PSK-Datei zu verweisen, die Sie erstellt haben:

/etc/zabbix/zabbix_agentd.conf

...
TLSPSKFile=
...

Speichern und schließen Sie die Datei. Jetzt können Sie den Zabbix-Agenten starten und so einstellen, dass er beim Booten startet:

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

Stellen Sie sicher, dass der Zabbix-Agent ordnungsgemäß ausgeführt wird:

sudo systemctl status zabbix-agent

Der folgende Status zeigt an, dass der Agent ausgeführt wird:

Output● zabbix-agent.service - Zabbix Agent
  Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
  Active:  since Fri 2019-05-03 06:25:06 UTC; 28s ago
 ...

Der Agent überwacht den Port "+ 10050 " auf Verbindungen vom Server. Um den Zugriff von bestimmten IP-Adressen oder Subnetzen aus zu konfigurieren, verwenden Sie die https://firewalld.org/documentation/man-pages/firewalld.richlanguage.html[rich rule] -Funktionalität von ` firewalld +`:

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="/32" port protocol="tcp" port="10050" accept'

Mit umfangreichen Regeln können Sie komplexere und anpassbarere "+ Firewalld +" - Regeln erstellen, um eine bessere Kontrolle über Ihre Firewall zu erlangen. Mit diesem Befehl fügen Sie eine Regel hinzu, die IPv4-Datenverkehr von der Quelle, die Sie als IP-Adresse des Zabbix-Servers festgelegt haben, zu Port + 10050 Ihres zweiten CentOS-Servers akzeptiert.

Laden Sie als nächstes + firewalld + neu, um die neue Regel zu aktivieren:

sudo firewall-cmd --reload

Ihr Agent ist jetzt bereit, Verbindungen anzunehmen und Daten an den Zabbix-Server zu senden. Um es zu verwenden, müssen Sie jedoch über die Webkonsole des Servers eine Verknüpfung zu ihm herstellen. Im nächsten Schritt schließen Sie die Konfiguration ab.

Schritt 6 - Hinzufügen des neuen Hosts zum Zabbix-Server

Das Installieren eines Agenten auf einem Server, den Sie überwachen möchten, ist nur die Hälfte des Vorgangs. Jeder Host, den Sie überwachen möchten, muss auf dem Zabbix-Server registriert sein, was Sie über die Weboberfläche tun können.

Melden Sie sich bei der Zabbix-Server-Weboberfläche an, indem Sie zur Adresse "+ http: /// zabbix / +" navigieren.

Wenn Sie angemeldet sind, klicken Sie in der oberen Navigationsleiste auf * Konfiguration * und dann auf * Hosts *. Klicken Sie dann auf die Schaltfläche * Host erstellen * in der oberen rechten Ecke des Bildschirms. Dadurch wird die Host-Konfigurationsseite geöffnet.

image: https: //assets.digitalocean.com/cart_66486/Create_Host_Cent.png [Erstellen eines Hosts]

Passen Sie den * Hostnamen * und die * IP-Adresse * an, um den Hostnamen und die IP-Adresse Ihres zweiten CentOS-Servers wiederzugeben, und fügen Sie den Host dann einer Gruppe hinzu. Sie können eine vorhandene Gruppe auswählen, z. B. * Linux-Server *, oder eine eigene Gruppe erstellen. Der Host kann in mehreren Gruppen sein. Geben Sie dazu den Namen einer bestehenden oder neuen Gruppe in das Feld * Gruppen * ein und wählen Sie den gewünschten Wert aus der vorgeschlagenen Liste aus.

Klicken Sie nach dem Hinzufügen der Gruppe auf die Registerkarte "Vorlagen".

image: https: //assets.digitalocean.com/articles/cart_66209/Add_Template.png [Hinzufügen einer Vorlage zum Host]

Geben Sie "+ Template OS Linux +" in das Feld "Suchen" ein und klicken Sie dann direkt unter der Suchleiste auf "Hinzufügen", um diese Vorlage dem Host hinzuzufügen.

Navigieren Sie als Nächstes zur Registerkarte * Verschlüsselung *. Wählen Sie * PSK * für * Verbindungen zum Host * und * Verbindungen vom Host * und deaktivieren Sie * Keine Verschlüsselung * für * Verbindungen vom Host *. Setzen Sie anschließend * PSK identity * auf + PSK 001 +. Dies ist der Wert der Einstellung * TLSPSKIdentity * des zuvor konfigurierten Zabbix-Agenten. Setzen Sie anschließend den Wert * PSK * auf den Schlüssel, den Sie für den Zabbix-Agenten generiert haben. Dies ist die Datei, die in der Datei "+ / etc / zabbix / zabbix_agentd.psk +" auf dem Agentenrechner gespeichert ist.

image: https: //assets.digitalocean.com/articles/cart_66209/Set_Up_Encryption.png [Einrichten der Verschlüsselung]

Klicken Sie abschließend auf die Schaltfläche * Hinzufügen * am unteren Rand des Formulars, um den Host zu erstellen.

Sie sehen Ihren neuen Host in der Liste. Warten Sie eine Minute und laden Sie die Seite neu, um grüne Etiketten zu sehen, die darauf hinweisen, dass alles funktioniert und die Verbindung verschlüsselt ist.

image: https: //assets.digitalocean.com/cart_66486/New_Host_Cent.png [Zabbix zeigt Ihren neuen Host]

Wenn Sie über zusätzliche Server verfügen, die Sie überwachen müssen, melden Sie sich bei jedem Host an, installieren Sie den Zabbix-Agenten, generieren Sie ein PSK, konfigurieren Sie den Agenten und fügen Sie den Host zur Webschnittstelle hinzu, indem Sie dieselben Schritte ausführen, die Sie zum Hinzufügen Ihres ersten Hosts ausgeführt haben.

Der Zabbix-Server überwacht jetzt Ihren zweiten CentOS-Server. Richten Sie nun E-Mail-Benachrichtigungen ein, um über Probleme informiert zu werden.

Schritt 7 - E-Mail-Benachrichtigungen konfigurieren

Zabbix unterstützt automatisch verschiedene Arten von Benachrichtigungen: E-Mail, Jabber, SMS usw. Sie können auch alternative Benachrichtigungsmethoden wie Telegramm oder Slack verwenden. Die vollständige Liste der Integrationen finden Sie unter here.

Die einfachste Kommunikationsmethode ist E-Mail. In diesem Lernprogramm werden Benachrichtigungen für diesen Medientyp konfiguriert.

Klicken Sie in der oberen Navigationsleiste auf * Administration * und dann auf * Medientypen *. Sie sehen die Liste aller Medientypen. Klicken Sie auf * Email *.

Passen Sie die SMTP-Optionen entsprechend den Einstellungen Ihres E-Mail-Dienstes an. In diesem Lernprogramm werden die SMTP-Funktionen von Google Mail zum Einrichten von E-Mail-Benachrichtigungen verwendet. Weitere Informationen zum Einrichten finden Sie unter Verwendung von Googles SMTP-Server.

Sie können auch das Nachrichtenformat "HTML" oder "Nur Text" auswählen. Klicken Sie abschließend auf die Schaltfläche * Aktualisieren * am unteren Rand des Formulars, um die E-Mail-Parameter zu aktualisieren.

image: https: //assets.digitalocean.com/articles/cart_66209/Set_Up_Email.png [E-Mail einrichten]

Erstellen Sie jetzt einen neuen Benutzer. Klicken Sie in der oberen Navigationsleiste auf * Administration * und dann auf * Benutzer *. Sie sehen die Liste der Benutzer. Klicken Sie dann auf die Schaltfläche * Benutzer erstellen * in der oberen rechten Ecke des Bildschirms. Dies öffnet die Benutzerkonfigurationsseite.

Geben Sie den neuen Benutzernamen in das Feld * Alias ​​* ein und richten Sie ein neues Passwort ein. Fügen Sie anschließend den Benutzer der Administratorgruppe hinzu. Geben Sie "+ Zabbix-Administratoren +" in das Feld "Gruppen" ein und wählen Sie es aus der vorgeschlagenen Liste aus.

Klicken Sie nach dem Hinzufügen der Gruppe auf die Registerkarte "Medien" und anschließend auf den unterstrichenen Link "Hinzufügen". Sie sehen ein Popup-Fenster.

image: https: //assets.digitalocean.com/articles/cart_66209/Add_Email.png [Hinzufügen einer E-Mail]

Geben Sie Ihre E-Mail-Adresse in das Feld * Senden an * ein. Sie können die restlichen Optionen auf den Standardwerten belassen. Klicken Sie zum Senden unten auf die Schaltfläche * Hinzufügen *.

Navigieren Sie nun zur Registerkarte * Berechtigungen *. Wählen Sie * Zabbix Super Admin * aus dem Dropdown-Menü * Benutzertyp *.

Klicken Sie abschließend auf die Schaltfläche * Hinzufügen * am unteren Rand des Formulars, um den Benutzer zu erstellen.

Jetzt müssen Sie Benachrichtigungen aktivieren. Klicken Sie auf die Registerkarte * Konfiguration * und dann auf * Aktionen * in der oberen Navigationsleiste. Sie sehen eine vorkonfigurierte Aktion, die für das Senden von Benachrichtigungen an alle Zabbix-Administratoren zuständig ist. Sie können die Einstellungen überprüfen und ändern, indem Sie auf den Namen klicken. Verwenden Sie für die Zwecke dieses Lernprogramms die Standardparameter. Um die Aktion zu aktivieren, klicken Sie auf den roten Link * Deaktiviert * in der Spalte * Status *.

Jetzt können Sie Benachrichtigungen erhalten. Im nächsten Schritt generieren Sie einen, um Ihre Benachrichtigungskonfiguration zu testen.

Schritt 8 - Test-Alert erstellen

In diesem Schritt generieren Sie einen Testalarm, um sicherzustellen, dass alles verbunden ist. Standardmäßig protokolliert Zabbix die Menge des freien Speicherplatzes auf Ihrem Server. Es erkennt automatisch alle Datenträger-Bereitstellungen und fügt die entsprechenden Überprüfungen hinzu. Diese Erkennung wird stündlich ausgeführt. Warten Sie daher eine Weile, bis die Benachrichtigung ausgelöst wird.

Erstellen Sie eine temporäre Datei, die groß genug ist, um die Dateisystemnutzungswarnung von Zabbix auszulösen. Melden Sie sich dazu bei Ihrem zweiten CentOS-Server an, wenn Sie noch keine Verbindung hergestellt haben.

ssh @

Bestimmen Sie als Nächstes, wie viel freien Speicherplatz Sie auf dem Server haben. Sie können den Befehl + df + verwenden, um Folgendes herauszufinden:

df -h

Mit dem Befehl "+ df " wird der Speicherplatzbedarf Ihres Dateisystems gemeldet, und mit " -h +" wird die Ausgabe für den Menschen lesbar. Die Ausgabe sieht folgendermaßen aus:

OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G  958M      4% /

In diesem Fall beträgt der freie Speicherplatz "+ 25GB +". Ihr freier Speicherplatz kann abweichen.

Verwenden Sie den Befehl + fallocate +, mit dem Sie einer Datei Speicherplatz vorab zuweisen oder freigeben können, um eine Datei zu erstellen, die mehr als 80% des verfügbaren Speicherplatzes einnimmt. Dies reicht aus, um den Alarm auszulösen:

fallocate -l  /tmp/temp.img

Nach ungefähr einer Stunde löst Zabbix eine Warnung über den verfügbaren Speicherplatz aus und führt die von Ihnen konfigurierte Aktion aus und sendet die Benachrichtigungsnachricht. Sie können Ihren Posteingang auf die Nachricht vom Zabbix-Server überprüfen. Sie sehen eine Nachricht wie:

Problem started at 10:49:25 on 2019.05.03
Problem name: Free disk space is less than 20% on volume /
Host: Second Centos Server
Severity: Warning

Original problem ID: 34

Sie können auch zur Registerkarte * Überwachung * und dann zu * Dashboard * navigieren, um die Benachrichtigung und deren Details anzuzeigen.

Nachdem Sie wissen, dass die Warnungen funktionieren, löschen Sie die von Ihnen erstellte temporäre Datei, damit Sie Ihren Speicherplatz zurückfordern können:

rm -f /tmp/temp.img

Nach einer Minute sendet Zabbix die Wiederherstellungsnachricht und der Alarm verschwindet vom Haupt-Dashboard.

Fazit

In diesem Lernprogramm richten Sie eine einfache und sichere Überwachungslösung ein, mit der Sie den Status Ihrer Server überwachen können. Es kann Sie jetzt vor Problemen warnen und Sie haben die Möglichkeit, die in Ihrer IT-Infrastruktur ablaufenden Prozesse zu analysieren.

Weitere Informationen zum Einrichten der Überwachungsinfrastruktur finden Sie unter How So installieren Sie Elasticsearch, Logstash und Kibana (Elastic Stack) unter CentOS 7 und https://www.digitalocean.com/community/tutorials/how-to-gather-infrastructure-metrics-with-metricbeat-on-centos-7 [So erfassen Sie Infrastrukturmetriken mit Metricbeat unter CentOS 7].