
Sommaire
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

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

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

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

Personnalisation d’un nom de serveur

On peut désormais utiliser zabbix !

Les loggins par défaut pour accéder à l’interface graphique sont :
« Admin » pour le nom d’utilisateur
« zabbix » pour le mot de passe

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

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

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

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

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

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

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

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

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.