监控redis和zookpeer服务脚本 并且python发送邮件
#!/bin/bashname=`cat /etc/salt/minion | grep "^id" | awk '{print $2}'`
ipaddr=`/sbin/ifconfig | grep "inet addr" | egrep -v "10\.|127\." | awk-F'[: ]+' '{print $4}'`
function checkRedis(){
ps="`ps -ef | grep redis-server | grep -v grep | wc -l`"
nets=`netstat -lntup|grep redis|wc -l`
num=`cat /tmp/redis.log`
if [ $ps -lt 1 -o $nets -lt 1 ]
then
if [ $num -eq 0 ];then
echo 1 > /tmp/redis.log
python python_email.py "ip addr:${ipaddr} salt-minion:${name} redisd is down" "PROBLEM: redis"
fi
elif [ $ps -gt 0 -a $nets -gt 0]
then
if [ $num -eq 1 ];then
echo 0 > /tmp/redis.log
python python_email.py "ip addr:${ipaddr} salt-minion:${name} redisd is ok" "OK:redis"
fi
fi
}
function checkZk(){
ps=`ps -ef|grep zookeeper|grep -v grep|wc -l`
nets=`netstat -lntup|grep java|wc -l`
num=`cat /tmp/zookeeper.log`
if [ $ps -lt 1 -o $nets -lt 1 ]
then
if [ $num -eq 0 ];then
echo 1 > /tmp/zookeeper.log
python python_email.py "ip addr:${ipaddr} salt-minion:${name} zookeeperd is down" "PROBLEM: zookeeper"
fi
elif [ $ps -gt 0 -a $nets -gt 0 ]
then
if [ $num -eq 1 ];then
echo 0 > /tmp/zookeeper.log
python python_email.py "ip addr:${ipaddr} salt-minion:${name} zookeeperd is ok" "OK:zookeeper"
fi
fi
}
checkRedis
#checkZk
页:
[1]