#! /usr/bin/env python
import sys
import os
import redis
from prometheus_client import CollectorRegistry, push_to_gateway, Gauge, write_to_textfile
def Get_redis_key(IP,Port):
r = redis.Redis(host=IP,port=Port)
return(r.keys("*"))
def Get_redis_key_llen(key,IP,Port):
try:
r = redis.Redis(host=IP,port=Port)
return r.llen(key)
except:
return 0
if __name__ == "__main__":
ip_list = ['10.101.18.11','10.101.18.12','10.101.18.13']
port = ['7001','7002']
registry = CollectorRegistry()
g = Gauge('redis_key_llen_new_sh', 'redis_key', ['info','port','host','key'], registry=registry)
for ip in ip_list:
for i in port:
for key in Get_redis_key(ip,i):
value = Get_redis_key_llen(key,ip,i)
print ip,i,key,value
g.labels('redis_key_llen_new_sh',i,ip,key).set(value)
push_to_gateway('172.21.110.11:9091', job='redis_key_llen_new_sh', registry=registry)