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 démarrer. 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
(GiB)
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 1 métrique = 1 élément + 1 déclencheur + 1 graphique
2 Exemple avec des instances Amazon EC2 à usage général, utilisant une architecture ARM64 ou x86_64 ; un type d'instance approprié, comme Compute/Memory/Storage optimised, doit être sélectionné lors de l'évaluation et des tests de l'installation Zabbix avant son déploiement dans l'environnement de production.

La configuration réelle dépend fortement du nombre d'éléments actifs et des intervalles d'actualisation (voir la section database size 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 externes tiers environnants

S'il est indiqué comme obligatoire, le logiciel/la bibliothèque requis(e) est strictement nécessaire. Les éléments optionnels sont nécessaires pour prendre en charge certaines fonctions spécifiques.

Logiciel Statut obligatoire Versions prises en charge Commentaires
MySQL/Percona L'un de 8.4.0-9.5.X Requis si MySQL (ou Percona) est utilisé comme base de données backend de Zabbix. Le moteur InnoDB est requis.

Nous recommandons d'utiliser la bibliothèque C API (libmysqlclient) pour compiler le serveur/le proxy.
MariaDB 10.11.00-12.0.X Le moteur InnoDB est requis.

La version recommandée est 11.4.

Nous recommandons d'utiliser la bibliothèque MariaDB Connector/C pour compiler le serveur/le proxy.

Voir aussi : Interblocages possibles avec MariaDB et Accès aux éléments de l'interface avec MariaDB 10.5.1–10.5.9.
PostgreSQL 15.0-18.X Requis si PostgreSQL est utilisé comme base de données backend de Zabbix.
Selon la taille de l'installation, il peut être nécessaire d'augmenter la propriété de configuration PostgreSQL work_mem (4MB étant la valeur par défaut), afin que la quantité de mémoire utilisée par la base de données pour une opération particulière soit suffisante et que l'exécution des requêtes ne prenne pas trop de temps.
TimescaleDB pour PostgreSQL 2.20.X-2.25.X Requis si TimescaleDB est utilisé comme extension de base de données PostgreSQL. Assurez-vous d'installer TimescaleDB Community Edition, qui prend en charge la compression.

Notez que PostgreSQL 15 est pris en charge à partir de TimescaleDB 2.10.
Vous pouvez également consulter la documentation TimescaleDB pour plus de détails concernant la compatibilité des versions de PostgreSQL et de TimescaleDB.
SQLite Optionnel 3.3.5-3.34.X SQLite est uniquement pris en charge avec les proxys Zabbix. Requis si SQLite est utilisé comme base de données de proxy Zabbix.
Elasticsearch 7.X Elasticsearch est uniquement pris en charge avec les serveurs Zabbix, exclusivement pour le stockage des données d'historique. La prise en charge d'Elasticsearch est actuellement expérimentale. Voir aussi les logiciels requis pour server/proxy.
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, faisant partie de 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, pour une expérience optimale, nous recommandons d'utiliser des bases de données installées à partir des dépôts officiels des développeurs de bases de données.

Interface web

La largeur minimale d’écran prise en charge pour l’interface web Zabbix est de 1200px.

Si un composant est indiqué comme obligatoire, le logiciel/la bibliothèque requis(e) est strictement nécessaire. Les composants optionnels 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.4.X
Apache L’un de 2.4 ou ultérieure
Nginx 1.20 ou ultérieure
MySQL L’un de Voir Logiciels externes tiers de l’environnement
PostgreSQL
Extensions PHP
mysqli Oui Requis si MySQL est utilisé comme base de données backend de Zabbix.
pgsql Requis si PostgreSQL est utilisé comme base de données backend de 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 ultérieure php-gd (si fourni en tant que paquet séparé 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 possible chevauchement du texte dans les graphiques pour certaines langues de l’interface web.
libxml 2.6.15 ou ultérieure php-xml (si fourni en tant que paquet séparé par le distributeur)
xmlwriter php-xmlwriter (si fourni en tant que paquet séparé par le distributeur)
xmlreader php-xmlreader (si fourni en tant que paquet séparé par le distributeur)
ctype php-ctype (--enable-ctype)
session php-session (si fourni en tant que paquet séparé 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 ultérieure php-curl ; requis pour l’AMF Duo Universal Prompt et l’authentification SMTP.

Bibliothèques frontend tierces fournies avec Zabbix :

Bibliothèque Statut obligatoire Version minimale Commentaires
jQuery JavaScript Library Oui 3.6.0 Bibliothèque JavaScript qui simplifie le processus de développement multiplateforme entre navigateurs.
jQuery UI 1.12.1 Ensemble d’interactions d’interface utilisateur, d’effets, de widgets et de thèmes construit au-dessus de jQuery.
SAML PHP Toolkit 4.0.0 Boîte à outils PHP qui ajoute la prise en charge de l’authentification SAML 2.0 afin de permettre la connexion à 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, MySQL et PostgreSQL.

Pour des polices autres que la police DejaVu par défaut, la fonction PHP imagerotate peut être requise. Si elle est absente, ces polices peuvent être affichées incorrectement lors de l’affichage d’un graphique. Cette fonction n’est disponible que 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 l’écriture et le débogage du code de l’interface web 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 des bibliothèques requises.
PHPUnit 8.5.29 Framework de tests unitaires PHP pour tester l’interface web Zabbix.
SASS 3.4.22 Langage de script de préprocesseur interprété et compilé en feuilles de style en cascade (CSS).

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

Si un élément est indiqué comme obligatoire, le logiciel/la bibliothèque requis est strictement nécessaire. Les éléments optionnels 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 Perl (PCRE).
PCRE2 v10.x est pris en charge.
libevent Requis pour la communication inter-processus. Version 2.0.10 ou supérieure.
libevent-pthreads Requis pour la communication inter-processus.
libpthread Requis pour la prise en charge des mutex et des verrous lecture-écriture (peut faire partie de libc).
libresolv Requis pour la résolution DNS (peut faire partie de libc).
libiconv Requis pour l’encodage/la conversion 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 de Requis si MySQL est utilisé.
libmariadb Requis si MariaDB est utilisé.
libpq5 Requis si PostgreSQL est utilisé ; la version de libpq5 doit correspondre à celle de la base de données PostgreSQL utilisée ou lui être supérieure.
libsqlite3 Requis si SQLite est utilisé. Requis uniquement pour le proxy Zabbix.
libOpenIPMI Non Requis pour la prise en charge d’IPMI. Requis uniquement par le serveur Zabbix.
libssh2 or libssh Requis pour les vérifications SSH. Version 1.8.0 ou supérieure (libssh2) ; 0.9.0 ou supérieure (libssh).
libcurl Requis pour les fonctionnalités suivantes :
- les éléments de surveillance Web, de surveillance VMware et agent HTTP (pour tous : version 7.19.1 ou supérieure) ;
- les éléments web.page.* de l’agent Zabbix (version 7.19.1 ou supérieure ; voir aussi les exigences de l’agent) ;
- l’authentification SMTP (Basic : version 7.20.0 ou supérieure ; OAuth : version 7.33 ou supérieure ; voir aussi les exigences du frontend) ;
- Elasticsearch (version 7.28.0 ou supérieure).
La version 7.28.0 ou supérieure est recommandée pour toutes les fonctionnalités.
Pour utiliser les fonctionnalités cURL mises à niveau pour les éléments web.page.*, redémarrez le serveur/proxy Zabbix.
Pour l’authentification SMTP, utilisez le paquet libcurl-full à l’exécution.
libxml2 Requis pour la surveillance VMware et le prétraitement XML XPath.
net-snmp Requis pour la prise en charge de SNMP. Version 5.3.0 ou supérieure.
La prise en charge des protocoles de chiffrement forts (AES192/AES192C, AES256/AES256C) est disponible à partir de la bibliothèque net-snmp 5.8 ; sur les systèmes basés sur RHEL 8+, il est recommandé d’utiliser net-snmp 5.8.15 ou une version ultérieure.
libunixodbc Requis pour la surveillance de base de données.
libgnutls or 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 mise en cache des requêtes DNS (cache de requêtes activé par défaut) nécessite c-ares 1.26.0 ou une version ultérieure.
Agent
Exigence Statut obligatoire Description
libpcre2 Oui 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.
Requise pour la surveillance des journaux. Également requise sous Windows.
libpthread Requise pour la prise en charge des mutex et des verrous 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 l’encodage/la conversion du format du texte en UTF-8 dans les éléments de journal, le contenu de fichier, les éléments de regex de fichier et regmatch (peut faire partie de libc). Non requise sous Windows.
libgnutls ou libopenssl Non Requise si le chiffrement est utilisé.
Versions minimales : libgnutls - 3.1.18, libopenssl - 1.0.1
Sous Microsoft Windows, OpenSSL 1.1.1 ou une 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 web.page.* de l’agent Zabbix.
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 (la version 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
Exigence Statut obligatoire Description
Go Oui Requis pour compiler l'agent Zabbix 2 et ses plugins à partir des sources.
Go 1.24.10 ou version ultérieure est pris en charge. Voir go.dev pour les instructions d'installation.
Les bibliothèques Go utilisées par l'agent Zabbix 2 et ses plugins sont répertorié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) :
- Agent Zabbix 2
- Prise en charge des plugins
- PostgreSQL
- MongoDB
- MSSQL
- Ember+
- GPU NVIDIA
- Plugin d'exemple
libpcre2 Oui 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 Non 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 de 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 à partir du dépôt des sources ou d’une archive, les dépendances nécessaires sont déjà incluses dans l’arborescence des sources.

Si vous avez obtenu Zabbix à partir du paquet de votre distribution, les dépendances nécessaires sont déjà fournies par le système de 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 fournis avec Java gateway dans le code source d’origine :

Library Mandatory status Minimum version Comments
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 org.json extraite du SDK Android.
logback-classic 1.5.16
logback-core 1.5.16
slf4j-api 2.0.16

Java gateway peut être compilé à l’aide d’Oracle Java ou de l’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 selon la distribution :

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)

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
Zabbix Java gateway 10052 TCP à la demande
Service web Zabbix 10053 TCP à la demande
Frontend Zabbix 80 HTTP à la demande
443 HTTPS à la demande
Trappeur Zabbix 10051 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 règles explicites dans le 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 pas beaucoup.

La taille de la base de données Zabbix dépend principalement des variables suivantes, 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 surveillés avec un intervalle d’actualisation 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é et le type de valeurs reçues (nombres à virgule flottante, 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/log est impossible à prévoir exactement, mais vous pouvez compter sur environ 500 octets par valeur.

  • Paramètre du housekeeper pour les tendances

Zabbix conserve, pour chaque élément, un ensemble de valeurs max/min/moyenne/nombre sur 1 heure 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 pour chaque total. Supposons que nous souhaitions conserver les données de tendance 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ésolu, un enregistrement event_recovery est créé. Normalement, la plupart des événements seront résolus, nous pouvons donc supposer un enregistrement event_recovery par événement. Cela signifie 80 octets supplémentaires par événement.

Les événements peuvent éventuellement 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. Chacun nécessitera donc un espace disque supplémentaire de #tags * 100 octets.

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 pouvant être utilisées pour calculer l’espace disque requis pour le système Zabbix :

Paramètre Formule de l’espace disque requis (en octets)
Configuration Zabbix Taille fixe. Normalement 10MB ou moins.
Historique days*(items/refresh rate)*24*3600*bytes
items : nombre d’éléments
days : nombre de jours de conservation de l’historique
refresh rate : intervalle d’actualisation moyen des éléments
bytes : nombre d’octets nécessaires pour conserver une seule valeur, dépend du moteur de base de données, normalement \~90 octets.
Tendances days*(items/3600)*24*3600*bytes
items : nombre d’éléments
days : nombre de jours de conservation de l’historique
bytes : nombre d’octets nécessaires pour conserver une seule tendance, dépend du moteur de base de données, normalement \~90 octets.
Événements days*events*24*3600*bytes
events : nombre d’événements par seconde. Un (1) événement par seconde dans le pire des cas.
days : nombre de jours de conservation de l’historique
bytes : nombre d’octets nécessaires pour conserver un seul événement, dépend du moteur de base de données, normalement \~330 + nombre moyen de tags par événement * 100 octets.

Ainsi, l’espace disque total requis peut être calculé comme suit :

Configuration + Historique + Tendances + Événements

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, selon les 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.