mirror of
https://github.com/cmur2/munin-rabbitmq.git
synced 2024-11-14 18:56:16 +01:00
7f8033a541
fixed the sed expression to match dashes as well .-= -> .=- updated the perl regexs to match the sed ones renamed the plugins to work with munin 1.2.5
76 lines
2.2 KiB
Bash
Executable File
76 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Plugin to monitor the queues of a virtual_host in RabbitMQ
|
|
#
|
|
# Usage: Link or copy into /etc/munin/node.d/
|
|
#
|
|
# Parameters
|
|
# env.vhost <AMQ virtual host>
|
|
# env.queue_warn <warning queuesize>
|
|
# env.queue_crit <critical queuesize>
|
|
#
|
|
# Magic markers (optional - only used by munin-config and some
|
|
# installation scripts):
|
|
#
|
|
#%# family=auto
|
|
#%# capabilities=autoconf
|
|
|
|
# If run with the "autoconf"-parameter, give our opinion on wether we
|
|
# should be run on this system or not. This is optinal, and only used by
|
|
# munin-config. In the case of this plugin, we should most probably
|
|
# always be included.
|
|
|
|
if [ "$1" = "autoconf" ]; then
|
|
echo yes
|
|
exit 0
|
|
fi
|
|
|
|
# If run with the "config"-parameter, give out information on how the
|
|
# graphs should look.
|
|
|
|
HOME=/tmp/
|
|
VHOST=${vhost:-"/"}
|
|
QUEUES=$(rabbitmqctl list_queues -p $VHOST name | \
|
|
grep -v '^Listing' | \
|
|
grep -v 'done\.$' | sed -e 's/[.=-]/_/g' )
|
|
|
|
if [ "$1" = "config" ]; then
|
|
QUEUE_WARN=${queue_warn:-10000}
|
|
QUEUE_CRIT=${queue_crit:-20000}
|
|
|
|
# The host name this plugin is for. (Can be overridden to have
|
|
# one machine answer for several)
|
|
|
|
# The title of the graph
|
|
echo "graph_title RabbitMQ $VHOST Memory used by queue"
|
|
# Arguments to "rrdtool graph". In this case, tell it that the
|
|
# lower limit of the graph is '0', and that 1k=1000 (not 1024)
|
|
echo 'graph_args --base 1024 --vertical-label Bytes -l 0'
|
|
# The Y-axis label
|
|
echo 'graph_vlabel memory'
|
|
# We want Cur/Min/Avg/Max unscaled (i.e. 0.42 load instead of
|
|
# 420 milliload)
|
|
#echo 'graph_scale no'
|
|
echo 'graph_category RabbitMQ'
|
|
|
|
for queue in $QUEUES; do
|
|
echo "$queue.label $queue"
|
|
echo "$queue.warning $QUEUE_WARN"
|
|
echo "$queue.critical $QUEUE_CRIT"
|
|
echo "$queue.info Memory used by $queue"
|
|
done
|
|
|
|
echo 'graph_info Show memory usage by queue'
|
|
# Last, if run with the "config"-parameter, quit here (don't
|
|
# display any data)
|
|
exit 0
|
|
fi
|
|
|
|
# If not run with any parameters at all (or only unknown ones), do the
|
|
# real work - i.e. display the data. Almost always this will be
|
|
# "value" subfield for every data field.
|
|
|
|
HOME=$HOME rabbitmqctl list_queues -p $VHOST name memory | \
|
|
grep -v "^Listing" | grep -v "done.$" | \
|
|
perl -nle'($q, $s) = split; $q =~ s/[.=-]/_/g; print("$q.value $s")'
|