https://pypi.python.org/pypi/redis
#!/usr/bin/env python
import redis
import json
import time
r_total_net_output_bytes =0
r_total_net_input_bytes =0
r_keyspace_hits =0
r_keyspace_misses =0
r_used_cpu_sys =0
r_used_cpu_user =0
r_used_cpu_sys_children =0
r_used_cpu_user_children =0
FLAG=0
print ("%-20s %-7s %-10s %-5s %-5s %-6s %-10s %-10s %-12s %-12s %-12s %-8s %-13s %-9s %-11s %-7s %-12s %-12s %-14s %-15s %-16s"
% ("Time",
"ver",
"role",
"port",
"conn",
"qps",
"netOut",
"netInput",
"memory_rss",
"used_memory",
"mem_frag(%)",
"evicted",
"hit_ratio(%)",
"key_hits",
"key_misses",
"CPU(%)",
"cpu_sys(%)",
"cpu_user(%)",
"cpu_sys_bg(%)",
"cpu_user_bg(%)",
"blocked_clients"
)
)
r=redis.Redis(host='localhost',port=6300)
while 1:
re=json.loads(json.dumps(r.info()))
for x in re:
if(x == 'redis_version'):
redis_version = re[x]
if(x == 'role'):
role= re[x]
if(x == 'tcp_port'):
tcp_port= re[x]
if(x == 'connected_clients'):
connected_clients= re[x]
if(x == 'instantaneous_ops_per_sec'):
instantaneous_ops_per_sec = re[x]
if(x == 'total_net_output_bytes'):
total_net_output_bytes= re[x] - r_total_net_output_bytes
r_total_net_output_bytes= re[x]
if(x == 'total_net_input_bytes'):
total_net_input_bytes= re[x] - r_total_net_input_bytes
r_total_net_input_bytes= re[x]
if(x == 'used_memory_rss'):
used_memory_rss= re[x]
if(x == 'used_memory'):
used_memory= re[x]
if(x == 'evicted_keys'):
evicted_keys= re[x]
if(x == 'mem_fragmentation_ratio'):
mem_fragmentation_ratio= re[x]
if(x == 'keyspace_hits'):
keyspace_hits= re[x] - r_keyspace_hits
r_keyspace_hits= re[x]
if(x == 'keyspace_misses'):
keyspace_misses= re[x] - r_keyspace_misses
r_keyspace_misses= re[x]
if(x == 'used_cpu_sys'):
used_cpu_sys = re[x] - r_used_cpu_sys
r_used_cpu_sys = re[x]
if(x == 'used_cpu_user'):
used_cpu_user= re[x] - r_used_cpu_user
r_used_cpu_user= re[x]
if(x == 'used_cpu_sys_children'):
used_cpu_sys_children= re[x] - r_used_cpu_sys_children
r_used_cpu_sys_children= re[x]
if(x == 'used_cpu_user_children'):
used_cpu_user_children = re[x] - r_used_cpu_user_children
r_used_cpu_user_children = re[x]
if(x == 'blocked_clients'):
blocked_clients = re[x]
if(FLAG != 0):
sum_cpu = used_cpu_sys + used_cpu_user + used_cpu_sys_children + used_cpu_user_children
key_hit_r = (keyspace_hits + 0.00) / ( keyspace_hits + keyspace_misses) * 100
lotime = time.strftime('%Y/%m/%d %H:%M:%S',time.localtime(time.time()))
print ("%-20s %-7s %-10s %-5s %-5s %-6s %-10s %-10s %-12s %-12s %-12.2f %-8s %-13.2f %-9s %-11s %-7.2f %-12.2f %-12.2f %-14.2f %-15.2f %-16d"
%(lotime,redis_version,role,tcp_port,connected_clients,instantaneous_ops_per_sec,total_net_output_bytes,total_net_input_bytes,used_memory_rss,used_memory,mem_fragmentation_ratio,evicted_keys,key_hit_r,keyspace_hits,keyspace_misses,sum_cpu,used_cpu_sys,used_cpu_user,used_cpu_sys_children,used_cpu_user_children,blocked_clients))
time.sleep(1)
FLAG=1
'SOURCE' 카테고리의 다른 글
[Python] MySQL CRUD 샘플 스크립트 (0) | 2017.02.18 |
---|---|
[Python] MongoDB 컬렉션 사이즈 확인 (0) | 2017.02.09 |
Comments