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

监控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
#checkZk

python脚本

#!/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=[‘[email protected]‘,‘[email protected]‘,‘[email protected]‘]
    msg[‘from‘] = ‘[email protected]‘
    msg[‘subject‘] = text
    #发送邮件
    try:
        server = smtplib.SMTP()
        server.connect(‘smtp.exmail.qq.com‘)
        server.login(‘[email protected]‘,‘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])
时间: 2024-08-11 21:40:45

监控redis和zookpeer服务脚本 并且python发送邮件的相关文章

一个简单的监控redis性能的python脚本

一个简单的监控redis性能的python脚本 上一篇已经讲了如何监控memcached了,现在也顺带讲如何监控redis. 首先介绍下监控redis那些信息: Redis ping:检验ping Redis alive:查看检查端口是否alive Redis connections:查看连接数 Redis blockedClients:正在等待阻塞客户端数量 Redis connectionsUsage:redis的连接使用率 Redis memoryUsage:redis内存使用量 Redi

RedisLive监控Redis服务

RedisLive监控Redis服务 RedisLive是由python编写的并且开源的图形化监控工具,非常轻量级,核心服务部分只包含一个web服务和一个基于redis自带的info命令以及monitor命令的监控服务,界面上只有一个基于BootStrap的web界面,非常简洁明了.除此之外,它还支持多实例监控,切换方便,而且配置起来也非常容易.监控信息支持redis存储和持久化存储(sqlite)两种方式. 注意:RedisLive是使用Python2.x编写,建议使用2.7,本次环境为Cen

监控redis数据库应用状态:python,tornado实现

公司里最近redis服务器压力越来越大,其大概情况,只能从操作系统层面看,并不详尽,故同事在网上找了一个叫做 redis-live的开源项目,我配合部署了一下,还真有点意思,并解决了其中部分小debug, 原文来之这里 目前来说,越来越多的使用多了NOSQL的业务,但是这方面的监控缺不多.今天给大家介绍几个专业监控redis服务的工具,便于大家进行redis性能分析. 下面开始介绍安装redis-live: 因为redis-live是基于python开发的,所以首先要部署所需要的python环境

用python监控您的window服务

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://world77.blog.51cto.com/414605/782935 最近比较烦,研发给的pc服务版本在虚拟机上已经开始给客户使用了,服务老是莫名的死翘翘,客户不停的电话给我,搞的我心情很差,于是在一个下午,静下心来,用python写了个简单的监控进程的脚本,当发现进程消失的时候,立即调用服务,开启服务... 脚本的工作原理是这样的:脚本读取配置文件,读取预先配置好的调用系统

zabbix 监控redis python3脚本

一:安装redis-python模块 wge  thttps://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz tar xf redis-2.9.1.tar.gz cd redis-2.9.1 python setup.py install 二:配置zabbix (1) 将zabbix-redis.py 放入到/usr/local/zabbix/etc/scripts目录下 (2) 更改zabbix_agentd.conf

Linux下Redis启动/关闭/重启服务脚本

脚本功能: 实现redis单机多实例情况下的正常启动.关闭.重启单个redis实例.完成系统标准服务的以下常用功能:  start|stop|status|restart 注:redis程序代码屏蔽了HUP信号,不支持在线重载配置文件,故去掉reload功能. 本脚本优化了redis停止和重启逻辑,解决原redis脚本关闭时会造成数据丢失问题. 脚本名称: redis           #在多实例里可以按实例端口,如:redis-6001命名,以区分不同实例 脚本用法: 1.在/etc/rc.

nagios监控redis端口、监控url接口告警脚本

监控redis端口如下: #!/bin/sh #Created by hys 20140823 declare -a master_ismaster_is=($(redis-cli -h 192.168.0.76 -p 7711 INFO |grep role |awk -F: '{print $2}'))echo $master_isif [ ${master_is} == "master" ];then        echo "OK -slave is running&

Cacti监控Redis实现过程

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.被广泛的用于对服务器的运维监控中,Cacti提供了一种插件式的管理,只要按要求写好特定的模板,那么你就可以对任何服务进行流量监控.本文就是要为大家介绍两个模板,分别是MongoDB和Redis的Cacti模板,使用它,你可以对你的MongoDB和Redis服务进行流量监控. 1,升级python,此时如果是系统默认的python版本,会出现以下错误 python setup.py install Tr

监控开发之用munin来自定义插件监控redis和mongodb

求监控组的大哥大妹子们干点事,真不容易 ! 要问他们是谁?  他们是神 .轻易别找他们,因为找了也是白找. 上次因为python和redis长时间brpop的时候,会有线程休眠挂起的情况,所有通知报警平台被下线了.这次算是完美解决了.再把他给上线.这两公司的告警已经开始往我这边的接口开始仍了. 这边正在改zabbix cmdb的控制,所以暂时不能登录.等搞好了后,让他们搞下redis和mogodb的监控,居然还让我发邮件和提供脚本及思路啥的...   一寻思,又要去zabbix,又要写脚本,还不