This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

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.

Habituellement fournis avec mysql-dev, postgresql-dev, sqlite3 paquets-dev.

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!

Le processus serveur ZABBIX (zabbix_server) est protégé contre son exécution 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

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

La base de données sera automatiquement créée si elle n'existe pas.

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

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:

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!

Le processus Proxy ZABBIX (zabbix_proxy) est protégé contre son exécution 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

Créer la base de données ZABBIX. Optionnel. ::: noteclassic Le processus Proxy ZABBIX va créer automatiquement la base de données au premier démarrage si elle n'existe pas. Dans le cas contraire, la base de données existante sera utilisée. La création automatique de la base de données est supportée pour SQLite uniquement. ::: 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

Vérifier le fichier out.log pour visualiser les messages d'erreurs.

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

La base de données sera automatiquement créée si elle n'existe pas.

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

Utiliser l'option --with-oracle pour specifier la localisation de la bibliothèque sqlora8. La bibliothèque 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:

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

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:

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

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.

4.6 Interface WEB ZABBIX

Etape 1

Faire pointer votre navigateur sur l'URL de ZABBIX.

Etape 2

Lire et accepter GPL v2.

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

Configurer les paramètres de la base de données. La base de données ZABBIX doit déjà être créée.

Etape 5

Entrer les informations sur le serveur ZABBIX.

Etape 6

Voir le résumé des paramètres.

Etape 7

Télécharger le fichier de configuration et le placer dans conf/.

Etape 8

Terminer l'installation.

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

L'interface ZABBIX est prête! L'utilisateur par défaut est Admin, password zabbix.

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!