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 Hardwarekonfigurationen
Die Tabelle enthält Beispiele für Hardwarekonfigurationen unter der Annahme einer Linux/BSD/Unix-Plattform.
Dies sind Beispiele für Größen- und Hardwarekonfigurationen 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 ihrer Produktionsumgebung bereitstellen.
| Installationsgröße | Ü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 1 Metrik = 1 Datenpunkt + 1 Auslöser + 1 Diagramm
2 Beispiel mit allgemeinen Amazon-EC2-Instanzen. Bei Verwendung der ARM64- oder x86_64-Architektur sollte während der Evaluierung und des Testens der Zabbix-Installation vor der Installation in der Produktionsumgebung ein geeigneter Instanztyp wie Compute-/Memory-/Storage-optimiert ausgewählt werden.
Die tatsächliche Konfiguration hängt sehr stark von der Anzahl aktiver Datenpunkte und Aktualisierungsintervallen ab (siehe Abschnitt Datenbankgröße auf dieser Seite für Details). Für große Installationen wird dringend empfohlen, die Datenbank 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 umgebende Software von Drittanbietern
Falls als obligatorisch angegeben, ist die erforderliche Software/Bibliothek zwingend notwendig. Optionale Komponenten werden zur Unterstützung bestimmter spezifischer Funktionen benötigt.
| Software | Pflichtstatus | Unterstützte Versionen | Kommentare |
|---|---|---|---|
| MySQL/Percona | Eine von | 8.4.0-9.5.X | Erforderlich, wenn MySQL (oder Percona) als Zabbix-Backend-Datenbank verwendet wird. Die InnoDB-Engine ist erforderlich. Wir empfehlen die Verwendung der Bibliothek C API (libmysqlclient) zum Erstellen von Server/Proxy. |
| MariaDB | 10.11.00-12.0.X | Die InnoDB-Engine ist erforderlich. Die empfohlene Version ist 11.4. Wir empfehlen die Verwendung der Bibliothek MariaDB Connector/C zum Erstellen von Server/Proxy. Siehe auch: Mögliche Deadlocks mit MariaDB und Zugriff auf UI-Elemente mit MariaDB 10.5.1–10.5.9. |
|
| PostgreSQL | 15.0-18.X | Erforderlich, wenn PostgreSQL als Zabbix-Backend-Datenbank verwendet wird. Abhängig von der Größe der Installation kann es erforderlich sein, die PostgreSQL-Konfigurationseigenschaft work_mem zu erhöhen (4 MB ist der Standardwert), damit die von der Datenbank für bestimmte Operationen verwendete Speichermenge ausreichend ist und die Ausführung von Abfragen nicht zu viel Zeit in Anspruch nimmt. |
|
| TimescaleDB for PostgreSQL | 2.20.X-2.25.X | Erforderlich, wenn TimescaleDB als PostgreSQL-Datenbankerweiterung verwendet wird. Stellen Sie sicher, dass Sie die TimescaleDB Community Edition installieren, die Komprimierung unterstützt. Beachten Sie, dass PostgreSQL 15 seit TimescaleDB 2.10 unterstützt wird. Weitere Informationen zur Versionskompatibilität von PostgreSQL und TimescaleDB finden Sie auch in der TimescaleDB-Dokumentation. |
|
| SQLite | Optional | 3.3.5-3.34.X | SQLite wird nur mit Zabbix-Proxys unterstützt. Erforderlich, wenn SQLite als Zabbix-Proxy-Datenbank verwendet wird. |
| Elasticsearch | 7.X | Elasticsearch wird nur mit Zabbix-Servern unterstützt und ausschließlich zum Speichern von Verlaufsdaten verwendet. Die Unterstützung von Elasticsearch ist derzeit experimentell. Siehe auch die erforderliche Software für Server/Proxy. | |
| smartmontools | 7.1 oder höher | Erforderlich für Zabbix Agent 2. | |
| who | Erforderlich für das Plugin zur Benutzeranzahl. | ||
| 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 von 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 die bestmögliche Nutzung Datenbanken, die aus den offiziellen Repositories der Datenbankentwickler installiert wurden.
Frontend
Die minimal unterstützte Bildschirmbreite für das Zabbix Frontend beträgt 1200px.
Wenn etwas als obligatorisch angegeben ist, ist die erforderliche Software/Bibliothek zwingend notwendig. Optionale Komponenten werden zur Unterstützung bestimmter Funktionen benötigt.
| Software | Pflichtstatus | Unterstützte Versionen | Kommentare |
|---|---|---|---|
| PHP | Ja | 8.2.0 - 8.4.X | |
| Apache | Eine von | 2.4 oder höher | |
| Nginx | 1.20 oder höher | ||
| MySQL | Eine von | Siehe Third-party external surrounding software | |
| 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 mögliche Textüberlappungen in Diagrammen bei einigen 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 LDAP-Authentifizierung. | |
| openssl | php-openssl; erforderlich für 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 und SMTP-Authentifizierung. | |
Frontend-Bibliotheken von Drittanbietern, die mit Zabbix ausgeliefert werden:
| Bibliothek | Pflichtstatus | Mitgelieferte 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ächen-Interaktionen, Effekten, Widgets und Themes, die auf jQuery aufbaut. | |
| SAML PHP Toolkit | 4.3.1 | Ein PHP-Toolkit, das Unterstützung für SAML-2.0-Authentifizierung hinzufügt, damit eine Anmeldung bei Zabbix möglich ist. | |
| Symfony Yaml Component | 5.1.0 | Fügt Unterstützung für den Export und Import von Zabbix-Konfigurationselementen im YAML-Format hinzu. |
Zabbix kann möglicherweise auch mit früheren Versionen von Apache, MySQL und PostgreSQL funktionieren.
Für andere Schriftarten als die standardmäßige DejaVu-Schriftart kann die PHP-Funktion imagerotate erforderlich sein. Falls sie fehlt, werden diese Schriftarten bei der Anzeige eines Diagramms möglicherweise nicht korrekt dargestellt. Diese Funktion ist nur verfügbar, wenn PHP mit gebündeltem GD kompiliert wurde, was bei Debian und anderen Distributionen nicht der Fall ist.
Bibliotheken von Drittanbietern, die zum Schreiben und Debuggen von Zabbix-Frontend-Code verwendet werden:
| Bibliothek | Pflichtstatus | 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-Framework für Unit-Tests zum Testen des Zabbix Frontend. | |
| SASS | 3.4.22 | Eine Präprozessor-Skriptsprache, die in Cascading Style Sheets (CSS) interpretiert und 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
Falls als obligatorisch angegeben, ist die erforderliche Software/Bibliothek zwingend notwendig. Optionale Komponenten werden zur Unterstützung bestimmter spezifischer Funktionen benötigt.
| Anforderung | Pflichtstatus | Beschreibung |
|---|---|---|
| libpcre2 | Ja | Die PCRE2-Bibliothek ist für die Unterstützung von Perl Compatible Regular Expression (PCRE) erforderlich. PCRE2 v10.x wird unterstützt. |
| libevent | Erforderlich für die Interprozesskommunikation. Version 2.0.10 oder höher. | |
| libevent-pthreads | Erforderlich für die Interprozesskommunikation. | |
| libpthread | Erforderlich für die Unterstützung von Mutexen und Lese-/Schreibsperren (kann Teil von libc sein). | |
| libresolv | Erforderlich für die DNS-Auflösung (kann Teil von libc sein). | |
| libiconv | Erforderlich für die Textkodierung/-formatkonvertierung (kann Teil von libc sein). Für Zabbix Server unter Linux obligatorisch. | |
| libz | Erforderlich für die Unterstützung von Komprimierung. | |
| libm | Mathematikbibliothek. Nur für Zabbix Server erforderlich. | |
| libmysqlclient | Eines von | Erforderlich, wenn MySQL verwendet wird. |
| libmariadb | Erforderlich, wenn MariaDB verwendet wird. | |
| libpq5 | Erforderlich, wenn PostgreSQL verwendet wird; die Version von libpq5 muss der verwendeten PostgreSQL-Datenbankversion entsprechen oder höher sein. | |
| libsqlite3 | Erforderlich, wenn SQLite verwendet wird. Nur für Zabbix Proxy erforderlich. | |
| libOpenIPMI | Nein | Erforderlich für die IPMI-Unterstützung. Nur für Zabbix Server erforderlich. |
| libssh2 oder libssh | Erforderlich für SSH-Prüfungen. Version 1.8.0 oder höher (libssh2); 0.9.0 oder höher (libssh). | |
| libcurl | Erforderlich für die folgenden Funktionen: - 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-Datenpunkte vom Typ web.page.* (Version 7.19.1 oder höher; siehe auch die Anforderungen für Agent); - SMTP-Authentifizierung (Basic: Version 7.20.0 oder höher; OAuth: Version 7.33 oder höher; siehe auch die Anforderungen für Frontend); - Elasticsearch (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 Zabbix Server/Proxy neu.Für die SMTP-Authentifizierung verwenden Sie zur Laufzeit das Paket libcurl-full. |
|
| libxml2 | Erforderlich für VMware-Überwachung und XML-XPath-Preprocessing. | |
| net-snmp | Erforderlich für die SNMP-Unterstützung. Version 5.3.0 oder höher. Die Unterstützung starker Verschlüsselungsprotokolle (AES192/AES192C, AES256/AES256C) ist ab net-snmp-Bibliothek 5.8 verfügbar; auf Systemen auf Basis von RHEL 8+ wird empfohlen, net-snmp 5.8.15 oder neuer zu verwenden. |
|
| libunixodbc | Erforderlich für die Datenbanküberwachung. | |
| libgnutls oder libopenssl | Erforderlich bei Verwendung von Verschlüsselung. Mindestversionen: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
| libldap | Erforderlich für die LDAP-Unterstützung. | |
| fping | Erforderlich für ICMP-Ping-Datenpunkte. | |
| c-ares | Erforderlich für die asynchrone DNS-Auflösung, wenn Zabbix mit der Option --with-ares konfiguriert ist. Andernfalls wird libevent verwendet.Mindestversion: 1.16.0. DNS-Abfrage-Caching (Abfrage-Cache standardmäßig aktiviert) erfordert c-ares 1.26.0 oder neuer. |
Agent
| Anforderung | Verbindlich | 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. Erforderlich für die Log-Überwachung. Auch unter Windows erforderlich. |
| libpthread | Erforderlich für die Unterstützung von Mutexen und Lese-/Schreibsperren (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/-konvertierung nach UTF-8 in Log-Datenpunkten, Dateiinhalten sowie Datenpunkten vom Typ file regex und regmatch (kann Teil von libc sein). Unter Windows nicht erforderlich. | |
| libgnutls or libopenssl | Nein | 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 eine grundlegende Funktionalität verfügbar (z. B. web.page.get[http://example.com]). Mit libcurl unterstützt der Agent zusätzliche Funktionen, wie HTTP-URLs mit Zugangsdaten (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
| Anforderung | Pflichtstatus | Beschreibung |
|---|---|---|
| Go | Ja | Erforderlich, um Zabbix Agent 2 und seine Plugins aus dem Quellcode zu erstellen. Go 1.24.10 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 mit indirect markierte Bibliotheken sind Abhängigkeiten anderer erforderlicher Bibliotheken):- Zabbix agent 2 - Plugin support - PostgreSQL - MongoDB - MSSQL - Ember+ - NVIDIA GPU - Example plugin |
| libpcre2 | Ja | 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 Log-Überwachung. Auch unter Windows erforderlich. |
| libopenssl | Nein | 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 erstellt worden 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 aus 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 durch das 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 die Liste der Bibliotheksversionen, mit denen Java gateway nachweislich funktioniert. Zabbix kann möglicherweise auch mit anderen Versionen dieser Bibliotheken funktionieren.
Die folgende Tabelle listet JAR-Dateien auf, die derzeit im Originalcode mit Java gateway gebündelt sind:
| Library | Mandatory status | Bundled version | Comments |
|---|---|---|---|
| android-json | Ja | 4.3r1 | JSON (JavaScript Object Notation) ist ein leichtgewichtiges Format für den Datenaustausch. Dies ist die mit org.json kompatible Android-Implementierung, die aus dem Android SDK extrahiert wurde. |
| logback-classic | 1.5.16 | ||
| logback-core | 1.5.16 | ||
| slf4j-api | 2.0.16 |
Java gateway kann entweder mit Oracle Java oder mit dem Open-Source-OpenJDK (Version 1.6 oder neuer) erstellt werden. Die von Zabbix bereitgestellten Pakete werden mit OpenJDK kompiliert. Die folgende Tabelle listet die OpenJDK-Pakete auf, die je Distribution zum Erstellen von Zabbix-Paketen verwendet werden:
| Distribution | OpenJDK package |
|---|---|
| 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 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 12 | default-jdk-headless (amd64, arm64: 2:1.17-74) |
| Debian 11 | default-jdk-headless (amd64: 2:1.11-72) |
| 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 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 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 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 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 15 | java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1) |
| 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) |
Standard-Portnummern
Die folgende Liste offener 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 Web-Service | 10053 | TCP | bei Bedarf |
| Zabbix Frontend | 80 | HTTP | bei Bedarf |
| 443 | HTTPS | bei Bedarf | |
| Zabbix Trapper | 10051 | TCP | bei Bedarf |
Die Portnummern sollten in der Firewall geöffnet sein, um die Zabbix-Kommunikation zu ermöglichen. Ausgehende TCP-Verbindungen erfordern in der Regel keine expliziten Firewall-Einstellungen.
Datenbankgröße
Zabbix-Konfigurationsdaten benötigen eine feste Menge an Speicherplatz und wachsen nicht wesentlich.
Die Größe der Zabbix-Datenbank hängt hauptsächlich von diesen Variablen ab, die die Menge der gespeicherten Verlaufsdaten 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 einem Aktualisierungsintervall 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 den Verlauf
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 Verlauf aufbewahren 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 130 Mio. Werte.
Abhängig von der verwendeten Datenbank-Engine und vom Typ der empfangenen Werte (Gleitkommazahlen, Ganzzahlen, Zeichenfolgen, Protokolldateien usw.) kann der Speicherplatz für einen einzelnen Wert zwischen 40 Byte und mehreren hundert Byte variieren. Normalerweise sind es bei numerischen Datenpunkten etwa 90 Byte pro Wert2. In unserem Fall bedeutet das, dass 130 Mio. Werte 130 Mio. * 90 Byte = 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 Byte pro Wert rechnen.
- Housekeeper-Einstellung für Trends
Zabbix speichert für jeden Datenpunkt einen 1-Stunden-Satz aus Maximal-/Minimal-/Durchschnitts-/Anzahlwerten in der Tabelle trends. Diese Daten werden für Trends und Diagramme über lange Zeiträume verwendet. Der Zeitraum von einer Stunde kann nicht angepasst werden.
Die Zabbix-Datenbank benötigt, abhängig vom Datenbanktyp, etwa 90 Byte pro Gesamtsatz. Angenommen, wir möchten Trenddaten 5 Jahre lang 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 Ereignisse
Jedes Zabbix-Ereignis benötigt ungefähr 250 Byte Speicherplatz1. Es ist schwer abzuschätzen, wie viele Ereignisse Zabbix täglich erzeugt. Im ungünstigsten Fall können wir annehmen, dass Zabbix ein Ereignis pro Sekunde erzeugt.
Für jedes wiederhergestellte Ereignis wird ein event_recovery-Datensatz erstellt. Normalerweise werden die meisten Ereignisse wiederhergestellt, daher können wir von einem event_recovery-Datensatz pro Ereignis ausgehen. Das bedeutet zusätzliche 80 Byte pro Ereignis.
Optional können Ereignisse Tags haben, wobei jeder Tag-Datensatz ungefähr 100 Byte Speicherplatz benötigt1. Die Anzahl der Tags pro Ereignis (#tags) hängt von der Konfiguration ab. Daher benötigt jedes Ereignis zusätzlich #tags * 100 Byte Speicherplatz.
Das bedeutet, dass bei einer Aufbewahrung von Ereignissen über 3 Jahre 3*365*24*3600* (250+80+#tags*100) = \~30GB+#tags*100B Speicherplatz erforderlich wären2.
1 Mehr bei nicht-ASCII-Ereignisnamen, Tags und Werten.
2 Die Größenabschätzungen 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 erforderlichen Speicherplatz (in Byte) |
|---|---|
| Zabbix-Konfiguration | Feste Größe. Normalerweise 10MB oder weniger. |
| Verlauf | days*(items/refresh rate)*24*3600*bytes items : Anzahl der Datenpunkte days : Anzahl der Tage, für die der Verlauf aufbewahrt wird refresh rate : durchschnittliches Aktualisierungsintervall der Datenpunkte bytes : Anzahl der Byte, die zum Speichern eines einzelnen Werts erforderlich sind; hängt von der Datenbank-Engine ab, normalerweise \~90 Byte. |
| Trends | days*(items/3600)*24*3600*bytes items : Anzahl der Datenpunkte days : Anzahl der Tage, für die der Verlauf aufbewahrt wird bytes : Anzahl der Byte, die zum Speichern eines einzelnen Trends erforderlich sind; hängt von der Datenbank-Engine ab, normalerweise \~90 Byte. |
| Ereignisse | days*events*24*3600*bytes events : Anzahl der Ereignisse pro Sekunde. Ein (1) Ereignis pro Sekunde im ungünstigsten Fall. days : Anzahl der Tage, für die der Verlauf aufbewahrt wird bytes : Anzahl der Byte, die zum Speichern eines einzelnen Ereignisses erforderlich sind; hängt von der Datenbank-Engine ab, normalerweise \~330 + durchschnittliche Anzahl der Tags pro Ereignis * 100 Byte. |
Der insgesamt erforderliche Speicherplatz kann also wie folgt berechnet werden:
Konfiguration + Verlauf + Trends + Ereignisse
Der Speicherplatz wird NICHT sofort nach der Zabbix-Installation belegt. Die Datenbankgröße wächst zunächst und hört dann ab einem bestimmten Punkt 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.
Netzwerkanforderungen
Die folgende Liste offener Ports pro Komponente gilt für die Standardkonfiguration.
| Komponenten | Port |
|---|---|
| Frontend | http auf 80, https auf 443 |
| Server | 10051 (zur Verwendung mit aktivem Proxy/Agenten) |
| Aktiver Proxy | 10051 |
| Passiver Proxy | 10051 |
| Agent2 | 10050 |
| Trapper | |
| JavaGateway | 10052 |
| WebService | 10053 |
Die Portnummern sollten in der Firewall geöffnet werden, um die externe Kommunikation mit Zabbix zu ermöglichen. Ausgehende TCP-Verbindungen erfordern in der Regel keine expliziten Firewall-Einstellungen.