Zabbix ist ein Open-Source-Überwachungstool für Netzwerkdienste, Netzwerkhardware, Server und Anwendungen. Entwickelt, um den Status Ihres Systems und Ihrer Server zu verfolgen und zu überwachen. Zabbix bietet Unterstützung für viele Datenbanksysteme – einschließlich MySQL, PostgreSQL, SQLite und IBM DB2 – zum Speichern von Daten. Zabbix Backend ist in C geschrieben und das Frontend ist in PHP geschrieben.
In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie ein Open-Source-Überwachungssystem Zabbix 4.0 LTS auf dem CentOS 8-System installieren und konfigurieren. In diesem Handbuch werden einige Themen behandelt, darunter die Installation und Konfiguration des LAMP-Stacks für unsere Zabbix-Installation und das Ändern des Standardpassworts für die Zabbix-Admin-Web-Benutzeroberfläche.
Voraussetzungen
- CentOS 8-Server
- Root-Rechte
- Grundkenntnisse über Linux CentOS-Befehle
Was wir tun werden:
- Installieren Sie Apache Httpd
- Installieren und konfigurieren Sie PHP
- MariaDB installieren und konfigurieren
- Installieren und konfigurieren Sie Zabbix 4.0 LTS
- Firewalld konfigurieren
- SELinux konfigurieren
- Zabbix-Nachinstallation
- Standard-Admin von Zabbix ändern
Schritt 1 - Apache Httpd installieren
Für diese Anleitung verwenden wir den Apache/httpd für unseren Webserver. Der Zabbix-Server läuft unter dem Apache-Webserver.
Sie können das Apache/httpd-Paket mit dem folgenden dnf-Befehl installieren.
dnf install httpd
Sobald die Installation abgeschlossen ist, fügen Sie den httpd-Dienst zum Systemstart hinzu und starten Sie den Dienst mit den folgenden Befehlen.
systemctl enable httpd
systemctl start httpd
Überprüfen Sie nun den httpd-Dienst mit dem untenstehenden netstat-Befehl und vergewissern Sie sich, dass der HTTP-Port „80“ im Zustand „LISTEN“ ist.
netstat -plntu
Unten ist das Ergebnis.
Infolgedessen ist der httpd-Dienst auf dem HTTP-Standardport „80“ auf dem CentOS 8-Server aktiv und wird ausgeführt.
Schritt 2 - PHP installieren
Nach der Installation des Apache/httpd-Webservers werden wir PHP-Pakete und ihre Erweiterungen installieren, die für die Zabbix-Installation benötigt werden. Wir werden PHP als Zabbix-Installationsvoraussetzungen installieren und konfigurieren.
Installieren Sie PHP-Pakete mit dem folgenden dnf-Befehl.
dnf install php-cli php-common php-devel php-pear php-gd php-mbstring php-mysqlnd php-xml php-bcmath
Konfigurieren Sie nach Abschluss der Installation die PHP-Konfiguration „/etc/php.ini“ mit dem vim-Editor.
vim /etc/php.ini
Ändern Sie die Werte der Konfiguration wie unten gezeigt.
date.timezone = Asia/Jakarta
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
Speichern und schließen.
Starten Sie nun den Apache/httpd-Dienst neu.
systemctl restart httpd
Und die PHP-Installation und -Konfiguration auf dem CentOS 8-Server ist abgeschlossen.
Schritt 3 – MariaDB installieren und konfigurieren
Standardmäßig bietet Zabbix Unterstützung für viele Datenbanken für die Installation, einschließlich MySQL, PostgreSQL, SQLite und Oracle-Datenbanken. Für diese Anleitung verwenden wir MariaDB als Datenbank für unsere Zabbix-Installation.
Installieren Sie mariadb-server mit dem folgenden dnf-Befehl.
dnf install mariadb-server
Sobald die Installation abgeschlossen ist, fügen Sie den MariaDB-Dienst zum Systemstart hinzu und starten Sie den Dienst mit dem folgenden Befehl.
systemctl enable mariadb
systemctl start mariadb
Der MariaDB-Server ist eingerichtet und läuft.
Als Nächstes konfigurieren wir das MariaDB-Root-Passwort. Führen Sie den 'mysql_secure_installation'-Befehl unten aus, um das Root-Passwort zu konfigurieren.
mysql_secure_installation
Geben Sie Ihr Root-Passwort ein und drücken Sie die Eingabetaste.
Set a root password? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Und das MariaDB-Root-Passwort wurde konfiguriert.
Als Nächstes erstellen wir eine neue Datenbank und einen neuen Benutzer für die Zabbix-Installation. Wir werden eine neue Datenbank und einen neuen Benutzer namens „zabbix“ mit dem Passwort „[email protected]“ erstellen.
Melden Sie sich mit dem folgenden mysql-Befehl bei der MariaDB/mysql-Shell an.
mysql -u root -p
TYPE YOUR ROOT PASSWORD:
Und führen Sie die folgenden MariaDB-Abfragen unten auf der Shell aus.
create database zabbix;
grant all privileges on zabbix.* to [email protected]'localhost' identified by '[email protected]';
grant all privileges on zabbix.* to [email protected]'%' identified by '[email protected]';
flush privileges;
Als Ergebnis wurden die neue Datenbank und der neue Benutzer für die Zabbix-Installation erstellt.
Schritt 4 – Zabbix 4.0 LTS installieren und konfigurieren
In diesem Schritt installieren wir Zabbix 4.0 LTS. Wir werden die Zabbix LTS-Version aus dem offiziellen Zabbix-Repository installieren.
- Repository hinzufügen und Pakete installieren
Zuerst müssen wir das Zabbix 4.0 LTS-Repository mit dem folgenden rpm-Befehl zum System hinzufügen.
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
Entfernen Sie danach den Systempaketcache und überprüfen Sie alle verfügbaren Repositorys auf dem System.
dnf clean all
dnf repolist
Jetzt erhalten Sie das Ergebnis wie unten.
Als Ergebnis wurde das Zabbix-Repository zum CentOS 8-System hinzugefügt.
Führen Sie nun den folgenden dnf-Befehl aus, um Zabbix Server und Agent zu installieren.
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Warten Sie, bis die Zabbix-Installation abgeschlossen ist.
Gambar
- MySQL-Datenbankschema importieren
Sobald die Zabbix-Installation abgeschlossen ist, importieren wir das MariaDB-Datenbankschema für Zabbix.
Gehen Sie in das Verzeichnis ‚/usr/share/doc/zabbix-server-mysql‘ und extrahieren Sie das Datenbankschema.
cd /usr/share/doc/zabbix-server-mysql
gunzip create.sql.gz
Importieren Sie nun das Datenbankschema mit dem unten stehenden MySQL-Befehl in unsere 'zabbix'-Datenbank.
mysql -u root -p zabbix < create.sql
Geben Sie Ihr MariaDB-Root-Passwort ein und das Datenbankschema wurde importiert.
- Zabbix-Server und Zabbix-Agent konfigurieren
Der Zabbix-Server ist der zentrale Prozess des Zabbix-Softwaresystems. Wir werden den Zabbix-Server konfigurieren, indem wir die Konfiguration „/etc/zabbix/zabbix_server.conf“ bearbeiten.
Bearbeiten Sie die Konfigurationsdatei „/etc/zabbix/zabbix_server.conf“ mit dem vim-Editor.
vim /etc/zabbix/zabbix_server.conf
Geben Sie in der Datenbankzeile Konfiguration die Konfiguration wie unten ein und ändern Sie den Wert „DBPassword“ mit Ihrem eigenen Datenbankpasswort.
DBHost=localhost
[email protected]
Speichern und schließen.
Fügen Sie danach den Zabbix-Server zum Systemstart hinzu.
systemctl enable zabbix-server
Und die Zabbix-Server-Konfiguration ist abgeschlossen.
Als nächstes zeigen wir Ihnen die Zabbix-Agent-Konfiguration. Der zabbix-Agent muss auf allen zu überwachenden Rechnern installiert sein.
Bearbeiten Sie die Zabbix-Agent-Konfiguration „/etc/zabbix/zabbix_agentd.conf“ mit dem vim-Editor.
vim /etc/zabbix/zabbix_agentd.conf
Ändern Sie nun die Werte „Server“ und „ServerActive“ mit der IP-Adresse des Zabbix-Servers wie unten beschrieben.
Server=10.5.5.50
ServerActive=10.5.5.50
Speichern und schließen.
Fügen Sie nun den Dienst zabbix-agent zum Systemstart hinzu.
systemctl enable zabbix-agent
Und die Zabbix-Agent-Konfiguration ist abgeschlossen.
Schritt 5 - Konfigurieren Sie Firewalld
Für die Firewalld-Konfiguration werden wir neue Dienste hinzufügen, darunter HTTP, HTTPS und den Port, der vom Zabbix-Server und -Agent verwendet wird.
Fügen Sie mit den folgenden Befehlen die HTTP-, HTTP- und Zabbix-Ports „10050-10051“ zur Firewall hinzu.
firewall-cmd --add-service={http,https} --permanent
firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
Laden Sie danach die Firewall neu und überprüfen Sie alle verfügbaren Dienste und Ports darauf.
firewall-cmd --reload
firewall-cmd --list-all
Und Ihnen wird das Ergebnis wie folgt angezeigt.
Als Ergebnis wurden die HTTP-, HTTPS- und Zabbix-Ports „10050-10051“ zur Firewall hinzugefügt.
Schritt 6 – SELinux konfigurieren
Wenn Sie Zabbix auf CentOS 8 mit aktiviertem SELinux ausführen, müssen Sie alle Befehle in diesem Abschnitt ausführen.
Installieren Sie die SELinux-Dienstprogramme mit dem folgenden dnf-Befehl.
dnf install policycoreutils checkpolicy setroubleshoot-server
Wenn die Installation abgeschlossen ist, erstellen Sie ein neues Verzeichnis ‚~/zabbix-linux‘ und gehen Sie hinein.
mkdir -p ~/zabbix-selinux
cd ~/zabbix-selinux/
Erstellen Sie nun eine neue SELinux-Richtlinienmoduldatei „zabbix_server_add.te“ mit dem vim-Editor.
vim zabbix_server_add.te
Fügen Sie die folgende Konfiguration ein.
module zabbix_server_add 1.1;
require {
type zabbix_var_run_t;
type tmp_t;
type zabbix_t;
class sock_file { create unlink write };
class unix_stream_socket connectto;
class process setrlimit;
class capability dac_override;
}
#============= zabbix_t ==============
#!!!! This avc is allowed in the current policy
allow zabbix_t self:process setrlimit;
#!!!! This avc is allowed in the current policy
allow zabbix_t self:unix_stream_socket connectto;
#!!!! This avc is allowed in the current policy
allow zabbix_t tmp_t:sock_file { create unlink write };
#!!!! This avc is allowed in the current policy
allow zabbix_t zabbix_var_run_t:sock_file { create unlink write };
#!!!! This avc is allowed in the current policy
allow zabbix_t self:capability dac_override;
Speichern und schließen.
Konvertieren Sie nun die 'zabbix_server_add.te' in das Policy-Modul mit dem folgenden checkmodule-Befehl.
checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te
Kompilieren Sie nun das Richtlinienmodul „zabbix_server_add.mod“ mit dem Befehl semodule_package.
semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp
Laden Sie danach das kompilierte Richtlinienmodul 'zabbix_server_add.pp' in das System.
semodule -i zabbix_server_add.pp
Das lokale benutzerdefinierte Richtlinienmodul für Zabbix wurde geladen.
Als nächstes für die zusätzliche SELinux-Konfiguration. Führen Sie den folgenden setsbool-Befehl aus.
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_connect_zabbix 1
setsebool zabbix_can_network on
Und die SELinux-Konfiguration für Zabbix ist abgeschlossen.
Schritt 7 – Ersteinrichtung von Zabbix
Starten Sie zunächst den Zabbix-Server mit den folgenden Befehlen.
systemctl start zabbix-server
systemctl status zabbix-server
Starten Sie nun den Dienst zabbix-agent.
systemctl start zabbix-agent
systemctl status zabbix-agent
Starten Sie dann den httpd-Dienst neu.
systemctl restart httpd
Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die Server-IP-Adresse wie folgt ein.
http://10.5.5.50/zabbix/
Und Sie erhalten die Willkommensnachricht von Zabbix.
Klicken Sie auf die Schaltfläche „Nächster Schritt“.
Jetzt prüft Zabbix alle Systemanforderungen für die Installation. Stellen Sie sicher, dass kein Fehler vorliegt.
Klicken Sie auf die Schaltfläche „Nächster Schritt“.
Geben Sie für die Datenbankinformationen all Ihre Datenbankeinstellungen ein.
Und klicken Sie auf die Schaltfläche „Nächster Schritt“.
Jetzt kommt die Konfiguration der Zabbix-Serverdetails. Geben Sie im Feld „Host“ Ihre eigene Server-IP-Adresse ein und ändern Sie den Namen durch Ihren eigenen Domänennamen oder Hostnamen.
Klicken Sie erneut auf die Schaltfläche „Nächster Schritt“.
Stellen Sie sicher, dass alle diese Konfigurationen korrekt sind, und klicken Sie dann auf die Schaltfläche „Weiter“, um Zabbix zu installieren.
Und wenn die Installation abgeschlossen ist, erhalten Sie die unten gezeigte Seite.
Klicken Sie auf die Schaltfläche „Fertig stellen“ und Sie werden zur Zabbix-Anmeldeseite weitergeleitet.
Melden Sie sich mit dem Standardbenutzer „admin“ und dem Passwort „zabbix“ an.
Und Sie erhalten das standardmäßige Zabbix-Dashboard.
Und die Zabbix-Installation ist abgeschlossen.
Schritt 8 – Standard-Admin-Passwort ändern
Für diesen letzten Schritt ändern wir das Standard-Admin-Passwort für zabbix.
Klicken Sie im Zabbix-Admin-Dashboard oben rechts auf das Benutzersymbol.
Klicken Sie auf die Schaltfläche „Passwort ändern“ und geben Sie Ihr neues Passwort ein.
Klicken Sie nun auf die Schaltfläche „Aktualisieren“, und das Standard-Admin-Passwort wurde geändert.
Und die Zabbix-Installation und -Konfiguration auf dem CentOS 8-System wurde erfolgreich abgeschlossen.