我有一个Apache + Haproxy + Mongrel集群设置。每当我的Mongrel队列长度变得太高时,我都想收到警报。
如何获取当前Mongrel队列长度,并使其可用于Monit和Nagios等告警工具?
我知道Haproxy有关于Mongrel队列的信息,因为它智能地将请求发送到集群中最不繁忙的Mongrel。我想知道它是怎么发现的?我需要一种类似的机制来生成警报和/或在出现这种情况时重新启动mongrels。
发布于 2009-04-10 14:07:38
将其添加到您的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,您就可以离开了!
发布于 2009-04-09 18:56:27
New Relic的RPM产品(www.newrelic.com)维护关于Mongrel队列长度的信息。它们有一个API,您可以使用它来获得有关队列长度的近乎实时的反馈,并相应地调整负载平衡。
有关该接口的更多信息,请访问:https://newrelic.tenderapp.com/faqs/docs/data-api
希望这能提供一些帮助。
https://stackoverflow.com/questions/463235
复制相似问题