Redis监控数据分布工具Redis-audit 使用总结

Redis-audit 是一个用ruby实现的脚本,通过它,我们可以知道每一类 key 对内存的使用量。它可以提供的数据有:某一类 key 值的访问频率如何,有多少值设置了过期时间,某一类 key 值使用内存的大小,这很方便让我们能排查哪些 key 不常用或者压根不用。
比较了下,比这些 Sentinel,Redis Live,Redis Faina,Redis-sampler,Redis-rdb-tools 监控或者数据分布工具要好!
下载
git clone https://github.com/snmaynard/redis-audit.git

下载后有如下几个文件,文件制定的ruby版本,redis版本可能会需要根据你已安装的进行调整:
Gemfile  Gemfile.lock  README.md  redis-audit.rb

可能会涉及到安装一些依赖包
gem  install bundle 

使用

bundle exec ruby redis-audit.rb [host] [port] [dbnum] [(optional)sample_size]
比如:

bundle exec ruby  redis-audit.rb 127.0.0.1 6379 1 10000

10000 是指随机个数,如果超过数据库的键的数量,则遍历所有键,如果小于,则随机10000 ,10000个可能重复

输出:



分析:

监控了一下脚本的执行,原理上都是发请求给redis,

1.先是尝试连接:"select" "1"

2.然后获取键的数量:"dbsize"

3.如果输入的Sample Size大于数据库键的数量,则遍历所有的键,不随机;

如果小于,则以我们输入的采样个数,进行随机样本次数,获取到随机键:"randomkey"

4.每个键都进行如下三步操作,比如键为horse:39:

4.1 "debug" "object" "horse:39" 这个是用来计算内存使用的,和键的闲置时间
4.2 "type" "horse:39" 这个是用来判断键值的类型的
4.3 "ttl" "horse:39" 这个是用来看这个键的有效期的

这样,再整合info的其他数据,slow log的,几个client连着,如此般的监控脚本我们自己也可以用其他语言去实现,比如时下流行的html5做个监控界面。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值