设为首页收藏本站

追梦Linux

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 922|回复: 0

Redis图形监控工具--RedisLive

[复制链接]

482

主题

485

帖子

16万

积分

CEO

Rank: 9Rank: 9Rank: 9

积分
168233

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2015-9-6 15:39:37 | 显示全部楼层 |阅读模式
一、简介
RedisLive是一款用Python编写的Redis图形监控工具,其源码在这里,英文文档在这里。RedisLive的原理很简单,就是通过监控脚本来利用Redis提供的MONITOR命令从被监控Redis实例中获取数据并存储到Redis的监控实例中来做数据分析。RedisLive以可视化的方式展示了Redis实例中的数据,分析查询模式和峰值,下图是官方提供的效果图:

二、安装
        下面以CentOS Linux release 6.0 (Final)为例,介绍如何安装RedisLive:
        (1)Python
        既然RedisLive由Python编写,那么Python环境是必不可少的,一般Linux默认都安装了Python,比如:CentOS Linux release 6.0 (Final)默认安装的就是Python 2.6.5。在终端敲如下命令,可以验证是否已经安装了Python:
        #python
        Python 2.6.5 (r265:79063, Nov 12 2010, 00:52:45)
        [GCC 4.4.4 20100525 (Red Hat 4.4.4-5)] on linux2
        Type "help", "copyright", "credits" or "license" for more information.
        >>>
        出现如上信息说明已经安装了Python,否则如下安装Python:
        #yum install python
  1. # wget http://dl.fedoraproject.org/pub/epel/6/x86_64/python-pip-0.8-1.el6.noarch.rpm  
  2. # rpm -ivh python-pip-0.8-1.el6.noarch.rpm  
  3. # pip-python install tornado  
  4. # pip-python install redis  
  5. # pip-python install python-dateutil  
  6. # pip-python install argparse  

  7. # git clone https://github.com/kumarnitin/RedisLive.git  
  8. Initialized empty Git repository in /root/RedisLive/.git/  
  9. remote: Counting objects: 715, done.  
  10. remote: Compressing objects: 100% (377/377), done.  
  11. remote: Total 715 (delta 338), reused 699 (delta 323)  
  12. Receiving objects: 100% (715/715), 2.59 MiB | 353 KiB/s, done.  
  13. Resolving deltas: 100% (338/338), done.  

复制代码


  1. # cd RedisLive/src
  2. # cat redis-live.conf
复制代码
  1. {
  2.         "RedisServers":
  3.         [
  4.                 {
  5.                         "server": "192.168.1.202",
  6.                         "port" : 6379
  7.                 }
  8.         ],

  9.         "DataStoreType" : "redis",

  10.         "RedisStatsServer":
  11.         {
  12.                 "server" : "192.168.1.202",
  13.                 "port" : 6379
  14.         },

  15.         "SqliteStatsStore" :
  16.         {
  17.                 "path":  "to your sql lite file"
  18.         }

  19. }
复制代码
修改监控和被监控Redis实例的配置信息并分别启动这两个Redis实例。
        RedisServer是被监控Redis实例的配置,RedisStatsServer是监控Redis实例的配置,如果不希望将监控信息存储在Redis中,则需要将DataStoreType由redis改为sqlite类型即可,这样RedisStatsServer也就不用配置了。
        如果被监控Redis需要密码才能访问,则需要在RedisServers部分如下来配置:
  1.                 "RedisServers":
  2.                 [
  3.                         {
  4.                               "server": "127.0.0.1",
  5.                               "port" : 6379
  6.                               “password”: "xxxxxx"
  7.                         }
  8.                 ],
复制代码


配置好之后就可以如下来启动服务了:
        (A)开启监控脚本
  1. #./redis-monitor.py --duration 120 &
复制代码
       (B)开启webserver
  1. #./redis-live.py &
复制代码
       (C)在浏览器中输入如下地址来查看RedisLive
        http://192.168.1.202:8888/index.html
此时官方的图就出来 。


FAQ:
        (1)如果在浏览器调入地址后出现无法访问的现象请关闭防火墙或者开端口8888。
        (2)如果在执行./redis-live.py &后出现如下错误:
        ImportError: No module named dateutil.parser
        则需要如此这般:
                (A)下载新版python-dateutil并安装
                #wget http://labix.org/download/python ... dateutil-2.0.tar.gz
                #tar -zxvf python-dateutil-2.0.tar.gz
                #cd python-dateutil-2.0
                #python setup.py install
                #cd ..
                (B)重新开启监控脚本和webserver即可:
                #./redis-monitor.py --duration 120 &
                #./redis-live.py &
        (3)启动服务之后,如果访问web页面,则会在当前终端输出日志,如果不想在终端输出,可以查看redis-live.py的参数
        #./redis-live.py --help
        Usage: ./redis-live.py [OPTIONS]

        Options:

          --debug                                debug mode (default 0)
          --help                                   show this help information
          --port                                   run on the given port (default 8888)

        /usr/lib/python2.6/site-packages/tornado/log.py options:

          --log_file_max_size                 max size of log files before rollover
                                                    (default 100000000)
          --log_file_num_backups          number of log files to keep (default 10)
          --log_file_prefix=PATH           Path prefix for log files. Note that if you
                                                    are running multiple tornado processes,
                                                    log_file_prefix must be different for each
                                                    of them (e.g. include the port number)
          --log_to_stderr                     Send log output to stderr (colorized if
                                                   possible). By default use stderr if
                                                   --log_file_prefix is not set and no other
                                                   logging is configured.
          --logging=debug|info|warning|error|none
                                                   Set the Python log level. If 'none', tornado
                                                   won't touch the logging configuration.
                                                   (default info)
        可以到有日志文件大小、备份日志文件数、日志文件路径、错误日志输出、日志等级等信息。
        (4)监控开启后会影响到Redis的性能,所以建议定时监控而不是实时监控。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

QQ|小黑屋|手机版|Archiver|追梦Linux ( 粤ICP备14096197号  点击这里给我发消息

GMT+8, 2019-7-17 16:16 , Processed in 0.256247 second(s), 35 queries .

Powered by 追梦Linux! X3.3 Licensed

© 2015-2017 追梦Linux!.

快速回复 返回顶部 返回列表