热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Redis图形监控工具RedisLive

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

图1 RedisLive监控界面
        有如此好枪,还等什么,赶紧行动吧 ,喂,哥们儿,不是抢银行 ,别误会了。

二、安装
        下面以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
        (2)python-setuptools
        执行如下指令安装 python-setuptools
        #yum install python-setuptools
        (3)pip-python
        按照如下步骤下载并安装pip-python:
        #wget http://dl.fedoraproject.org/pub/epel/6/x86_64/python-pip-0.8-1.el6.noarch.rpm
        #rpm -ivh python-pip-0.8-1.el6.noarch.rpm
        #pip-python install tornado
        #wget https://github.com/andymccurdy/redis-py.git
        #wget https://github.com/andymccurdy/redis-py/archive/master.zip
        #unzip master
        #cd redis-py-master/
        #python setup.py install
        #cd ..
        #pip-python install python-dateutil
        #pip-python install argparse
        (4)RedisLive
        前面的那些前戏只不过是环境部署,男一号终于要上正席了:
        #git clone https://github.com/kumarnitin/RedisLive.git
        #cd RedisLive/src
        #vi redis-live.conf
        {
                "RedisServers":
                [
                        {
                              "server": "127.0.0.1",
                              "port" : 6379
                        }
                ],

                "DataStoreType" : "redis",

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

                           }
                   ],
        配置好之后就可以如下来启动服务了:
        (A)开启监控脚本
         #./redis-monitor.py --duration 120 &
        (B)开启webserver
        #./redis-live.py &
        (C)在浏览器中输入如下地址来查看RedisLive
        http://localhost:8888/index.html
        销魂的图1出现了
       
        需要注意的是:
        (1)如果在浏览器调入地址后出现无法访问的现象请关闭防火墙或者开端口8888。
        (2)如果在执行./redis-live.py &后出现如下错误:
        ImportError: No module named dateutil.parser
        则需要如此这般:
                (A)下载新版python-dateutil并安装
                #wget http://labix.org/download/python-dateutil/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的性能,所以建议定时监控而不是实时监控。


三、附注
        更多监控解决方案原文见 这里,译文见 这里。




推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
author-avatar
li永不言败ly_608
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有