Académique Documents
Professionnel Documents
Culture Documents
2 Installation
Vérifier sur la page d'accueil de Zabbix à l'adresse http://www.zabbix.com pour obtenir des
informations sur la version actuelle et les instructions de téléchargement.
2009/11/12 08:52
2.2 Prérequis
Remarque: Plus vous avez de mémoire physique, plus rapide sera la base de données (et par
conséquent ZABBIX)!
ZABBIX et spécialement la base de données ZABBIX peuvent nécessiter d'importantes ressources CPU
en fonction du nombre de paramètres supervisés ainsi que du moteur de base de données choisis.
Un port de communication série ainsi qu'un modem GSM sont nécessaires pour utiliser les
notifications par SMS émis par ZABBIX.
Hôtes
Nom Plateforme CPU/Mémoire Base de données
supervisés
Small Ubuntu Linux PII 350MHz 256MB MySQL MyISAM 20
Hôtes
Nom Plateforme CPU/Mémoire Base de données
supervisés
Medium Ubuntu Linux 64 bit AMD Athlon 3200+ 2GB MySQL InnoDB 500
4GB RAID10 MySQL InnoDB
Large Ubuntu Linux 64 bit Intel Dual Core 6400 >1000
or PostgreSQL
Fast RAID10 MySQL InnoDB
Very large RedHat Enterprise Intel Xeon 2xCPU 8GB >10000
or PostgreSQL
Remarque: Les configurations réelles dépendent fortement du nombre d'items actifs et du taux de
rafraîchissement. Il est fortement conseillé de mettre en place la base de données sur un serveur
séparé pour les grandes installations.
Du fait des exigences de sécurité et de la nature critique de la mission qui est la supervision des
serveurs, UNIX est le seul système d'exploitation qui peut offrir le rendement nécessaire en termes de
performance, de tolérance de pannes et de résilience. ZABBIX fonctionne sur les versions leader du
marché. ZABBIX est testé sur les plateformes suivantes:
AIX
FreeBSD
HP-UX
Linux
Mac OS/X
NetBSD
OpenBSD
SCO Open Server
Solaris
Windows 2000, 2003, XP, Vista (uniquement l'agent ZABBIX)
Remarque: ZABBIX peut fonctionner sur les systèmes d'exploitation similaires à Linux.
ZABBIX est construit autour du serveur web Apache, d'un moteur de base de données et du langage
PHP.
Le support de l'HTML et des images PNG est requis. MS Explorer (5.xx et 6.xx ainsi que Mozilla 1.x
fonctionnent parfaitement. Les cookies et le javascript doivent être activés. Les autres navigateurs
peuvent aussi bien fonctionner avec ZABBIX..
Prérequis Description
OpenIPMI Requis pour le support d'IPMI
libssh2 Requis pour le support du SSH
MySQL
Oracle
PostgreSQL
SQLite
La configuration des données de ZABBIX requiert une valeur fixe d'espace disque qui ne doit pas
beaucoup évoluer.
La taille de la base de données ZABBIX dépend principalement des variables suivantes qui définissent
la quantité d'historique des données stockées:
Ceci est une moyenne du nombre de nouvelles valeurs que le serveur ZABBIX reçoit chaque seconde.
Par exemple, si nous avons 3000 items pour la supervision avec un taux de rafraîchissement de 60
secondes, Le nombre de valeurs par seconde est donné par la formule suivante: 3000/60 = 50.
Cela signifie que 50 nouvelles valeurs par seconde sont ajoutées dans la base de données ZABBIX.
ZABBIX conserve les valeurs durant une période de temps fixée, normalement plusieurs semaines ou
mois. Chaque nouvelle valeur nécessite une certaine valeur d'espace disque pour les données et les
index.
Donc, si nous voulons conserver un historique sur 30 jours et que nous recevons 50 valeurs par
seconde, le nombre total de valeur sera au alentour de (30*24*3600)* 50 = 129.600.000, soit environ
130 Millions de valeurs.
En fonction du moteur de base de données utilisé, du type de valeurs reçues (décimaux, entiers,
chaînes de caractères, fichiers log, etc), l'espace disque pour conserver une seule valeur peut varier
de 40 octets à plusieurs centaines d'octets. Normalement, cela tourne autour de 50 octets par valeur.
Dans notre cas, Cela signifie que 130M de valeurs vont nécessiter 130M * 50 octets = 6.5Go d'espace
disque.
ZABBIX conserve 1 heure max/min/avg/count de statistiques pour chaque item dans la table trends.
La donnée est utilisée pour les tendances et les graphiques sur les longues périodes.
La base de données ZABBIX, en fonction du type de la base de données, nécessite 128 octets pour
chacun au total. Supposons que nous voulons garder les tendances des données sur 5 ans. 3000
valeurs vont nécessiter (3000/1800)*(24*3600*365)* 128 = 6.3Go par an, ou 31.5Go pour les 5 ans.
Chaque événement ZABBIX nécessite approximativement 130 octets d'espace disque. Il est difficile
d'estimer le nombre d'événement généré par ZABBIX en une journée. Dans le pire des scénarios,
nous pouvons supposer que ZABBIX génère un événement par seconde.
Cela signifie que si nous voulons garder les événements sur 3 ans, 3*365*24*3600* 130 = 11Go
seront nécessaires.
Le tableau contient des formules qui peuvent être utilisées pour calculer l'espace disque nécessaire
pour le système ZABBIX:
Remarque: L'espace disque requis pour les noeuds dans une installation distribuées est calculée de
manière similaire. Cependant, cela dépends aussi du nombre total de noeuds enfant liés à un autre
noeud.
Il est très important que la date soit réglée de façon précise sur le serveur Zabbix. timed est un des
démons qui synchronise le temps de l'hôte avec le temps d'autres machines les plus populaires.
2009/11/12 09:53
2.3 Composants
ZABBIX se compose de plusieurs composants logiciels majeurs, dont les rôles sont décrit ci-dessous.
Ceci est la partie centrale du logiciel Zabbix. Le serveur peut vérifier à distance les services réseau
(comme les serveurs Web et serveurs de courrier électronique) en utilisant les vérifications simples,
mais il est aussi l'élément central auquel les agents rapporteront la disponibilité ,l'intégrité des
informations ainsi que les statistiques. Le serveur est le référentiel central où toute la configuration
des données statistiques et opérationnelles est stockée. Il est l'entité dans le logiciel Zabbix qui
avertira les administrateurs lorsque des problèmes surgiront dans l'un des systèmes surveillés.
Zabbix peut également effectuer la supervision sans agent et surveiller les périphériques réseau en
utilisant des agents SNMP.
Le proxy est une partie optionnelle du déploiement ZABBIX. Le Proxy recueille les performances et la
disponibilité des données pour le compte du serveur ZABBIX. Toutes les données recueillies sont
bufferisées au niveau local puis transférées au serveur Zabbix auquel appartient le proxy.
ZABBIX Proxy est une solution idéale pour une surveillance centralisée des sites distants, des
succursales, et des réseaux n'ayant pas d'administrateur locaux.
Les proxy ZABBIX peuvent également être utilisés pour répartir la charge d'un serveur ZABBIX. Dans
ce cas, seuls les proxy recueillent les données permettant ainsi moins de traitement CPU et d'E/S
disque sur le serveur.
Afin de surveiller activement les ressources locales et les applications (comme les disques durs,
mémoire, processeur, etc) sur les systèmes en réseau, les systèmes doivent exécuter l'Agent ZABBIX.
L'agent va recueillir des informations à partir du système sur lequel il est en marche, et déclarer ces
données à ZABBIX pour un traitement ultérieur. En cas d'échecs (comme un disque dur plein, ou le
plantage d'un processus de service), le serveur ZABBIX peut directement alerter les administrateurs
de la machine qui a signalé l'erreur.
Les agents Zabbix sont extrêmements efficaces en raison du recours à des appels système natif de
collecte d'informations statistiques.
L'interface Web permet un accès facile aux données ainsi que la configuration de ZABBIX de
n'importe où et depuis n'importe quelle plateforme. L'interface est une partie du Serveur ZABBIX, et
est habituellement (mais pas nécessairement) exécutée sur la même machine physique que celle
exécutant le serveur ZABBIX.
L'interface ZABBIX doit s'exécuter sur la même machine physique, si SQLite est utilisé.
2009/11/12 11:14
L'installation de Zabbix serveur ou agent depuis les sources requiert des logiciels additionnels. Les
logiciels suivant sont requis pour compiler Zabbix:
Version 7.0.2 ou supérieure requise. Pensez à utiliser PostgreSQL 8.x pour de meilleures
performances.
Compilateur C
Un compilateur C est requis. Le compilateur GNU C est le meilleur choix pour les plateformes libres.
Les autres compilateurs C (HP, IBM) peuvent tout aussi bien être utilisés.
GNU Make
GNU make est nécessaire pour traiter les fichier Makefiles de ZABBIX.
docs
src
Contient les sources pour tous les processus ZABBIX excepté les fichier concernants l'interface.
src/zabbix_server
src/zabbix_agent
src/zabbix_get
src/zabbix_sender
include
misc
misc/init.d
frontends
frontends/php
create
create/schema
create/data
upgrades
Contient les procédures de mise à niveau pour les différentes versions de ZABBIX.
Côté serveur
Etape 1
Ceci est l'utilisateur qui sera utilisé par le serveur ZABBIX. Pour une utilisation en production, vous
devez créer un compte dédié non privilégié ( 'zabbix' est couramment utilisé). Exécuter ZABBIX en
tant que 'root', 'bin', ou tout autre compte avec des droits spéciaux est un risque de sécurité. Ne
faites pas ça!
Le processus serveur ZABBIX (zabbix_server) est protégé contre son exécution sous le compte root.
Etape 2
Etape 3
ZABBIX est livré avec des scripts SQL utilisés pour créer le schéma de la base de données requis et
pour mettre en place une configuration par défaut. Il y a des scripts séparés pour MySQL, Oracle,
Post-greSQL et SQLite. Pour MySQL:
Pour Oracle (On admet que l'utilisateur zabbix avec pour mot de passe password existe déjà et
possède les permissions pour créer des objets dans la base de données):
shell> cd create
shell> sqlplus zabbix/password
sqlplus> set def off
sqlplus> @schema/oracle.sql
sqlplus> @data/data.sql
sqlplus> @data/images_oracle.sql
sqlplus> exit
Pour PostgreSQL:
Pour SQLite:
shell> cd create/schema
shell> cat sqlite.sql | sqlite3 /var/lib/sqlite/zabbix.db
shell> cd ../data
shell> cat data.sql | sqlite3 /var/lib/sqlite/zabbix.db
shell> cat images_sqlite3.sql | sqlite3 /var/lib/sqlite/zabbix.db
Etape 4
Les sources doivent être compilées à la fois pour le serveur (machine de supervision) et pour les
clients (machines supervisées). Pour configurer la source du serveur, vous devez spécifier la base de
données qui sera utilisée.
ou
ou
Utiliser l'option –with-oracle pour spécifier la localisation de la librairie sqlora8. La librairie est requise
pour le support Oracle. Elle peut-être trouvée sur la page d'accueil de libsqlora8
Utiliser l'option –enable-static pour lier de façon statique les librairies. Si vous prévoyez de distribuer
des binaires compilés entre les différents serveurs, vous devez utiliser cette option pour les faire
fonctionner sans les librairies requises. –enable-static ne fonctionne pas sous Solaris. L'option –with-
ucd-snmp peut être utilisée à la place de –with-net-snmp. Si le SNMP n'est pas nécessaires, –with-net-
snmp et –with-ucd-snmp peuvent être omis.
Cependant, si vous voulez compiler les binaires clients avec les binaires serveurs, utilisez:
Etape 5
Par défaut,
make install
installera tous les fichier dans /usr/local/bin, /usr/local/lib etc. Vous pouvez spécifier un autre préfixe
d'ins-tallation autre que /usr/local en utilisant –prefix
Etape 6
Configurer /etc/services
Cette étape n'est pas réellement nécessaire. Cependant, elle est recommandée. Sur les machines
clientes (supervisées), ajouter les lignes suivantes au fichier /etc/services:
Etape 7
Configurer /etc/inetd.conf
Si vous prévoyez d'utiliser zabbix_agent à la place de zabbix_agentd qui est l'agent recommandé, la
ligne suivante doit être ajoutée:
Redémarrer inetd
Etape 8
Configurer /etc/zabbix/zabbix_agent.conf
Il est nécessaire de configurer ce fichier pour chaque hôte qui possède zabbix_agent d'installé. Le
fichier peut contenir l'adresse IP du serveur ZABBIX. Les connexions depuis un autre hôte seront
refusées. Vous pouvez utiliser le fichier misc/conf/zabbix_agent.conf comme exemple.
Etape 9
Configurer /etc/zabbix/zabbix_agentd.conf
Il est nécessaire de configurer ce fichier pour chaque hôte qui possède zabbix_agentd d'installé. Le
fichier peut contenir l'adresse IP du serveur ZABBIX. Les connexions depuis un autre hôte seront
refusées. Vous pouvez utiliser le fichier misc/conf/zabbix_agentd.conf comme exemple.
Etape 10
Configurer /etc/zabbix/zabbix_server.conf
Pour les petites installations (jusqu'à dix hôtes supervisés), les paramètres par défaut sont suffisants.
Cependant, Vous devriez changer ces paramètres pour optimiser les performances de ZABBIX. Voir la
section [Performance tuning] pour plus de détails.
Etape 11
shell> cd bin
shell> ./zabbix_server
Etape 12
Démarrer l'agent
shell> cd bin
shell> ./zabbix_agentd
Le proxy ZABBIX est un processus spécial. Il n'est pas nécessaire pour démarrer le processus.
Etape 1
Ceci est l'utilisateur qui sera utilisé par le Proxy. Pour une utilisation en production, vous devez créer
un compte dédié non privilégié ( 'zabbix' est couramment utilisé). Exécuter ZABBIX Proxy en tant que
'root', 'bin', ou tout autre compte avec des droits spéciaux est un risque de sécurité. Ne faites pas ça!
Le processus Proxy ZABBIX (zabbix_proxy) est protégé contre son exécution sous le compte root.
Etape 2
Etape 3
ZABBIX est livré avec des scripts SQL utilisés pour créer le schéma de la base de données requis et
pour mettre en place une configuration par défaut. Il y a des scripts séparés pour MySQL, Oracle,
Post-greSQL et SQLite.
Pour MySQL:
Pour Oracle (On admet que l'utilisateur zabbix avec pour mot de passe password existe déjà et
possède les permissions pour créer des objets dans la base de données):
shell> cd create/schema
shell> cat oracle.sql | sqlplus zabbix/password >out.log
shell> cd ../data
shell> cat data.sql | sqlplus zabbix/password >out.log
shell> cat images_oracle.sql | sqlplus zabbix/password >>out.log
Pour PostgreSQL:
Pour SQLite:
shell> cd create/schema
shell> cat sqlite.sql | sqlite3 /var/lib/sqlite/zabbix.db
shell> cd ../data
Etape 4
Les sources doivent être compilées pour activer la compilation des processus du Proxy ZABBIX. Pour
configurer la source pour le Proxy, vous devez spécifier la base de données qui sera utilisée.
ou
ou
Cependant, si vous voulez compiler les binaires clients avec les binaires serveurs, utilisez:
Etape 5
Par défaut,
make install
installera tous les fichier dans /usr/local/bin, /usr/local/lib etc. Vous pouvez spécifier un préfixe
d'installation autre que /usr/local en utilisant –prefix
Etape 6
Configurer /etc/services
Cette étape n'est pas réellement nécessaire. Cependant, elle est recommandée. Sur les machines
clientes (supervisées), ajouter les lignes suivantes au fichier /etc/services:
zabbix_agent 10050/tcp
zabbix_trap 10051/tcp
Etape 7
Configurer /etc/inetd.conf
Si vous prévoyez d'utiliser zabbix_agent à la place de zabbix_agentd qui est l'agent recommandé, La
ligne suivante doit être ajoutée:
Redémarrer inetd
Etape 8
Configurer /etc/zabbix/zabbix_proxy.conf
Pour les petites installations (jusqu'à dix hôtes superviés), les paramètres par défaut sont suffisants.
Cependant, Vous devriez changer ces paramètres pour optimiser les performances de ZABBIX. Voir la
section [Performance tuning] pour plus de détails. Assurez-vous que les paramètres Hostname et
Server sont correctement configurés. Vous pouvez utiliser le fichier misc/conf/zabbix_proxy.conf
comme exemple.
Etape 9
Démarrage de zabbix_proxy:
shell> cd sbin
shell> ./zabbix_proxy
Côté client
Etape 1
Ceci est l'utilisateur utlisisé par l'agent. Pour une utilisation en production, vous devriez créer un
compte dédié sans privilège (“zabbix” est couramment utilisé). L'agent ZABBIX possède une
protection contre son utilisation sous le compte root.
Etape 2
Etape 3
Utiliser l'option –enable-static pour lier de façon statique les librairies. Si vous prévoyiez de distribuer
les binaires compilés sur les différents hôtes, vous devez utiliser cette option pour faire fonctionner
ces binaires sans les librairies requises.
Etape 4
Installer l'agent
shell> make
Copier les binaires crée depuis bin/ vers /opt/zabbix/bin ou un autre repertoire. Les autres repertoires
communs sont /usr/local/bin ou /usr/local/zabbix/bin.
Etape 5
Configurer /etc/services
Cette étape n'est pas réellement nécessaire. Cependant, elle est recommandée.
Sur la machine cliente (supervisée), ajouter les lignes suivantes au fichier /etc/services:
zabbix_agent 10050/tcp
zabbix_trap 10051/tcp
Etape 6
Configurer /etc/inetd.conf
Si vous prévoyez d'utiliser zabbix_agent à la place de zabbix_agentd qui est l'agent recommandé, La
ligne suivante doit être ajoutée:
Redémarrer inetd
Etape 7
Configure /etc/zabbix/zabbix_agent.conf
Il est nécessaire de configurer ce fichier pour chaque hôte qui possède zabbix_agent d'installé. Le
fichier peut contenir l'adresse IP du serveur ZABBIX. Les connexions depuis un autre hôte seront
refusées. A noter, qu'aucun caractère de fin de ligne ne doit être présent dans le fichier.
Etape 8
Configurer /etc/zabbix/zabbix_agentd.conf
Il est nécessaire de configurer ce fichier pour chaque hôte qui possède zabbix_agentd d'installé. Le
fichier peut contenir l'adresse IP du serveur ZABBIX. Les connexions depuis un autre hôte seront
refusées. Vous pouvez utiliser le fichier misc/conf/zabbix_agentd.conf comme exemple.
Etape 9
shell> /opt/zabbix/bin/zabbix_agentd
Vous ne devez pas utiliser zabbix_agentd si vous avez choisi d'utiliser zabbix_agent!
Assurez-vous que votre système autorise l'allocation de 2Mo de mémoire partagée. Dans le cas
contraire, l'agent pourrait ne pas démarrer et vous verriez “Can't allocate shared memory for
collector.” dans le fichier log de l'agent. Cela peut se produire sur Solaris 8.
Etape 1
Etape 2
Etape 3
Etape 4
Configurer les paramètres de la base de données. La base de données ZABBIX doit déjà être créée.
Etape 5
Etape 6
Etape 7
Etape 8
Terminer l'installation.
Etape 9
shell> ./zabbix_server –n 1
Cela va convertir les données de la base de donées pour les utiliser avec Node ID '1' et aussi ajouter
un nœud local.
Etape 10
L'interface ZABBIX est prête! L'utilisateur par défaut est Admin, password zabbix.
La procédure de mise à niveau est assez simple. Les nouveaux binaires et les fichiers de l'interface
doivent être installés suivant les dernières instructions d'installation. Afin de mettre à jour la structure
de la base de données, les étapes suivantes doivent être effectuées.
La procédure de mise à niveau peut durer de 0 seconde (si aucun patch n'est requis) à plusieurs
heures. A noter qu'avant d'appliquer le patch sur la base de données, tous les processus ZABBIX
doivent être arrêtés.
La mise à niveau de la base de données est habituellement requise pour les mises à niveau depuis
une des principales versions stables vers une autre. Par exemple, depuis 1.4.x vers 1.6.x.
Pour les installations en production, une sauvegarde de la base de données est nécessaire!
2009/11/12 15:23
La procédure de mise à niveau est assez simple. Les nouveaux binaires et les fichiers de l'interface
doivent être installés suivant les dernières instructions d'installation. Afin de mettre à jour la structure
de la base de données, les étapes suivantes doivent être effectuées.
La procédure de mise à niveau peut durer de 0 seconde (si aucun patch n'est requis) à plusieurs
Zabbix Documentation 1.8 - https://www.zabbix.com/documentation/1.8/
Last update: 2014/09/25 14:43 fr:manual:installation https://www.zabbix.com/documentation/1.8/fr/manual/installation
heures. Elle peut donc se montrer extremement longue selon la taille de la base de données. A noter
qu'avant d'appliquer le patch sur la base de données, tous les processus ZABBIX doivent être arrêtés.
La mise à niveau de la base de données est habituellement requise pour les mises à niveau depuis
une des principales versions stables vers une autre. Par exemple, depuis 1.4.x vers 1.6.x.
Pour les installations en production, une sauvegarde de la base de données est nécessaire!
Placez-vous dans le répertoire upgrades/dbpatches. Dans ce répertoire, tous les sous-dossiers sont
nommés en fonction de la version de la mise à niveau (e.g. 1.0beta3_to_1.0beta4). Placez-vous dans
le répertoire qui correspond à la mise à jour que vous désirez effectuer (si vous désirez mise à jour
sur plusieurs versions exemple de la 1.4.x vers 1.8, vous devrez appliquer les mises à jour une par
une: 1.4.x =⇒ 1.6.x =⇒ 1.8). En fonction de la base de données utilisée:
ou
Pour finir, lire les notes concernant la version pour toutes procédures et informations
supplémentaires.
2009/11/13 09:19
From:
https://www.zabbix.com/documentation/1.8/ - Zabbix Documentation 1.8
Permanent link:
https://www.zabbix.com/documentation/1.8/fr/manual/installation