天天看点

Redis监控方案

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监控方案

   可以看到一些实时的数据,并且有一定的统计数据,可以作为一个命令行工具使用。推荐使用,不过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>

Redis监控方案

    一个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>

  效果如下:

Redis监控方案

运行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>

Redis监控方案

    不错的工具,既有命令行又有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,如需转载请自行联系原作者