Anforderungen

Hardware

Arbeitsspeicher

Zabbix benötigt sowohl physischen Speicher als auch Festplattenspeicher. Die Menge des benötigten Festplattenspeichers hängt natürlich von der Anzahl der Hosts und Parameter ab, die überwacht werden. Wenn Sie planen, eine lange Historie der überwachten Parameter aufzubewahren, sollten Sie mindestens einige Gigabyte einplanen, damit genügend Speicherplatz vorhanden ist, um die Historie in der Datenbank zu speichern. Jeder Zabbix-Daemon-Prozess benötigt mehrere Verbindungen zu einem Datenbank-Server. Die für die Verbindung zugewiesene Speichermenge hängt von der Konfiguration der Datenbank-Engine ab.

Je mehr physischer Speicher vorhanden ist, desto schneller arbeitet die Datenbank (und damit auch Zabbix).

CPU

Zabbix und insbesondere die Zabbix-Datenbank können je nach Anzahl der überwachten Parameter und der gewählten Datenbank-Engine erhebliche CPU-Ressourcen erfordern.

Andere Hardware

Ein serieller Kommunikationsanschluss und ein serielles GSM-Modem sind erforderlich, um die SMS-Benachrichtigungsunterstützung in Zabbix zu verwenden. Ein USB-zu-Seriell-Konverter funktioniert ebenfalls.

Beispiele für die Hardwarekonfiguration

Die Tabelle enthält Beispiele für Hardwarekonfigurationen unter der Annahme einer Linux/BSD/Unix-Plattform.

Dies sind Beispiele für Größe und Hardwarekonfiguration als Ausgangspunkt. Jede Zabbix-Installation ist einzigartig. Stellen Sie sicher, dass Sie die Leistung Ihres Zabbix-Systems in einer Staging- oder Entwicklungsumgebung benchmarken, damit Sie Ihre Anforderungen vollständig verstehen, bevor Sie die Zabbix-Installation in der Produktionsumgebung bereitstellen.

Größe der Installation Überwachte Metriken1 CPU/vCPU-Kerne Arbeitsspeicher
(GiB)
Datenbank Amazon EC22
Klein 1 000 2 8 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.large/m6g.large
Mittel 10 000 4 16 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.xlarge/m6g.xlarge
Groß 100 000 16 64 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.4xlarge/m6g.4xlarge
Sehr groß 1 000 000 32 96 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.8xlarge/m6g.8xlarge

1 Für die Dimensionierung wird 1 überwachte Metrik ungefähr durch die Formel 1 Metrik = 1 Datenpunkt + 1 Auslöser + 1 Graph dargestellt. Dies ist nur eine Schätzregel und keine Formel zur Berechnung der überwachten Metriken.
2 Beispiel mit Amazon-EC2-Instanzen für allgemeine Zwecke unter Verwendung der ARM64- oder x86_64-Architektur. Bei der Evaluierung und beim Testen der Zabbix-Installation sollte vor der Installation in der Produktionsumgebung ein geeigneter Instanztyp wie Compute-, Memory- oder Storage-optimiert ausgewählt werden.

Die tatsächliche Konfiguration hängt stark von der Anzahl der aktiven Datenpunkte und den Aktualisierungsintervallen ab (Details finden Sie im Abschnitt Datenbankgröße dieser Seite). Es wird dringend empfohlen, die Datenbank bei großen Installationen auf einem separaten Server zu betreiben.

Unterstützte Plattformen

Aufgrund von Sicherheitsanforderungen und der geschäftskritischen Natur des Monitoring-Servers ist UNIX das einzige Betriebssystem, das die erforderliche Leistung, Fehlertoleranz und Ausfallsicherheit zuverlässig bereitstellen kann. Zabbix läuft auf marktführenden Versionen.

Zabbix-Komponenten sind für die folgenden Plattformen verfügbar und getestet:

Plattform Server Agent Agent 2 Kommentare
Linux x x x
Windows - x x Der Zabbix-Agent wird auf allen Desktop- und Serverversionen ab Windows XP (64-Bit)/Server 2003 unterstützt.

Zabbix Agent 2 wird auf allen Desktop- und Serverversionen ab Windows 10 (32-Bit)/Server 2016 unterstützt, da er nur mit einer unterstützten Go-Version kompiliert wird, um kritische Sicherheitslücken zu vermeiden. Seit Go 1.21 wurden die minimal erforderlichen Windows-Versionen angehoben, wodurch Windows 10/Server 2016 zur Mindestversion für Zabbix Agent 2 wird.
macOS x x -
IBM AIX x x - Der Zabbix-Agent funktioniert nicht auf AIX-Plattformen unterhalb der Versionen 6.1 TL07 / 7.1 TL01.
FreeBSD x x -
OpenBSD x x -
Solaris x x -
NetBSD x x -
HP-UX x x -

