在更改配置文件时,我使用以下命令重新启动HAProxy:
/usr/local/sbin/haproxy -f /etc/haproxy.cfg -p /var/run/haproxy.pid -sf $(</var/run/haproxy.pid)
可悲的是,在HAProxy恢复之后,之前发布的所有统计数据都已消失。
HAProxy是否有可能从先前的HAProxy开始恢复统计数据?
答案 0 :(得分:6)
从版本1.6开始,您可以在执行重新加载之前将服务器状态转储到平面文件中,并让新进程知道状态的存储位置。 请参阅此处的示例:seamless_reload
“show servers state”命令用于保持服务器正常运行时间和健康状态交叉重载,但它不提供会话数据或字节输入/输出等。“show stat”命令可以将这些统计信息转储到虽然HAproxy没有重新加载此信息的功能,但您可以使用该文件稍后创建报告。
答案 1 :(得分:2)
不幸的是无法完成。 HAProxy的统计数据都在内存中,因此在重新启动时(甚至优雅地使用-sf),这些统计数据会丢失。
答案 2 :(得分:0)
在重新加载/重新启动之前,您可以将数据导出到CSV文件
"http://localhost:8080/haproxy?stats;csv"
或
curl -u <USER>:<MyPASSWORD> "http://localhost:8080/haproxy?stats;csv"
答案 3 :(得分:0)
根据HAproxy 1.5 doc,您可以使用unix套接字清除所有统计信息。
清除所有计数器
清除每个代理(前端和后端)以及每个代理中的所有统计计数器 服务器。这与重新启动具有相同的效果。该命令受限制 并且只能在配置为“ admin”级别的套接字上发布。