Monitoring de serveurs avec Zabbix

Monitoring de serveurs avec Zabbix

Quand on commence à gérer un nombre conséquent de serveurs il devient rapidement important de mettre en place une solution de monitoring pour s'assurer du bon fonctionnement de chacun d'entre eux et être alerté en cas de problème.


Avant propos

Pour ma part je gère actuellement 7 VPS et il m'est souvent arrivé que des services tombent sans que je sois informé et que je m'en rende compte que des jours après. Pour palier à ce problème j'ai commandé un VPS RAM à 3€/mois chez OVH et j'ai décider d'installation Zabbix pour monitorer.

Zabbix (https://www.zabbix.com/) est un logiciel de monitoring gratuit et open-source, permettant de surveiller un réseau, des serveurs, des applications, des services etc... Et d'alerter via email / SMS en cas d'erreur. Il est très configurable, mais fonctionne quasiment out-of-the-box grâce aux nombreux profils pré-configurés, ce qui est un grand avantage. Je vais vous décrire ici l'installation et la configuration de zabbix.


Installation

L'architecture de Zabbix repose sur le modèle client - serveur, on va retrouver le serveur "master" avec le package zabbix-server et les différents client à superviser, avec le package zabbix-client.

Installation du serveur "master"

Pour l'installation du serveur il est recommandé de la faire sur une machine qui sera dédié à cette tâche. Le service de monitoring n'étant pas très gourmand en ressources la configuration du VPS peut être moindre. Dans mon cas il s'agit d'un VPS cloud RAM d'OVH avec Debian 9 stretch installé dessus.

Installation des dépendances

La première étape est d'installer les dépendances requises par Zabbix. Elles sont les suivantes:

  • Une base de données (MariaDB/MySQL, Postgresql, Oracle, ...)
  • PHP >= 5.4.0 (et quelques modules PHP listés après)
  • Apache >= 1.3.12

Etant donné que la version par défaut de PHP sur debian stretch est > 7.0 et que Apache est >= 1.3.12 nous pouvons utiliser les repository stable officiel.

Installation de la base de donnée (ici MariaDB)

sudo apt install mariadb-server mariadb-client

Installation de Apache / PHP

sudo apt install apache2 libapache2-mod-php php php-cli php-xml php-bcmath php-mbstring

On as presque finis! Maintenant il faut juste créer la  base de données et l'utilisateur pour zabbix-server.

sudo mysql
MariaDB [(none)]> CREATE DATABASE zabbixdb character set utf8 collate utf8_bin;
MariaDB [(none)]> CREATE user zabbixuser identified by 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES on zabbixdb.* to zabbixuser@localhost identified by 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Installation de zabbix-server

La dernière étape est d'installer le repository officiel de Zabbix pour pouvoir installer / updater les packages zabbix-server et zabbix-client facilement par la suite. Pour ce faire rien de plus simple !

D'abord on télécharge le script DEB permettant d'installer le repository debian 9 officiel de Zabbix.

wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb

Ensuite on installe le package

sudo dpkg -i zabbix-release_4.0-2+stretch_all.deb

Pour finir on met à jour le cache apt

sudo apt update

Maintenant que c'est fait on peut procéder par l'installation du service zabbix-server et du frontend en les installant avec la commande suivante:

sudo apt install zabbix-server-mysql zabbix-frontend-php

Population de la base de données

La commande suivante permet d'importer la structure des tables utilisé par zabbix-server et zabbix-frontend.

cd /usr/share/doc/zabbix-server-mysql*/zcat create.sql.gz | mysql -u zabbixuser -p zabbixdb

Configuration de zabbix-server

Configuration de la timezone

Configuration de la base de données pour zabbix-server

sudo nano /etc/zabbix/zabbix_server.conf

Il faut ensuite remplacer les lignes suivantes pour renseigner la configuration de la base de données:

DBHost=localhost
DBName=zabbixdb
DBUser=zabbixuser
DBPassword=password

Puis redémarrer le service zabbix-server

sudo service zabbix-server restart

On peut ensuite ce rendre à l'addresse suivante: http://zabbix-server/zabbix ou l'on sera redirigé sur la page suivante:

Après avoir cliqué sur Next Step, on arrive sur la page suivante:

Il suffit de cliquer sur Next Step

Cette page permet de configurer les informations concernant la base de données, il faudra les compléter avec les informations que vous avez choisie, puis cliqué sur Next Step

Enfin, on arrive sur une page qui résume les détails de l'installation, si tout semble correct il suffira de cliquer sur Next Step

Et l'on arrivera sur la fin du setup. Il suffit de cliquer sur Finish pour arriver sur la page de login de Zabbix.

On arrive sur la page de connection suivante, on peut se connecter avec Admin en tant que nom d'utilisateur et zabbix comme mot de passe. (Penser à changer le mot de passe !)

Et voilà ! Votre serveur de monitoring est en place, il faut maintenant installer l'agent zabbix sur les différents serveur à superviser et les enregistrer dans l'interface de management.

Pour continuer:

Renforcement de la sécurité du serveur : https://creekorful.fr/renforcement-de-la-securite-dun-serveur-linux/

Installation de zabbix-agent: https://creekorful.fr/installation-de-zabbix-agent/

Show Comments