Zabbix Server/Agent kann auch auf anderen Unix-ähnlichen Betriebssystemen funktionieren.

Zabbix deaktiviert Core Dumps, wenn es mit Verschlüsselung kompiliert wurde, und startet nicht, wenn das System das Deaktivieren von Core Dumps nicht zulässt.

Erforderliche Software

Zabbix basiert auf modernen Webservern, führenden Datenbank-Engines und der Skriptsprache PHP.

Externe Software von Drittanbietern

Wenn eine Software/Bibliothek als obligatorisch angegeben ist, wird sie zwingend benötigt. Optionale Komponenten werden zur Unterstützung bestimmter Funktionen benötigt.

Software Obligatorischer Status Unterstützte Versionen Kommentare
MySQL/Percona Eine von beiden 8.4.0-9.7.X Erforderlich, wenn MySQL (oder Percona) als Backend-Datenbank von Zabbix verwendet wird. Die InnoDB-Engine ist erforderlich.

Für die Erstellung von Server/Proxy empfehlen wir die Verwendung der Bibliothek C API (libmysqlclient).

Wir empfehlen dringend, in Produktionsumgebungen ausschließlich LTS-Versionen zu verwenden. Versionen mit der Bezeichnung „Rolling Release“, „Early Access“ oder ähnlich werden nicht empfohlen.
MariaDB 10.11.00-12.3.X Die InnoDB-Engine ist erforderlich.

Für die Erstellung von Server/Proxy empfehlen wir die Verwendung der Bibliothek MariaDB Connector/C.

Siehe auch: Mögliche Deadlocks mit MariaDB und Zugriff auf UI-Elemente mit MariaDB 10.5.1-10.5.9.

Wir empfehlen dringend, in Produktionsumgebungen ausschließlich LTS-Versionen zu verwenden. Versionen mit der Bezeichnung „Rolling Release“, „Early Access“ oder ähnlich werden nicht empfohlen.
PostgreSQL 15.0-18.X Erforderlich, wenn PostgreSQL als Backend-Datenbank von Zabbix verwendet wird.
Abhängig von der Installationsgröße kann es erforderlich sein, die PostgreSQL-Konfigurationseigenschaft work_mem zu erhöhen (der Standardwert beträgt 4 MB), damit die von der Datenbank für einen bestimmten Vorgang verwendete Speichermenge ausreicht und die Abfrageausführung nicht zu viel Zeit in Anspruch nimmt.
TimescaleDB für PostgreSQL 2.20.X-2.29.X Erforderlich, wenn TimescaleDB als PostgreSQL-Datenbankerweiterung verwendet wird. Stellen Sie sicher, dass Sie die TimescaleDB Community Edition installieren, die Komprimierung unterstützt.

Details zur Versionskompatibilität von PostgreSQL und TimescaleDB finden Sie in der TimescaleDB-Dokumentation.
Elasticsearch 7.X Erforderlich, wenn Elasticsearch als Backend-Datenbank von Zabbix verwendet wird.
Elasticsearch kann nur zum Speichern von Verlaufsdaten verwendet werden und wird nur mit Zabbix-Servern unterstützt. Die Unterstützung von Elasticsearch ist derzeit experimentell. Siehe auch die erforderliche Software für Server/Proxy.
ClickHouse 25.8.22.X-26.4.X Erforderlich, wenn ClickHouse als Backend-Datenbank von Zabbix zum Speichern von Verlaufsdaten verwendet wird (nur mit Zabbix-Servern unterstützt).

Die unterstützten Versionen gelten nur für die Speicherung von Verlaufsdaten. Um ClickHouse als Telemetriedatenquelle zu verwenden, ist ClickHouse 26.8.17.4 oder höher erforderlich.

Die Systemzeit auf dem Zabbix-Server und dem ClickHouse-Server muss synchronisiert sein. Andernfalls können bei Telemetrieabfragen Daten fehlen oder dieselben Daten zweimal zurückgegeben werden.
SQLite Optional 3.3.5-3.53.X SQLite wird nur mit Zabbix-Proxys unterstützt. Erforderlich, wenn SQLite als Zabbix-Proxy-Datenbank verwendet wird.
smartmontools 7.1 oder höher Erforderlich für Zabbix Agent 2.
who Erforderlich für das Benutzeranzahl-Plugin.
dpkg Erforderlich für das Plugin system.sw.packages.
pkgtool Erforderlich für das Plugin system.sw.packages.
rpm Erforderlich für das Plugin system.sw.packages.
pacman Erforderlich für das Plugin system.sw.packages.
q applets qlist und qsize als Teil der q applets sind für das Plugin system.sw.packages unter Gentoo Linux erforderlich.

