Passer au contenu principal

Monitoring de mysql

Tout d'abord nous devons créer un utilisateur mysql. 

Mysql > create user 'zabbix'@'localhost' IDENTIFIED BY 'Password';
Mysql > GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'Password';
Mysql > flush privileges;
Mysql > exit;

Sous RockyLinux nous devons créer un répertoire zabbix_agentd.d dans /etc/zabbix et nous créont un fichier userparameter_mysql.conf dans le dossier créer. 

Dans le fichier on met 

UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"

On créer un fichier .my.cnf dans /var/lib/zabbix/ et on entre ces information SQL

[client]
user=zabbix
password=Password

On lui accorde le droit 644

On modifie le fichier de configuration zabbix_agentd.conf qui ce trouve dans /etc et on commente toutes les lignes Include et on créer une ligne : Include=/etc/zabbix/zabbix_agentd.d/*.conf

image-1646043911450.24.57@2x.png

On reboot le zabbix-agent et mariadb 

systemctl restart zabbix-agent
systemctl restart mariadb

On attend plusieurs minutes que le zabbix agent envoi toutes les données au serveur zabbix.