Aujourd'hui petit écart, on sort un peu du cloud, de Kubernetes, Docker et consorts. On va se lancer dans un petit tutoriel de la solution Zabbix, logiciel libre permettant de surveiller l'état de divers services réseau, serveurs et autres matériels réseau et produisant des graphiques dynamiques de consommation des ressources. C'est un logiciel open source créé par Alexei Vladishev en 1998 qui en est à sa version 4.0. Nous allons donc procéder à une installation sur un VPS OVH tournant sur Ubuntu 16.04, nous faisons le choix de MySQL pour la base de données. Allez c'est parti !

Objectifs :

  • monitorer plusieurs types d'équipements
  • avoir un server fonctionnel
  • en https pourquoi pas
  • monitorer des pages web

Installation

a. Installation du repo avec une base de données MySQL

# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+xenial_all.deb
# dpkg -i zabbix-release_4.0-2+xenial_all.deb
# apt update

b. Installation du serveur Zabbix, du frontend et de l'agent de collecte

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent

c. Créer la base de données

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;

Importer le schéma initial et les données. Vous serez invité à entrer votre nouveau mot de passe.

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

d. Configurer la base de données pour le serveur Zabbix

Editez le fichier /etc/zabbix/zabbix_server.conf

DBPassword=password

e. Configurer PHP pour l'interface Zabbix

Editez le fichier /etc/zabbix/apache.conf, décommentez et définissez le fuseau horaire qui vous convient.

# php_value date.timezone Europe/Riga

f. Démarrer les processus serveur et l'agent Zabbix

Démarrez les processus du serveur et de l'agent Zabbix et faites-le démarrer au démarrage du système:

# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2

Votre serveur Zabbix est maintenant opérationnel!

Configurer l'interface Zabbix

Connectez-vous à votre frontal Zabbix nouvellement installé: http:// nom_ip_ou_serveur/zabbix

Capture-d-e-cran-2018-10-06-a--10.52.00

Suivez les étapes décrites dans la documentation de Zabbix: Installation du frontend

  1. Assurez-vous que toutes les conditions préalables du logiciel sont remplies.

Capture-d-e-cran-2018-10-06-a--11.03.19

  1. Entrez les détails pour vous connecter à la base de données. La base de données Zabbix doit déjà être créée.

Capture-d-e-cran-2018-10-06-a--11.07.47

  1. Entrez les détails du serveur Zabbix.

Capture-d-e-cran-2018-10-06-a--11.08.00

4.Passez en revue un résumé des paramètres.

Capture-d-e-cran-2018-10-06-a--11.08.12

  1. Terminez l'installation.

Capture-d-e-cran-2018-10-06-a--11.08.22

  1. Zabbix frontend est prêt! Le nom d'utilisateur par défaut est Admin, mot de passe zabbix.

Enjoy :

Capture-d-e-cran-2018-10-06-a--11.16.03

La configuration de nos hôtes

1- Le serveur localhost

J'ai pas mal rencontré de soucis avant de trouver la solution. Un message s'affichait m'indiquant que mon serveur Zabbix n'était pas "running".

Je suis donc allé dans le fichier suivant pour voir les logs :

sudo nano /var/log/zabbix/zabbix_server.log

J'ai constaté que le serveur n'accédait pas à la base de données MySQL. J'ai donc appliqué la méthode suivante :

root@vps450831:~# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 434
Server version: 10.0.36-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
ERROR 1007 (HY000): Can't create database 'zabbix'; database exists
MariaDB [(none)]> grant all privileges on zabbix.* to Admin@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>  quit;
Bye

J'ai donné les droits à mon compte admin dans MySQL, pas d'amélioration... j'ai continué à reprendre la procédure d'installation à cet endroit en appliquant les commandes.

Puis j'ai pensé à une chose, reprendre le fichier :

/etc/zabbix/zabbix_server.conf

Et modifier la ligne :

DBPassword=password

Oui ok mais je n'avais pas décommenté la ligne ! je le fais, j'applique et je redémarre le serveur :

sudo service zabbix-server restart

Et là magie :

Capture-d-e-cran-2018-10-06-a--19.30.55

2- Un autre hôte - dit "de test"

Une fois connecté, cliquez sur Configuration, puis sur Hôtes dans la barre de navigation supérieure. Cliquez ensuite sur le bouton Créer un hôte dans le coin supérieur droit de l'écran. Cela ouvrira la page de configuration de l'hôte.

8BxjZFg

Ajustez le nom d'hôte et l'adresse IP pour qu'ils reflètent le nom d'hôte et l'adresse IP de votre ordinateur client. Ajoutez ensuite l'hôte à un groupe en sélectionnant l'un des groupes dans la liste ou en créant votre propre groupe. L'hôte peut être dans plusieurs groupes. Le groupe de serveurs Linux est un bon choix par défaut. Une fois que vous avez ajouté le groupe, cliquez sur l'onglet modèles.

Puis sur la machine elle-même j'ai installé l'agent (VPS Ubuntu 16.04 également) :

wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb

sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb

Puis

sudo apt-get update

sudo apt-get install zabbix-agent

Et on finit par :

sudo systemctl start zabbix-agent

sudo systemctl enable zabbix-agent

sudo systemctl status zabbix-agent

Et magie :

Capture-d-e-cran-2018-10-07-a--08.35.35

Monitoring web

Documentation :