Mémoire
Zabbix nécessite à la fois de la mémoire physique et de la mémoire disque. 128 Mo de mémoire physique et 256 Mo d'espace disque libre pourraient être un bon point de départ. Cependant, la quantité de mémoire disque requise dépend évidemment du nombre d'hôtes et de paramètres surveillés. Si vous prévoyez de conserver un historique conséquent des paramètres surveillés, vous devriez penser à au moins quelques gigaoctets pour avoir assez 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 aurez de mémoire physique, plus la base de données (et donc Zabbix) fonctionnera rapidement.
CPU
Zabbix et en particulier la base de données Zabbix peuvent nécessiter des ressources CPU importantes en fonction du nombre de paramètres surveillés et du moteur de base de données choisi.
Autre materiel
Un port série et un modem GSM sont requis pour l'utilisation des notifications par SMS dans Zabbix. Un convertisseur USB vers série fonctionnera également.
Le tableau fournit des exemples de configuration matérielle, en supposant une plate-forme Linux/BSD/Unix.
Ce sont des exemples de taille et de configuration matérielle pour commencer. Chaque installation Zabbix est unique. Assurez-vous de comparer les performances de votre système Zabbix dans un environnement de test ou de développement, afin de bien comprendre vos besoins avant de déployer l'installation de Zabbix dans son environnement de production.
Taille de l'installation | Métriques surveillées1 | Cœurs de 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, Oracle |
m6i.4xlarge/m6g.4xlarge |
Très grande | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle |
m6i.8xlarge/m6g.8xlarge |
1 1 métrique = 1 élément + 1 déclencheur + 1 graphique
2 Exemple avec des instances EC2 à usage général d'Amazon, utilisant l'architecture ARM64 ou x86_64, un type d'instance approprié tel que Calcul/Mémoire/Storage optimisé doit être sélectionné lors de l'évaluation et des tests d'installation de Zabbix avant l'installation dans son environnement de production.
La configuration réelle dépend beaucoup du nombre d'éléments actifs et des taux de rafraîchissement (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 séparé pour les grandes installations.
En raison des exigences de sécurité et de la nature critique du serveur de surveillance, UNIX est le seul système d'exploitation capable de fournir en permanence les performances, la tolérance aux pannes et la résilience nécessaires. Zabbix fonctionne sur des versions leaders du marché.
Les composants Zabbix sont disponibles et testés pour les plateformes suivantes :
Plateforme | Serveur | Agent | Agent2 |
---|---|---|---|
Linux | x | x | x |
IBM AIX | x | x | - |
FreeBSD | x | x | - |
NetBSD | x | x | - |
OpenBSD | x | x | - |
HP-UX | x | x | - |
Mac OS X | x | x | - |
Solaris | x | x | - |
Windows | - | x | x |
Le serveur/agent Zabbix peut également fonctionner sur d'autres systèmes d'exploitation de type Unix. L'agent Zabbix est pris en charge sur toutes les versions de bureau et de serveur Windows depuis XP.
Zabbix désactive les core dumps s'il est compilé avec chiffrement et ne démarre pas si le système n'autorise pas la désactivation des core dumps.
Zabbix est construit autour de serveurs Web modernes, de moteurs de base de données de pointe et du langage de script PHP.
Les prérequis obligatoires sont toujours nécessaires. Des prérequis facultatifs sont nécessaires pour la prise en charge de la fonction spécifique.
Logiciel | Statut obligatoire | Versions prises en charge | Commentaires |
---|---|---|---|
MySQL/Percona | L'un des | 8.0.X | Requis si MySQL (ou Percona) est utilisé comme base de données backend Zabbix. Le moteur InnoDB est requis. Nous vous recommandons d'utiliser la bibliothèque MariaDB Connector/C pour créer un serveur/proxy. |
MariaDB | 10.5.00-10.8.X | Le moteur InnoDB est requis. Nous vous recommandons d'utiliser la bibliothèque MariaDB Connector/C pour créer un serveur/proxy. | |
Oracle | 19c - 21c | Requis si Oracle est utilisé comme base de données backend Zabbix. | |
PostgreSQL | 13.0-15.X | Requis si PostgreSQL est utilisé comme base de données backend Zabbix. PostgreSQL 15 est pris en charge depuis Zabbix 6.0.10. |
|
TimescaleDB pour PostgreSQL | 2.0.1-2.8 | 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 TimescaleDB ne prend pas encore en charge PostgreSQL 15. |
|
SQLite | Facultatif | 3.3.5-3.34.X | SQLite n'est pris en charge qu'avec les proxys Zabbix. Requis si SQLite est utilisé comme base de données proxy Zabbix. |
smartmontools | 7.1 ou version ultérieure | Requis pour l'agent Zabbix 2. | |
qui | Requis pour le plugin de comptage d'utilisateurs. | ||
dpkg | Requis pour le plugin system.sw.packages. | ||
pkgtool | Requis pour le plugin system.sw.packages. | ||
tr/min | Requis pour le plugin system.sw.packages. | ||
pacman | Requis pour le plugin system.sw.packages. |
Bien que Zabbix puisse fonctionner avec les bases de données disponibles dans les systèmes d'exploitation, pour une expérience optimale, nous vous recommandons d'utiliser les bases de données installées à partir des référentiels officiels des développeurs de bases de données.
La largeur d'écran minimale prise en charge pour l'interface Zabbix est de 1200 pixels.
Les pré-requis obligatoires sont toujours nécessaires. Des pré-requis facultatives sont nécessaires pour la prise en charge de fonctions spécifiques.
Logiciel | Obligatoire | Version | Commentaires |
---|---|---|---|
Apache | Oui | 1.3.12 ou version ultérieure | |
PHP | 7.2.5 ou version ultérieure, (depuis Zabbix 6.0.6) 8.0, 8.1 |
Recommandé d'utiliser PHP 7.4 ou version ultérieure. | |
Extensions PHP : | |||
gd | Oui | 2.0.28 ou version ultérieure | L'extension PHP GD doit prendre en charge les images PNG(--with-png-dir), JPEG (--with-jpeg-dir) et FreeType 2 (--with-freetype-dir). |
bcmath | php-bcmath (--enable-bcmath) | ||
ctype | php-ctype (--enable-ctype) | ||
libXML | 2.6.15 ou version ultérieure | php-xml, s'il est fourni dans un package séparé par le distributeur. | |
xmlreader | php-xmlreader, s'il est fourni dans un package séparé par le distributeur. | ||
xmlwriter | php-xmlwriter, s'il est fourni dans un package séparé par le distributeur. | ||
session | php-session, s'il est fourni dans un package séparé par le distributeur. | ||
sockets | php-net-socket (--enable-sockets). Requis pour la prise en charge des scripts utilisateur. | ||
mbstring | php-mbstring (--enable-mbstring) | ||
gettext | php-gettext (--with-gettext). Requis pour que les traductions fonctionnent. | ||
ldap | Non | php-ldap. Requis uniquement si l'authentification LDAP est utilisée pour le frontend. | |
openssl | php-openssl. Requis uniquement si l'authentification SAML est utilisée pour le frontend. | ||
mysqli | Requis si MySQL est utilisé comme base de données backend Zabbix. | ||
oci8 | Requis si Oracle est utilisé comme base de données backend Zabbix. | ||
pgsql | Requis si PostgreSQL est utilisé comme base de données backend Zabbix. |
Librairies tierces fournies avec Zabbix :
Librairie | Obligatoire | Version minimale | Commentaires |
---|---|---|---|
jQuery JavaScript Library | Oui | 3.6.0 | Bibliothèque JavaScript qui simplifie le processus de développement multi-navigateur. |
jQuery UI | 1.12.1 | Un ensemble d'interactions, d'effets, de widgets et de thèmes d'interface utilisateur construits sur jQuery. | |
OneLogin's SAML PHP Toolkit | 3.4.1 | Une boîte à outils PHP qui ajoute la prise en charge de l'authentification SAML 2.0 pour pouvoir se connecter à 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 sur les versions précédentes d'Apache, MySQL, Oracle et PostgreSQL.
Pour d'autres polices que la DejaVu par défaut, la fonction PHP imagerotate peut être requise. Si elle est manquante, ces polices peuvent être rendues de manière incorrecte lors de l'affichage d'un graphique. Cette fonction n'est disponible que si PHP est compilé avec GD fourni, 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 frontal Zabbix :
Librairie | Obligatoire | Version minimale | Commentaires |
---|---|---|---|
Composer | Non | 2.4.1 | Un gestionnaire de packages au niveau de l'application pour PHP qui fournit un format standard pour la gestion des dépendances des logiciels PHP et des bibliothèques requises. |
PHPUnit | 8.5.29 | Un framework de test unitaire PHP pour tester l'interface Zabbix. | |
SASS | 3.4.22 | Un langage de script de préprocesseur qui est interprété et compilé dans des 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 same-origin pour les IFrames est implémenté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 une frame Zabbix auront accès à l'interface Zabbix (via JavaScript) si la page placée dans le cadre et l'interface Zabbix se trouvent sur le même domaine. Une page comme 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.
Les exigences obligatoires sont toujours nécessaires. Les exigences facultatives sont nécessaires à la prise en charge de la fonction spécifique.
Exigence | Obligatoire | Description |
---|---|---|
libpcre | Oui | La bibliothèque PCRE/PCRE2 est requise pour la prise en charge de Perl Compatible Regular Expression (PCRE). La dénomination peut différer selon le GNU/Distribution Linux, par exemple 'libpcre3' ou 'libpcre1'. PCRE v8.x et PCRE2 v10.x (à partir de Zabbix 6.0.0) sont pris en charge. |
libevent | Requis pour la prise en charge des métriques en masse et la surveillance IPMI. Version 1.4 ou supérieure. Notez que pour le proxy Zabbix, cette exigence est facultative ; il est nécessaire pour la prise en charge de la surveillance IPMI. |
|
pthread | Requis pour la prise en charge du mutex et du verrouillage en lecture-écriture. | |
zlib | Requis pour la prise en charge de la compression. | |
resolv | Requis pour la résolution DNS. | |
iconv | Requis pour l'encodage de texte/la conversion de format. Obligatoire pour le serveur Zabbix sous Linux. | |
libmysqlclient | Un des | Obligatoire si MySQL est utilisé. |
libmariadb | Obligatoire si MariaDBest utilisé. | |
libclntsh | Obligatoire si Oracle est utilisé. Version 10.0 ou supérieure. | |
libpq | Obligatoire si PostgreSQL est utilisé. Version 9.2 ou supérieure. | |
libsqlite3 | Obligatoire si SQLite est utilisé. Requis pour le proxy Zabbix uniquement. | |
openipmi | Non | Requis pour la prise en charge d'IPMI. Requis pour le serveur Zabbix uniquement. |
libssh2 ou libssh | Obligatoire pour les vérifications SSH. Version 1.0 ou supérieure (libssh2) ; 0.6.0 ou supérieur (libssh). libssh est pris en charge depuis Zabbix 4.4.6. |
|
fping | Requis pour éléments de ping ICMP. | |
libcurl | Requis pour la surveillance Web, la surveillance VMware, l'authentification SMTP, les éléments d'agent Zabbix web.page.* , les éléments de l'agent HTTP et Elasticsearch (le cas échéant). La version 7.28.0 ou supérieure est recommandée.Configuration requise pour la version de Libcurl : - Authentification SMTP : version 7.20.0 ou supérieure - Elasticsearch : version 7.28.0 ou supérieure. |
|
libxml2 | Requis pour la surveillance VMware et le prétraitement XML XPath. | |
netsnmp | Requis pour la prise en charge SNMP. Version 5.3.0 ou supérieure. | |
libunixodbc | Requis pour la surveillance de la base de données. Requis pour le serveur Zabbix uniquement. | |
libgnutls ou libopenssl | Requis lors de l'utilisation du cryptage. Versions minimales : libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
ldap | Requis pour la prise en charge LDAP. |
Pré-requis | Obligation | Description |
---|---|---|
libpcre/libpcre2 | L'une des bibliothèques | PCRE/PCRE2 est requise pour la prise en charge de Perl Compatible Regular Expression (PCRE). La dénomination peut différer selon la distribution GNU/Linux , par exemple 'libpcre3' ou 'libpcre1'. PCRE v8.x et PCRE2 v10.x (à partir de Zabbix 6.0.0) sont pris en charge. Requis pour la surveillance des journaux. Également requis sous Windows. |
libpthread | Oui | Requis pour la prise en charge du mutex et du verrouillage en lecture-écriture (peut faire partie de la libc). Non requis sous Windows. |
libresolv | Requis pour la résolution DNS (peut faire partie de la libc). Non requis sous Windows. | |
libiconv | Requis pour l'encodage de texte/la conversion de format en UTF-8 dans les éléments de journal, le contenu du fichier, l'expression régulière de fichier et les éléments de correspondance de règle (peut faire partie de la libc). Non requis sous Windows. | |
libgnutls or libopenssl | Non | Requis si vous utilisez l'encryptage. Versions minimales : libgnutls - 3.1.18, libopenssl - 1.0.1 Sur Microsoft Windows, OpenSSL 1.1.1 ou version ultérieure est requis . |
libldap | Requis si LDAP est utilisé. Non pris en charge sous Windows. | |
libcurl | Requis pour les éléments agent Zabbix web.page.* . Non pris en charge sur Windows.La version 7.28.0 ou supérieure est recommandée. |
|
libmodbus | Nécessaire uniquement si la surveillance Modbus est utilisée. Version 3.0 ou supérieure. |
À partir de la version 5.0.3, l'agent Zabbix ne fonctionnera pas sur les plates-formes AIX inférieures aux versions 6.1 TL07 / AIX 7.1 TL01.
Pré-requis | Obligatoire | Description |
---|---|---|
libpcre/libpcre2 | L'une des deux | La bibliothèque PCRE/PCRE2 est requise pour la prise en charge de Perl Compatible Regular Expression (PCRE). Le nom peut différer selon la distribution GNU/Linux, par exemple 'libpcre3' ou 'libpcre1'. PCRE v8.x et PCRE2 v10.x (à partir de Zabbix 6.0.0) sont 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 plates-formes 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. |
Bibliothèques Golang
Pré-requis | Obligatoire | Version minimale | Description |
---|---|---|---|
git.zabbix.com/ap/plugin-support | Oui | 0.0.0 | Zabbix possède sa propre bibliothèque de support. Principalement pour les plugins. Également utilisé dans le plugin MongoDB. |
github.com/BurntSushi/locker | 0.0.0 | Verrous de lecture/écriture nommés, synchronisation d'accès. | |
github.com/chromedp/cdproto | 0.0.0 | Commandes, types et événements générés pour les domaines du protocole Chrome DevTools. | |
github.com/chromedp/chromedp | 0.6.0 | Prise en charge du protocole Chrome DevTools (génération de rapports). | |
github.com/dustin/gomemcached | 0.0.0 | Une boîte à outils de protocole binaire memcached pour go. | |
github.com/eclipse/paho.mqtt.golang | 1.2.0 | Une bibliothèque pour gérer les connexions MQTT. | |
github.com/fsnotify/fsnotify | 1.4.9 | Notifications du système de fichiers multiplateforme pour Go. | |
github.com/go-ldap/ldap | 3.0.3 | Fonctionnalité LDAP v3 de base pour le langage de programmation GO. | |
github.com/go-ole/go-ole | 1.2.4 | Implémentation Win32 ole pour golang. | |
github.com/godbus/dbus | 4.1.0 | Fixations Go natives pour D-Bus. | |
github.com/go-sql-driver/mysql | 1.5.0 | Pilote MySQL. | |
github.com/godror/godror | 0.20.1 | Pilote Oracle DB. | |
github.com/jackc/pgx/v4 | 4.8.2 | Pilote PostgreSQL. | |
github.com/mattn/go-sqlite3 | 2.0.3 | Pilote Sqlite3. | |
github.com/mediocregopher/radix/v3 | 3.5.0 | Client Redis. | |
github.com/memcachier/mc/v3 | 3.0.1 | Client Binary Memcached. | |
github.com/miekg/dns | 1.1.43 | Bibliothèque DNS. | |
github.com/omeid/go-yarn | 0.0.1 | Magasin de chaînes de clés mappé par système de fichiers intégrable. | |
github.com/goburrow/modbus | 0.1.0 | Implémentation tolérante aux pannes de Modbus. | |
golang.org/x/sys | 0.0.0 | Packages Go pour les interactions de bas niveau avec le système d'exploitation. Également utilisé dans la bibliothèque de support des plugins. Utilisé dans le plug-in MongoDB. |
|
github.com/natefinch/npipe | Sous Windows | 0.0.0 | Implémentation du canal nommé Windows. Également utilisé dans la bibliothèque de prise en charge des plugins. Utilisé dans le plug-in MongoDB. |
github.com/goburrow/serial | Oui, indirect1 | 0.1.0 | Bibliothèque série pour Modbus. |
github.com/pkg/errors | 0.9.1 | Simples primitives de gestion des erreurs. Utilisé dans le plugin MongoDB. |
|
golang.org/x/xerrors | 0.0.0 | Fonctions pour manipuler les erreurs. | |
gopkg.in/asn1-ber.v1 | 1.0.0 | Bibliothèque d'encodage/décodage pour ASN1 BER. | |
gopkg.in/yaml.v2 | 2.2.8 | Go package pour encoder et décoder les valeurs YAML. | |
github.com/go-stack/stack | Non, indirect1 | 1.8.0 | Package requis pour le plug-in MongoDB mongo-driver lib. |
github.com/golang/snappy | 0.0.1 | Package requis pour le plug-in MongoDB mongo-driver lib. | |
github.com/klauspost/compress | 1.13.6 | Package requis pour le plug-in MongoDB mongo-driver lib. | |
github.com/xdg-go/pbkdf2 | 1.0.0 | Package requis pour le plug-in MongoDB mongo-driver lib. | |
github.com/xdg-go/scram | 1.0.2 | Package requis pour le plug-in MongoDB mongo-driver lib. | |
github.com/xdg-go/stringprep | 1.0.2 | Package requis pour le plug-in MongoDB mongo-driver lib. | |
github.com/youmark/pkcs8 | 0.0.0 | Package requis pour le plug-in MongoDB mongo-driver lib. | |
golang.org/x/crypto | 0.0.0 | Package requis pour le plug-in MongoDB mongo-driver lib. | |
golang.org/x/text | 0.3.5 | Package requis pour le plug-in MongoDB mongo-driver lib. | |
golang.org/x/sys | 0.0.0 | Package requis pour le plug-in MongoDB mongo-driver lib. | |
github.com/natefinch/npipe | 0.0.0 | Package requis pour le plug-in MongoDB mongo-driver lib. |
1 "Indirect" signifie qu'il est utilisé dans l'une des bibliothèques utilisées par l'agent. Nécessaire car Zabbix utilise la bibliothèque qui utilise le package.
Si vous avez obtenu Zabbix à partir du référentiel source ou d'une archive, alors les dépendances nécessaires sont déjà incluses dans l'arborescence des sources.
Si vous avez obtenu Zabbix à partir du package de votre distribution, alors les dépendances nécessaires sont déjà fournies par le système de packaging.
Dans les deux cas ci-dessus, le logiciel est prêt à être utilisé et aucun téléchargement n'est nécessaire.
Si toutefois vous souhaitez fournir vos versions de ces dépendances (par exemple, si vous préparez un paquet pour certaines distributions Linux), ci-dessous se trouve la liste des versions de librairie avec lesquelles la passerelle Java est réputée pouvoir fonctionner. Zabbix peut fonctionner avec d'autres versions de ces librairies aussi.
Le tableau suivant répertorie les fichiers JAR actuellement fournis avec la passerelle Java dans le code d'origine :
Librairie | Obligatoire | Commentaires |
---|---|---|
android-json | Oui | Version 4.3r1 ou supérieure. JSON (JavaScript Object Notation) est un format d'échange de données léger. Il s'agit de l'implémentation Android compatible org.json extraite du SDK Android. |
logback-classic | Version 1.2.9 ou supérieure. | |
logback-core | Version 1.2.9 ou supérieure. | |
slf4j-api | Version 1.7.32 ou supérieure. |
La passerelle Java peut être construite à l'aide d'Oracle Java ou de OpenJDK open-source (version 1.6 ou plus récente). Les packages fournis par Zabbix sont compilés en utilisant OpenJDK. Le tableau ci-dessous fournit des informations sur les versions OpenJDK utilisées pour créer des packages Zabbix par distribution :
Distribution | Version OpenJDK |
---|---|
RHEL 8 | 1.8.0 |
RHEL 7 | 1.8.0 |
SLES 15 | 11.0.4 |
SLES 12 | 1.8.0 |
Debian 10 | 11.0.8 |
Ubuntu 20.04 | 11.0.8 |
Ubuntu 18.04 | 11.0.8 |
La liste suivante de 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 |
Passerelle Java Zabbix | 10052 | TCP | à la demande |
Service web Zabbix | 10053 | TCP | sur demande |
Interface Zabbix | 80 | HTTP | à la demande |
443 | HTTPS | à la demande | |
Trapper 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 paramètres de pare-feu explicites.
Les données de configuration de Zabbix nécessitent une quantité fixe d'espace disque et qui ne grandit pas beaucoup.
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 :
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 une cadence de rafraîchissementde à 60 secondes, le nombre de valeurs par seconde est calculé comme 3000/60 = 50.
Cela signifie que 50 nouvelles valeurs sont ajoutées à la base de données Zabbix chaque seconde.
Zabbix conserve les valeurs pendant une période de temps fixe, normalement plusieurs semaines ou mois. Chaque nouvelle valeur nécessite une certaine quantité d'espace disque pour les données et l'index.
Donc, 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 130 millions de valeurs.
Selon le moteur de base de données utilisé, le type de valeurs reçues (flottants, entiers, chaînes, fichiers journaux, etc.), l'espace disque pour conserver une seule valeur peut varier de 40 octets à des centaines d'octets. Normalement c'est autour 90 octets par valeur pour les éléments numériques 2. Dans notre cas, cela signifie que 130 M de valeurs nécessiteront 130 M * 90 octets = 10,9 Go d'espace disque.
La taille des valeurs des éléments de texte/journal est impossible à prévoir exactement, mais vous pouvez vous attendre à environ 500 octets par valeur.
Zabbix conserve un ensemble de valeurs max/min/moy/count d'une heure pour chaque élément dans le tableau tendances. Les données sont utilisées pour les tendances et les graphiques 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 3 000 éléments nécessiteront 3 000*24*365* 90 = 2,2 Go par an, ou 11 Go pendant 5 ans.
Chaque événement Zabbix nécessite environ 250 octets d'espace disque 1. 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éé. Normalement la plupart des événements seront récupérés afin que nous puissions en supposer un enregistrement event_recovery par événement. Cela signifie 80 octets supplémentaires par événement.
Eventuellement, les événements peuvent avoir des tags, chaque enregistrement de tag nécessitant environ 100 octets d'espace disque 1. Le nombre de tags par événement (#tags) dépend de la configuration. Donc, chaque évènement aura besoin de #tags * 100 octets supplémentaires d'espace disque.
Cela signifie que si l'on veut conserver 3 ans d'événements, cela nécessiterait un espace disque de 3*365*24*3600* (250+80+#tags*100) = ~30GB+#tags*100B2.
1 Plus avec des noms d'événements, des balises et des valeurs.
2 Les approximations de taille sont basées sur MySQL et peuvent être différent pour les 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 :
|Paramètre|Formule pour l'espace disque requis (en octets)| |---------|---------------------------------------------------- ---| |Configuration Zabbix|Taille fixe. Normalement 10 Mo ou moins.| |Historique|jours*(éléments/taux de rafraîchissement)*24*3600*octets
éléments : nombre d'éléments
jours : nombre de jours pour conserver l'historique
taux de rafraîchissement : rafraîchissement moyen taux d'éléments
octets : nombre d'octets requis pour conserver une valeur unique, dépend du moteur de base de données, normalement ~90 octets.| |Tendances|jours*(éléments/3600)*24*3600*octets
éléments: nombre d'éléments
jours : nombre de jours pour conserver l'historique
octets : nombre d'octets requis pour conserver une seule tendance, dépend du moteur de base de données, normalement ~90 octets.| |Events|days*events*24*3600*bytes
events : nombre d'événements par seconde. Un (1) événement par seconde dans le pire des cas.
jours : nombre de jours pour conserver l'historique
octets : nombre d'octets requis pour conserver une seule tendance, dépend du moteur de base de données, normalement ~330 + moyenne nombre de balises 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 de croître à un moment donné, ce qui dépend des paramètres de Nettoyage.
Il est très important d'avoir une heure système précise sur le serveur Zabbix en cours d'exécution. ntpd est le démon le plus populaire qui synchronise l'heure de l'hôte avec l'heure des autres machines. Il est fortement recommandé de maintenir une heure système synchronisée sur tous les composants systèmes Zabbix en cours d'exécution.