Obwohl Zabbix mit Datenbanken arbeiten kann, die in den Betriebssystemen verfügbar sind, empfehlen wir für eine optimale Nutzung, Datenbanken zu verwenden, die aus den offiziellen Repositories der Datenbankentwickler installiert wurden.

Frontend

Die minimal unterstützte Bildschirmbreite für das Zabbix-Frontend beträgt 1200px.

Wenn die erforderliche Software/Bibliothek als obligatorisch angegeben ist, wird sie zwingend benötigt. Optionale Komponenten werden für die Unterstützung bestimmter Funktionen benötigt.

Software Obligatorisch Unterstützte Versionen Kommentare
PHP Ja 8.2.0 - 8.5.X
Apache Eine von 2.4 oder höher
Nginx 1.20 oder höher
MySQL Eine von Siehe Drittanbieter- und externe Umgebungssoftware
PostgreSQL
PHP-Erweiterungen
mysqli Ja Erforderlich, wenn MySQL als Zabbix-Backend-Datenbank verwendet wird.
pgsql Erforderlich, wenn PostgreSQL als Zabbix-Backend-Datenbank verwendet wird.
bcmath php-bcmath (--enable-bcmath)
mbstring php-mbstring (--enable-mbstring)
sockets php-net-socket (--enable-sockets); erforderlich für die Unterstützung von Benutzerskripten.
gd 2.0.28 oder höher php-gd (falls vom Distributor als separates Paket bereitgestellt); die PHP-GD-Erweiterung muss PNG-Bilder (--with-png-dir), JPEG-Bilder (--with-jpeg-dir) und FreeType 2 (--with-freetype-dir) unterstützen. Version 2.3.0 oder höher kann erforderlich sein, um eine mögliche Überlappung von Text in Diagrammen für einige Frontend-Sprachen zu vermeiden.
libxml 2.6.15 oder höher php-xml (falls vom Distributor als separates Paket bereitgestellt)
xmlwriter php-xmlwriter (falls vom Distributor als separates Paket bereitgestellt)
xmlreader php-xmlreader (falls vom Distributor als separates Paket bereitgestellt)
ctype php-ctype (--enable-ctype)
session php-session (falls vom Distributor als separates Paket bereitgestellt)
ldap Nein php-ldap; erforderlich für die LDAP-Authentifizierung.
openssl php-openssl; erforderlich für die SAML-Authentifizierung.
gettext php-gettext (--with-gettext); erforderlich für Übersetzungen.
cURL 7.19.4 oder höher php-curl; erforderlich für Duo Universal Prompt MFA, SMTP-Authentifizierung und zum Testen der Telemetriedatenquelle.

Drittanbieter-Frontend-Bibliotheken, die mit Zabbix bereitgestellt werden:

Bibliothek Obligatorisch Bereitgestellte Version Kommentare
jQuery JavaScript Library Ja 3.6.0 JavaScript-Bibliothek, die den Prozess der browserübergreifenden Entwicklung vereinfacht.
jQuery UI 1.12.1 Eine Sammlung von Benutzeroberflächeninteraktionen, Effekten, Widgets und Themes, die auf jQuery aufbaut.
SAML PHP Toolkit 4.3.1 Ein PHP-Toolkit, das Unterstützung für die SAML-2.0-Authentifizierung hinzufügt, um die Anmeldung bei Zabbix zu ermöglichen.
Duo Universal PHP library 1.1.2 Eine PHP-Bibliothek, die Unterstützung für die Multi-Faktor-Authentifizierung mit Duo Universal Prompt für Zabbix hinzufügt.
Symfony Yaml Component 5.1.0 Fügt Unterstützung für den Export und Import von Zabbix-Konfigurationselementen im YAML-Format hinzu.

Zabbix funktioniert möglicherweise auch mit früheren Versionen von Apache, MySQL und PostgreSQL.

Für andere Schriftarten als die standardmäßige DejaVu-Schriftart ist möglicherweise die PHP-Funktion imagerotate erforderlich. Wenn sie fehlt, werden diese Schriftarten möglicherweise bei der Anzeige eines Diagramms falsch dargestellt. Diese Funktion ist nur verfügbar, wenn PHP mit der gebündelten GD-Bibliothek kompiliert wurde, was bei Debian und anderen Distributionen nicht der Fall ist.

