欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

Redis监控方案

架构&设计模式 water 2504℃ 0评论

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

转载请注明:学时网 » Redis监控方案

喜欢 (0)or分享 (0)

您必须 登录 才能发表评论!