Installation d'un superviseur ZABBIX - Bienvenue … serveur Installation d‘un superviseur ZABBIX...

50
Installation d’un superviseur ZABBIX Par LoiselJP Le 17/06/2013

Transcript of Installation d'un superviseur ZABBIX - Bienvenue … serveur Installation d‘un superviseur ZABBIX...

Installation d’un superviseur ZABBIX

Par LoiselJP

Le 17/06/2013

Administration serveur Installation d’un superviseur ZABBIX page 2/50

LoiselJP ©2013

1 Objectifs

Parmi les différents rôles de l’administrateur informatique il en est certains qui auront un rapport plus ou moins

proche du rôle réel qu’on s’attend dans ce genre de métier.

Parmi les différents rôles du gestionnaire de parc, on trouve celui de gérer le parc matériel et un second qui

consiste à surveiller (on parle de veille) le matériel et les différentes connexions entre ces différents matériels.

Pour surveiller le réseau et les différents matériels s’y trouvant il existe plusieurs solutions libres, dans ce tutoriel,

c’est le logiciel ZABBIX qui va nous intéresser.

Il est assez rare de disposer d’un serveur juste pour y effectuer un suivi de parc, de même qu’il est assez rare de

disposer d’un serveur pour gérer et suivre les connexions réseau.

Disposer d’un serveur qui cumulerait ces fonctions est déjà plus facilement abordable d’autant plus qu’un simple

PC assez ancien peut très bien répondre aux faibles ressources que demande ce logiciel.

Administration serveur Installation d’un superviseur ZABBIX page 3/50

LoiselJP ©2013

2 Sommaire

1 Objectifs .................................................................................................................................................................... 2

2 Sommaire .................................................................................................................................................................. 3

3 Prérequis ................................................................................................................................................................... 4

4 Installation du serveur ............................................................................................................................................... 4

Installer les outils d’administration.......................................................................................................................... 7

Installer et utiliser SSH ........................................................................................................................................ 7

Installer Webmin.................................................................................................................................................. 8

Placer une adresse IP fixe ...................................................................................................................................... 11

Améliorer l’affichage ................................................................................................................................................. 13

5 Installer le serveur WEB (Apache / PHP / Mysql) ................................................................................................. 13

Installer PHP et Mysql ........................................................................................................................................... 14

Configurer Mysql avec PHPMyadmin .................................................................................................................. 17

6 Installer Zabbix ....................................................................................................................................................... 18

Mettre en place les prérequis ................................................................................................................................. 18

Récupérer la source du programme ....................................................................................................................... 19

Créer une base de données pour Zabbix ................................................................................................................ 20

Depuis phpmyadmin .......................................................................................................................................... 20

En ligne de commande ....................................................................................................................................... 21

Mettre en place la base de donnée « zabbix ».................................................................................................... 22

Mettre en place le programme ............................................................................................................................... 23

Configurer le programme....................................................................................................................................... 24

Vériifer le fonctionnement du serveur. .............................................................................................................. 25

Configurer le « frontend » ................................................................................................................................. 26

Se connecter au front end................................................................................................................................... 27

Configuration initiale de Zabbix ............................................................................................................................ 33

7 Utilisation et administration de zabbix ................................................................................................................... 34

Installer l’agent Zabbix .......................................................................................................................................... 34

Ajout d'un hôte ....................................................................................................................................................... 36

Définition de nouveaux éléments ...................................................................................................................... 37

Les clés disponibles ........................................................................................................................................... 37

Exemples de surveillance....................................................................................................................................... 38

Surveillance d'un disque .................................................................................................................................... 38

Surveillance d'un fichier .................................................................................................................................... 40

Cloner un élément .............................................................................................................................................. 40

Les écrans .............................................................................................................................................................. 41 Les actions ............................................................................................................................................................. 43

La découverte ......................................................................................................................................................... 43

Créer une règle de découverte ........................................................................................................................... 43

8 Ressources supplémentaires ................................................................................................................................... 45

En cas d’oubli de mot de passe .............................................................................................................................. 45

Création d'une nouvelle ressource ......................................................................................................................... 46

Création d'une nouvelle ressource sur l'agent .................................................................................................... 46

Création de la nouvelle ressource sur le serveur................................................................................................ 47

Taille d'un répertoire .............................................................................................................................................. 47

9 Conclusion .............................................................................................................................................................. 48

©Propriété .................................................................................................................................................................. 50

Licence ................................................................................................................................................................... 50

Administration serveur Installation d’un superviseur ZABBIX page 4/50

LoiselJP ©2013

3 Prérequis

Ce tutoriel s’adresse à des gestionnaires de parc (ou futurs gestionnaire). On peut alors supposer que le lecteur (vous) aura

quelques connaissances de base sur l’utilisation la gestion d’un serveur WEB, ce qui permettra à ce document de se limiter aux différentes commandes et modifications de fichier de configuration.

Il n'est donc pas question ici de voir ou revoir toutes les bases de Linux. Pour appliquer cette opération, on suppose alors que

sont acquis :

- L'installation de base d'un poste de travail linux,

- L'installation de logiciel:

- Principe des paquets et leurs dépendances,

- Les "dépôts" de paquets,

- Principe d'installation manuelle,

- Les principales commandes du shell,

- Utilisation du programme man et l'aide des commandes (si vous ne savez pas appliquer ce qui est demandé),

Pour le besoin de ce tutoriel, la machine utilisée ne demande aucune particularité, le serveur web utilisé ne demandera aucun

espace disque défini (quelques dizaines de Mo suffiront). Le serveur Web étant installé, on pourra envisager d’y installer un

Intranet d’entreprise, dans le cas contraire un poste « recyclé » pour la circonstance sera à même de remplir la mission qui lui sera confié.

