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

#!/usr/bin/env python
#encoding=utf8

#需要给python安装redis插件,安装方法:#easy_install redis
import redis
import sys
import getopt

def 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: on
Example:
./check_redis_mem -H 127.0.0.1 -P 6379 -w 80 -c 90 or ./check_redis_mem -H 127.0.0.1 -P 6379
This 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 = 75
critical = 85
host = ''
port = 0

for name,value in options:
if name in ("-h","--help"):
    usage()
if name in ("-H","--host"):
    host = value
if name in ("-P","--port"):
    port = int(value)
if name in ("-w","--warning"):
    warning = value
if name in ("-c","--critical"):
    critical = value

if 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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值