监控redis和zookpeer服务脚本 并且python发送邮件
2016-05-17 17:18
806 查看
监控rediszookpeer
#!/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 #checkZkpython脚本
#!/usr/bin/python # -*- coding: utf-8 -*- import sys def smtp(file,text): from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import smtplib #加邮件头 msg=MIMEText(file,_charset='utf-8') to_list=['xxxx@qq.com','xxx@163.com','xxx@xx.com'] msg['from'] = 'xxxx@qq.com' msg['subject'] = text #发送邮件 try: server = smtplib.SMTP() server.connect('smtp.exmail.qq.com') server.login('xxxx@qq.com','xxxxx')#XXX为用户名,XXXXX为密码 server.sendmail(msg['from'],to_list,msg.as_string()) server.quit() print '发送成功' except Exception, e: print str(e) if __name__ == '__main__': smtp(sys.argv[1],sys.argv[2])
相关文章推荐
- redis安装问题小结
- 使用zabbix监控Nginx活动状态--Part1
- 使用 Redis 和 Python 构建一个共享单车的应用程序
- Redis偶发连接失败案例实战记录
- Redis中实现查找某个值的范围
- win 7 安装redis服务【笔记】
- redis的hGetAll函数的性能问题(记Redis那坑人的HGETALL)
- Redis和Memcached的区别详解
- 分割超大Redis数据库例子
- Redis总结笔记(一):安装和常用命令
- Redis sort 排序命令详解
- 用Redis实现微博关注关系
- Redis实现信息已读未读状态提示
- C#实现简单屏幕监控的方法
- C#进程监控方法实例分析
- redis中修改配置文件中的端口号 密码方法
- 在Ruby on Rails上使用Redis Store的方法
- Windows下使用性能监视器监控SqlServer的常见指标
- Redis和Memcache的区别总结
- 在Node.js应用中使用Redis的方法简介