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.).
|
||||
|
||||
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**.
|
||||
|
||||
On ajoute un service à xinetd, dans `/etc/xinetd.d/mysqlchk` :
|
||||
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**.
|
||||
|
||||
~~~
|
||||
service mysqlchk {
|
||||
# apt install xinetd
|
||||
~~~
|
||||
|
||||
On ajoute un service à xinetd, dans `/etc/xinetd.d/mysqlchk` (droits: root:root 0644) :
|
||||
|
||||
~~~
|
||||
service mysqlchk
|
||||
{
|
||||
flags = REUSE
|
||||
socket_type = stream
|
||||
port = 8306
|
||||
|
@ -274,12 +279,27 @@ service mysqlchk {
|
|||
log_on_failure += USERID
|
||||
disable = no
|
||||
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}
|
||||
#!/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_PORT="3306"
|
||||
MYSQL_USERNAME="mysqlchk"
|
||||
|
@ -309,14 +329,16 @@ else
|
|||
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}
|
||||
#!/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.
|
||||
|
||||
### HTTP basic authentication
|
||||
|
|
Loading…
Reference in New Issue