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 1000010000 是指随机个数,如果超过数据库的键的数量,则遍历所有键,如果小于,则随机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做个监控界面。
推荐阅读:通过Shell和Redis来实现集群业务中日志的实时收集分析 http://www.linuxidc.com/Linux/2013-05/83935.htm通过Redis的Pub/Sub实现对服务器群的监控管理 http://www.linuxidc.com/Linux/2013-05/83936.htmCentOS 5.5 更新网卡驱动 bnx2 version: 2.0.2Ubuntu 12.04 如何修改背景色相关资讯 Redis Redis-audit
- Redis 非关系型数据库 ( Nosql ) (07月01日)
- Java中使用Jedis操作Redis (04月08日)
- 在Ubuntu 14.04下安装Redis (01月31日)
| - 关于 Redis的订阅发布 (04月15日)
- MongoDB仲裁节点的理解及Memcached (02月13日)
- 关于redis中的Replication (01月29日)
|
本文评论 查看全部评论 (0)