Rewrite check_rabbitmq_size to use python to evade permission issues (rabbitmqctl can only run as root or rabbitmq)

Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
This commit is contained in:
Patrick Uiterwijk 2016-03-18 16:27:58 +00:00
parent 07486b69f4
commit f2599e49f8

View file

@ -1,22 +1,26 @@
#!/bin/bash #!/bin/python
import sys
import requests
QUEUE=$1 url = 'http://localhost:15672/api/queues/%%2f/%s' % (sys.argv[1])
QUEUESIZE=`rabbitmqctl list_queues | grep $QUEUE | awk '{print $2}'` r = requests.get(url, auth=('guest', 'guest')).json()
consumers = r['consumers']
messages = r['messages']
CRITICAL=20 msg = 'Messages in queue: %i (%i consumers)' % (messages, consumers)
WARNING=15
if consumers < 1:
print 'CRITICAL: %s' % msg
sys.exit(2)
if [ $QUEUESIZE -gt $CRITICAL ] if messages > 20:
then print 'CRITICAL: %s' % msg
echo "queuesize: CRITICAL Queue size: $QUEUESIZE" sys.exit(2)
exit 2
elif [ $QUEUESIZE -gt $WARNING ] if messages > 10:
then print 'WARNING: %s' % msg
echo "queuesize: WARNING Queue size: $QUEUESIZE" sys.exit(1)
exit 1
else print 'OK: %s' % msg
echo "queuesize: OK Queue size: $QUEUESIZE" sys.exit(0)
exit 0
fi