恢复HAProxy统计信息

时间:2014-12-06 19:03:50

标签: haproxy

在更改配置文件时,我使用以下命令重新启动HAProxy:

/usr/local/sbin/haproxy -f /etc/haproxy.cfg -p /var/run/haproxy.pid -sf $(</var/run/haproxy.pid)

可悲的是,在HAProxy恢复之后,之前发布的所有统计数据都已消失。

HAProxy是否有可能从先前的HAProxy开始恢复统计数据?

4 个答案:

答案 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”级别的套接字上发布。