Redis现在在业务中应用已经很广泛了,但是如何监控redis,实时的观察redis的性能,却很少的提及,现在常见的监控方案基本上都是使用redis自带的info命令和monitor命令获取相关信息,然后提取出来显示。
测试环境:
redis版本:2.4.17
IP:10.20.111.188
1 redis-faina
一个使用redis自带命令monitor的输出结果做分析的python脚本,在命令行下使用,可以做实时分析使用。
官网:
下载试用:
<a href="http://blog.51cto.com/lookingdream/1794289#">?</a>
<code>cd </code><code>/</code><code>opt</code><code>/</code><code>testgit clone https:</code><code>/</code><code>/</code><code>github.com</code><code>/</code><code>Instagram</code><code>/</code><code>redis</code><code>-</code><code>faina.gitcd redis</code><code>-</code><code>faina</code><code>/</code>
<code>redis</code><code>-</code><code>cli </code><code>-</code><code>p </code><code>6379</code> <code>MONITOR | head </code><code>-</code><code>n </code><code>100</code> <code>| .</code><code>/</code><code>redis</code><code>-</code><code>faina.py </code><code>-</code><code>-</code><code>redis</code><code>-</code><code>version</code><code>=</code><code>2.4</code>
测试结果如下:

可以看到一些实时的数据,并且有一定的统计数据,可以作为一个命令行工具使用。推荐使用,不过redis版本要大于2.4。
2 redis-live
一个用来监控redis实例,分析查询语句并且有web界面的监控工具,python编写。
运行环境依赖包安装:
redis-live安装:
<code>cd </code><code>/</code><code>root</code>
<code>git clone https:</code><code>/</code><code>/</code><code>github.com</code><code>/</code><code>nkrode</code><code>/</code><code>RedisLive.gitcd RedisLive</code><code>/</code><code>src</code><code>###修改redis-live.conf文件{ "RedisServers":</code>
<code> </code><code>[ </code>
<code> </code><code>{ </code><code>"server"</code><code>: </code><code>"10.20.111.188"</code><code>, </code><code>"port"</code> <code>: </code><code>6379</code>
<code> </code><code>}</code>
<code> </code>
<code> </code><code>], </code><code>"DataStoreType"</code> <code>: </code><code>"redis"</code><code>, </code><code>"RedisStatsServer"</code><code>:</code>
<code> </code><code>{ </code><code>"server"</code> <code>: </code><code>"10.20.111.188"</code><code>, </code><code>"port"</code> <code>: </code><code>6380</code>
<code> </code><code>}, </code>
<code> </code><code>"SqliteStatsStore"</code> <code>:</code>
<code> </code><code>{ </code><code>"path"</code><code>: </code><code>"to your sql lite file"</code>
<code> </code><code>}</code>
<code>}</code><code>###修改完毕###启动监控服务,每30秒监控一次./redis-monitor.py --duration=30 ###再次开启一个终端,进入/root/RedisLive/src目录,启动web服务./redis-live.py</code>
一个web界面,可以同时监控多个redis实例,做集中监控比较好。
3 redis-stat
一个用ruby写成的监控redis的程序,基于info命令获取信息,而不是通过monitor获取信息,性能应该比monitor要好。
官网:
运行环境安装:
<code>apt</code><code>-</code><code>get install ruby </code>
<code>apt</code><code>-</code><code>get install rubygems</code>
redis-stat安装:
<code>git clone https:</code><code>/</code><code>/</code><code>github.com</code><code>/</code><code>junegunn</code><code>/</code><code>redis</code><code>-</code><code>stat.gitcd </code><code>/</code><code>root</code><code>/</code><code>redis</code><code>-</code><code>stat</code><code>/</code><code>bin</code>
<code>###./redis-stat --help 可以看到使用帮助</code>
<code>.</code><code>/</code><code>redis</code><code>-</code><code>stat </code><code>1</code>
下面看看redis-stat的具体用法
<code>usage: redis</code><code>-</code><code>stat [HOST[:PORT] ...] [INTERVAL [COUNT]] </code><code>-</code><code>a, </code><code>-</code><code>-</code><code>auth</code><code>=</code><code>PASSWORD Password </code><code>-</code><code>v, </code><code>-</code><code>-</code><code>verbose Show more info </code><code>-</code><code>-</code><code>style</code><code>=</code><code>STYLE Output style: </code><code>unicode</code><code>|ascii </code><code>-</code><code>-</code><code>no</code><code>-</code><code>color Suppress ANSI color codes </code><code>-</code><code>-</code><code>csv</code><code>=</code><code>OUTPUT_CSV_FILE_PATH Save the result </code><code>in</code> <code>CSV </code><code>format</code>
<code> </code><code>-</code><code>-</code><code>server[</code><code>=</code><code>PORT] Launch redis</code><code>-</code><code>stat web server (default port: </code><code>63790</code><code>) </code><code>-</code><code>-</code><code>daemon Daemonize redis</code><code>-</code><code>stat. Must be used with </code><code>-</code><code>-</code><code>server option.</code>
<code> </code><code>-</code><code>-</code><code>version Show version </code><code>-</code><code>-</code><code>help</code> <code>Show this message</code>
redis-stat命令行模式:
<code>redis</code><code>-</code><code>statredis</code><code>-</code><code>stat </code><code>1redis</code><code>-</code><code>stat </code><code>1</code> <code>10redis</code><code>-</code><code>stat </code><code>-</code><code>-</code><code>verbose</code>
<code>redis</code><code>-</code><code>stat localhost:</code><code>6380</code> <code>1</code> <code>10redis</code><code>-</code><code>stat localhost localhost:</code><code>6380</code> <code>localhost:</code><code>6381</code> <code>5redis</code><code>-</code><code>stat localhost localhost:</code><code>6380</code> <code>1</code> <code>10</code> <code>-</code><code>-</code><code>csv</code><code>=</code><code>/</code><code>tmp</code><code>/</code><code>output.csv </code><code>-</code><code>-</code><code>verbose</code>
redis-stat web模式:
<code>redis</code><code>-</code><code>stat </code><code>-</code><code>-</code><code>serverredis</code><code>-</code><code>stat </code><code>-</code><code>-</code><code>verbose </code><code>-</code><code>-</code><code>server</code><code>=</code><code>8080</code> <code>5redis</code><code>-</code><code>stat </code><code>-</code><code>-</code><code>server </code><code>-</code><code>-</code><code>daemon</code>
效果如下:
运行web模式
<code>cd </code><code>/</code><code>root</code><code>/</code><code>redis</code><code>-</code><code>stat</code><code>/</code><code>bin</code><code>.</code><code>/</code><code>redis</code><code>-</code><code>stat </code><code>-</code><code>-</code><code>server</code><code>=</code><code>8080</code> <code>5</code> <code>-</code><code>-</code><code>daemon</code>
不错的工具,既有命令行又有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,如需转载请自行联系原作者