Plus d'infos pour check mysql avancé
This commit is contained in:
parent
c217a234cf
commit
6fd64c2923
|
@ -259,12 +259,17 @@ listen mysql 127.0.0.1:3306
|
||||||
|
|
||||||
On note l'option **httpchk** qui va permettre de faire un check en HTTP et vérifier des conditions avancées (réplication OK, etc.).
|
On note l'option **httpchk** qui va permettre de faire un check en HTTP et vérifier des conditions avancées (réplication OK, etc.).
|
||||||
|
|
||||||
Un moyen simple (inspirés de ce [vieux blog post](http://sysbible.org/2008/12/04/having-haproxy-check-mysql-status-through-a-xinetd-script/)) est de créer un script qui sera déclenché par **xinetd**.
|
Un moyen simple (inspiré de ce [vieux blog post](http://sysbible.org/2008/12/04/having-haproxy-check-mysql-status-through-a-xinetd-script/)) est de créer un script qui sera déclenché par **xinetd**.
|
||||||
|
|
||||||
On ajoute un service à xinetd, dans `/etc/xinetd.d/mysqlchk` :
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
service mysqlchk {
|
# apt install xinetd
|
||||||
|
~~~
|
||||||
|
|
||||||
|
On ajoute un service à xinetd, dans `/etc/xinetd.d/mysqlchk` (droits: root:root 0644) :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
service mysqlchk
|
||||||
|
{
|
||||||
flags = REUSE
|
flags = REUSE
|
||||||
socket_type = stream
|
socket_type = stream
|
||||||
port = 8306
|
port = 8306
|
||||||
|
@ -274,12 +279,27 @@ service mysqlchk {
|
||||||
log_on_failure += USERID
|
log_on_failure += USERID
|
||||||
disable = no
|
disable = no
|
||||||
only_from = 192.0.2.0/27
|
only_from = 192.0.2.0/27
|
||||||
|
per_source = UNLIMITED
|
||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
On crée le script a exécuter dans `/root/mysqlchk` :
|
Il faut penser à ajuster la liste d'adresses IP autorisées dans `only_from`.
|
||||||
|
|
||||||
|
On ajoute la ligne suivante dans `/etc/services` :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
mysqlchk 8306/tcp # mysqlchk
|
||||||
|
~~~
|
||||||
|
|
||||||
|
On crée le script à exécuter dans `/root/mysqlchk` (droits: root:root 0750) :
|
||||||
|
|
||||||
~~~{.bash}
|
~~~{.bash}
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Créer un utilisateur limité pour ces checks :
|
||||||
|
# mysql> CREATE USER 'mysqlchk'@'localhost' IDENTIFIED BY 'PASSWORD';
|
||||||
|
# mysql> GRANT SHOW DATABASES ON *.* TO 'mysqlchk'@'localhost';
|
||||||
|
|
||||||
MYSQL_HOST="127.0.0.1"
|
MYSQL_HOST="127.0.0.1"
|
||||||
MYSQL_PORT="3306"
|
MYSQL_PORT="3306"
|
||||||
MYSQL_USERNAME="mysqlchk"
|
MYSQL_USERNAME="mysqlchk"
|
||||||
|
@ -309,14 +329,16 @@ else
|
||||||
fi
|
fi
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
`/root/nrpe-check-mysql-slave.sh` :
|
Puis le script de check mysql lui-même, par exemple `/root/nrpe-check-mysql-slave.sh` (droits: root:root 0750) :
|
||||||
|
|
||||||
~~~{.bash}
|
~~~{.bash}
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
exec /usr/lib/nagios/plugins/check_mysql --check-slave -u debian-sys-maint -p PASSWORD -w 5 -c 60
|
exec /usr/lib/nagios/plugins/check_mysql -f /etc/mysql/debian.cnf --check-slave -w 5 -c 60
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
On redémarre xinetd (surveiller `/var/log/syslog` pour d'éventuelles erreurs) et on pense à autoriser le port 8306 au niveau firewall depuis les IP concernées.
|
||||||
|
|
||||||
Il est également possible d'utiliser tout programme ou script, pourvu qu'au final il puisse être accessible en HTTP.
|
Il est également possible d'utiliser tout programme ou script, pourvu qu'au final il puisse être accessible en HTTP.
|
||||||
|
|
||||||
### HTTP basic authentication
|
### HTTP basic authentication
|
||||||
|
|
Loading…
Reference in a new issue