<div dir="ltr">SO I'm working on a set of monitoring tools (already have some python scripts built for Nagios, now looking at Zabbix templates) to monitor rabbit queues and their information. The basic stuff I've got setup and working right now are:<div>
<br></div><div>queue memory</div><div>queue messages</div><div>queue unack'd messages</div><div>queue consumers</div><div><br></div><div>aliveness of a vhost</div><div>mem used/limit</div><div>disk free/limit</div><div>
fd used/limit</div><div>proc used/limit</div><div>sockets used/limit</div><div><br></div><div>The question I have is on the queue - I'd like to be able to monitor when the queue was last "accessed" for message publishes. I was looking at the idle_since but it looks like the date there gets reset anytime you even look at the list of queues. Is there some field I'm missing that might have that information? Ideally, I'd like to alert on for example "This queue hasn't received messages in quite a long while, possibly the publisher is not publishing messages correctly". Anyone have any thoughts? Suggestions? Other things they monitor? </div>
<div><br></div><div>One interesting thing I noticed while working on monitoring. rabbitmqctl does not seem like a very efficient mechanism for use by monitoring tools. I started off using ctl to get various queue and server information and found that it was extremely expensive to call repeatedly. I tried using some python scripts to hit the management API and my CPU load went down by about 70%. Not sure if other people have seem the same using rabbitmqctl?</div>
<div><br></div><div>Thanks!<br>Jason</div><div><br></div><div>-- <br></div><div>Jason McIntosh<br><a href="https://github.com/jasonmcintosh/">https://github.com/jasonmcintosh/</a><br>573-424-7612
</div></div>