Drittanbieter-Bibliotheken, die zum Schreiben und Debuggen von Zabbix-Frontend-Code verwendet werden:

Bibliothek Obligatorisch Mindestversion Beschreibung
Composer Nein 2.4.1 Ein Paketmanager auf Anwendungsebene für PHP, der ein Standardformat für die Verwaltung von Abhängigkeiten von PHP-Software und erforderlichen Bibliotheken bereitstellt.
PHPUnit 8.5.29 Ein PHP-Unit-Testing-Framework zum Testen des Zabbix-Frontends.
SASS 3.4.22 Eine Präprozessor-Skriptsprache, die interpretiert und in Cascading Style Sheets (CSS) kompiliert wird.
Webbrowser auf Client-Seite

Cookies und JavaScript müssen aktiviert sein.

Die neuesten stabilen Versionen von Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari und Opera werden unterstützt.

Die Same-Origin-Policy für IFrames ist implementiert, was bedeutet, dass Zabbix nicht in Frames auf einer anderen Domain eingebettet werden kann.

Seiten, die in einen Zabbix-Frame eingebettet sind, haben jedoch Zugriff auf das Zabbix Frontend (über JavaScript), wenn sich die in den Frame eingebettete Seite und das Zabbix Frontend auf derselben Domain befinden. Eine Seite wie http://secure-zabbix.com/cms/page.html, die in Dashboards auf http://secure-zabbix.com/zabbix/ eingebettet ist, hat vollen JS-Zugriff auf Zabbix.

Server/Proxy

Wenn als obligatorisch angegeben, ist die erforderliche Software/Bibliothek zwingend notwendig. Optionale Komponenten werden zur Unterstützung bestimmter Funktionen benötigt.

