RabbitMQ Server Stats template

Description: 

This assumes RabbitMQ Server 2.0 or greater.

These user parameters pull all of the queue and exchange information out of rabbitmqctl for a particular queue and exchange. It assumes rabbitmqctl is at /usr/sbin/rabbitmqctl.

# Send batch parameters for monitoring.
#
# NOTE: This requires the zabbix group to have non-password sudo
# access on all instances where this runs. rabbitmqctl requires
# elevated perms to execute.
#
#
# Meta params.
#
UserParameter=batch.queues,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_queues | grep -cv '\.\.\.'
UserParameter=batch.exchanges,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_exchanges | grep -cv '\.\.\.'
#
# some-queue statistics.
#
UserParameter=batch.queue.durable,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_queues name durable | grep 'some-queue' | awk '{ print $2 }'
UserParameter=batch.queue.msg_ready,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_queues name messages_ready | grep 'some-queue' | awk '{ print $2 }'
UserParameter=batch.queue.msg_unackd,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_queues name messages_unacknowledged | grep 'some-queue' | awk '{ print $2 }'
UserParameter=batch.queue.msgs,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_queues name messages | grep 'some-queue' | awk '{ print $2 }'
UserParameter=batch.queue.consumers,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_queues name consumers | grep 'some-queue' | awk '{ print $2 }'
UserParameter=batch.queue.memory,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_queues name memory | grep 'some-queue' | awk '{ print $2 }'
#
# some-exchange statistics.
#
UserParameter=batch.exchange.durable,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_exchanges name durable | grep 'some-exchange' | awk '{ print $2 }'
UserParameter=batch.exchange.type,sudo /usr/sbin/rabbitmqctl -n prod_rabbitmq-rabbit list_exchanges name type | grep 'some-exchange' | awk '{ print $2 }'

The parameters won't work until the zabbix group is granted non-password sudo access.

Add the following line to the end of /etc/sudoers:

#includedir /etc/sudoers.d

Create /etc/sudoers.d/rabbitmqserverstats with 0440 permissions.

# RabbitMQ Server Stats Sudoers
#
# This grants the zabbix group non-password sudo access to rabbitmqctl.
#
%zabbix ALL=(ALL) NOPASSWD: /usr/sbin/rabbitmqctl

Taken from original post Monitoring RabbitMQ Queues with Zabbix on Thomas Van Doren's Blog.

Files: 
Quality: 
No votes yet

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Recent comments