2 Installation
1 Comment obtenir Zabbix
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.
2 Prérequis
2.1 Prérequis matériels
2.1.1 Prérequis pour la mémoire
ZABBIX requiert à la fois de la mémoire physique et de la mémoire disque. 128 MB de mémoire physique et 256 MB d'espace disque libre peuvent être suffisant. Cependant, la valeur de la mémoire disque requise dépend évidement du nombre d'hôtes ainsi que des paramètres qui seront supervisé. Si vous prévoyiez de garder un long historique des paramètres supervisés, il sera peut-être nécessaire d'envisager des valeurs en Gigabytes pour avoir assez d'espace pour stocker l'historique dans la base de données.
Chaque démon ZABBIX nécessite plusieurs connexions au serveur de base de données. La valeur de la mémoire allouée pour les connexions dépend de la configuration du moteur de la base de données.
2.1.2 Prérequis CPU
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.
2.1.3 Autres matériels
Un port de communication série ainsi qu'un modem GSM sont nécessaires pour utiliser les notifications par SMS émis par ZABBIX.
2.1.4 Exemples de configurations matérielles
Le tableau fournis plusieurs exemples de configurations matérielles:
| Nom | Plateforme | CPU/Mémoire | Base de données | Hôtes supervisés |
|---|---|---|---|---|
| Small | Ubuntu Linux | PII 350MHz 256MB | MySQL MyISAM | 20 |
| Medium | Ubuntu Linux 64 bit | AMD Athlon 3200+ 2GB | MySQL InnoDB | 500 |
| Large | Ubuntu Linux 64 bit | Intel Dual Core 6400 | 4GB RAID10 MySQL InnoDB or PostgreSQL | >1000 |
| Very large | RedHat Enterprise | Intel Xeon 2xCPU 8GB | Fast RAID10 MySQL InnoDB or PostgreSQL | >10000 |
2.2 Plateformes supportées
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)
2.3 Prérequis logiciels
ZABBIX est construit autour du serveur web Apache, d'un moteur de base de données et du langage PHP.
Les logiciels suivant sont requis pour faire fonctionner ZABBIX:
| Logiciel | Version | Commentaires |
|---|---|---|
| Apache | 1.3.12 ou supérieure | |
| PHP | 5.2 ou supérieure | |
| PHP modules: php-gd |
GD 2.0 ou supérieure | Le module PHP GD doit sup-porter le format d'image PNG. |
| PHP bc support | php-bcmath, –enable-bcmath | |
| PHP socket support | php-net-socket, –enable-sockets. Requis pour le support des scripts utilisateurs. | |
| MySQL php-mysql |
3.22 ou supérieure | Requis si MySQL est utilisé comme SGBD pour ZABBIX. |
| Oracle php-oci8 |
Requis si Oracle est utilisé comme SGBD pour ZABBIX. | |
| PostgreSQL php-pgsql |
7.0.2 ou supérieure | Requis si postgreSQl est utili-sé comme SGBD pour ZABBIX.. Il est a noter qu'utiliser Post-greSQL version 8.x ou supé-rieure apporte de meilleures performances. |
| SQLite php-sqlite3 |
3.3.5 ou supérieure | Requis si SQlite est utilisé comme SGBD pour ZABBIX. |
2.3.1 Navigateur Web pour le client
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..
2.4 Prérequis serveur
| Prérequis | Description |
|---|---|
| OpenIPMI | Requis pour le support d'IPMI |
| libssh2 | Requis pour le support du SSH |
2.5 Choix du moteur de base de données
Le serveur ZABBIX et Proxy supportent quatre moteurs de base de données:
-
MySQL
-
Oracle
-
PostgreSQL
-
SQLite
2.6 Taille de la base de données
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:
-
Nombre de valeurs traitées par seconde
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.
-
Paramètres de l'Housekeeper pour l'historique
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.
-
Paramètres de l'Housekeeper pour les tendances (trends)
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.
-
Paramètres de l'Housekeeper pour les événements
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:
| Paramètre | Formule pour l'espace disque requis (en octets) |
|---|---|
| Configuration de ZABBIX | Taille fixe. Normalement 10 Mo ou moins. |
| Historique | jours*(items/taux de rafraichissement)*24*3600*octets items: nombre d'items jours: nombre de jours de conservation de l'historique taux de rafraîchissment: Moyenne du taux de rafraîchissement des items octets: nombre d'octets nécessaire pour conserver une seule valeur, dépend du moteur de base de données, normalement 50 octets. |
| Tendances | jours*(items/1800)*24*3600*octets items: nombre d'items jours: nombre de jours de conservation de l'historique octets: nombre d'octets nécessaire pour conserver une seule tendance, dépend du moteur de base de données, normalement 128 octets. |
| Evénements | Jours*événements*24*3600*octets événements: nombre d'événements par se-conde. Un événement par seconde dans le pire des scénarios jours: nombre de jours de conservation de l'historique. octets: nombre d'octets nécessaire pour conserver un seul événement, dépend du moteur de base de données, normalement 130 octets. |
Donc, L'espace disque total requis peut-être calculé par:
Configuration + Historique + Tendances + Evé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 jusqu'à un certain point, qui dépends des paramètres de l'Housekeeper
2.7 Synchronisation du temps
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.
3 Composants
3.1 Composants de ZABBIX
ZABBIX se compose de plusieurs composants logiciels majeurs, dont les rôles sont décrit ci-dessous.
3.2 Serveur ZABBIX
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.
3.3 Proxy ZABBIX
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.
3.4 Agent ZABBIX
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.
3.5 Interface Web
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.
4 Installation depuis Les Sources
4.1 Prérequis logiciels
L'installation de Zabbix serveur ou agent depuis les sources requiert des logiciels additionnels.
Les logiciels suivant sont requis pour compiler Zabbix:
Un des moteurs de base de données suivant:
-
En-têtes et librairies MySQL
Version 3.22 ou supérieure requise.
-
En-têtes et librairies Oracle
Les en-têtes et librairies Sqlora8 sont requis.
-
En-têtes et librairies PostgreSQL
Version 7.0.2 ou supérieure requise. Pensez à utiliser PostgreSQL 8.x pour de meilleures performances.
-
En-têtes et librairies SQLite
Version 3.3.5 ou supérieure requise.
Librairies et fichiers d'entête NET-SNMP (ou UCD-SNMP)
Requis pour le support du SNMP. Optionnel.
Librairies et fichiers d'entête Iksemel
Requis pour activer la messagerie Jabber. Optionnel.
Librairies et fichiers d'entête Libcurl
Version 7.13.1 ou supérieur requis pour le module de supervision WEB. Optionnel.
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.
4.2 Structure de la distribution ZABBIX
-
docs
Contient ce manuel au format PDF
-
src
Contient les sources pour tous les processus ZABBIX excepté les fichier concernants l'interface.
-
src/zabbix_server
Contient les Makefiles et les sources pour zabbix_server.
-
src/zabbix_agent
Contient les Makefiles et les sources pour zabbix_agent et zabbix_agentd.
-
src/zabbix_get
Contient les Makefiles et les sources pour zabbix_get.
-
src/zabbix_sender
Contient les Makefiles et les sources pour zabbix_sender.
-
include
Contient les fichiers include de ZABBIX.
-
misc
-
misc/init.d
-
Contient les scripts de démarrage pour les différentes plateformes.
-
frontends
-
frontends/php
-
Contient les fichiers de l'interface PHP.
-
create
Contient les scripts SQL pour la création de la base de données.
-
create/schema
Contient les Schémas de création de la base de données
-
create/data
Contient les données pour la création de la base de données.
-
upgrades
Contient les procédures de mise à niveau pour les différentes versions de ZABBIX.
4.3 ZABBIX Server
Côté serveur
Etape 1
Créer le compte du super-utilisateur ZABBIX
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!
Etape 2
Extraction des sources ZABBIX
shell> gunzip zabbix-1.6.tar.gz && tar -xvf zabbix-1.6.tar
Etape 3
Créer la base de données ZABBIX
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:
shell> mysql -u<username> -p<password> mysql> create database zabbix character set utf8; mysql> quit; shell> cd create/schema shell> cat mysql.sql | mysql -u<username> -p<password> zabbix shell> cd ../data shell> cat data.sql | mysql -u<username> -p<password> zabbix shell> cat images_mysql.sql | mysql -u<username> -p<password> zabbix
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:
shell> psql -U <username> psql> create database zabbix; psql> \q shell> cd create/schema shell> cat postgresql.sql | psql -U <username> zabbix shell> cd ../data shell> cat data.sql | psql -U <username> zabbix shell> cat images_pgsql.sql | psql -U <username> zabbix
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
Configurer et compiler le code source pour votre système
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.
shell> ./configure --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl # Pour MySQL + Jabber + WEB monitoring
ou
shell> ./configure --enable-server --with-pgsql --with-net-snmp --with-jabber --with-libcurl # Pour Post-greSQL + Jabber + WEB monitoring
ou
shell> ./configure --enable-server --with-oracle=/home/zabbix/sqlora8 --with-net-snmp --with-jabber --with-libcurl # Pour Oracle + Jabber + WEB monitoring
Cependant, si vous voulez compiler les binaires clients avec les binaires serveurs, utilisez:
shell> ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber --with-libcurl
L'option –enable-static peut être utilisée pour forcer la liaison statique.
Etape 5
Pour tout recompiler (avec make) et installer
shell> make install
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:
zabbix-agent 10050/tcp Zabbix Agent zabbix-agent 10050/udp Zabbix Agent zabbix-trapper 10051/tcp Zabbix Trapper zabbix-trapper 10051/udp Zabbix Trapper
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:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
Redémarrer inetd
shell> killall -HUP inetd
Modifier les paramètres par défaut des fichiers de configuration
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.
Vous pouvez utiliser le fichier misc/conf/zabbix_server.conf comme exemple.
.
Etape 11
Démarrer les processus serveurs
Exécuter zabbix_server sur le serveur.
shell> cd bin shell> ./zabbix_server
Etape 12
Démarrer l'agent
Exécuter zabbix_agentd ou c'est nécessaire.
shell> cd bin shell> ./zabbix_agentd
4.4 Proxy Zabbix
Le proxy ZABBIX est un processus spécial. Il n'est pas nécessaire pour démarrer le processus.
Etape 1
Créer le compte du super-utilisateur ZABBIX
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!
Etape 2
Extraction des sources ZABBIX
shell> gunzip zabbix-1.6.tar.gz && tar -xvf zabbix-1.6.tar
Etape 3
Créer la base de données ZABBIX. Optionnel.
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:
shell> mysql -u<username> -p<password> mysql> create database zabbix; mysql> quit; shell> cd create/schema shell> cat mysql.sql | mysql -u<username> -p<password> zabbix shell> cd ../data shell> cat data.sql | mysql -u<username> -p<password> zabbix shell> cat images_mysql.sql | mysql -u<username> -p<password> zabbix
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:
shell> psql -U <username> psql> create database zabbix; psql> \q shell> cd create/schema shell> cat postgresql.sql | psql -U <username> zabbix shell> cd ../data shell> cat data.sql | psql -U <username> zabbix shell> cat images_pgsql.sql | psql -U <username> zabbix
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
Configurer et compiler le code source pour votre système
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.
shell> ./configure --enable-proxy --with-mysql --with-net-snmp –-with-libcurl # Pour MySQL + WEB moni-toring
ou
shell> ./configure --enable-proxy --with-pgsql --with-net-snmp –-with-libcurl # Pour PostgreSQL + WEB monitoring
ou
shell> ./configure --enable-proxy --with-oracle=/home/zabbix/sqlora8 --with-net-snmp –-with-libcurl # Pour Oracle + WEB monitoring
Cependant, si vous voulez compiler les binaires clients avec les binaires serveurs, utilisez:
shell> ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber --with-libcurl
L'option –enable-static peut être utilisée pour forcer la liaison statique.
Etape 5
Pour tout recompiler (avec make) et installer
shell> make install
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:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
Redémarrer inetd
shell> killall -HUP inetd
Modifier les paramètres par défaut des fichiers de configuration
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émarrer le processus du Proxy
Démarrage de zabbix_proxy:
shell> cd sbin shell> ./zabbix_proxy
4.5 Agent ZABBIX
Côté client
Etape 1
Créer le compte ZABBIX
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
Extraction des sources ZABBIX
shell> gunzip zabbix-1.6.tar.gz && tar xvf zabbix-1.6.tar
Etape 3
Configurer et compiler le code source pour votre système
Les sources doivent être compilées pour le client uniquement.
Pour configurer les sources pour le client:
shell> ./configure --enable-agent
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:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
Redémarrer inetd
shell> killall -HUP 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.
Vous pouvez utiliser le fichier misc/conf/zabbix_agent.conf comme exemple.
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
Démarrer zabbix_agentd sur toutes les machines supervisées
shell> /opt/zabbix/bin/zabbix_agentd
4.6 Interface WEB ZABBIX
Etape 1
Etape 2
Etape 3
Assurez-vous que tous les prérequis logiciels sont remplis.
| Prérequis | Valeur minimum | Description |
|---|---|---|
| PHP version | 4.3.0 | |
| PHP Memory limit | 8MB | Dans php.ini: memory_limit = 128M |
| PHP post max size | 8MB | Dans php.ini: post_max_size = 8M |
| PHP max execution time | 300 secondes | Dans php.ini: max_execution_time = 300 |
| PHP database support | A choisir: MySQL, Oracle, PostgreSQL, SQLite | Un des modules suivants doit être installé: php-mysql, php-sqlora8, php-pgsql, php-sqlite3 |
| PHP BC math | Tous | Compiled in PHP5. |
| GD Version | 2.0 ou supérieure | Module php-gd. |
| Image formats | au moins PNG | Module php-gd. |
Etape 4
Etape 5
Etape 6
Etape 7
Etape 8
Etape 9
Pour la supervision distribuée uniquement!
Si vous utilisez un environnement distribué, vous devez exécuter:
shell> ./zabbix_server –n <nodeid>
Où Node ID est un identifiant de nœud unique. Par exemple:
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
4.7 Mise à niveau
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!
5 Mise à niveau
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. 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!
Mise à niveau de la base de données
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:
shell> cd mysql; cat patch.sql |mysql zabbix -u<username> -p<password>
ou
shell> cd postgresql; cat patch.sql|psql -U <username> zabbix
Ne pas oublier de mettre à jour les fichiers PHP de l'interface.
Pour finir, lire les notes concernant la version pour toutes procédures et informations supplémentaires.
Data source: Zabbix










