nagios插件-查看redis的内存使用率

来源:互联网 发布:刷爱奇艺vip会员软件 编辑:程序博客网 时间:2024/05/16 15:48

#!/usr/bin/env python#encoding=utf8#需要给python安装redis插件,安装方法:#easy_install redisimport redisimport sysimport getoptdef usage():print """Usage:check_redis_mem [-h|--help][-H|--hostname][-P|--port][-w|--warning][-c|--critical]Options:--help|-h)    print check_redis_mem help.--host|-H)    Sets connect host.--port|-P)    Sets connect port.--warning|-w)    Sets a warning level for redis mem userd. Default is: on--critical|-c)    Sets a critical level for redis mem userd. Default is: onExample:./check_redis_mem -H 127.0.0.1 -P 6379 -w 80 -c 90 or ./check_redis_mem -H 127.0.0.1 -P 6379This should output: mem is ok and used 10.50%"""sys.exit(3)try:options,args = getopt.getopt(sys.argv[1:],"hH:P:w:c:",["help","host=","port=","warning=","critical="])except getopt.GetoptError as e:usage()warning = 75critical = 85host = ''port = 0for name,value in options:if name in ("-h","--help"):    usage()if name in ("-H","--host"):    host = valueif name in ("-P","--port"):    port = int(value)if name in ("-w","--warning"):    warning = valueif name in ("-c","--critical"):    critical = valueif host == '' or port == 0:usage()try:r = redis.Redis(host=host,port=port)if r.ping() == True:    maxmem = r.config_get(pattern='maxmemory').get('maxmemory')    usedmem = r.info().get('used_memory')    temp=float(usedmem) / float(maxmem)    tmp = temp*100    if tmp >= warning and tmp < critical:print "mem is used %.2f%%" % (tmp)sys.exit(1)    elif tmp >= critical:print "mem is used %.2f%%" % (tmp)sys.exit(2)    else:print "It's ok and mem is used %.2f%%" % (tmp)sys.exit(0)else:    print "can't connect."    sys.exit(2)except Exception as e:    print e.message    usage()

参考网站: http://blog.chinaunix.net/uid-26443861-id-3371730.html


nagios插件-查看redis的内存使用率

使用python写的一个nagios插件,主要实现的功能就是查看redis的内存使用率,写这个插件起初是因为公司服务器的redis一个端口的内存使用完了,导致公司网站访问出现异常,所以写了这个插件來检测redis的内存使用率。

使用方法见脚本:check_redis_mem


原创粉丝点击