Installation de Zabbix et Grafana

Introduction

Dans cet article, nous allons voir comment installer Zabbix 7.0 avec Grafana sur un serveur debian. Zabbix est un logiciel open source de supervision et de monitoring qui permet de surveiller en temps réel une infrastructure. Il permet de monitorer le système (CPU, mémoire, température…), les serveurs web, de base de données, de messagerie, les applications, les éléments réseaux (imprimantes, routeurs, switch…) et bien plus encore avec des fonctionnalités plus poussés.

Il existe plusieurs méthodes de collecte de données :

  • Zabbix agent & Zabbix agent 2
  • SNMP et IPMI
  • Script ou fichier log
  • Agentless (WMI, SSH, Telnet, REST…)
  • Test de service web

Grafana permet de visualiser et d’organiser les métriques récolter par Zabbix dans des dasboards modernes et épurer. Zabbix possède une fonctionnalité de visualisation des données avec des dashboards mais elle reste simpliste, c’est pourquoi Grafana sera préféré.

Installation de Zabbix

Installation de zabbix server et son agent

Téléchargement et installation du dépôt de zabbix

sudo wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb 
sudo dpkg -i zabbix-release_7.0-1+debian12_all.deb 
sudo apt update

Installation de zabbix et de son agent

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent 

Installation de mariadb

sudo apt install mariadb-server 

Sécurisation de mysql avec exécution du script de lancement de mariadb

sudo mysql_secure_installation
Une image contenant texte, capture d’écran, menu, Police

Description générée automatiquement

Ensuite sur mysql

mysql -uroot -p 

Vous saisissez votre mot de passe !

Et on continue la configuration de la base de donnée

create database zabbix character set utf8mb4 collate utf8mb4_bin; 
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
flush  privileges;
exit;

Configurer la base de donnée pour le serveur Zabbix

Edition du fichier /etc/zabbix/zabbix_server.conf en mettant le mot de passe de la base de donnée

DBPassword=password 

Import du schéma initial et les données dans la base avec le script server.sql.gz.

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix 

Puis on peut désactiver les logs :

mysql -uroot -p 
set global log_bin_trust_function_creators = 0;
exit

Démarrer le serveur Zabbix et son agent

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

On peut dorénavant se connecter à l’URL de Zabbix :

http://your-ip/zabbix 

Ensuite, nous allons configurer Zabbix par l’interface graphique et débutant par le choix de la langue

Une image contenant texte, capture d’écran, Police, Marque

Description générée automatiquement

Si certaines langues sont grisés dans votre cas, vous pouvez éditer le fichier /etc/locale.gen, décommentez les langues de votre choix et effectuer la commande sudo locale-gen

En redémarrant le service apache2 (systemctl restart apache2), les langues devraient être accessible

Vérification de la configuration

Une image contenant texte, capture d’écran, nombre, Police

Description générée automatiquement

On renseigne les informations de connexion à la base de donnée

Une image contenant texte, capture d’écran, Police, nombre

Description générée automatiquement

Personnalisation d’un nom de serveur

Une image contenant texte, capture d’écran, logiciel, Page web

Description générée automatiquement

On peut désormais utiliser zabbix !

Une image contenant texte, capture d’écran, Page web, logiciel

Description générée automatiquement

Les loggins par défaut pour accéder à l’interface graphique sont :

« Admin » pour le nom d’utilisateur

« zabbix » pour le mot de passe

Une image contenant texte, capture d’écran, Police, nombre

Description générée automatiquement

Nous allons changer ce mot de passe par défaut dans l’onglet Utilisateurs > Utilisateurs et en sélectionnant l’utilisateur « Admin »

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Description générée automatiquement

Configurer grafana pour zabbix

Grafana permet de visualiser et d’organiser les métriques récolter par zabbix dans des dasboards modernes et épurer.

On commence par l’installation de grafana

sudo apt-get install -y apt-transport-https software-properties-common wget 
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
# Updates the list of available packages
sudo apt-get update
# Installs the latest OSS release:
sudo apt-get install grafana

Nous allons installer le plugin de zabbix pour grafana

Voici une commande pour lister les plugins disponibles dans grafana:

./grafana-cli plugins list-remote 

Installation du plugin zabbix dans grafana :

cd /usr/sbin 
sudo ./grafana-cli plugins install alexanderzobnin-zabbix-app
Une image contenant texte, Police, capture d’écran

Description générée automatiquement

Comme pour zabbix, nous allons nous connecter à la base de donnée de zabbix en ajoutant les informations de connexions dans le fichier grafana.ini

sudo nano /etc/grafana/grafana.ini 
Une image contenant texte, capture d’écran, Police

Description générée automatiquement

Puis on redémarre le service

sudo systemctl restart grafana-server.service 
sudo systemctl enable grafana-server.service

Connexion sur l’URL de Grafana : https://your_ip:3000

Les logins par défaut sont « admin » pour l’utilisateur et également « admin » pour le mot de passe

Une image contenant texte, capture d’écran, logo, Graphique

Description générée automatiquement

Nous allons configurer le plugin de grafana pour qu’il puisse se connecter à l’API de Zabbix.

Dans Home > Administration > Plugins and data > Data, il est nécessaire d’activer Zabbix en haut à droite

Une image contenant texte, capture d’écran, logiciel, Logiciel multimédia

Description générée automatiquement

Création de la source de donnée dans Connections > Data sources

Une image contenant texte, logiciel, Logiciel multimédia, capture d’écran

Description générée automatiquement

Configuration de la connexion à l’interface graphique de Zabbix en saisissant votre mot de passe de connexion à l’interface graphique de zabbix

Une image contenant texte, capture d’écran, logiciel, Logiciel multimédia

Description générée automatiquement

On peut vérifier que la connexion est fonctionnelle avec « Save & Test » en bas de la page

Une image contenant texte, capture d’écran, Police

Description générée automatiquement

Conclusion

Dans cet article, nous avons exploré le processus d’installation de Zabbix 7.0 et de Grafana sur un serveur Debian. Zabbix est un puissant outil de supervision open source qui permet de surveiller divers aspects de l’infrastructure informatique en temps réel. Il offre plusieurs méthodes de collecte de données, incluant des agents, SNMP, IPMI, scripts, logs et méthodes sans agent. Grafana, quant à lui, améliore l’expérience de visualisation des données collectées par Zabbix en offrant des dashboards modernes et plus sophistiqués.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut