infos additionnelles sur le check d'agent

This commit is contained in:
jlecour 2022-10-20 16:50:42 +02:00
parent ca423771c4
commit 656bc17ec5

View file

@ -457,9 +457,10 @@ frontend fe_www
backend be_www
balance roundrobin
option httpchk OPTIONS *
server www01 192.0.2.1:80 check agent-check agent-inter 5s agent-addr 192.0.2.1 agent-port 9999
server www02 192.0.2.2:80 check agent-check agent-inter 5s agent-addr 192.0.2.2 agent-port 9999
server www03 192.0.2.3:80 check agent-check agent-inter 5s agent-addr 192.0.2.3 agent-port 9999
default-server check agent-check agent-inter 5s
server www01 192.0.2.1:80 agent-port 9999
server www02 192.0.2.2:80 agent-port 9999
server www03 192.0.2.3:80 agent-port 9999
~~~
Un moyen simple (inspiré de ce [blog post](https://icicimov.github.io/blog/server/HAProxy-dynamically-adjust-server-weight-using-external-agent/)) est de créer un script qui sera déclenché par **xinetd**.
@ -521,6 +522,12 @@ Les valeurs renvoyées peuvent être les suivantes :
- La chaîne `maxconn:` suivie d'un entier pour spécifier le nombre max de connexions
- Les mot `ready`, `drain`, `maint`, `down` et `up` pour modifier les états
Il faut bien avoir en tête qu'il y a 2 types d'états :
* "administrative" : ready (prêt), drain (ne plus envoyer de trafic, sans couper l'existant), maint (maintenance, plus de trafic du tout)
* "operative" : up (actif), down/failed/stopped (inactif)
C'est pourquoi il peut être important de combiner plusieurs mots clés dans le résultat de l'agent, en particulier `up ready` pour assurer que les 2 états sont bien remis.
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.