Redis监控方案

  1. 云栖社区>
  2. 博客>
  3. 正文

Redis监控方案

技术小胖子 2017-11-17 16:25:00 浏览1152
展开阅读全文

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

测试环境:

     redis版本:2.4.17  

     IP:10.20.111.188


1 redis-faina

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

   官网:

   下载试用:

1
2
cd /opt/testgit clone https://github.com/Instagram/redis-faina.gitcd redis-faina/
redis-cli -6379 MONITOR | head -100 | ./redis-faina.py --redis-version=2.4

 测试结果如下:


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


2 redis-live

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

   官网:

   下载试用:

         运行环境依赖包安装:

         redis-live安装:

1
2
3
4
5
6
7
8
9
10
11
12
13
cd /root
git clone https://github.com/nkrode/RedisLive.gitcd 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要好。

  官网:

       运行环境安装:

1
2
apt-get install ruby    
apt-get install rubygems

        redis-stat安装:

1
2
3
4
cd /root
git clone https://github.com/junegunn/redis-stat.gitcd /root/redis-stat/bin
###./redis-stat --help 可以看到使用帮助
./redis-stat 1

  下面看看redis-stat的具体用法

1
2
3
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
redis-statredis-stat 1redis-stat 1 10redis-stat --verbose
redis-stat localhost:6380 1 10redis-stat localhost localhost:6380 localhost:6381 5redis-stat localhost localhost:6380 1 10 --csv=/tmp/output.csv --verbose

redis-stat web模式:

1
redis-stat --serverredis-stat --verbose --server=8080 5redis-stat --server --daemon

  效果如下:

运行web模式

1
cd /root/redis-stat/bin./redis-stat --server=8080 5 --daemon

    在浏览器输入: http://10.20.111.188:8080/  结果如下:


    不错的工具,既有命令行又有web界面,可以放到后台运行,数据比redis-live感觉直观 ,ruby开发的,

4 redis-monitor

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

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

   

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



     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1794289,如需转载请自行联系原作者





网友评论

登录后评论
0/500
评论
技术小胖子
+ 关注