From 41e3fb0982d1d83667f7fccddba487ce05c7aef3 Mon Sep 17 00:00:00 2001 From: Tristan PILAT Date: Tue, 16 Feb 2021 11:40:20 +0100 Subject: [PATCH] Add check_keepalived NRPE script --- keepalived/files/check_keepalived | 53 +++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 keepalived/files/check_keepalived diff --git a/keepalived/files/check_keepalived b/keepalived/files/check_keepalived new file mode 100644 index 00000000..e518e99e --- /dev/null +++ b/keepalived/files/check_keepalived @@ -0,0 +1,53 @@ +#!/bin/bash + +############################################################### +# Check Keepalived State # +# # +# Author: Zhivko Todorov # +# 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