4 Installation du serveur

Chacun choisira la distribution de son choix, dans le cas présent toute l'installation est donnée pour une version à base de

Debian (on recherche un serveur et non un poste de travail).

Cette version de Linux est plus destinée à un usage de serveur. D’autant plus qu’aucune interface graphique n’est

nécessaire, ZABBIX est une application WEB qui pourra utiliser quelques plugins sur le client, enfin, Debian est tout

particulièrement prisée par les administrateurs pour ce type d’emploi.

Ici on effectuera une installation suivant ce modèle:

# Installation à partir d'un CDrom netinstall Debian 7 (la dernière en date au jour de la création de ce tutoriel)

# Avec en sélection des paquets suivants: aucun.

Administration serveur Installation d’un superviseur ZABBIX page 5/50

LoiselJP ©2013

Lorsque le choix de logiciel sera proposé, une installation minimale sera réalisée…

Administration serveur Installation d’un superviseur ZABBIX page 6/50

LoiselJP ©2013

A ce stade, le domaine n’a pas d’importance (au besoin, il sera placé ultérieurement)

Au cours de l’installation de ZABBIX, il va être nécessaire de créer un d’utilisateur ainsi qu’un groupe « Zabbix » à ce stade,

vous pouvez créer un utilisateur quelconque (pour l’occasion, on créera un utilisateur « utilisateur »).

Le reste de l’installation pourra se faire de manière très classique (il sera possible de tout mettre dans la même partition,

même si cela est déconseillé).

Administration serveur Installation d’un superviseur ZABBIX page 7/50

LoiselJP ©2013

Installer les outils d’administration

Ce tutoriel s’adresse à des administrateurs (ou futurs administrateurs), quelques outils d’administrations sont donc

nécessaires.

Installer et utiliser SSH

SSH est une solution de prise en main à distance sécurisée, toutes les commandes pourront être traitées par ce moyen. D’autant plus que le serveur ne dispose pas d’interface graphique…

Pour installer OpenSSH on pourra utiliser la commande suivante:

apt-get install openssh-server

Ou pendant l’installation, on pourra choisir d’installer le serveur SSH :

Putty qui est un logiciel libre vous permet cela en toute simplicité:

Administration serveur Installation d’un superviseur ZABBIX page 8/50

LoiselJP ©2013

Depuis un autre poste, par une fenêtre de commande, vous pourrez gérer votre serveur sans besoin de travailler

directement dessus.

Dès lors que l’on utilise une connexion SSH il sera aisé d’utiliser le copier/coller en prenant directement les commandes de

ce tutoriel.

Sélectionner le texte (ou la commande à taper), copiez la dans le presse papier, revenez dans la fenêtre « putty » faites un

clic droit !

(Copier)

(Coller)

Installer Webmin

Web ne sera pas réellement utilisé dans ce tutoriel, mais il est important d’en toucher un petit mot. Ce tutoriel étant dédié

à l’administration (en particulier au suivi) il serait dommage de ne pas en parler un minimum.

Webmin est l’un des outils d’administration Linux les plus populaires. Notre serveur ne dispose pas d’interface graphique,

Webmin s’impose…

