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:
Version 3.22 ou supérieure requise.
Les en-têtes et librairies Sqlora8 sont requis.
Version 7.0.2 ou supérieure requise. Pensez à utiliser PostgreSQL 8.x pour de meilleures performances.
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.
Contient ce manuel au format PDF
Contient les sources pour tous les processus ZABBIX excepté les fichier concernants l'interface.
Contient les Makefiles et les sources pour zabbix_server.
Contient les Makefiles et les sources pour zabbix_agent et zabbix_agentd.
Contient les Makefiles et les sources pour zabbix_get.
Contient les Makefiles et les sources pour zabbix_sender.
Contient les fichiers include de ZABBIX.
Contient les scripts de démarrage pour les différentes plateformes.
Contient les fichiers de l'interface PHP.
Contient les scripts SQL pour la création de la base de données.
Contient les Schémas de création de la base de données
Contient les données pour la création de la base de données.
Contient les procédures de mise à niveau pour les différentes versions de ZABBIX.
Côté serveur
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.
Extraction des sources ZABBIX
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.
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.
Pour tout recompiler (avec make) et installer
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
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
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
Modifier les paramètres par défaut des fichiers de configuration
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.
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.
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. .
Démarrer les processus serveurs
Exécuter zabbix_server sur le serveur.
Démarrer l'agent
Exécuter zabbix_agentd ou c'est nécessaire.
Le proxy ZABBIX est un processus spécial. Il n'est pas nécessaire pour démarrer le processus.
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.
Extraction des sources ZABBIX
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):
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.
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.
Pour tout recompiler (avec make) et installer
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
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:
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
Modifier les paramètres par défaut des fichiers de configuration
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.
Démarrer le processus du Proxy
Démarrage de zabbix_proxy:
Côté client
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.
Extraction des sources ZABBIX
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:
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.
Installer l'agent
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.
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:
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
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.
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.
Démarrer zabbix_agentd sur toutes les machines supervisées
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.
Faire pointer votre navigateur sur l'URL de ZABBIX.
Lire et accepter GPL v2.
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. |
Configurer les paramètres de la base de données. La base de données ZABBIX doit déjà être créée.
Entrer les informations sur le serveur ZABBIX.
Voir le résumé des paramètres.
Télécharger le fichier de configuration et le placer dans conf/.
Terminer l'installation.
Pour la supervision distribuée uniquement!
Si vous utilisez un environnement distribué, vous devez exécuter:
Où Node ID est un identifiant de nœud unique. Par exemple:
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.
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!