Anforderung Obligatorisch Beschreibung
libpcre2 Ja Die PCRE2-Bibliothek wird für die Unterstützung von Perl-kompatiblen regulären Ausdrücken (PCRE) benötigt.
PCRE2 v10.x wird unterstützt.
libevent Wird für die Kommunikation zwischen Prozessen benötigt. Version 2.0.10 oder höher.
libevent-pthreads Wird für die Kommunikation zwischen Prozessen benötigt.
libpthread Wird für die Unterstützung von Mutexen und Lese-/Schreibsperren benötigt (kann Bestandteil von libc sein).
libresolv Wird für die DNS-Auflösung benötigt (kann Bestandteil von libc sein).
libiconv Wird für die Konvertierung von Textkodierungen und -formaten benötigt (kann Bestandteil von libc sein). Für den Zabbix Server unter Linux obligatorisch.
libz Wird für die Unterstützung der Komprimierung benötigt.
libm Mathematikbibliothek. Wird nur vom Zabbix Server benötigt.
libmysqlclient Eine von Wird benötigt, wenn MySQL verwendet wird.
libmariadb Wird benötigt, wenn MariaDB verwendet wird.
libpq5 Wird benötigt, wenn PostgreSQL verwendet wird; die Version von libpq5 muss der Version der verwendeten PostgreSQL-Datenbank entsprechen oder höher sein.
libsqlite3 Wird benötigt, wenn SQLite verwendet wird. Wird nur für den Zabbix Proxy benötigt.
libOpenIPMI Nein Wird für die IPMI-Unterstützung benötigt. Wird nur vom Zabbix Server benötigt.
libssh2 oder libssh Wird für SSH-Prüfungen benötigt. Version 1.8.0 oder höher (libssh2); 0.9.0 oder höher (libssh).
libcurl Wird für die folgenden Funktionen benötigt:
- Webüberwachung, VMware-Überwachung und [HTTP-Agent]-Datenpunkte(/manual/config/items/itemtypes/http) (für alle: Version 7.19.1 oder höher);
- Zabbix-Agent-[web.page.*]-Datenpunkte(/manual/config/items/itemtypes/zabbix_agent#web.page.get) (Version 7.19.1 oder höher; siehe auch die Anforderungen für den Agent);
- SMTP-Authentifizierung (Basic: Version 7.20.0 oder höher; OAuth: Version 7.33 oder höher; siehe auch die Anforderungen für das Frontend);
- Elasticsearch (Version 7.28.0 oder höher);
- [Telemetry-Abfrage]-Datenpunkte(/manual/config/items/itemtypes/telemetry_query) (Version 7.28.0 oder höher).

Für alle Funktionen wird Version 7.28.0 oder höher empfohlen.
Um aktualisierte cURL-Funktionen für web.page.*-Datenpunkte zu verwenden, starten Sie den Zabbix Server/Proxy neu.
Verwenden Sie für die SMTP-Authentifizierung zur Laufzeit das Paket libcurl-full.
libxml2 Wird für die VMware-Überwachung und die XML-XPath-Vorverarbeitung benötigt.
net-snmp Wird für die SNMP-Unterstützung benötigt. Version 5.3.0 oder höher.
Die Unterstützung starker Verschlüsselungsprotokolle (AES192/AES192C, AES256/AES256C) ist ab der net-snmp-Bibliothek 5.8 verfügbar; auf RHEL-8+-basierten Systemen wird empfohlen, net-snmp 5.8.15 oder höher zu verwenden.
libunixodbc Wird für die Datenbanküberwachung benötigt.
libgnutls oder libopenssl Wird bei Verwendung von Verschlüsselung benötigt.
Mindestversionen: libgnutls - 3.1.18, libopenssl - 1.0.1
libldap Wird für die LDAP-Unterstützung benötigt.
fping Wird für ICMP-Ping-Datenpunkte benötigt.
c-ares Wird für die asynchrone DNS-Auflösung benötigt, wenn Zabbix mit der Option --with-ares konfiguriert wurde. Andernfalls wird libevent verwendet.
Mindestversion: 1.16.0. Die DNS-Abfragezwischenspeicherung und die Failover-Funktion (Abfrage-Cache standardmäßig aktiviert) erfordern c-ares 1.26.0 oder höher. Auf Systemen, auf denen c-ares über das Betriebssystempaket bereitgestellt wird, muss sichergestellt werden, dass die installierte Laufzeitbibliothek die für die DNS-Zwischenspeicherung und das Failover erforderlichen Resolver-Funktionen bereitstellt.
g++ C++-Compiler. Wird benötigt, um den Zabbix Proxy mit der Option --with-apm für die Überwachung der Anwendungsleistung (APM) zu kompilieren.
gRPC Wird für APM auf dem Zabbix Proxy benötigt, wenn dieser mit der Option --with-apm kompiliert wurde.
Erforderliche Bibliotheken: grpc++, grpc, gpr.
Das Dienstprogramm grpc_cpp_plugin wird ebenfalls zum Kompilieren des Zabbix Proxy benötigt.

Die erforderliche Version ist in den Standardpaketquellen der folgenden Betriebssysteme verfügbar:
- Ubuntu 23.04 oder höher;
- Debian 12 (Bookworm) oder höher;
- Alpine Linux 3.15 oder höher;
- RHEL, Rocky Linux, CentOS Stream 9 oder höher (nur aus dem EPEL-Repository);
- Fedora X oder höher.
Auf älteren Betriebssystemversionen muss gRPC aus dem Quellcode erstellt werden.
protobuf Wird für APM auf dem Zabbix Proxy benötigt, wenn dieser mit der Option --with-apm kompiliert wurde.
Der Compiler protoc wird ebenfalls zum Kompilieren des Zabbix Proxy benötigt.
Abseil Wird für APM auf dem Zabbix Proxy benötigt, wenn dieser mit der Option --with-apm kompiliert wurde.
Erforderliche Bibliotheken: absl_synchronization, absl_base.
Wird normalerweise zusammen mit gRPC installiert.
Agent
Requirement Mandatory status Description
libpcre2 Yes Die PCRE2-Bibliothek wird für die Unterstützung von Perl Compatible Regular Expression (PCRE) benötigt.
PCRE2 v10.x wird unterstützt.
Erforderlich für die Protokollüberwachung. Auch unter Windows erforderlich.
libpthread Erforderlich für die Unterstützung von Mutex und Read-Write-Lock (kann Teil von libc sein). Unter Windows nicht erforderlich.
libresolv Erforderlich für die DNS-Auflösung (kann Teil von libc sein). Unter Windows nicht erforderlich.
libiconv Erforderlich für die Textkodierung bzw. Formatkonvertierung nach UTF-8 in Protokolleinträgen, Dateiinhalten, Datei-Regex und regmatch-Datenpunkten (kann Teil von libc sein). Unter Windows nicht erforderlich.
libgnutls or libopenssl No Erforderlich bei Verwendung von Verschlüsselung.
Mindestversionen: libgnutls - 3.1.18, libopenssl - 1.0.1
Unter Microsoft Windows ist OpenSSL 1.1.1 oder höher erforderlich.
libldap Erforderlich, wenn LDAP verwendet wird. Unter Windows nicht unterstützt.
libcurl Erforderlich für die erweiterte Unterstützung von Zabbix Agent web.page.*-Datenpunkten.
Ohne libcurl ist die grundlegende Funktionalität verfügbar (z. B. web.page.get[http://example.com]). Mit libcurl unterstützt der Agent zusätzliche Funktionen, z. B. HTTP-URLs mit Anmeldedaten (z. B. http://user:[email protected]) und HTTPS-URLs.
Version 7.19.1 oder höher ist erforderlich (7.28.0 oder höher wird empfohlen).
Um aktualisierte cURL-Funktionen zu verwenden, starten Sie den Zabbix Agent neu.
libmodbus Nur erforderlich, wenn Modbus-Überwachung verwendet wird.
Version 3.0 oder höher.
Agent 2
Requirement Mandatory status Description
Go Yes Erforderlich, um Zabbix Agent 2 und seine Plugins aus dem Quellcode zu erstellen.
Go 1.25 oder höher wird unterstützt. Installationsanweisungen finden Sie unter go.dev.
Die von Zabbix Agent 2 und seinen Plugins verwendeten Go-Bibliotheken sind im Zabbix-Git-Repository aufgeführt (im Repository als indirect markierte Bibliotheken sind Abhängigkeiten anderer erforderlicher Bibliotheken):
- Zabbix Agent 2
- Plugin support
- PostgreSQL
- MongoDB
- MSSQL
- Ember+
- NVIDIA GPU
- Example plugin
libpcre2 Yes Die PCRE2-Bibliothek ist für die Unterstützung von Perl Compatible Regular Expression (PCRE) erforderlich.
PCRE2 v10.x wird unterstützt.
Erforderlich für die Protokollüberwachung. Außerdem unter Windows erforderlich.
libopenssl No Erforderlich bei Verwendung von Verschlüsselung.
Auf UNIX-Plattformen ist OpenSSL 1.0.1 oder höher erforderlich.
Die OpenSSL-Bibliothek muss mit aktivierter PSK-Unterstützung kompiliert sein. LibreSSL wird nicht unterstützt.
Auf Microsoft-Windows-Systemen ist OpenSSL 1.1.1 oder höher erforderlich.
Web-Service

Die neueste stabile Version von Google Chrome wird für die Erstellung geplanter Berichte mit dem Zabbix-Web-Service unterstützt.

Die erforderliche Go-Version zum Erstellen des Web-Service entspricht derjenigen, die für Zabbix agent 2 verwendet wird.

Java gateway

Wenn Sie Zabbix aus dem Quellcode-Repository oder einem Archiv bezogen haben, sind die erforderlichen Abhängigkeiten bereits im Quellbaum enthalten.

Wenn Sie Zabbix aus dem Paket Ihrer Distribution bezogen haben, werden die erforderlichen Abhängigkeiten bereits vom Paketsystem bereitgestellt.

In beiden oben genannten Fällen ist die Software einsatzbereit und es sind keine zusätzlichen Downloads erforderlich.

Wenn Sie jedoch Ihre eigenen Versionen dieser Abhängigkeiten bereitstellen möchten (beispielsweise wenn Sie ein Paket für eine Linux-Distribution vorbereiten), finden Sie unten eine Liste der Bibliotheksversionen, mit denen Java gateway bekanntermaßen funktioniert. Zabbix funktioniert möglicherweise auch mit anderen Versionen dieser Bibliotheken.

Die folgende Tabelle enthält die JAR-Dateien, die derzeit im Originalcode mit Java gateway gebündelt sind:

Bibliothek Erforderlicher Status Gebündelte Version Kommentare
android-json Ja 4.3r1 JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat. Dies ist die mit org.json kompatible Android-Implementierung, die aus dem Android SDK extrahiert wurde.
logback-classic 1.5.25
logback-core 1.5.25
slf4j-api 2.0.16

Java gateway kann entweder mit Oracle Java oder dem Open-Source-Projekt OpenJDK (Version 1.6 oder neuer) erstellt werden. Die von Zabbix bereitgestellten Pakete werden mit OpenJDK kompiliert. Die folgende Tabelle enthält die OpenJDK-Pakete, die von den Distributionen zum Erstellen der Zabbix-Pakete verwendet werden:

Distribution OpenJDK-Paket
AlmaLinux 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
AlmaLinux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
AlmaLinux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.332.b09-2; arm64: 1.8.0.382.b05-2)
Amazon Linux 2023 java-22-amazon-corretto-devel (amd64, arm64: 22.0.2+9-1)
CentOS Stream 10 java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2)
CentOS Stream 9 java-11-openjdk-devel (amd64, arm64: 11.0.18.0.10-3)
CentOS Stream 8 java-1.8.0-openjdk-devel (amd64, arm64: 1.8.0.362.b08-3)
CentOS 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Debian 13 default-jdk-headless (amd64, arm64: 2:1.21-76)
Debian 12 default-jdk-headless (amd64, arm64: 2:1.17-74)
Debian 11 default-jdk-headless (amd64: 2:1.11-72)
OpenSUSE Leap 16 java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.2.1)
OpenSUSE Leap 15 java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Oracle Linux 10 java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2.0.1)
Oracle Linux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4.0.1; arm64: 11.0.20.0.8-2.0.1)
Oracle Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4.0.1); java-11-openjdk-devel (arm64: 11.0.20.0.8-3.0.1)
Oracle Linux 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Raspberry Pi OS 13 default-jdk-headless (arm64, armhf: 2:1.21-76)
Raspberry Pi OS 12 default-jdk-headless (arm64, armhf: 2:1.17-74)
Raspberry Pi OS 11 default-jdk-headless (arm64: 2:1.11-72; armhf: 2:1.11-72+b4)
RHEL 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
RHEL 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
RHEL 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
RHEL 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Rocky Linux 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
Rocky Linux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
Rocky Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
SLES 16 java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.1.1)
SLES 15 java-17-openjdk-devel (amd64, arm64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Ubuntu 26.04 default-jdk-headless (amd64, arm64: 2:1.25-77)
Ubuntu 24.04 default-jdk-headless (amd64, arm64: 2:1.21-75+exp1)
Ubuntu 22.04 default-jdk-headless (amd64, arm64: 2:1.11-72build2)
Ubuntu 20.04 default-jdk-headless (amd64, arm64: 2:1.11-72)
Bridge-Adapter

Der Zabbix-Bridge-Adapter hat keine besonderen Anforderungen.

Standard-Portnummern

Die folgende Liste der offenen Ports pro Komponente gilt für die Standardkonfiguration:

Zabbix-Komponente Portnummer Protokoll Verbindungstyp
Zabbix Agent 10050 TCP bei Bedarf
Zabbix Agent 2 10050 TCP bei Bedarf
Zabbix Server 10051 TCP bei Bedarf
Zabbix Proxy 10051 TCP bei Bedarf
Zabbix Java gateway 10052 TCP bei Bedarf
Zabbix-Webservice 10053 TCP bei Bedarf
Zabbix MCP-Server 8443 TCP bei Bedarf
Zabbix Frontend 80 HTTP bei Bedarf
443 HTTPS bei Bedarf
Zabbix Trapper 10051 TCP bei Bedarf
Zabbix Bridge-Adapter 10054 TCP bei Bedarf

Die Portnummern müssen in der Firewall geöffnet sein, damit die Zabbix-Kommunikation ermöglicht wird. Ausgehende TCP-Verbindungen erfordern normalerweise keine expliziten Firewall-Einstellungen.

Datenbankgröße

Zabbix-Konfigurationsdaten benötigen eine feste Menge an Speicherplatz auf der Festplatte und wachsen kaum.

Die Größe der Zabbix-Datenbank hängt hauptsächlich von diesen Variablen ab, die die Menge der gespeicherten historischen Daten bestimmen:

  • Anzahl der verarbeiteten Werte pro Sekunde

Dies ist die durchschnittliche Anzahl neuer Werte, die der Zabbix Server jede Sekunde empfängt. Wenn wir zum Beispiel 3000 Datenpunkte zur Überwachung mit einer Aktualisierungsrate von 60 Sekunden haben, wird die Anzahl der Werte pro Sekunde wie folgt berechnet: 3000/60 = 50.

Das bedeutet, dass jede Sekunde 50 neue Werte zur Zabbix-Datenbank hinzugefügt werden.

  • Housekeeper-Einstellungen für History

Zabbix speichert Werte für einen festen Zeitraum, normalerweise mehrere Wochen oder Monate. Jeder neue Wert benötigt eine bestimmte Menge an Speicherplatz für Daten und Index.

Wenn wir also 30 Tage History behalten möchten und 50 Werte pro Sekunde empfangen, beträgt die Gesamtzahl der Werte ungefähr (30*24*3600)* 50 = 129.600.000, also etwa 130M Werte.

Je nach verwendeter Datenbank-Engine und Art der empfangenen Werte (Floats, Integer, Zeichenketten, Protokolldateien usw.) kann der Speicherplatz für einen einzelnen Wert zwischen 40 Bytes und mehreren hundert Bytes variieren. Normalerweise sind es etwa 90 Bytes pro Wert für numerische Datenpunkte2. In unserem Fall bedeutet das, dass 130M Werte 130M * 90 Bytes = 10.9GB Speicherplatz benötigen.

Die Größe von Text-/Log-Datenpunktwerten lässt sich nicht exakt vorhersagen, aber Sie können mit etwa 500 Bytes pro Wert rechnen.

  • Housekeeper-Einstellung für Trends

Zabbix speichert für jeden Datenpunkt einen 1-Stunden-Satz aus Max/Min/Avg/Count-Werten in der Tabelle trends. Die Daten werden für Trendanalysen und Langzeitdiagramme verwendet. Der Zeitraum von einer Stunde kann nicht angepasst werden.

Die Zabbix-Datenbank benötigt je nach Datenbanktyp etwa 90 Bytes pro Eintrag. Nehmen wir an, wir möchten Trenddaten für 5 Jahre aufbewahren. Werte für 3000 Datenpunkte benötigen 3000*24*365* 90 = 2.2GB pro Jahr oder 11GB für 5 Jahre.

  • Housekeeper-Einstellungen für Events

Jedes Zabbix-Event benötigt ungefähr 250 Bytes Speicherplatz1. Es ist schwer, die Anzahl der von Zabbix täglich erzeugten Events zu schätzen. Im schlimmsten Fall können wir annehmen, dass Zabbix ein Event pro Sekunde erzeugt.

Für jedes wiederhergestellte Event wird ein event_recovery-Datensatz erstellt. Normalerweise werden die meisten Events wiederhergestellt, daher können wir einen event_recovery-Datensatz pro Event annehmen. Das bedeutet zusätzliche 80 Bytes pro Event.

Optional können Events Tags haben, wobei jeder Tag-Datensatz ungefähr 100 Bytes Speicherplatz benötigt1. Die Anzahl der Tags pro Event (#tags) hängt von der Konfiguration ab. Daher benötigt jeder zusätzliche #tags * 100 Bytes Speicherplatz.

Das bedeutet: Wenn wir Events für 3 Jahre aufbewahren möchten, wären dafür 3*365*24*3600* (250+80+#tags*100) = ~30GB+#tags*100B Speicherplatz erforderlich2.

1 Mehr bei nicht-ASCII-Eventnamen, Tags und Werten.
2 Die Größenangaben basieren auf MySQL und können bei anderen Datenbanken abweichen.

Die Tabelle enthält Formeln, mit denen der für das Zabbix-System erforderliche Speicherplatz berechnet werden kann:

Parameter Formel für den erforderlichen Speicherplatz (in Bytes)
Zabbix-Konfiguration Feste Größe. Normalerweise 10MB oder weniger.
History days*(items/refresh rate)*24*3600*bytes
items : Anzahl der Datenpunkte
days : Anzahl der Tage, für die History aufbewahrt werden soll
refresh rate : durchschnittliche Aktualisierungsrate der Datenpunkte
bytes : Anzahl der Bytes, die zum Speichern eines einzelnen Werts erforderlich sind, abhängig von der Datenbank-Engine, normalerweise ~90 Bytes.
Trends days*(items/3600)*24*3600*bytes
items : Anzahl der Datenpunkte
days : Anzahl der Tage, für die History aufbewahrt werden soll
bytes : Anzahl der Bytes, die zum Speichern eines einzelnen Trends erforderlich sind, abhängig von der Datenbank-Engine, normalerweise ~90 Bytes.
Events days*events*24*3600*bytes
events : Anzahl der Events pro Sekunde. Im schlimmsten Fall ein (1) Event pro Sekunde.
days : Anzahl der Tage, für die History aufbewahrt werden soll
bytes : Anzahl der Bytes, die zum Speichern eines einzelnen Events erforderlich sind, abhängig von der Datenbank-Engine, normalerweise ~330 + durchschnittliche Anzahl der Tags pro Event * 100 Bytes.

Der insgesamt erforderliche Speicherplatz kann also wie folgt berechnet werden:

Konfiguration + History + Trends + Events

Der Speicherplatz wird nach der Installation von Zabbix NICHT sofort verwendet. Die Datenbankgröße wächst zunächst und hört dann zu einem bestimmten Zeitpunkt auf zu wachsen, abhängig von den Housekeeper-Einstellungen.

Zeitsynchronisierung

Es ist sehr wichtig, auf dem Server, auf dem Zabbix läuft, eine präzise Systemzeit zu haben. ntpd ist der am weitesten verbreitete Daemon, der die Zeit des Hosts mit der Zeit anderer Rechner synchronisiert. Es wird dringend empfohlen, auf allen Systemen, auf denen Zabbix-Komponenten ausgeführt werden, eine synchronisierte Systemzeit beizubehalten.