Prérequis
Matériel
Mémoire
Zabbix nécessite à la fois de la mémoire physique et de l’espace disque. La quantité d’espace disque nécessaire dépend évidemment du nombre d’hôtes et de paramètres surveillés. Si vous prévoyez de conserver un long historique des paramètres surveillés, vous devriez envisager au moins quelques gigaoctets afin de disposer de suffisamment d’espace pour stocker l’historique dans la base de données. Chaque processus démon Zabbix nécessite plusieurs connexions à un serveur de base de données. La quantité de mémoire allouée à la connexion dépend de la configuration du moteur de base de données.
Plus vous disposez de mémoire physique, plus la base de données (et donc Zabbix) fonctionne rapidement.
CPU
Zabbix, et en particulier la base de données Zabbix, peuvent nécessiter d’importantes ressources CPU en fonction du nombre de paramètres surveillés et du moteur de base de données choisi.
Autre matériel
Un port de communication série et un modem GSM série sont nécessaires pour utiliser la prise en charge des notifications par SMS dans Zabbix. Un convertisseur USB-série fonctionnera également.
Exemples de configuration matérielle
Le tableau fournit des exemples de configuration matérielle, en supposant une plateforme Linux/BSD/Unix.
Il s'agit d'exemples de dimensionnement et de configuration matérielle pour commencer. Chaque installation Zabbix est unique. Veillez à évaluer les performances de votre système Zabbix dans un environnement de préproduction ou de développement, afin de bien comprendre vos besoins avant de déployer l'installation Zabbix dans son environnement de production.
| Taille de l'installation | Métriques surveillées1 | Cœurs CPU/vCPU | Mémoire (Gio) |
Base de données | Amazon EC22 |
|---|---|---|---|---|---|
| Petite | 1 000 | 2 | 8 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.large/m6g.large |
| Moyenne | 10 000 | 4 | 16 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.xlarge/m6g.xlarge |
| Grande | 100 000 | 16 | 64 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.4xlarge/m6g.4xlarge |
| Très grande | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.8xlarge/m6g.8xlarge |
1 À des fins de dimensionnement, 1 métrique surveillée est approximativement représentée par la formule 1 métrique = 1 élément + 1 déclencheur + 1 graphique. Il s'agit uniquement d'une règle d'estimation et non d'une formule permettant de calculer le nombre de métriques surveillées.
2 Exemple utilisant des instances EC2 Amazon à usage général, avec une architecture ARM64 ou x86_64. Un type d'instance approprié, optimisé pour le calcul, la mémoire ou le stockage, doit être sélectionné lors de l'évaluation et des tests de l'installation Zabbix avant son installation dans l'environnement de production.
La configuration réelle dépend fortement du nombre d'éléments actifs et des fréquences d'actualisation (voir la section Taille de la base de données de cette page pour plus de détails). Il est fortement recommandé d'exécuter la base de données sur un serveur distinct pour les grandes installations.
Plateformes prises en charge
En raison des exigences de sécurité et de la nature critique du serveur de supervision, UNIX est le seul système d'exploitation capable de fournir de manière constante les performances, la tolérance aux pannes et la résilience nécessaires. Zabbix fonctionne sur les versions leaders du marché.
Les composants Zabbix sont disponibles et testés pour les plateformes suivantes :
| Plateforme | Serveur | Agent | Agent 2 | Commentaires |
|---|---|---|---|---|
| Linux | x | x | x | |
| Windows | - | x | x | L'agent Zabbix est pris en charge sur toutes les versions de bureau et serveur depuis Windows XP (64 bits)/Server 2003. Zabbix agent 2 est pris en charge sur toutes les versions de bureau et serveur depuis Windows 10 (32 bits)/Server 2016, car il est compilé uniquement avec une version de Go prise en charge afin d'éviter des vulnérabilités de sécurité critiques. Depuis Go 1.21, les versions minimales requises de Windows ont été relevées, ce qui fait de Windows 10/Server 2016 la version minimale pour Zabbix agent 2. |
| macOS | x | x | - | |
| IBM AIX | x | x | - | L'agent Zabbix ne fonctionne pas sur les plateformes AIX antérieures aux versions 6.1 TL07 / 7.1 TL01. |
| FreeBSD | x | x | - | |
| OpenBSD | x | x | - | |
| Solaris | x | x | - | |
| NetBSD | x | x | - | |
| HP-UX | x | x | - |
Le serveur/l'agent Zabbix peut fonctionner sur d'autres systèmes d'exploitation de type Unix.
Zabbix désactive les core dumps s'il est compilé avec le chiffrement et ne démarre pas si le système n'autorise pas la désactivation des core dumps.
Logiciels requis
Zabbix repose sur des serveurs web modernes, des moteurs de base de données de premier plan et le langage de script PHP.
Logiciels tiers externes environnants
Lorsqu'il est indiqué comme obligatoire, le logiciel/la bibliothèque requis est strictement nécessaire.
Les éléments facultatifs sont nécessaires pour prendre en charge certaines fonctions spécifiques.
| Logiciel | Statut obligatoire | Versions prises en charge | Commentaires |
|---|---|---|---|
| MySQL/Percona | One of | 8.4.0-9.7.X | Requis si MySQL (ou Percona) est utilisé comme base de données principale de Zabbix. Le moteur InnoDB est requis. Nous recommandons d'utiliser la bibliothèque C API (libmysqlclient) pour compiler le serveur/proxy. Nous recommandons vivement d'utiliser uniquement des versions LTS dans les environnements de production. Les versions qualifiées de « rolling release », « early access » ou similaires ne sont pas recommandées. |
| MariaDB | 10.11.00-12.3.X | Le moteur InnoDB est requis. Nous recommandons d'utiliser la bibliothèque MariaDB Connector/C pour compiler le serveur/proxy. Voir également : Interblocages possibles avec MariaDB et Accès aux éléments de l'interface avec MariaDB 10.5.1-10.5.9. Nous recommandons vivement d'utiliser uniquement des versions LTS dans les environnements de production. Les versions qualifiées de « rolling release », « early access » ou similaires ne sont pas recommandées. |
|
| PostgreSQL | 15.0-18.X | Requis si PostgreSQL est utilisé comme base de données principale de Zabbix. Selon la taille de l'installation, il peut être nécessaire d'augmenter la propriété de configuration work_mem de PostgreSQL (4 Mo par défaut), afin que la quantité de mémoire utilisée par la base de données pour une opération donnée soit suffisante et que l'exécution des requêtes ne prenne pas trop de temps. |
|
| TimescaleDB pour PostgreSQL | 2.20.X-2.29.X | Requis si TimescaleDB est utilisé comme extension de base de données PostgreSQL. Veillez à installer TimescaleDB Community Edition, qui prend en charge la compression. Consultez la documentation TimescaleDB pour plus d'informations sur la compatibilité des versions de PostgreSQL et de TimescaleDB. |
|
| Elasticsearch | 7.X | Requis si Elasticsearch est utilisé comme base de données principale de Zabbix. Elasticsearch peut être utilisé uniquement pour stocker les données d'historique et est pris en charge uniquement avec les serveurs Zabbix. La prise en charge d'Elasticsearch est actuellement expérimentale. Voir également les logiciels requis pour le serveur/proxy. |
|
| ClickHouse | 25.8.22.X-26.4.X | Requis si ClickHouse est utilisé comme base de données principale de Zabbix pour stocker les données d'historique (pris en charge uniquement avec les serveurs Zabbix). Les versions prises en charge s'appliquent uniquement au stockage de l'historique ; pour utiliser ClickHouse comme source de données de télémétrie, ClickHouse 26.8.17.4 ou une version ultérieure est requis. L'heure système du serveur Zabbix et celle du serveur ClickHouse doivent être synchronisées ; sinon, les requêtes de télémétrie peuvent omettre des données ou renvoyer deux fois les mêmes données. |
|
| SQLite | Facultatif | 3.3.5-3.53.X | SQLite est pris en charge uniquement avec les proxys Zabbix. Requis si SQLite est utilisé comme base de données du proxy Zabbix. |
| smartmontools | 7.1 ou version ultérieure | Requis pour l'agent Zabbix 2. | |
| who | Requis pour le plugin de comptage des utilisateurs. | ||
| dpkg | Requis pour le plugin system.sw.packages. | ||
| pkgtool | Requis pour le plugin system.sw.packages. | ||
| rpm | Requis pour le plugin system.sw.packages. | ||
| pacman | Requis pour le plugin system.sw.packages. | ||
| q applets | qlist et qsize, qui font partie des q applets, sont requis pour le plugin system.sw.packages sur Gentoo Linux. |
Bien que Zabbix puisse fonctionner avec les bases de données disponibles dans les systèmes d'exploitation, nous recommandons, pour une expérience optimale, d'utiliser des bases de données installées depuis les dépôts officiels des développeurs de bases de données.
Interface
La largeur minimale d’écran prise en charge par l’interface Zabbix est de 1200px.
Lorsqu’il est indiqué comme obligatoire, le logiciel ou la bibliothèque requis est strictement nécessaire.
Les éléments facultatifs sont nécessaires pour prendre en charge certaines fonctions spécifiques.
| Logiciel | Statut obligatoire | Versions prises en charge | Commentaires |
|---|---|---|---|
| PHP | Oui | 8.2.0 - 8.5.X | |
| Apache | L’un des deux | 2.4 ou version ultérieure | |
| Nginx | 1.20 ou version ultérieure | ||
| MySQL | L’un des deux | Voir Logiciels tiers externes environnants | |
| PostgreSQL | |||
| Extensions PHP | |||
| mysqli | Oui | Requis si MySQL est utilisé comme base de données principale du serveur Zabbix. | |
| pgsql | Requis si PostgreSQL est utilisé comme base de données principale du serveur Zabbix. | ||
| bcmath | php-bcmath (--enable-bcmath) | ||
| mbstring | php-mbstring (--enable-mbstring) | ||
| sockets | php-net-socket (--enable-sockets) ; requis pour la prise en charge des scripts utilisateur. | ||
| gd | 2.0.28 ou version ultérieure | php-gd (s’il est fourni sous forme de paquet distinct par le distributeur) ; l’extension PHP GD doit prendre en charge les images PNG (--with-png-dir), les images JPEG (--with-jpeg-dir) et FreeType 2 (--with-freetype-dir). La version 2.3.0 ou ultérieure peut être requise pour éviter un éventuel chevauchement de texte dans les graphiques pour certaines langues de l’interface. | |
| libxml | 2.6.15 ou version ultérieure | php-xml (s’il est fourni sous forme de paquet distinct par le distributeur) | |
| xmlwriter | php-xmlwriter (s’il est fourni sous forme de paquet distinct par le distributeur) | ||
| xmlreader | php-xmlreader (s’il est fourni sous forme de paquet distinct par le distributeur) | ||
| ctype | php-ctype (--enable-ctype) | ||
| session | php-session (s’il est fourni sous forme de paquet distinct par le distributeur) | ||
| ldap | Non | php-ldap ; requis pour l’authentification LDAP. | |
| openssl | php-openssl ; requis pour l’authentification SAML. | ||
| gettext | php-gettext (--with-gettext) ; requis pour les traductions. | ||
| cURL | 7.19.4 ou version ultérieure | php-curl ; requis pour Duo Universal Prompt MFA, l’authentification SMTP et le test de la source de données de télémétrie. | |
Bibliothèques d’interface tierces fournies avec Zabbix :
| Bibliothèque | Statut obligatoire | Version fournie | Commentaires |
|---|---|---|---|
| Bibliothèque JavaScript jQuery | Oui | 3.6.0 | Bibliothèque JavaScript qui simplifie le développement compatible avec plusieurs navigateurs. |
| jQuery UI | 1.12.1 | Ensemble d’interactions, d’effets, de widgets et de thèmes d’interface utilisateur basé sur jQuery. | |
| SAML PHP Toolkit | 4.3.1 | Boîte à outils PHP qui ajoute la prise en charge de l’authentification SAML 2.0 afin de permettre la connexion à Zabbix. | |
| Duo Universal PHP library | 1.1.2 | Bibliothèque PHP qui ajoute la prise en charge de l’authentification multifacteur Duo Universal Prompt pour Zabbix. | |
| Symfony Yaml Component | 5.1.0 | Ajoute la prise en charge de l’exportation et de l’importation des éléments de configuration Zabbix au format YAML. |
Zabbix peut également fonctionner avec des versions antérieures d’Apache, de MySQL et de PostgreSQL.
Pour les polices autres que DejaVu, la fonction PHP imagerotate peut être requise. Si elle est absente, ces polices peuvent être rendues incorrectement lors de l’affichage d’un graphique. Cette fonction est disponible uniquement si PHP est compilé avec GD intégré, ce qui n’est pas le cas dans Debian et d’autres distributions.
Bibliothèques tierces utilisées pour écrire et déboguer le code de l’interface Zabbix :
| Bibliothèque | Statut obligatoire | Version minimale | Description |
|---|---|---|---|
| Composer | Non | 2.4.1 | Gestionnaire de paquets au niveau applicatif pour PHP, qui fournit un format standard pour gérer les dépendances des logiciels PHP et les bibliothèques requises. |
| PHPUnit | 8.5.29 | Framework de tests unitaires PHP destiné à tester l’interface Zabbix. | |
| SASS | 3.4.22 | Langage de script préprocesseur interprété et compilé en feuilles de style en cascade (CSS). |
Navigateur web côté client
Les cookies et JavaScript doivent être activés.
Les dernières versions stables de Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari et Opera sont prises en charge.
La politique de même origine pour les IFrames est appliquée, ce qui signifie que Zabbix ne peut pas être placé dans des cadres sur un domaine différent.
Néanmoins, les pages placées dans un cadre Zabbix auront accès à l’interface web de Zabbix (via JavaScript) si la page placée dans le cadre et l’interface web de Zabbix se trouvent sur le même domaine.
Une page telle que http://secure-zabbix.com/cms/page.html, si elle est placée dans des tableaux de bord sur http://secure-zabbix.com/zabbix/, aura un accès JS complet à Zabbix.
Serveur/proxy
Lorsqu'il est indiqué comme obligatoire, le logiciel ou la bibliothèque requis est strictement nécessaire.
Les éléments facultatifs sont nécessaires pour prendre en charge certaines fonctions spécifiques.
| Exigence | Statut obligatoire | Description |
|---|---|---|
| libpcre2 | Oui | La bibliothèque PCRE2 est requise pour la prise en charge des expressions régulières compatibles avec Perl (PCRE). PCRE2 v10.x est pris en charge. |
| libevent | Requis pour la communication interprocessus. Version 2.0.10 ou ultérieure. | |
| libevent-pthreads | Requis pour la communication interprocessus. | |
| libpthread | Requis pour la prise en charge des mutex et des verrous en lecture-écriture (peut faire partie de libc). | |
| libresolv | Requis pour la résolution DNS (peut faire partie de libc). | |
| libiconv | Requis pour la conversion de l'encodage et du format du texte (peut faire partie de libc). Obligatoire pour le serveur Zabbix sous Linux. | |
| libz | Requis pour la prise en charge de la compression. | |
| libm | Bibliothèque mathématique. Requise uniquement par le serveur Zabbix. | |
| libmysqlclient | L'un des deux | Requis si MySQL est utilisé. |
| libmariadb | Requis si MariaDB est utilisé. | |
| libpq5 | Requis si PostgreSQL est utilisé ; la version de libpq5 doit être identique ou supérieure à celle de la base de données PostgreSQL utilisée. | |
| libsqlite3 | Requis si SQLite est utilisé. Requis uniquement pour le proxy Zabbix. | |
| libOpenIPMI | Non | Requis pour la prise en charge d'IPMI. Requis uniquement pour le serveur Zabbix. |
| libssh2 ou libssh | Requis pour les vérifications SSH. Version 1.8.0 ou ultérieure (libssh2) ; 0.9.0 ou ultérieure (libssh). | |
| libcurl | Requis pour les fonctionnalités suivantes : - Les éléments de supervision Web, de supervision VMware et de type agent HTTP (pour tous : version 7.19.1 ou ultérieure) ; - Les éléments web.page.* de l'agent Zabbix (version 7.19.1 ou ultérieure ; voir également les exigences de l'agent) ; - L'authentification SMTP (Basic : version 7.20.0 ou ultérieure ; OAuth : version 7.33 ou ultérieure ; voir également les exigences de l'interface) ; - Elasticsearch (version 7.28.0 ou ultérieure) ; - Les éléments de type requête de télémétrie (version 7.28.0 ou ultérieure). La version 7.28.0 ou ultérieure est recommandée pour toutes les fonctionnalités. Pour utiliser les fonctionnalités cURL mises à niveau avec les éléments web.page.*, redémarrez le serveur/proxy Zabbix.Pour l'authentification SMTP, utilisez le paquet libcurl-full lors de l'exécution. |
|
| libxml2 | Requis pour la supervision VMware et le prétraitement XPath XML. | |
| net-snmp | Requis pour la prise en charge de SNMP. Version 5.3.0 ou ultérieure. La prise en charge des protocoles de chiffrement fort (AES192/AES192C, AES256/AES256C) est disponible à partir de la bibliothèque net-snmp 5.8 ; sur les systèmes basés sur RHEL 8 ou ultérieur, il est recommandé d'utiliser net-snmp 5.8.15 ou ultérieur. |
|
| libunixodbc | Requis pour la supervision des bases de données. | |
| libgnutls ou libopenssl | Requis lors de l'utilisation du chiffrement. Versions minimales : libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
| libldap | Requis pour la prise en charge de LDAP. | |
| fping | Requis pour les éléments ping ICMP. | |
| c-ares | Requis pour la résolution DNS asynchrone si Zabbix est configuré avec l'option --with-ares. Sinon, libevent sera utilisé.Version minimale : 1.16.0. La fonctionnalité de mise en cache des requêtes DNS et de basculement (cache des requêtes activé par défaut) nécessite c-ares 1.26.0 ou ultérieur. Sur les systèmes où c-ares est fourni par le paquet du système d'exploitation, assurez-vous que la bibliothèque d'exécution installée expose les fonctionnalités du résolveur requises pour la mise en cache DNS et le basculement. |
|
| g++ | Compilateur C++. Requis pour compiler le proxy Zabbix avec l'option --with-apm, pour la supervision des performances des applications (APM). |
|
| gRPC | Requis pour l'APM sur le proxy Zabbix, s'il est compilé avec l'option --with-apm.Bibliothèques requises : grpc++, grpc, gpr. L'utilitaire grpc_cpp_plugin est également requis pour compiler le proxy Zabbix.La version requise est disponible dans les dépôts de paquets standard des systèmes d'exploitation suivants : - Ubuntu 23.04 ou ultérieur ; - Debian 12 (Bookworm) ou ultérieur ; - Alpine Linux 3.15 ou ultérieur ; - RHEL, Rocky Linux, CentOS Stream 9 ou ultérieur (uniquement depuis le dépôt EPEL) ; - Fedora X ou ultérieur. Sur les versions plus anciennes des systèmes d'exploitation, gRPC doit être compilé à partir des sources. |
|
| protobuf | Requis pour l'APM sur le proxy Zabbix, s'il est compilé avec l'option --with-apm.Le compilateur protoc est également requis pour compiler le proxy Zabbix. |
|
| Abseil | Requis pour l'APM sur le proxy Zabbix, s'il est compilé avec l'option --with-apm.Bibliothèques requises : absl_synchronization, absl_base. Généralement installé avec gRPC. |
Agent
| Requirement | Mandatory status | Description |
|---|---|---|
| libpcre2 | Yes | La bibliothèque PCRE2 est requise pour la prise en charge des expressions régulières compatibles Perl (PCRE). La version PCRE2 v10.x est prise en charge. Requise pour la surveillance des journaux. Également requise sous Windows. |
| libpthread | Requise pour la prise en charge des mutex et des verrous en lecture/écriture (peut faire partie de libc). Non requise sous Windows. | |
| libresolv | Requise pour la résolution DNS (peut faire partie de libc). Non requise sous Windows. | |
| libiconv | Requise pour la conversion de l'encodage/du format du texte en UTF-8 dans les éléments de journal, le contenu de fichier, les expressions régulières de fichier et les éléments regmatch (peut faire partie de libc). Non requise sous Windows. | |
| libgnutls or libopenssl | No | Requise si le chiffrement est utilisé. Versions minimales: libgnutls - 3.1.18, libopenssl - 1.0.1 Sous Microsoft Windows, OpenSSL 1.1.1 ou version ultérieure est requis. |
| libldap | Requise si LDAP est utilisé. Non prise en charge sous Windows. | |
| libcurl | Requise pour la prise en charge étendue des éléments Zabbix agent web.page.*. Sans libcurl, les fonctionnalités de base sont disponibles (par exemple, web.page.get[http://example.com]). Avec libcurl, l'agent prend en charge des fonctionnalités supplémentaires, telles que les URL HTTP avec identifiants (par exemple, http://user:[email protected]) et les URL HTTPS. La version 7.19.1 ou supérieure est requise (7.28.0 ou supérieure est recommandée). Pour utiliser les fonctionnalités cURL mises à niveau, redémarrez l'agent Zabbix. |
|
| libmodbus | Requise uniquement si la surveillance Modbus est utilisée. Version 3.0 ou supérieure. |
Agent 2
| Requirement | Mandatory status | Description |
|---|---|---|
| Go | Yes | Requis pour compiler Zabbix agent 2 et ses plugins à partir des sources. Go 1.25 ou version ultérieure est pris en charge. Voir go.dev pour les instructions d'installation. Les bibliothèques Go utilisées par Zabbix agent 2 et ses plugins sont सूचीées dans le dépôt Git de Zabbix (les bibliothèques marquées comme indirect dans le dépôt sont des dépendances d'autres bibliothèques requises) :- Zabbix agent 2 - Plugin support - PostgreSQL - MongoDB - MSSQL - Ember+ - NVIDIA GPU - Example plugin |
| libpcre2 | Yes | La bibliothèque PCRE2 est requise pour la prise en charge des expressions régulières compatibles Perl (PCRE). PCRE2 v10.x est pris en charge. Requis pour la surveillance des journaux. Également requis sous Windows. |
| libopenssl | No | Requis lors de l'utilisation du chiffrement. OpenSSL 1.0.1 ou version ultérieure est requis sur les plateformes UNIX. La bibliothèque OpenSSL doit avoir la prise en charge PSK activée. LibreSSL n'est pas pris en charge. Sur les systèmes Microsoft Windows, OpenSSL 1.1.1 ou version ultérieure est requis. |
Service web
La dernière version stable de Google Chrome est prise en charge pour générer des rapports planifiés à l’aide du service web Zabbix.
La version de Go requise pour compiler le service web correspond à celle utilisée pour Zabbix agent 2.
Java gateway
Si vous avez obtenu Zabbix depuis le dépôt source ou une archive, les dépendances nécessaires sont déjà incluses dans l’arborescence des sources.
Si vous avez obtenu Zabbix depuis le paquet de votre distribution, les dépendances nécessaires sont déjà fournies par le système de gestion des paquets.
Dans les deux cas ci-dessus, le logiciel est prêt à être utilisé et aucun téléchargement supplémentaire n’est nécessaire.
Si, toutefois, vous souhaitez fournir vos propres versions de ces dépendances (par exemple, si vous préparez un paquet pour une distribution Linux), vous trouverez ci-dessous la liste des versions de bibliothèques avec lesquelles Java gateway est connu pour fonctionner. Zabbix peut également fonctionner avec d’autres versions de ces bibliothèques.
Le tableau suivant répertorie les fichiers JAR actuellement inclus avec Java gateway dans le code d’origine :
| Bibliothèque | Statut obligatoire | Version incluse | Commentaires |
|---|---|---|---|
| android-json | Oui | 4.3r1 | JSON (JavaScript Object Notation) est un format léger d’échange de données. Il s’agit de l’implémentation Android compatible avec org.json, extraite du SDK Android. |
| logback-classic | 1.5.25 | ||
| logback-core | 1.5.25 | ||
| slf4j-api | 2.0.16 |
Java gateway peut être compilé avec Oracle Java ou avec OpenJDK open source (version 1.6 ou ultérieure). Les paquets fournis par Zabbix sont compilés avec OpenJDK. Le tableau suivant répertorie les paquets OpenJDK utilisés pour compiler les paquets Zabbix par distribution :
| Distribution | Paquet OpenJDK |
|---|---|
| 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, arm64: 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: 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) |
Adaptateur bridge
L’adaptateur bridge de Zabbix n’a aucune exigence particulière.
Numéros de port par défaut
La liste suivante des ports ouverts par composant s'applique à la configuration par défaut :
| Composant Zabbix | Numéro de port | Protocole | Type de connexion |
|---|---|---|---|
| agent Zabbix | 10050 | TCP | à la demande |
| agent Zabbix 2 | 10050 | TCP | à la demande |
| serveur Zabbix | 10051 | TCP | à la demande |
| proxy Zabbix | 10051 | TCP | à la demande |
| Java gateway Zabbix | 10052 | TCP | à la demande |
| service web Zabbix | 10053 | TCP | à la demande |
| serveur MCP Zabbix | 8443 | TCP | à la demande |
| interface Zabbix | 80 | HTTP | à la demande |
| 443 | HTTPS | à la demande | |
| trapper Zabbix | 10051 | TCP | à la demande |
| adaptateur bridge Zabbix | 10005 | TCP | à la demande |
Les numéros de port doivent être ouverts dans le pare-feu pour permettre les communications Zabbix. Les connexions TCP sortantes ne nécessitent généralement pas de configuration explicite du pare-feu.
Taille de la base de données
Les données de configuration de Zabbix nécessitent une quantité fixe d'espace disque et n'augmentent que très peu.
La taille de la base de données Zabbix dépend principalement de ces variables, qui définissent la quantité de données historiques stockées :
- Nombre de valeurs traitées par seconde
Il s'agit du nombre moyen de nouvelles valeurs que le serveur Zabbix reçoit chaque seconde. Par exemple, si nous avons 3000 éléments à surveiller avec un intervalle de rafraîchissement de 60 secondes, le nombre de valeurs par seconde est calculé comme suit : 3000/60 = 50.
Cela signifie que 50 nouvelles valeurs sont ajoutées à la base de données Zabbix chaque seconde.
- Paramètres du housekeeper pour l'historique
Zabbix conserve les valeurs pendant une période fixe, généralement plusieurs semaines ou plusieurs mois. Chaque nouvelle valeur nécessite une certaine quantité d'espace disque pour les données et l'index.
Ainsi, si nous souhaitons conserver 30 jours d'historique et que nous recevons 50 valeurs par seconde, le nombre total de valeurs sera d'environ (30*24*3600)* 50 = 129.600.000, soit environ 130M de valeurs.
Selon le moteur de base de données utilisé, le type de valeurs reçues (floats, entiers, chaînes, fichiers journaux, etc.), l'espace disque nécessaire pour conserver une seule valeur peut varier de 40 octets à plusieurs centaines d'octets. En général, il est d'environ 90 octets par valeur pour les éléments numériques2. Dans notre cas, cela signifie que 130M de valeurs nécessiteront 130M * 90 octets = 10.9GB d'espace disque.
La taille des valeurs des éléments texte/journal est impossible à prévoir exactement, mais vous pouvez compter environ 500 octets par valeur.
- Paramètre du housekeeper pour les tendances
Zabbix conserve un ensemble de valeurs max/min/moyenne/compte sur 1 heure pour chaque élément dans la table trends. Ces données sont utilisées pour les tendances et les graphiques sur de longues périodes. La période d'une heure ne peut pas être personnalisée.
La base de données Zabbix, selon le type de base de données, nécessite environ 90 octets par total. Supposons que nous souhaitions conserver les données de tendances pendant 5 ans. Les valeurs pour 3000 éléments nécessiteront 3000*24*365* 90 = 2.2GB par an, soit 11GB pour 5 ans.
- Paramètres du housekeeper pour les événements
Chaque événement Zabbix nécessite environ 250 octets d'espace disque1. Il est difficile d'estimer le nombre d'événements générés quotidiennement par Zabbix. Dans le pire des cas, nous pouvons supposer que Zabbix génère un événement par seconde.
Pour chaque événement récupéré, un enregistrement event_recovery est créé. En général, la plupart des événements seront récupérés, nous pouvons donc supposer un enregistrement event_recovery par événement. Cela représente 80 octets supplémentaires par événement.
En option, les événements peuvent avoir des tags, chaque enregistrement de tag nécessitant environ 100 octets d'espace disque1. Le nombre de tags par événement (#tags) dépend de la configuration. Ainsi, chacun nécessitera #tags * 100 octets d'espace disque supplémentaires.
Cela signifie que si nous voulons conserver 3 ans d'événements, cela nécessitera 3*365*24*3600* (250+80+#tags*100) = ~30GB+#tags*100B d'espace disque2.
1 Davantage en présence de noms d'événements, de tags et de valeurs non ASCII.
2 Les estimations de taille sont basées sur MySQL et peuvent être différentes pour d'autres bases de données.
Le tableau contient des formules qui peuvent être utilisées pour calculer l'espace disque requis pour le système Zabbix :
| Parameter | Formula for required disk space (in bytes) |
|---|---|
| Zabbix configuration | Fixed size. Normally 10MB or less. |
| History | days*(items/refresh rate)*24*3600*bytes items : number of items days : number of days to keep history refresh rate : average refresh rate of items bytes : number of bytes required to keep single value, depends on database engine, normally ~90 bytes. |
| Trends | days*(items/3600)*24*3600*bytes items : number of items days : number of days to keep history bytes : number of bytes required to keep single trend, depends on the database engine, normally ~90 bytes. |
| Events | days*events*24*3600*bytes events : number of event per second. One (1) event per second in worst-case scenario. days : number of days to keep history bytes : number of bytes required to keep single event, depends on the database engine, normally ~330 + average number of tags per event * 100 bytes. |
Ainsi, l'espace disque total requis peut être calculé comme suit :
Configuration + History + Trends + Events
L'espace disque ne sera PAS utilisé immédiatement après l'installation de Zabbix. La taille de la base de données augmentera, puis cessera d'augmenter à un certain moment, ce qui dépend des paramètres du housekeeper.
Synchronisation de l'heure
Il est très important d'avoir une heure système précise sur le serveur exécutant Zabbix. ntpd est le démon le plus populaire pour synchroniser l'heure de l'hôte avec celle d'autres machines. Il est fortement recommandé de maintenir une heure système synchronisée sur tous les systèmes sur lesquels les composants Zabbix sont exécutés.
Exigences réseau
La liste suivante des ports ouverts par composant s’applique à la configuration par défaut.
| Composants | Port |
|---|---|
| Frontend | http sur 80, https sur 443 |
| Serveur | 10051 (à utiliser avec le proxy/les agents actifs) |
| Proxy actif | 10051 |
| Proxy passif | 10051 |
| Agent2 | 10050 |
| Trapper | |
| Java gateway | 10052 |
| Service Web | 10053 |
Les numéros de port doivent être ouverts dans le pare-feu afin de permettre les communications externes avec Zabbix. Les connexions TCP sortantes ne nécessitent généralement pas de paramètres explicites dans le pare-feu.