【问题标题】:Monitoring Mongrel queue length监控 Mongrel 队列长度
【发布时间】:2010-10-02 13:41:46
【问题描述】:
我有一个 Apache + Haproxy + Mongrel 集群设置。当我的 Mongrel 队列长度太长时,我想收到警报。
我如何获取当前的 Mongrel Queue 长度并使其可用于 Monit 和 Nagios 等警报工具?
我知道 Haproxy 有关于 Mongrel 队列的信息,因为它智能地向集群中最不忙的 Mongrel 发送请求。我想知道它是如何发现的?当这种情况出现时,我需要一种类似的机制来生成警报和/或重新启动杂种。
【问题讨论】:
标签:
ruby-on-rails
monitoring
mongrel
【解决方案1】:
将此添加到您的 haproxy 配置中
stats uri /haproxy/hastats
然后使用 lynx 获取如下统计信息:
(假设 haproxy 在端口 10000 上运行 - 调整以适应)
lynx --dump http://my-server:10000/haproxy/hastats
haproxy 配置文件中的每个服务器条目都会有一行,告诉你它是启动还是关闭,它的队列有多长,如下所示:
Server Queue Sessions Errors
Name Weight Status Act. Bck. Curr. Max. Curr. Max. Limit Cumul. Conn. Resp. Sec. Check Down
primary 1 UP Y - 0 0 68 386 - 134385861 207 699 0 7028 150
secondary 1 UP Y - 0 0 71 248 - 134464984 216 551 0 7129 98
现在您只需要一个脚本来获取当前队列(第 6 列)并将其输入 nagios,然后您就离开了!