79a1ea26d6
The tests are still py2; they'll need an update to zaza at some point. Change-Id: I2c4b1ba0212f96cf4a725c80d87b8b2bfed2186f
35 lines
1.0 KiB
Bash
Executable File
35 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#--------------------------------------------
|
|
# This file is managed by Juju
|
|
#--------------------------------------------
|
|
#
|
|
# Copyright 2009,2012 Canonical Ltd.
|
|
# Author: Tom Haddon
|
|
|
|
CRITICAL=0
|
|
NOTACTIVE=''
|
|
LOGFILE=/var/log/nagios/check_haproxy.log
|
|
AUTH=$(grep -r "stats auth" /etc/haproxy/haproxy.cfg | awk 'NR=1{print $3}')
|
|
|
|
typeset -i N_INSTANCES=0
|
|
for appserver in $(awk '/^\s+server/{print $2}' /etc/haproxy/haproxy.cfg)
|
|
do
|
|
N_INSTANCES=N_INSTANCES+1
|
|
output=$(/usr/lib/nagios/plugins/check_http -a ${AUTH} -I 127.0.0.1 -p 8888 -u '/;csv' --regex=",${appserver},.*,UP.*" -e ' 200 OK')
|
|
if [ $? != 0 ]; then
|
|
date >> $LOGFILE
|
|
echo $output >> $LOGFILE
|
|
/usr/lib/nagios/plugins/check_http -a ${AUTH} -I 127.0.0.1 -p 8888 -u '/;csv' -v | grep ",${appserver}," >> $LOGFILE 2>&1
|
|
CRITICAL=1
|
|
NOTACTIVE="${NOTACTIVE} $appserver"
|
|
fi
|
|
done
|
|
|
|
if [ $CRITICAL = 1 ]; then
|
|
echo "CRITICAL:${NOTACTIVE}"
|
|
exit 2
|
|
fi
|
|
|
|
echo "OK: All haproxy instances ($N_INSTANCES) looking good"
|
|
exit 0
|