Hi,
I’m using Haproxy 2.0.9.
I’m having some issues with intermittent connection issues because of a loadbalancer that doesn’t update healthchecks too frequently, I’ve been using the Haproxy stats page in my healthchecks.
I thought I would be able to send SIGUSR1 to Haproxy to shut down gracefully, but it seems like it doesn’t pick up quickly enough, so I stumbled upon the documentation which mentions the stopping
variable described here: HAProxy version 2.0.28 - Configuration Manual
I couldn’t find much about that variable, but I assume it would be true if Haproxy have recieved SIGUSR1, right?
However, I came up with this brilliant configuration:
listen fe_ingress
bind *:8887
mode http
stats enable
stats uri /
grace 10s
monitor-uri /healthy
monitor fail if stopping
Grace will keep the listen
alive for 10 seconds after SIGUSR1 has been issued, but the monitor uri will return failing if the process is stopping.
However, if I’m running a config check it gives me the following error:
haproxy -c -f /usr/local/etc/haproxy/haproxy.cfg
[ALERT] 346/020934 (7) : parsing [/usr/local/etc/haproxy/haproxy.cfg:58] : error detected while parsing a ‘monitor fail’ condition : no such ACL : ‘stopping’.
[ALERT] 346/020934 (7) : Error(s) found in configuration file : /usr/local/etc/haproxy/haproxy.cfg
[ALERT] 346/020934 (7) : Fatal errors found in configuration.
The command ‘/bin/sh -c haproxy -c -f /usr/local/etc/haproxy/haproxy.cfg’ returned a non-zero code: 1
Is that right? Or is there another way to solve my issue if stopping
can’t be used as an ACL?