bingtuag 发表于 2018-11-5 09:45:32

监控redis和zookpeer服务脚本 并且python发送邮件

#!/bin/bash  
name=`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]
查看完整版本: 监控redis和zookpeer服务脚本 并且python发送邮件