如何获取HAProxy中stick-table的当前活跃IP数量(表大小)
获取HAProxy stick-table当前活跃用户IP数量的方法
你可以通过以下两种常用方式获取目标stick-table的当前活跃IP数量:
方法一:使用HAProxy统计套接字(推荐)
确保HAProxy已配置统计套接字:
在HAProxy的global或defaults段添加类似配置(若未配置):stats socket /var/run/haproxy.sock mode 660 level admin重启HAProxy使配置生效。
查询stick-table状态:
通过socat工具连接套接字并执行查询命令,其中echo是你配置中frontend的名称:echo "show table echo" | socat stdio /var/run/haproxy.sock输出结果的第一行类似:
table: echo, type: ipv6, size:100, used:5, rate:0这里的
used:5就是当前活跃的IP地址数量。快速提取数值:
若只需直接获取数量,可使用命令过滤结果:echo "show table echo" | socat stdio /var/run/haproxy.sock | grep "^# table" | awk '{print $6}' | cut -d',' -f1
方法二:通过HAProxy统计页面
如果你的HAProxy配置了HTTP统计页面:
确认统计页面配置:
在frontend或独立的listen段添加类似配置:stats enable stats uri /haproxy-stats stats auth admin:yourpassword重启HAProxy生效。
查看stick-table数据:
访问http://<haproxy-ip>:8881/haproxy-stats(替换为你的HAProxy地址和端口),登录后找到名为echo的stick-table条目,查看Used列的数值,即为当前活跃IP数量。
内容的提问来源于stack exchange,提问作者kozmo
相关产品推荐
相关产品推荐

