当nbproc> 1时,如何在haproxy中禁用运行时的服务器

时间:2016-12-12 10:42:27

标签: haproxy

我们在多进程环境( nbproc 20 )中使用 haproxy 。我们希望在不重新启动的情况下从 haproxy 中禁用某些服务器。我们可以在nbproc = 1

时使用以下命令轻松完成此操作
echo "disable server Backend/ServerName" | socat stdio /var/run/haproxy/haproxy.sock 

nbproc > 1时我们如何做同样的事。

1 个答案:

答案 0 :(得分:0)

您需要为每个nbproc

创建单独的套接字
stats socket /var/run/haproxy.1.stats mode 600 level admin process 1
stats socket /var/run/haproxy.2.stats mode 600 level admin process 2
stats socket /var/run/haproxy.3.stats mode 600 level admin process 3

然后使用for循环或最适合你的方式将socat / nc命令重定向到所有/var/run/haproxy.*.stats

for socket in /var/run/haproxy*.stats; do echo "set server <FARM NAME>/<HOST NAME> stat maint" | socat stdio $socket done

如果你想要ipv4 @sockets,同样适用。

欢呼声!!