Ajout check disk agent-check

This commit is contained in:
emorino 2023-02-20 10:39:26 +01:00
parent bfdc7d524c
commit 3026d78c94

View file

@ -580,7 +580,49 @@ C'est pourquoi il peut être important de combiner plusieurs mots clés dans le
On notera que seuls les algorithmes d'équilibrage dynamiques (roundrobin et leastconn) permettront l'ajustement du poids via `agent-check`. Dans le cas de l'utilisation d'un algorithme statique comme `source` par exemple, seules des opérations telles que le passage en DRAIN, DOWN, MAINT et UP seront possibles.
### Agent-check sur la surveillance de l'espace disque
On peux faire un agent check avec xinetd comme vu plus haut et le script `diskchk.sh` qui permet de surveillé l'espace disque, exemple avec la partition `/var` :
~~~bash
#!/bin/bash
# This variable check current disk space on /var partition in percentage
partition="/var"
disk_space=$(/usr/lib/nagios/plugins/check_disk -c 5% -K 5% -p "$partition" | awk '{ print $9 }' | tr -d -c '0-9')
# This variable is maximum percentage on disk space on /var partition
disk_space_max="5"
if [ "$disk_space" -gt "$disk_space_max" ]; then
echo "ready"
else
echo "drain"
fi
exit 0
~~~
Pour utilisé ce script il faut au préalable que le **check nrpe** `check_disk` soit installé sur la machine que l'on veux surveillé.
La variable `disk_space_max` indique en pourcentage l'espace disque restant à partir duquel le script retournera `drain`.
Et un exemple de configuration haproxy pour le port 25 en mode tcp :
~~~
frontend mail
bind :25
mode tcp
option tcplog
default_backend mail
backend mail
balance roundrobin
default-server check agent-check agent-inter 5s
server mail00 192.168.0.1:25 inter 10000 rise 2 fall 5 check weight 50 agent-port 9999
server mail01 192.168.0.2:25 inter 10000 rise 2 fall 5 check weight 50 agent-port 9999
~~~
Dans ce cas le serveur mis en `drain` par le script, le serveur concerné n'envera plus de trafic, mais les mails en cours d'envoir ne sont pas coupés.
### HTTP basic authentication
Pour mettre en place une authentification HTTP basique au niveau d'HAProxy, définir dans la section globale une liste d'utilisateurs, soit avec un mot de passe en clair, soit avec un mot de passe chiffré :