Précisions pour MySQL (check simple et avancé)
This commit is contained in:
parent
67b29a233f
commit
173d176d38
|
@ -204,6 +204,29 @@ listen memcached 127.0.0.1:11211
|
|||
|
||||
### Exemple pour MySQL
|
||||
|
||||
Il existe 2 modes principaux pour un proxy MySQL :
|
||||
|
||||
* le mode simple, qui effectue un test de connexion au serveur MySQL ;
|
||||
* le mode avancé, qui exécute des tests poussés (et personnalisés) pour valider le bon fonctionnement du serveur.
|
||||
|
||||
#### Mode simple
|
||||
|
||||
HAProxy fourni une option "mysql-check".
|
||||
Il va alors faire une connexion identifiée au serveur MySQL, puis la fermer et vérifiée dans les infos renvoyées que tout semble correct.
|
||||
|
||||
Ce mode ne nécessite pas d'outillage supplémentaire et nous le recommandons lorsqu'HAProxy agit seulement comme un proxy et pas comme un load-balancer ou pour de la tolérance de panne.
|
||||
|
||||
~~~
|
||||
listen mysql 127.0.0.1:3306
|
||||
mode tcp
|
||||
option mysql-check user haproxy_check
|
||||
server sql00 192.0.2.1:3306 check
|
||||
~~~
|
||||
|
||||
#### Mode avancé
|
||||
|
||||
La version avancée consiste à utiliser un check http pour déterminer l'état du serveur.
|
||||
|
||||
~~~
|
||||
listen mysql 127.0.0.1:3306
|
||||
option httpchk
|
||||
|
@ -211,15 +234,17 @@ listen mysql 127.0.0.1:3306
|
|||
server sql01 192.0.2.2:3306 check port 8306 backup
|
||||
~~~
|
||||
|
||||
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.) grâce à différents scripts (inspirés de ce [vieux blog post](http://sysbible.org/2008/12/04/having-haproxy-check-mysql-status-through-a-xinetd-script/)).
|
||||
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.).
|
||||
|
||||
`/etc/xinetd.d/mysqlchk` :
|
||||
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` :
|
||||
|
||||
~~~
|
||||
service mysqlchk {
|
||||
flags = REUSE
|
||||
socket_type = stream
|
||||
port = 80
|
||||
port = 8306
|
||||
wait = no
|
||||
user = root
|
||||
server = /root/mysqlchk
|
||||
|
@ -229,9 +254,9 @@ service mysqlchk {
|
|||
}
|
||||
~~~
|
||||
|
||||
`/root/mysqlchk` :
|
||||
On crée le script a exécuter dans `/root/mysqlchk` :
|
||||
|
||||
~~~
|
||||
~~~{.bash}
|
||||
MYSQL_HOST="127.0.0.1"
|
||||
MYSQL_PORT="3306"
|
||||
MYSQL_USERNAME="mysqlchk"
|
||||
|
@ -263,11 +288,14 @@ fi
|
|||
|
||||
`/root/nrpe-check-mysql-slave.sh` :
|
||||
|
||||
~~~
|
||||
~~~{.bash}
|
||||
#!/bin/sh
|
||||
|
||||
exec /usr/lib/nagios/plugins/check_mysql --check-slave -u debian-sys-maint -p PASSWORD -w 5 -c 60
|
||||
~~~
|
||||
|
||||
Il est également possible d'utiliser tout programme ou script, pourvu qu'au final il puisse être accessible en HTTP.
|
||||
|
||||
### HTTP basic authentication
|
||||
|
||||
Pour mettre en place une authentification HTTP basique au niveau d'HAProxy, définir dans la section globale une liste d'utilisateur, soit avec un mot de passe en clair soit avec un mot de passe chiffré :
|
||||
|
|
Loading…
Reference in a new issue