用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.5 KiB

5 months ago
Reloading HAProxy without impacting server states
=================================================
Of course, to fully understand below information please consult
doc/configuration.txt to understand how each HAProxy directive works.
In the mean line, we update HAProxy's configuration to tell it where to
retrieve the last know trustable servers state.
Then, before reloading HAProxy, we simply dump servers state from running
process into the locations we pointed into the configuration.
And voilà :)
Using one file for all backends
-------------------------------
HAProxy configuration
*********************
global
[...]
stats socket /var/run/haproxy/socket
server-state-file global
server-state-base /var/state/haproxy/
defaults
[...]
load-server-state-from-file global
HAProxy init script
*******************
Run the following command BEFORE reloading:
socat /var/run/haproxy/socket - <<< "show servers state" > /var/state/haproxy/global
Using one state file per backend
--------------------------------
HAProxy configuration
*********************
global
[...]
stats socket /var/run/haproxy/socket
server-state-base /var/state/haproxy/
defaults
[...]
load-server-state-from-file local
HAProxy init script
*******************
Run the following command BEFORE reloading:
for b in $(socat /var/run/haproxy/socket - <<< "show backend" | fgrep -v '#')
do
socat /var/run/haproxy/socket - <<< "show servers state $b" > /var/state/haproxy/$b
done