Python脚本监控Redis运行状态
#!/usr/bin/pythonimport redisimport sysSTATUS_OK = 0STATUS_WARNING = 1STATUS_CRITICAL = 2HOST = sys.argv[1]PORT = int(sys.argv[2])WARNING = float(sys.argv[3])CRITICAL = float(sys.argv[4])def connect_r
·
#!/usr/bin/python
import redis
import sys
STATUS_OK = 0
STATUS_WARNING = 1
STATUS_CRITICAL = 2
HOST = sys.argv[1]
PORT = int(sys.argv[2])
WARNING = float(sys.argv[3])
CRITICAL = float(sys.argv[4])
def connect_redis(host,port):
r = redis.Redis(host,port,socket_timeout = 5,socket_connect_timeout = 5)
return r
def main():
r = connect_redis(HOST,PORT)
try:
r.ping()
except:
print HOST,PORT,'down'
sys.exit(STATUS_CRITICAL)
redis_info = r.info()
used_mem = redis_info['used_memory']/1024/1024/1024.0
used_mem_human = redis_info['used_memory_human']
if WARNING <= used_mem <= CRITICAL:
print HOST,PORT,'use memory warning',used_mem_human
sys.exit(STATUS_WARNING)
elif used_mem >= CRITICAL:
print HOST,PORT,'use memory critical',used_mem_human
sys.exit(STATUS_CRITICAL)
else:
print HOST,PORT,'use memory ok',used_mem_human
sys.exit(STATUS_OK)
if __name___ == '__main__':
main()
更多推荐
已为社区贡献3条内容
所有评论(0)