Monitoring RabbitMQ Queues with Zabbix
Sun 09 October 2011 by tvdRecently I setup some monitoring on a RabbitMQ server using Zabbix. This process is by no means difficult, but I thought it was worth sharing.
I was looking for a solution that did not require additional plugins or packages, but would perform well. Some useful tools for monitoring include: the Management Plugin for RabbitMQ - works well, but provides more info than I needed; SNMP Statistics Plugin which looks promising; and the method below.
This assumes a zabbix server and agent(s) are setup, and a basic knowledge of zabbix.
Zabbix User Parameters
These user parameters pull all of the queue and exchange information out of rabbitmqctl for a particular queue and exchange.
I created a new file, /etc/zabbix/zabbix.conf.d/rabbitmq-server-stats.conf, which looked like the one below. It assumes rabbitmqctl is at /usr/sbin/rabbitmqctl.
After making the changes, bounce (restart) the zabbix-agent service on the rabbitmq server box.
Sudo Permissions
The parameters won't work until the zabbix group is granted non-password sudo access. I chose to add a new file at /etc/sudoers.d/rabbitmqserverstats.
I added the following line to the end of /etc/sudoers:
/etc/sudoers.d/rabbitmqserverstats contains:
And with that, Zabbix should be able to monitor the some-queue and some-exchange statistics.
Update: Posted to RabbitMQ Server Stats template on ZabbixTemplates.com.