redis info 命令只能获取单个实例的信息。写了一个 shell ,可以方便的获取 redis 集群的汇总信息:
#!/bin/sh
ip=10.21.61.43
port=6379
sum_size=0
sum_mem=0
sum_conn=0
for addr in `redis-cli -p $port -h $ip cluster nodes | awk '{print $2}'`
do
host=`echo $addr | awk -F: '{print $1}'`
hport=`echo $addr | awk -F: '{print $2}'`
role=`redis-cli -p $hport -h $host info | grep "role:" | awk -F: '{print $2}' | tr -d '\r\n'`
if [ $role = "slave" ];then
continue
fi
dbsize=`redis-cli -p $hport -h $host dbsize`
mem=`redis-cli -p $hport -h $host info | grep "used_memory:" | awk -F: '{print $2}' | tr -d '\r\n' | tr -d 'G'`
conn=`redis-cli -p $hport -h $host info | grep "connected_clients:" | awk -F: '{print $2}' | tr -d '\r\n' | tr -d 'G'`
mem=$(awk "BEGIN{print $mem/1024.0/1024.0/1024.0}")
echo "$host $hport mem $mem G , dbsize $dbsize, connected_clients $conn"
sum_size=`expr $dbsize + $sum_size`
sum_mem=$(awk "BEGIN{print $sum_mem + $mem}")
sum_conn=$(awk "BEGIN{print $sum_conn + $conn}")
done
echo "集群dbsize 总数:$sum_size"
echo "集群内存(G) 总数:$sum_mem"
echo "连接数 总数:$sum_conn"
本文由 arganzheng 创作,采用 CC BY 4.0 许可协议。在保留原文作者、署名以及完整原文链接(https://arganzheng.life/redis-cluster-info.html)的前提下,欢迎各种形式的转载、翻译或商业引用。
YOU MIGHT ALSO LIKE
- 23 Jan 2018 » Redis集群学习
- 05 May 2017 » redis slave的key过期机制
- 11 Aug 2015 » 高可用分布式缓存系统
OUTLINE
没有匹配的标题
COMMENTS
评论存放在 GitHub Discussions, 用 GitHub 账号登录即可发表,支持 Markdown。 想针对正文某句话说?选中那段文字,点浮出的「评论」即可划线评论;觉得哪里写错了,发表时勾上「同时提交 Issue」。 有人回复你时 GitHub 会按你的通知设置发邮件,不用守在这里。