Redis监控方案

原创
2013/12/07 11:20
阅读数 4.4W

    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

   下载试用:

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安装:

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

       运行环境安装:

apt-get install ruby    
apt-get install rubygems
        redis-stat安装:

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

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命令行模式:

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模式:

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

  效果如下:

运行web模式

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命令获取并展示信息。

展开阅读全文
打赏
11
55 收藏
分享
加载中
China_OS博主

引用来自“泥马勒戈壁”的评论

不知道楼主redis-monitor后来调试起来没有?我最近也在centos下调试 总是不成功

引用来自“China_OS”的评论

不行的,他没放出源码

引用来自“旺旺_c”的评论

源码有的, 在github 上, 在linux 上编译一下就可以了
源码地址: https://github.com/chengpan168/redis-monitor
👍
2017/07/07 11:02
回复
举报

引用来自“泥马勒戈壁”的评论

不知道楼主redis-monitor后来调试起来没有?我最近也在centos下调试 总是不成功

引用来自“China_OS”的评论

不行的,他没放出源码
源码有的, 在github 上, 在linux 上编译一下就可以了
源码地址: https://github.com/chengpan168/redis-monitor
2017/07/07 09:19
回复
举报

引用来自“小薇”的评论

因为安装部署老是不成功,所以自己做的一个,开源出来了。

https://github.com/NetEaseGame/redis-monitor

pip install redis-monitor 即可,几乎不需要什么配置。

引用来自“China_OS”的评论

flask用的不错 👍
推荐到博客正文啊~~~😄
2016/12/09 11:04
回复
举报
China_OS博主

引用来自“小薇”的评论

因为安装部署老是不成功,所以自己做的一个,开源出来了。

https://github.com/NetEaseGame/redis-monitor

pip install redis-monitor 即可,几乎不需要什么配置。
flask用的不错 👍
2016/12/09 08:19
回复
举报
因为安装部署老是不成功,所以自己做的一个,开源出来了。

https://github.com/NetEaseGame/redis-monitor

pip install redis-monitor 即可,几乎不需要什么配置。
2016/12/08 18:04
回复
举报
配置环境太复杂~ https://github.com/hustcc/redis-monitor
2015/11/25 14:26
回复
举报
China_OS博主

引用来自“yangshan”的评论

楼主那个shut down..的原因你知道了吗?
原因未名 我这边一直模拟不出来....
2015/09/06 11:21
回复
举报
楼主那个shut down..的原因你知道了吗?
2015/09/06 09:48
回复
举报
China_OS博主

引用来自“这个男人来自地球”的评论

redis-stat 楼主有安装成功?我centos7 没有安装成功。。报错了。。
还没用centos7,用的debian系
2015/09/05 21:50
回复
举报

引用来自“mecachina”的评论

博主的文章很给力,赞!
在第三个监控方法,redis-stat上,碰到点问题,报错:
[root@rh6-7 bin]# ./redis-stat
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis-stat (LoadError)
  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
  from ./redis-stat:4
系统是redhat6.5-x64,ruby和rubygems都yum安装了。
另外 redis-live 安装好后,怎么搞都不出图,页面只有文字和右边的选项卡(选多少分钟的),看了不少文章。。。求指导,求鄙视,系统环境都是redhat6.5-x64

引用来自“泥马勒戈壁”的评论

我也碰到你的情况了 redis-stat安装失败,请问后来你如何解决的?
我也是遇到这个问题!!
2015/09/05 00:05
回复
举报
更多评论
打赏
30 评论
55 收藏
11
分享
返回顶部
顶部