Redis监控方案

原文转自:http://www.tqcto.com/article/recommend/97.html

  Redis现在在业务中应用已经很广泛了,但是如何监控redis,实时的观察redis的性能,却很少的提及,现在常见的监控方案基本上都是使用redis自带的info命令和monitor命令获取相关信息,然后提取出来显示。

测试环境:

     redis版本:2.4.17  

     IP:10.20.111.188


1 redis-faina

   一个使用redis自带命令monitor的输出结果做分析的python脚本,在命令行下使用,可以做实时分析使用。

   官网:https://github.com/Instagram/redis-faina

   下载试用:

?
1
2
3
4
cd / opt / test
git clone https: / / github.com / Instagram / redis - faina.git
cd redis - faina /
redis - cli - p 6379 MONITOR | head - n 100 | . / redis - faina.py - - redis - version = 2.4
 测试结果如下:


   可以看到一些实时的数据,并且有一定的统计数据,可以作为一个命令行工具使用。推荐使用,不过redis版本要大于2.4。


2 redis-live

   一个用来监控redis实例,分析查询语句并且有web界面的监控工具,python编写。

   官网:https://github.com/nkrode/RedisLive

   下载试用:

         运行环境依赖包安装:http://www.nkrode.com/article/real-time-dashboard-for-redis

         redis-live安装:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
cd / root
git clone https: / / github.com / nkrode / RedisLive.git
cd RedisLive / src
###修改redis-live.conf文件
{
     "RedisServers" :
     [
         {
             "server" : "10.20.111.188" ,
             "port" : 6379
         }
         
     ],
 
     "DataStoreType" : "redis" ,
 
     "RedisStatsServer" :
     {
         "server" : "10.20.111.188" ,
         "port" : 6380
     },
     
     "SqliteStatsStore" :
     {
         "path" "to your sql lite file"
     }
}
###修改完毕
###启动监控服务,每30秒监控一次
. / redis - monitor.py - - duration = 30
###再次开启一个终端,进入/root/RedisLive/src目录,启动web服务
. / redis - live.py
   在浏览器输入:  http://10.20.111.188:8888/index.html     即可看到下图:

    一个web界面,可以同时监控多个redis实例,做集中监控比较好。


3 redis-stat

  一个用ruby写成的监控redis的程序,基于info命令获取信息,而不是通过monitor获取信息,性能应该比monitor要好。

  官网:https://github.com/junegunn/redis-stat

       运行环境安装:

?
1
2
apt - get install ruby   
apt - get install rubygems
        redis-stat安装:

?
1
2
3
4
5
cd / root
git clone https: / / github.com / junegunn / redis - stat.git
cd / root / redis - stat / bin
###./redis-stat --help 可以看到使用帮助
. / redis - stat 1
    下面看看redis-stat的具体用法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
usage: redis - stat [HOST[:PORT] ...] [INTERVAL [COUNT]]
 
     - a, - - auth = PASSWORD              Password
     - v, - - verbose                    Show more info
         - - style = STYLE                Output style: unicode |ascii
         - - no - color                   Suppress ANSI color codes
         - - csv = OUTPUT_CSV_FILE_PATH   Save the result in CSV format
 
         - - server[ = PORT]              Launch redis - stat web server (default port: 63790 )
         - - daemon                     Daemonize redis - stat. Must be used with - - server option.
 
         - - version                    Show version
         - - help                       Show this message


redis-stat命令行模式:

?
1
2
3
4
5
6
7
redis - stat
redis - stat 1
redis - stat 1 10
redis - stat - - verbose
redis - stat localhost: 6380 1 10
redis - stat localhost localhost: 6380 localhost: 6381 5
redis - stat localhost localhost: 6380 1 10 - - csv = / tmp / output.csv - - verbose
redis-stat web模式:

?
1
2
3
redis - stat - - server
redis - stat - - verbose - - server = 8080 5
redis - stat - - server - - daemon

  效果如下:

运行web模式

?
1
2
cd / root / redis - stat / bin
. / redis - stat - - server = 8080 5 - - daemon
    在浏览器输入:  http://10.20.111.188:8080/    结果如下:


    不错的工具,既有命令行又有web界面,可以放到后台运行,数据比redis-live感觉直观 ,ruby开发的,唯一的缺点是如果同时监控多个redis实例,不能单独显示每一个实例的数据信息,貌似是总和。

4 redis-monitor

  一个国人用java写的,官网的是在win下编译的,看着不错,不过我在linux下没调试起来...

  官网:https://github.com/litiebiao2012/redis-monitor

   

   个人感觉,做集中监控可以使用redis-live,在命令行使用可以使用redis-stat,也可以根据自己的情况自行编写,总之就是根据info和monitor命令获取并展示信息。

原文转自:http://www.tqcto.com/article/recommend/97.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值