# coding: utf-8 import redis import sys redis_master_list = ['192.168.4.11:6379',] def getredisinfo(ip, port): try: r = redis.StrictRedis(host=ip, port=port, db=0) # print 'redis ip:', ip # print 'role:', r.info()['role'] # print 'used_memory_human:', r.info()['used_memory_human'] # print 'connected_clients:', r.info()['connected_clients'] # print 'blocked_clients:', r.info()['blocked_clients'] # print 'connected_slaves:', r.info()['connected_slaves'] # print '--' * 60 # for k,v in r.info().items(): # print k,v # sys.exit() if r.info().get('slave0'): n = 0 while 1: slave_num = 'slave' + str(n) if not r.info().get(slave_num): break print slave_num, r.info()[slave_num] ip = r.info()[slave_num]['ip'] port = r.info()[slave_num]['port'] getredisinfo(ip, port) n += 1 except redis.exceptions.ConnectionError: print 'Unable to connect %s:%s' % (ip, port) for host in redis_master_list: print '==' * 60 ip,port = host.split(':') getredisinfo(ip, int(port))