forked from evolix/ansible-roles
Add check_keepalived NRPE script
This commit is contained in:
parent
3e11b1d31f
commit
41e3fb0982
53
keepalived/files/check_keepalived
Normal file
53
keepalived/files/check_keepalived
Normal file
|
@ -0,0 +1,53 @@
|
|||
#!/bin/bash
|
||||
|
||||
###############################################################
|
||||
# Check Keepalived State #
|
||||
# #
|
||||
# Author: Zhivko Todorov <ztodorov@neterra.net> #
|
||||
# Date: 01-Dec-2015 #
|
||||
# Version: 0.0.1 #
|
||||
# License: GPL #
|
||||
###############################################################
|
||||
|
||||
|
||||
# set to 'true' if the host is supposed to be in MASTER state
|
||||
# or set to 'false' if the host is supposed to be in BACKUP state
|
||||
# nrpe cannot receive external variables UNLESS is forced in config
|
||||
MASTER='true'
|
||||
|
||||
# checking if there are alive keepalived processes so we can trust the content of the notify 'state' file
|
||||
KEEPALIVENUM=`ps uax|grep '/usr/sbin/keepalived'|grep -v grep|wc -l|tr -d "\n"`
|
||||
|
||||
if [ $KEEPALIVENUM -gt 0 ]; then
|
||||
|
||||
KEEPALIVESTATE=`cat /var/run/keepalive.state`
|
||||
|
||||
if [ "$MASTER" == "true" ]; then
|
||||
|
||||
if [[ $KEEPALIVESTATE == *"MASTER"* ]];then
|
||||
echo $KEEPALIVESTATE
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ $KEEPALIVESTATE == *"BACKUP"* ]];then
|
||||
echo $KEEPALIVESTATE
|
||||
exit 2
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
if [[ $KEEPALIVESTATE == *"BACKUP"* ]];then
|
||||
echo $KEEPALIVESTATE
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ $KEEPALIVESTATE == *"MASTER"* ]];then
|
||||
echo $KEEPALIVESTATE
|
||||
exit 2
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Keepalived is in UNKNOWN state"
|
||||
exit 3
|
Loading…
Reference in a new issue