3 Installation aus den Quellen
Sie können die neueste Version von Zabbix erhalten, indem Sie sie aus den Quellen kompilieren.
Eine Schritt-für-Schritt-Anleitung zur Installation von Zabbix aus den Quellen finden Sie hier.
Installieren von Zabbix-Daemons
1 Laden Sie das Quellarchiv herunter
Gehen Sie zur Zabbix-Downloadseite und laden Sie das Quellarchiv herunter. Nach dem Herunterladen entpacken Sie die Quellen, indem Sie Folgendes ausführen:
tar -zxvf zabbix-7.4.0.tar.gz
Geben Sie in dem Befehl die richtige Zabbix-Version ein. Sie muss mit dem Namen des heruntergeladenen Archivs übereinstimmen.
2 Benutzerkonto erstellen
Alle Zabbix-Daemonprozesse werden unter nicht privilegierten Systembenutzern ausgeführt.
Wenn ein Zabbix-Daemon von einem nicht privilegierten Benutzerkonto gestartet wird, läuft er weiterhin unter diesem Benutzer.
In der Standardkonfiguration wechselt ein Daemon, der als root gestartet wird, zum Benutzerkonto zabbix, das vorhanden sein muss.
Um einen Systembenutzer und eine Systemgruppe zabbix zu erstellen, führen Sie die unten aufgeführten Befehle aus.
RedHat-basiertes System:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
Debian-basiertes System:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
Es ist nicht erforderlich, ein separates Benutzerkonto für das Zabbix Frontend zu erstellen.
Sicherheitsempfehlung
Wenn der Zabbix Server und der Agent auf demselben Rechner ausgeführt werden, wird empfohlen, sie unter getrennten Benutzerkonten zu betreiben.
Wenn beide unter demselben Benutzer ausgeführt werden, kann der Agent auf die Konfigurationsdatei des Servers zugreifen, wodurch vertrauliche Informationen - etwa das Datenbankpasswort - für jeden Benutzer mit Admin-Rechten in Zabbix offengelegt werden könnten.
Das Ausführen von Zabbix als root, bin oder unter einem anderen Konto mit Sonderrechten stellt ein Sicherheitsrisiko dar.
Home-Verzeichnis (optional)
Zabbix-Prozesse benötigen kein Home-Verzeichnis, daher wird das Anlegen eines solchen im Allgemeinen nicht empfohlen.
Wenn Sie jedoch Funktionen benötigen, die ein Home-Verzeichnis erfordern (zum Beispiel das Speichern von MySQL-Anmeldedaten in $HOME/.my.cnf), können Sie es mit den unten aufgeführten Befehlen erstellen.
Auf RedHat-basierten Systemen führen Sie aus:
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix
Auf Debian-basierten Systemen führen Sie aus:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
3 Zabbix-Datenbank erstellen
Für die Zabbix-Server- und Proxy-Dienste sowie das Zabbix-Frontend ist eine Datenbank erforderlich. Zum Betrieb des Zabbix-Agent ist sie nicht notwendig.
SQL-Skripte werden bereitgestellt, um das Datenbankschema zu erstellen und den Datensatz einzufügen. Die Zabbix-Proxy- Datenbank benötigt nur das Schema, während die Zabbix-Server-Datenbank zusätzlich zum Schema auch den Datensatz erfordert.
Nachdem Sie eine Zabbix-Datenbank erstellt haben, fahren Sie mit den folgenden Schritten zum Kompilieren von Zabbix fort.
4 Quellen konfigurieren
Für das Erstellen von Zabbix Server, Zabbix Proxy oder Zabbix Agent ist C99 mit GNU-Erweiterungen erforderlich. Diese Version kann explizit durch Setzen von CFLAGS="-std=gnu99" angegeben werden:
export CFLAGS="-std=gnu99"
Wenn Sie aus dem Zabbix Git-Repository installieren, muss zuerst Folgendes ausgeführt werden:
./bootstrap.sh
Beim Konfigurieren der Quellen für einen Zabbix Server oder Proxy müssen Sie den zu verwendenden Datenbanktyp angeben. Es kann jeweils nur ein Datenbanktyp gleichzeitig mit einem Server- oder Proxy-Prozess kompiliert werden.
Um alle unterstützten Konfigurationsoptionen anzuzeigen, führen Sie im entpackten Zabbix-Quellverzeichnis Folgendes aus:
./configure --help
Um die Quellen für einen Zabbix Server und Agent zu konfigurieren, können Sie etwa Folgendes ausführen:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-ares
Um die Quellen für einen Zabbix Server (mit PostgreSQL usw.) zu konfigurieren, können Sie Folgendes ausführen:
./configure --enable-server --with-postgresql --with-net-snmp
Um die Quellen für einen Zabbix Proxy (mit SQLite usw.) zu konfigurieren, können Sie Folgendes ausführen:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
Um die Quellen für einen Zabbix Agent zu konfigurieren, können Sie Folgendes ausführen:
./configure --enable-agent
oder für Zabbix agent 2:
./configure --enable-agent2
Zum Erstellen von Zabbix agent 2 muss eine unterstützte Go-Version installiert sein.
Hinweise zu den Kompilierungsoptionen:
--enable-agent- kompiliert den Zabbix Agent sowie die Befehlszeilenprogramme Zabbix get und Zabbix sender.--with-libcurl- erforderlich für die Überwachung virtueller Maschinen, SMTP-Authentifizierung undweb.page.*-Zabbix agent-Datenpunkte. Siehe auch: Anforderungen (libcurl).--with-libxml2- erforderlich für die Überwachung virtueller Maschinen.--with-libpcre2[=DIR]- Zabbix wird immer mit der PCRE2-Bibliothek kompiliert; mit dieser Option kann nur ein benutzerdefinierter Installationspfad für PCRE2 angegeben werden.--with-mysql=/path/to/mysql_config- gibt den Pfad zu einer bestimmten Konfiguration der MySQL-Clientbibliothek an. Nützlich, wenn mehrere Versionen von MySQL oder MariaDB installiert sind.--enable-static- verknüpft Bibliotheken statisch (unter Solaris nicht unterstützt). Verwenden Sie dies, wenn Sie die kompilierten Binärdateien auf Systeme ohne die erforderlichen Bibliotheken verteilen möchten. Nicht empfohlen beim Erstellen von Zabbix Server. Um den Server statisch zu erstellen, ist eine statische Version jeder externen Bibliothek erforderlich. Das configure-Skript prüft dies nicht automatisch.--with-stacksize=<value>- legt die Stackgröße pro Thread in Kilobyte fest (z. B.--with-stacksize=512). Sie können diesen Wert erhöhen, wenn Zabbix aufgrund von Stacküberläufen abstürzt oder einfriert (z. B. während der Vorverarbeitung auf Systemen mit niedrigen Standard-Thread-Stacklimits).
Wenn ./configure aufgrund fehlender Bibliotheken oder anderer Probleme fehlschlägt, prüfen Sie bitte die Datei config.log für detaillierte Fehlerinformationen.
Wenn beispielsweise libssl fehlt, kann die unmittelbare Fehlermeldung irreführend sein:
checking for main in -lmysqlclient... no
configure: error: Not found mysqlclient library
In diesem Fall zeigt config.log die tatsächliche Ursache:
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
Siehe auch:
5 Alles erstellen und installieren
Bei der Installation aus dem Zabbix Git-Repository muss zuerst Folgendes ausgeführt werden:
$ make dbschema
make install
Dieser Schritt sollte als Benutzer mit ausreichenden Berechtigungen ausgeführt werden (üblicherweise
'root' oder mit sudo).
Beim Ausführen von make install werden standardmäßig die Daemon-Binärdateien
(zabbix_server, zabbix_agentd, zabbix_proxy) in /usr/local/sbin und
die Client-Binärdateien (zabbix_get, zabbix_sender) in /usr/local/bin installiert.
Um einen anderen Speicherort als /usr/local anzugeben, verwenden Sie im vorherigen Schritt der Konfiguration der Quellen einen --prefix-Schalter, zum Beispiel --prefix=/home/zabbix. In diesem Fall werden die Daemon-Binärdateien unter <prefix>/sbin installiert, während die Hilfsprogramme unter <prefix>/bin installiert werden. Die Manpages werden unter <prefix>/share installiert.
6 Konfigurationsdateien überprüfen und bearbeiten
- Bearbeiten Sie die Konfigurationsdatei des Zabbix Agent /usr/local/etc/zabbix_agentd.conf
Sie müssen diese Datei für jeden Host mit installiertem zabbix_agentd konfigurieren.
Sie müssen die IP-Adresse des Zabbix Server in der Datei angeben. Verbindungen von anderen Hosts werden abgelehnt.
- Bearbeiten Sie die Konfigurationsdatei des Zabbix Server /usr/local/etc/zabbix_server.conf
Sie müssen den Datenbanknamen, den Benutzer und das Passwort angeben (falls verwendet).
Die übrigen Parameter sind mit ihren Standardwerten für eine kleine Installation (bis zu zehn überwachte Hosts) ausreichend. Sie sollten die Standardparameter jedoch ändern, wenn Sie die Leistung des Zabbix Server (oder Proxy) maximieren möchten.
- wenn Sie einen Zabbix Proxy installiert haben, bearbeiten Sie die Proxy-Konfigurationsdatei /usr/local/etc/zabbix_proxy.conf
Sie müssen die IP-Adresse des Servers und den Hostnamen des Proxy angeben (muss dem Server bekannt sein) sowie den Datenbanknamen, den Benutzer und das Passwort (falls verwendet).
Bei SQLite muss der vollständige Pfad zur Datenbankdatei angegeben werden; DB-Benutzer und Passwort sind nicht erforderlich.
7 Starten der Daemons
Führen Sie zabbix_server auf der Server-Seite aus.
zabbix_server
Stellen Sie sicher, dass Ihr System die Zuweisung von 36 MB (oder etwas mehr) gemeinsam genutztem Speicher zulässt, andernfalls startet der Server möglicherweise nicht und Sie sehen "Cannot allocate shared memory for <type of cache>." in der Server-Protokolldatei. Dies kann unter FreeBSD und Solaris 8 auftreten.
Führen Sie zabbix_agentd auf allen überwachten Maschinen aus.
zabbix_agentd
Stellen Sie sicher, dass Ihr System die Zuweisung von 2 MB gemeinsam genutztem Speicher zulässt, andernfalls startet der Agent möglicherweise nicht und Sie sehen "Cannot allocate shared memory for collector." in der Agent-Protokolldatei. Dies kann unter Solaris 8 auftreten.
Wenn Sie Zabbix Proxy installiert haben, führen Sie zabbix_proxy aus.
zabbix_proxy
Installieren der Zabbix-Weboberfläche
Kopieren von PHP-Dateien
Das Zabbix-Frontend ist in PHP geschrieben, daher wird zum Ausführen ein Webserver mit PHP-Unterstützung benötigt. Die Installation erfolgt einfach durch Kopieren der PHP-Dateien aus dem Verzeichnis ui in das HTML-Dokumentenverzeichnis des Webservers.
Zu den üblichen Speicherorten von HTML-Dokumentenverzeichnissen für Apache-Webserver gehören:
- /usr/local/apache2/htdocs (Standardverzeichnis bei der Installation von Apache aus dem Quellcode)
- /srv/www/htdocs (OpenSUSE, SLES)
- /var/www/html (Debian, Ubuntu, Fedora, RHEL)
Es wird empfohlen, ein Unterverzeichnis anstelle des HTML-Stammverzeichnisses zu verwenden. Um ein Unterverzeichnis zu erstellen und die Zabbix-Frontend-Dateien dorthin zu kopieren, führen Sie die folgenden Befehle aus und ersetzen Sie dabei <htdocs> durch das tatsächliche Verzeichnis:
mkdir <htdocs>/zabbix
cd ui
cp -a . <htdocs>/zabbix
Wenn Sie eine andere Sprache als Englisch verwenden möchten, finden Sie unter Installation zusätzlicher Frontend-Sprachen die entsprechenden Anweisungen.
Installation des Frontend
Bitte lesen Sie die Seite Web interface installation für Informationen zum Installationsassistenten des Zabbix Frontend.
Installieren von Zabbix Agent 2 ladbaren Plugins
Die Installation von ladbaren Plugins für Zabbix Agent 2 ist nur erforderlich, wenn Sie Ziele überwachen möchten, die nicht von integrierten Plugins abgedeckt werden (z. B. MongoDB-Server oder -Cluster, PostgreSQL und seine Forks usw.). Die vollständige Liste der ladbaren Plugins und integrierten Plugins finden Sie hier.
Prüfen Sie vor der Installation eines Plugins bitte die README-Datei. Sie kann spezifische Anforderungen und Installationsanweisungen enthalten.
Um aus den Quellen zu installieren, laden Sie zunächst das Quellarchiv des ladbaren Plugins herunter und entpacken Sie es.
Um das Plugin zu kompilieren, wechseln Sie in das entpackte Plugin-Verzeichnis und führen Sie make aus:
make
Zum Erstellen ladbarer Plugins für Zabbix Agent 2 muss eine unterstützte Go-Version installiert sein.
Die ausführbare Plugin-Datei kann an beliebiger Stelle abgelegt werden, solange sie von Zabbix Agent 2 geladen werden kann. Geben Sie den Pfad zur Plugin-Binärdatei in der Plugin-Konfigurationsdatei an, z. B. in postgresql.conf für das PostgreSQL-Plugin:
Plugins.PostgreSQL.System.Path=/path/to/executable/zabbix-agent2-plugin-postgresql
Der Pfad zur Plugin-Konfigurationsdatei muss im Include-Parameter der Zabbix Agent 2-Konfigurationsdatei angegeben werden:
Include=/path/to/plugin/configuration/file/postgresql.conf
Weitere Informationen zur Konfiguration von Plugins finden Sie unter Einrichtung.
Von Zabbix bereitgestellte ladbare Plugins verwenden einfache Makefiles mit den folgenden Build-Zielen:
make- das Plugin erstellenmake clean- alle Dateien löschen, die beim Erstellen des Plugins erzeugt wurdenmake check- Selbsttests ausführen (erfordert ein echtes Überwachungsziel, z. B. eine PostgreSQL-Datenbank)make style- den Go-Code-Stil mitgolangci-lintprüfenmake format- den Go-Code mitgo fmtformatierenmake dist- ein Quellarchiv einschließlich aller Abhängigkeiten erstellen
Installation von Java gateway
Es ist nur erforderlich, Java gateway zu installieren, wenn Sie JMX-Anwendungen überwachen möchten. Java gateway ist leichtgewichtig und benötigt keine Datenbank.
Um aus den Quellen zu installieren, laden Sie zunächst das Quellarchiv herunter und entpacken Sie es.
Um Java gateway zu kompilieren, führen Sie das Skript ./configure mit der Option --enable-java aus. Es wird empfohlen, die Option --prefix anzugeben, wenn Sie einen Installationspfad außerhalb des Standardpfads /usr/local verwenden möchten, da die Installation von Java gateway einen kompletten Verzeichnisbaum anlegt und nicht nur eine einzelne ausführbare Datei.
./configure --enable-java --prefix=$PREFIX
Um Java gateway zu kompilieren und in eine JAR-Datei zu paketieren, führen Sie make aus. Beachten Sie, dass Sie für diesen Schritt die ausführbaren Dateien javac und jar in Ihrem Pfad benötigen.
make
Nun haben Sie eine Datei zabbix-java-gateway-$VERSION.jar in src/zabbix\_java/bin. Wenn Sie Java gateway problemlos aus src/zabbix\_java im Distributionsverzeichnis ausführen können, können Sie mit den Anweisungen zum Konfigurieren und Ausführen von Java gateway fortfahren. Andernfalls stellen Sie sicher, dass Sie über ausreichende Berechtigungen verfügen, und führen Sie make install aus.
make install
Weitere Details zum Konfigurieren und Ausführen von Java gateway finden Sie unter Einrichtung.
Installieren des Zabbix web service
Die Installation des Zabbix web service ist nur erforderlich, wenn Sie geplante Berichte verwenden möchten.
Um aus den Quellen zu installieren, laden Sie zunächst das Quellarchiv herunter und entpacken Sie es.
Um den Zabbix web service zu kompilieren, führen Sie das Skript ./configure mit der Option
--enable-webservice aus.
Eine unterstützte Go-Version muss installiert sein, um den Zabbix web service zu erstellen.
Führen Sie zabbix_web_service auf dem Rechner aus, auf dem der web service installiert ist:
zabbix_web_service
Weitere Details zur Konfiguration der Erstellung geplanter Berichte finden Sie unter Einrichtung.