Installer les prérequis pour Webmin (« aptitude » et « zip » n’en font pas partie mais seront utilisé dans divers cas…

apt-get install aptitude zip libnet-ssleay-perl libauthen-pam-perl libio-pty-perl apt-show-versions

On pourra aussi installer python-minimal et openssl…

Administration serveur Installation d’un superviseur ZABBIX page 9/50

LoiselJP ©2013

Télécharger Webmin dans un dossier où il pourra être décompressé avant sa suppression :

cd /tmp

wget http://sourceforge.net/projects/webadmin/files/webmin/1.620/webmin_1.620_all.deb

Installation de webmin

dpkg -i webmin_1.620_all.deb

En cas de souci cette commande réglera les différents soucis de dépendances (cela devrait être le cas si vous n’avez pas

installé Python par exemple avant)…

apt-get install -f

Administration serveur Installation d’un superviseur ZABBIX page 10/50

LoiselJP ©2013

Après installation le chemin d’accès sera indiqué par l’installation…

L’accès à Webmin se fait par:

https://ip_ou_nom_du_serveur:10000/

Après avoir confirmé le certificat, se connecter (en root avec votre mot de passe)

Administration serveur Installation d’un superviseur ZABBIX page 11/50

LoiselJP ©2013

Passer dans « Webmin », « Change Language and Theme » passer en « french » (ça peut aider pour les non anglophones)

Placer une adresse IP fixe

En fonction de l’organisation de la structure dans laquelle se trouve le serveur, placer une adresse IP fixe peut être

intéressant. D’autant que le serveur derrière un serveur DHCP peut voir son adresse IP régulièrement modifiée, le serveur

n’ayant pas d’interface graphique, la plupart des accès se feront par le réseau (mais c’est une question de choix).

Pour placer une adresse IP fixe :

nano /etc/network/interfaces

Placer l’ip fixe dans le fichier de configuration

# Interface reseau de bouclage

auto lo

iface lo inet loopback

address 127.0.0.1

Administration serveur Installation d’un superviseur ZABBIX page 12/50

LoiselJP ©2013

netmask 255.0.0.0

# carte reseau en ip statique (ou auto)

allow-hotplug eth0

iface eth0 inet static

# <- a adapter suivant le besoin

address 192.168.100.148

broadcast 192.168.100.255

netmask 255.255.255.0

gateway 192.168.100.100

dns-nameservers 192.168.100.100

auto eth0

Puis redémarrer l’interface réseau

/etc/init.d/networking restart

Ou

service networking restart

L’IP a été placée comme on le voulait.

Administration serveur Installation d’un superviseur ZABBIX page 13/50

LoiselJP ©2013

Améliorer l’affichage

Vous l’aurez peut-être rencontré certaines versions de Linux proposent les listes en couleur et quelques commandes comme

« ll » qui remplace aisément « ls –l ».

Ces fonctions sont comprises dans le système mais non activées par défaut « ll » est un alias de « ls –l ». Ces fonctions pourront être activées à partir du fichier « .bashrc » du dossier de l’utilisateur (ici, c’est le compte root qui nous intéresse) :

nano /root/.bashrc

Il suffira de décommenter les lignes voulues…

Les couleurs et commandes seront disponibles à la prochaine connexion…

5 Installer le serveur WEB (Apache / PHP / Mysql)

Le serveur est maintenant installé dans sa configuration de base.

Administration serveur Installation d’un superviseur ZABBIX page 14/50

LoiselJP ©2013

Le serveur Web peut maintenant être installé. A cette étape, le système va être laissé dans sa configuration d’origine. Il ne

s’agit que d’installer le serveur Apache et de vérifier son fonctionnement.

Pour installer apache :

apt-get install apache2

On pourra vérifier son fonctionnement et son accès depuis n’importe quel navigateur web à cette adresse :

http://ip_du_serveur

Il l’annonce lui-même : « il fonctionne ! ».

Installer PHP et Mysql

A cette étape PHP et Mysql vont être installés. PHPMyadmin est un très bon outil de configuration et de gestion des bases

de données Mysql, pour installer les paquets nécessaires, il suffira de taper cette commande :

apt-get install mysql-server phpmyadmin

Administration serveur Installation d’un superviseur ZABBIX page 15/50

LoiselJP ©2013

Toutes les bibliothèques de dépendance du paquet seront installées (« php » car le module de gestion est en php, Mysql-

server car c’est le module géré)… en une seule fois tout ce qui sera nécessaire sera installé…

Au cours de l’installation, il va être demandé de fournir un nouveau mot de passe pour MySql :

Qu’il faudra confirmer…

Au cours de l’installation il va être demandé quel serveur Web reconfigurer, si vous avez installé Webmin avant (comme

indiqué dans ce document), il sera proposé Apache2 et lighttpd. Apapche2 car le serveur web est installé avec apache, et

lighttpd car c’est le serveur sécurisé utilisé par Webmin…

On va lui laisser modifier les deux serveurs…

SI aucune base de données existe, phpmyadmin en créera une…

Administration serveur Installation d’un superviseur ZABBIX page 16/50

LoiselJP ©2013

Comme indiqué par la suite si vous êtes déjà un administrateur expérimenté, si la base de donnée est déjà installée,… vous

pouvez choisir de configurer manuellement la base de données Mysql, donc à vous de voir…

C’est le compte root qui s’occupera dans un premier temps de la base de données, si la base de données existe déjà,

donner alors le mot de passe qui va permettre d’y accéder.

Dans le cas contraire, la base de données sera créée et par conséquent, n’a pas besoin d’accès.

A l’étape suivante il va être demandé de créer un mot de passe (à mettre !). Si aucun mot de passe n’est fourni, un mot de

passe aléatoire est créé. Vous serez alors contraint de passer en ligne de commande pour le configurer.

Administration serveur Installation d’un superviseur ZABBIX page 17/50

LoiselJP ©2013

Avec un peu d’expérience l’opération est facile, dans ce tutoriel il s’agit d’installer le serveur Mysql pour en être utilisateur

au travers du logiciel ZABBIX et non d’en devenir administrateur.

Le mot de passe devra être confirmé…

Il arrive parfois de rencontrer une erreur de socket, lors de la création de la base de données…

Parfois mysql-server ne s’est pas installé… il suffira de l’y rajouter

apt-get remove phpmyadmin

apt-get install mysql-server

Puis réinstaller phpmyadmin…

apt-get install phpmyadmin

Dès lors que PHPmyadmin est installé (Avec Mysql…), l’interface de gestion est disponible à l’adresse suivante :

http//nom_ou_ip_du_serveur/phpmyadmin

Configurer Mysql avec PHPMyadmin

Après avoir installé PHPmyadmin, il est possible d’accéder à la gestion des bases par le chemin :

http//nom_ou_ip_du_serveur/phpmyadmin

Administration serveur Installation d’un superviseur ZABBIX page 18/50

LoiselJP ©2013

On y place le compte « root » avec le mot de passe de gestion (demandé au cours de l’installation)

Après connexion l’interface pourra ressembler à ceci (l’interface change régulièrement).

6 Installer Zabbix

Ce tutoriel n’a pas pour prétention d’installer et configurer un serveur Web, sinon, il serait encore nécessaire d’installer un

antivirus, un pare-feu, configurer les ACLs, configurer les listes d’accès ssh, configurer les DNS, PHP,…

Pour configurer de manière plus poussée, vous pourrez vous reporter au tutoriel «Installation d'un serveur WEB sous Linux».

On pourrait également envisager d’installer ZABBIX depuis un serveur FTP. IL serait alors possible de récupérer le logiciel ZABBIX sur un poste local, décompresser l’archive, puis la transférer sur le serveur.

Bien que cette solution soit envisageable, ici, c’est une installation directement sur le serveur qui va être employée.

Ce chapitre va donc traiter de l’installation de ZABBIX.

Mettre en place les prérequis

Comme la plupart des applications de ce type, il va être nécessaire de créer un nouveau groupe d’utilisateurs ainsi qu’un nouvel utilisateur.

Par convention, on utilise généralement (c’est aussi l’application qui peut le demander, le nom de l’application. Cette disposition évitera tout malentendu.

groupadd -g 9000 zabbix

useradd -u 9000 -g zabbix -d /usr/local/zabbix -c "Utilisateur Zabbix" zabbix

Mettre ensuite un mot de passe à cet utilisateur :

passwd zabbix

Pour une application fraichement installée il ne sera pas nécessaire de mettre à jour les paquets ou les dépôts, pour les

Administration serveur Installation d’un superviseur ZABBIX page 19/50

LoiselJP ©2013

applications moins récentes, il pourra être nécessaire de mettre à jour l’ensemble du système :

apt-get update

apt-get upgrade

La suite consiste à installer les dépendances nécessaires au programme. « mysql-server » est indispensable au bon

fonctionnement de ZABBIX. Le serveur n’apparait pas dans l’installation suivante : on suppose que « mysql-server » a été installé avec phpmyadmin.

apt-get install build-essential checkinstall libmysqlclient15-dev libssl-dev libssh-dev libgnutls-dev libopenipmi-dev

libiksemel-dev snmp libsnmp-dev libnet-snmp-perl libcurl4-gnutls-dev

Récupérer la source du programme

A la création de ce tutoriel, Zabbix 2.0.6 est la dernière version en date du logiciel. Le site support (http://www.zabbix.com) propose les anciennes versions au choix. Cette version restera disponible pour une longue durée.

Les curieux chercheront certainement à installer la dernière version. La rubrique « Download » du site « http://www.zabbix.com » satisfera les plus exigeants à ce sujet.

Comme la solution de mise en place choisie est l’installation directe sur le serveur, il va s’agir de se placer dans un dossier dans lequel on pourra télécharger l’archive, la décompresser puis lancer son installation.

cd /tmp

wget http://freefr.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.6/zabbix-2.0.6.tar.gz

tar xvzf zabbix-2.0.6.tar.gz

cd zabbix-2.0.6

Administration serveur Installation d’un superviseur ZABBIX page 20/50

LoiselJP ©2013

Créer une base de données pour Zabbix

Deux solutions sont possibles pour créer une base de données avec son utilisateur : la plus simple par phpmyadmin (on

l’installe pour ça !) et la seconde en ligne de commande.

Depuis phpmyadmin

Il suffit de se rendre dans « privilèges »

Administration serveur Installation d’un superviseur ZABBIX page 21/50

LoiselJP ©2013

Choisir « Ajouter un utilisateur »

Y entrer « zabbix », sur le serveur « local », lui mettre un « mot de passe » et créer la base de donnée associée (avec tous

les droits).

Après ajout de l’utilisateur on le retrouvera dans les « utilisateurs » et les bases de données…

En ligne de commande

En ligne de commande, l’opération se fait en deux temps : ouvrir mysql en administrateur, intégrer la base de données et son

Administration serveur Installation d’un superviseur ZABBIX page 22/50

LoiselJP ©2013

utilisateur :

mysql -u root -p

Après ouverture de mysql, on intègre les commandes sql directement :

create database zabbix;

grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

exit

Mettre en place la base de donnée « zabbix »

Pour fonctionner « zabbix » a besoin de tables, ces tables et données pourront être intégrées depuis phpmyadmin (on se

connecte sur le compte, puis on lance la fenêtre « sql » dans laquelle on ajoute les données.

Cette fois, c’est plus simple en ligne de commande (on reprend ce qui a été téléchargé) :

mysql -u zabbix -p zabbix < /tmp/zabbix-2.0.6/database/mysql/schema.sql

mysql -u zabbix -p zabbix < /tmp/zabbix-2.0.6/database/mysql/images.sql

mysql -u zabbix -p zabbix < /tmp/zabbix-2.0.6/database/mysql/data.sql

Depuis Mysql on peut maintenant voir les différentes tables créées :

Administration serveur Installation d’un superviseur ZABBIX page 23/50

LoiselJP ©2013

Mettre en place le programme

A ce stade de la création du serveur, il va s’agir de d’installer réellement le programme.

Au cours de l’installation Zabbix va mettre en place des exécutables… ces fichiers exécutable devraient être dans

«/usr/local/sbin», mais ils seront créés en réalité dans «/usr/local/zabbix » deux solution s’offrent les laisser à cet endroit ou

les déplacer après installation (on choisira la première solution).

Avant cette installation, il sera nécessaire de créer quelques dossiers :

mkdir /usr/local/zabbix

mkdir /usr/local/zabbix/etc

mkdir /usr/local/zabbix/var

mkdir /usr/local/zabbix/var/run

mkdir /usr/local/zabbix/var/log

mkdir /usr/local/zabbix/frontend/

Lancer le script de configuration de l’installeur en lui passant les paramètres pour mysql, curl, snmp…

./configure --enable-server --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-jabber --

prefix=/usr/local/zabbix

Si les prérequis et la configuration sont remplis, un message invite à lancer le programme « make install » (le dossier courant

est toujours celui de la décompression des sources d’installation) :

make install

Administration serveur Installation d’un superviseur ZABBIX page 24/50

LoiselJP ©2013

Configurer le programme

Configurer le script de lancement du serveur. Pour cela, copier le raccourci dans /etc/init.d

cp /tmp/zabbix-2.0.6/misc/init.d/debian/zabbix-server /etc/init.d/

Editer le script de démarrage du serveur :

nano /etc/init.d/zabbix-server

Comme vu précédemment, Zabbix devrait s’être installé dans «/usr/local/sbin/ » en réalité on le trouve en

« /usr/local/zabbix/sbin/ » il va donc être nécessaire de diriger le script dans le bon dossier :

Remplacer => DAEMON=/usr/local/sbin/${NAME}

Par => DAEMON=/usr/local/zabbix/sbin/${NAME}

Remplacer => PID=/tmp/$NAME.pid

Par =>PID=/usr/local/zabbix/var/run/$NAME.pid

Rendre le script exécutable :

chmod +x /etc/init.d/zabbix-server

Rendre l’exécution du script par défaut au démarrage du poste de travail :

update-rc.d zabbix-server defaults

Ce paragraphe va permettre de configurer le fichier « zabbix_server.conf », celui-ci étant assez fourni, il sera avant d’être

refait vidé :

echo >/usr/local/zabbix/etc/zabbix_server.conf

nano /usr/local/zabbix/etc/zabbix_server.conf

Administration serveur Installation d’un superviseur ZABBIX page 25/50

LoiselJP ©2013

Le fichier ouvert est donc vide (echo > fichier_a_vider). Placer cette configuration ce qui va demander à «zabbix » d’utiliser

la base de données précédemment créée (avec pour mot de passe zabbix) :

LogFile=/usr/local/zabbix/var/log/zabbix_server.log

PidFile=/usr/local/zabbix/var/run/zabbix_server.pid

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

DBSocket=/var/run/mysqld/mysqld.sock

Les plus téméraires pourront traiter le fichier de configuration d’origine pour l’y inclure les paramètres ci-dessus.

Par mesure de sécurité, mettre les droit en lecture écriture pour l’utilisateur « zabbix » et en lecture pour le groupe :

chmod 640 /usr/local/zabbix/etc/zabbix_server.conf

A ce stade, le fichier de configuration n’appartient pas encore à l’utilisateur « zabbix », ce qui va être corrigé avec cette

commande :

chown -R zabbix:zabbix /usr/local/zabbix*

Ne reste plus qu’à démarrer (ou redémarrer) le serveur.

service zabbix-server start

Vériifer le fonctionnement du serveur.

Dès que le serveur est démarré les logs se remplissent (c’est leur rôle). Il suffit alors d’y vérifier si des erreurs sont visibles :

tail -100 /usr/local/zabbix/var/log/zabbix_server.log

Administration serveur Installation d’un superviseur ZABBIX page 26/50

LoiselJP ©2013

On pourra y lire, entre autres, la configuration des fonctions.

Configurer le « frontend »

Au paragraphe précédent, le serveur à proprement parler a été configuré, maintenant il s’agit de configurer l’interface

d’utilisation du logiciel.

De manière irrévocable, Zabbix a besoin de PHP5, suivant la configuration et l’installation du serveur, php5 sera ou non déjà

installé. Au besoin cette commande réglera la question :

apt-get install apache2 php5 php5-gd php5-mysql

(Il ne manque que le paquet php5…)

Copier ensuite les fichiers du site (car Zabbix est accessible depuis un site PHP) :

cp -R /tmp/zabbix-2.0.6/frontends/php/* /usr/local/zabbix/frontend

Administration serveur Installation d’un superviseur ZABBIX page 27/50

LoiselJP ©2013

Zabbix utilise certains accès au serveur et aux clients qui pourront être lent (due aux différents tests). Cette configuration est

indispensable à son fonctionnement.

Pour cela, éditer le fichier « php.ini » :

nano /etc/php5/apache2/php.ini

Puis modifier les différents paramètres suivant pour obtenir ceci :

max_execution_time = 600

max_input_time = 600

memory_limit = 256M

post_max_size = 32M

upload_max_filesize = 16M

date.timezone = "Europe/Paris"

Lier le « frontend » avec le serveur apache :

ln -s /usr/local/zabbix/frontend /var/www/zabbix

Ici on choisit la solution de lier le front end au serveur , vous pourrez trouver sur le web de nombreux tutoriel présentant un

autre solution qui consiste à configurer le fichier default (« /etc/apache2/sites-available/default ») en proposant un nouveau

chemin d’accès soit par l’intégration d’un nouveau fichier de site web apache ou par l’ajout d’une nouvelle zone dans le

fichier défaut .

Après configuration, il faudra redémarrer le serveur:

service apache2 restart

Se connecter au front end

Administration serveur Installation d’un superviseur ZABBIX page 28/50

LoiselJP ©2013

Après configuration du « frontend » (et entre autre la création du lien), le serveur est accessible à cette adresse :

http://ip_du_serveur/zabbix/

Le « frontend » va pouvoir être installé : cliquer sur « suivant » (next)

Tous les voyants de prérequis devront être au vert pour continuer…

A l’écran suivant, paramétrer le formulaire avec l’utilisateur zabbix créé précédemment (utilisateur « zabbix », mot de passe

« zabbix »)

Administration serveur Installation d’un superviseur ZABBIX page 29/50

LoiselJP ©2013

Le test de connexion doit afficher un « OK ».

On pourra remarquer qu’il est demandé de créer la base manuellement, heureusement que c‘était fait !

Ensuite entrer une adresse ip (heureusement qu’une ip fixe a été mise en place) mais on pourra laisser « localhost »

(l’exécution « php » se fait sur le localhost !).

Administration serveur Installation d’un superviseur ZABBIX page 30/50

LoiselJP ©2013

Après une petite vérification cliquer sur suivant.

A la page suivant il va être nécessaire de créer le fichier suivant (comme indiqué dans la page web):

/usr/local/zabbix/frontend/conf/zabbix.conf.php

La solution la plus facile est de cliquer sur la génération du fichier (« Download configuration file »)

Un fichier est généré…

Administration serveur Installation d’un superviseur ZABBIX page 31/50

LoiselJP ©2013

Editer le fichier de configuration et y injecter le résultat précédent :

nano /usr/local/zabbix/frontend/conf/zabbix.conf.php

Enregistrer le fichier, refaire le test…

Administration serveur Installation d’un superviseur ZABBIX page 32/50

LoiselJP ©2013

Cliquer sur « Finir »

Il est possible maintenant se logger avec le login: Admin et le mot de passe: zabbix

Administration serveur Installation d’un superviseur ZABBIX page 33/50

LoiselJP ©2013

Pour finir on redonne les droits à l’utilisateur Zabbix au répertoire « zabbix ».

chown -R zabbix:zabbix /usr/local/zabbix*

Configuration initiale de Zabbix La première chose à faire une fois logué dans l'interface Web du serveur est de cliquer sur le lien Profile (en haut à droite)

afin de modifier le mot de passe et la langue (Zabbix est traduit en Français).

Ce qui donnera…

Administration serveur Installation d’un superviseur ZABBIX page 34/50

LoiselJP ©2013

7 Utilisation et administration de zabbix

L'utilisation se fait entièrement par l'interface web. Pour y accéder: http://ip_du_serveur/zabbix

Installer l’agent Zabbix

Afin de pouvoir « surveiller » le poste client il sera nécessaire d’installer l’ »Agent Zabbix » sur le poste hôte.

Après avoir téléchargé l’agent (sur « http://www.zabbix.com/download.php »), l’installation se fait en 3 temps. L’installation sera sensiblement identique pour toutes les versions de système d’exploitation.

Décompresser le fichier téléchargé :

Étape 1

Créer le fichier de configuration.

Créer le fichier de configuration « c:\zabbix\conf\zabbix_agentd.conf »,ou le chemin que vous aurez choisi, il possède la

même syntaxe que l'agent UNIX.

Administration serveur Installation d’un superviseur ZABBIX page 35/50

LoiselJP ©2013

Étape 2

Ouvrir une invite de commande, puis se déplacer dans le dossier binaire du fichier « zabbix_agentd.exe » (a choisir en

fonction de l’architecture x86 ou x64).

Installer l'agent en tant que service Windows :

zabbix_agentd.exe --install

Cette syntaxe ne fonctionne que si le fichier de configuration est directement à la racine de « c : » !

Pour utiliser un fichier de configuration autre que « c:/zabbix_agentd.conf », utiliser la syntaxe suivante:

zabbix_agentd.exe --config chemin_complet_du_fichier_de_configuration --install

Ce qui donnera (le service doit s’installer correctement):

Étape 3

Démarrer l'agent. Depuis les outils d’administration le service de l'agent peut être déamrré.

Administration serveur Installation d’un superviseur ZABBIX page 36/50

LoiselJP ©2013

Pour les « accros » de la ligne de commande, il est possible d’utiliser cette commande on est dans le dossier c’est plus facile

aussi):

zabbix_agentd.exe --start

Si le fichier de configuration n’est pas dans « c : » :

zabbix_agentd.exe --config chemin_complet_du_fichier_de_configuration –start

Ajout d'un hôte

Dans la section « Configuration », se placer dans « Hôtes » puis cliquer sur le bouton « Créer un hôte »

Remplir les champs suivant le besoin…

Cliquer sur « Sauver »…

Cliquer sur état permet d’activer ou désactiver la surveillance.

Administration serveur Installation d’un superviseur ZABBIX page 37/50

LoiselJP ©2013

Configurer et ajouter les différents éléments du parc.

Définition de nouveaux éléments

Zabbix propose un ensemble d'éléments qui pourront être surveillés (disque, charge du processeur, mémoire libre etc...), il sera aussi possible de créer son propre élément.

Depuis l’onglet « Eléments », il est possible de voir chacun des éléments préconfigurés ce qui permettra d’avoir une idée de la manière ou ils ont été créés (le serveur Zabbix a ses éléments de base de créés automatiquement).

Chaque élément est créé avec une ou plusieurs clés qui sont disponibles via le protocole snmp ou l'agent Zabbix installé sur l'hôte.

L’agent Zabbix a été configuré et installé en début de ce chapitre, la surveillance se fera donc automatiquement par cet agent.

Les clés disponibles

Lorsqu’un « élément » est créé, il est nécessaire d’entrer « une clé » qui est une fonction qui retournera une valeur au serveur Zabbix.

En cliquant sur le bouton « Eléments », en cliquant sur « Sélectionner » il est possible d’accéder à la liste des clés ainsi qu'à leur description.

Dans « Eléments », « Créer un nouvel élément », il sera possible en sélectionnant les clefs de voir les différents éléments pré-configurés.

Administration serveur Installation d’un superviseur ZABBIX page 38/50

LoiselJP ©2013

Le type d’élément qui nous intéresse est le type d’éléments liés à l’agent installé :

Exemples de surveillance

Ce petit paragraphe va donner quelques exemples de mise en place d’élément de surveillance, on verra comment créer un

nouvel élément, puis comment le « cloner ».

Surveillance d'un disque

Voici un exemple guidé pour créer un champ qui nous donnera la taille du disque « C :\ », pour n'importe quel serveur, on

entend par serveur, toute machine sur laquel est installé l’agent de surveillance et qui sera en mesure de fournir des informations:

Cliquer sur le bouton « Créer un élément »

On pourra sélectionner l’hôte de son choix, on prendra en général le premier de la liste, car, par la suite, les différents éléments sont répercutés sur l’ensemble des serveurs :

Administration serveur Installation d’un superviseur ZABBIX page 39/50

LoiselJP ©2013

Lui donner un nom (on choisisra un nom significatif):

Sélectionner le type : « agent ZABBIX (actif) » puisque l'on récupère des données venant d'un agent Zabbix installé sur un hôte (suivant l’installation, les connexions… on choisira l’agent voulu).

Choisir le « clef » (élément à surveiller): en cliquant sur le bouton « sélectionner », toutes les fonctions que peuvent fournir les agents Zabbix sont affichées.

Dans l'exemple, on utilisera vfs.fs.size (taille du file system). Les paramètres passés seront les suivants : « c :\ » et « used » (disque C : utilisé).

Attention, les fonctions ne sont pas toutes compatibles avec tous les systèmes d'exploitation surveillés. Des vérifications

simples indépendantes des agents Zabbix peuvent être effectuées. On y accède en changeant le type (en haut à droite) dans la

liste des éléments.

Type d’information : par défaut, la fonction retourne une valeur en KB. On utilisera un entier long (entier-64bits).

Units : l'unité utilisée, pour le graphique et l'affichage Par défaut, la valeur retournée est en Kb. Si on la veut en

Mb ou en Gb, il suffit juste d'indiquer l'unité appropriée dans la zone. Zabbix se chargera de la conversion.

Utiliser un multiplicateur personnalisé : pour multiplier la valeur retournée.

Administration serveur Installation d’un superviseur ZABBIX page 40/50

LoiselJP ©2013

Intervalle d’actualisation: le taux de rafraîchissement. Attention à ne pas trop encombrer le réseau et les machines avec des taux de rafraîchissement élevés si ceux-ci ne sont pas nécessaires.

Conserver l’historique : le nombre de jours pendant lesquels les données seront conservées.

Conserver les tendances: le nombre de jours pendant lesquels les tendances seront conservées.

Avant de sauver le paramètre de surveillance on pourra remplir le champ d’inventaire (matériel)…

Surveillance d'un fichier

Dès lors qu’un élément de surveillance est créé, il sera facile d’en déduire comment en créer d’autres…

La surveillance de fichier est identique à la précédente, à une différence près : c’est la fonction

vfs.file.size[fichier_a_surveiller] qui sera utilisée.

Cloner un élément

L’opération ne demande aucune connaissance mais reste une fonction bien pratique pour recréer cet élément pour un autre serveur…

Pour cloner un élément, sélectionner l’élément voulu, puis en bas de page choisir « cloner » :

Sélectionner le nouveau serveur…

Administration serveur Installation d’un superviseur ZABBIX page 41/50

LoiselJP ©2013

Enregistrer !

L’élément se retrouve dupliqué sur le serveur suivant…

Les écrans

Les écrans permettent de paramétrer un affichage avec plusieurs éléments en aperçu.

Pour créer un écran, ouvrir l'outil « Ecran » puis cliquer sur le bouton « Créer un écran ».

Lui donner un nom (pertinent) et une dimension (en lignes et en colonnes). Ces dimensions pourront être changées plus tard.

Par la suite, en cliquant sur le graphique, il sera possible d’y accéder dans sa taille originale. Un écran est une grille de

graphiques, composée entièrement par l'administrateur.

Une fois l'écran créé, il apparaît dans la liste.

Administration serveur Installation d’un superviseur ZABBIX page 42/50

LoiselJP ©2013

Cliquer sur (à droite) pour lui modifier les colonnes et ligne. En cliquant sur l’écran, les colonnes et lignes pourront être

modifiées (ajout et suppression) depuis les boutons « + » et « - ».

Pour chaque case de votre écran, vous pourrez ajouter n'importe quel graphique, avec le bouton « changement », pour le

suivi en réglant son aspect, taille et emplacement,…

Administration serveur Installation d’un superviseur ZABBIX page 43/50

LoiselJP ©2013

En changeant la « ressource » il est possible d’intégrer une donnée d'un autre type (texte, historique

etc...).

Les actions

Elles sont déclenchées sur condition(s), pour palier à un éventuel problème ou pour simplement prévenir une personne.

Une action est le regroupement :

- D'un évènement source déclencheur (trigger ou découverte)

- D'une ou plusieurs conditions

- De la procédure effectuée par l'action (envoi d'un message, commande à exécuter etc...).

Pour envoyer un message, sélectionner l'utilisateur puis préparer le modèle de message.

Pour une commande distante, taper : nom_de_l’hote : commande_a_exécuter ou groupe_de_serveurs#commande_a_exécuter

La découverte

L'outil « Découverte » parcours le réseau à la recherche d'adresses ayant un port spécifié d'ouvert (la découverte est similaire

à nmap).

La découverte part d’une plage d'adresses à scanner, ainsi que les ports à tester et un délai de renouvellement de l'opération.

Cette procédure peut parfois révéler des faiblesses sur certains serveurs qui ont des ports ouverts alors qu'il n'y a aucune

raison de les laisser ouverts. C’est un des outils idéal pour la sécurité !

Créer une règle de découverte

Depuis la « configuration » cliquer sur « Découverte » puis « Créer un règle de découverte » :

Administration serveur Installation d’un superviseur ZABBIX page 44/50

LoiselJP ©2013

Ajouter un nom explicite, puis une source de « Vérification » (obligatoire).

Cliquer « Ajouter » dans le tableau « Vérification »…

On pourra y ajouter des sources de vérification multiple…

Administration serveur Installation d’un superviseur ZABBIX page 45/50

LoiselJP ©2013

Depuis le tableau de bord on pourra y voir l’avancement de la découverte.

Après quelques minutes zabbix retournera les différents éléments découverts…

8 Ressources supplémentaires

En cas d’oubli de mot de passe

En cas d’oubli de mot de passe « Admin » Zabbix, ouvrir PHPmyadmin, dans le base de données Zabbix, dans la table « users », créer le nouveau mot de passe en lançant une fenêtre sql :

Administration serveur Installation d’un superviseur ZABBIX page 46/50

LoiselJP ©2013

Dans la fenêtre « Sql », taper le commande de reset de mot de passe :

update zabbix.users set passwd=md5('nouveau mot de passe') where alias='Admin';

Création d'une nouvelle ressource

Création d'une nouvelle ressource sur l'agent

Le programme Peu importe le type de programme, le langage (cela peut même être une simple ligne de commande) à partir du moment où

celui-ci retourne une valeur de quelque type que cela soit (le programme devra retourner toujours le même type de données),

celui-ci peut être intégré dans l’agent comme nouvelle ressource.

Déclaration de la ressource

Elle doit être faite dans le fichier « zabbix_agentd.conf » à la suite des données de base. La ressource est alors définie par un

nom unique.

Ce nom sera pris de manière pertinente afin d’éviter toute confusion par la suite.

Par exemple, pour zabbix_agentd.conf:

Server=ip_du_serveur

Administration serveur Installation d’un superviseur ZABBIX page 47/50

LoiselJP ©2013

UserParameter=nom_de_la_ressource[*], commande_a_exécuter $1

Ce qui pourrait donner :

Server=192.168.1.1

UserParamter=RealName, hostname

Dès lors il est possible d’intégrer une nouvelle ressource « RealName » qui retrounera le résultat de la commande

« hostname » (le vrai nom de la machine !).

Les paramètres Beaucoup de programmes permettent de passer des arguments au lancement.

Avec l'agent Zabbix, il est possible de passer des paramètres statiques directement dans la ligne de commande ou des

paramètres dynamiques que le serveur va envoyer.

Pour déclarer une ressource qui prend des paramètres, il faut ajouter [*] (dans l’exemple ci-dessus on en a pas besoin (la

commande n’en demande pas) après le nom de la ressource.

Les valeurs $1, $2, $3... représentent les différents arguments passés.

L'agent Zabbix devra être redémarré pour prendre en compte les modifications.

Création de la nouvelle ressource sur le serveur

Dans la section « configuration » puis dans la partie « Elément », choisir l'hôte ou le groupe concerné.

Créer ensuite un nouvel élément.

Dans la clé, entrer le nom de la ressource passé dans le fichier zabbix_agentd.conf (pour l’exemple «RealName ») puis

mettre les éventuels arguments.

Le reste du paramètrage se fait comme précédemment.

La ressource est maintenant surveillée directement par le serveur.

Attention à la fréquence de rafraîchissement, elle doit être adaptée puisque le traitement pour l'hôte peut parfois être lourd.

Le type est très important, puisqu'il définit le type de la colonne dans la base de données. Il servira aussi pour les divers

traitements qui seront effectués avec la valeur, comme par exemple pour les graphiques.

Une donnée de type texte est beaucoup plus volumineuse à stocker, il faut donc au maximum essayer de stocker que les

informations pertinentes et les variables.

Taille d'un répertoire

Il existe une fonctionnalité (vfs.fs.size) qui retourne la taille d'un répertoire, cette ressource n’existe qu’uniquement sous

Linux.

Sous Windows, il n’est possible de n’avoir que la taille du disque (ou l'espace libre).

Pour avoir juste la taille d'un répertoire, il faudra définir soi-même une nouvelle ressource avec un programme personnalisé

qui retournera la taille d'un répertoire donné.

Il vaut mieux créer un programme qui prendra en argument l'emplacement du répertoire. Cela permettra d'avoir une

ressource universelle pour n'importe quel répertoire de n'importe quelle machine surveillée.

Ce tutoriel ne s’aventurera pas dans cette voie (ce n’est pas un guide de programmation), dès lors qu’un programme est en

mesure de retourner une valeur on pourra le transformer en ressource. Un peu de programmation et tout administrateur sera

en mesure d’obtenir tout type d’information…

Administration serveur Installation d’un superviseur ZABBIX page 48/50

LoiselJP ©2013

9 Conclusion

L’installation du serveur Zabbix ne demande aucune connaissance particulière approfondie. Comme tout type de programme

de cette catégorie, la mise en place et la première prise en main peut paraître un peu fastidieuse.

Zabbix est un élément d’administration très complet. Malheureusement ce tutoriel ne peut reprendre la totalité de son

fonctionnement.

Pour une utilisation plus complète il sera possible de se reporter sur le site de Zabbix à cette adresse :

https://www.zabbix.com/documentation

(C’est même en français !)

De plus, pour commencer l’exploitation du logiciel, un grand nombre de d’élément sont à mettre en place (Eléments de

surveillance, génération des graphiques…).

Grace à son agent de surveillance très léger, les administrateurs ayant un peu d’expérience pourront mettre cette solution en

place très rapidement à partir d’un script.

Après cette première mise en place, cet outil de contrôle sera très vite un allié précieux pour l’administrateur qui sera alors

capable en un seul coup d’œil de juger de la « santé » de son parc.

___________________________

_______________________

# init 0

Administration serveur Installation d’un superviseur ZABBIX page 49/50

LoiselJP ©2013

Administration serveur Installation d’un superviseur ZABBIX page 50/50

LoiselJP ©2013

©Propriété Installation d’un superviseur ZABBIX.

Jean Paul Loisel

56 Rue Philippe de Girard

59160 Lomme

[email protected]

07 70 32 35 67

Licence Ce document est distribué en "Public Documentation License".

The contents of this Documentation are subject to the Public Documentation License. You may only use this Documentation if you comply with the terms of this License.

A copy of the License is available at this mail [email protected].

The Original Documentation is " Installation d’un superviseur ZABBIX".

The Initial Writer of the Original Documentation is Jean Paul LOISEL © 2013. All Rights Reserved.

Contributor(s): ______________________________________.

Portions created by ______ are Copyright ©_________[Insert year(s)]. All Rights Reserved.

(Contributor contact(s):________________[Insert hyperlink/alias]).

The text of this chapter may differ slightly from the text of the notices in the

files of the Original Documentation.

You should use the text of this chapter rather than the text found in the Original Documentation for Your Modifications.