Créer un utilisateur MySQL pour la supervision avec Zabbix

J’utilise Zabbix pour superviser mes serveurs. Dans ce cadre, je souhaite superviser finement mes serveurs de bases de données MySQL.

Ça tombe bien, Zabbix propose maintenant par défaut des « User Parameters » permettant d’interroger une base MySQL. Pour cela, il faut simplement créer un utilisateur ayant les droits pour lire ces données.

C’est très simple ! Il suffit de créer un utilisateur et de ne lui donner aucun droit :

mysql> CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'mot de passe';

Ensuite, pour que Zabbix sache passer par cet utilisateur, il faut créer un fichier .my.cnf dans son répertoire utilisateur. Disons que c’est /var/lib/zabbix, comme la configuration par défaut le propose. Par ailleurs, il n’est jamais très bon d’avoir un fichier caché dans ce genre de cas : c’est bien pour ne pas pourrir le compte d’un utilisateur classique mais très ennuyant à gérer. Du coup, nous allons rendre ce fichier « visible ».

Créons d’abord le fichier /var/lib/zabbix/dot.my.cnf :

[client]
user="zabbix"
password="mot de passe"

Ensuite, faisons un lien symbolique pour qu’il soit reconnu par MySQL :

# cd /var/lib/zabbix
# ln -s dot.my.cnf .my.cnf
# chown zabbix.zabbix dot.my.cnf .my.cnf
# chmod 600 dot.my.cnf

Et voilà ! On peut tester la chose :

# su - zabbix -c "echo "show global status where Variable_name='Com_commit';" | mysql -N"
 Com_commit 6431

Sur le même sujet

comments powered by Disqus