zoukankan      html  css  js  c++  java
  • 安装Redis图形监控工具---RedisLive

    RedisLive简介

    RedisLive是一款用Python编写基于WEB的Redis图形监控工具,也是一款实时监控Redis数据的开源软件,以WEB的形式展现出redis中的key的情况,实例数据等信息。

    RedisLive在github上的地址:https://github.com/nkrode/RedisLive

    RedisLive官网英文文档地址:http://www.nkrode.com/article/real-time-dashboard-for-redis

    RedisLive的原理很简单,就是通过监控脚本来利用Redis提供的MONITOR命令从被监控Redis实例中获取数据并存储到Redis的监控实例中来做数据分析。

    RedisLive以可视化的方式展示了Redis实例中的数据,分析查询模式和峰值,下图是官方提供的效果图:

     

    安装Python

    既然RedisLive由Python编写,那么Python环境是必不可少的,一般Linux默认都安装了Python。

    在终端敲如下命令#python,可以验证是否已经安装了Python,如下图:

    出现如上信息说明已经安装了Python,否则就要安装Python,这里简单说明一下安装或者升级Python:

    其实一般情况只需要升级Python,前面已经提到过Linux发行版默认都安装了Python的,所以这里就说一下升级Python的方法。

    ---------------------------------------------------------------------------------------------------------------------------------

    下载Python源码包,当下流行的2个版本:Python-3.3.3.tar.xz、Python-2.7.6.tar.xz,从RedisLive的redis-monitor.py脚本中可以看出这个脚本是用Python2.7版本编写的,所以安装2.7版本即可。如下图是redis-monitor.py截图:

    Python2.7.6的安装方法:
    1.下载源代码 
    https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
    2.  安装

    解压、编译、安装命令如下:

    # xz -d Python-2.7.6.tar.xz

    # tar xvf Python-2.7.6.tar

    # cd Python-2.7.6/

    # ./configure --prefix=可以指定安装路径,也可以不指定,默认安装到/usr/local/bin/

    # make && make install

    顺便说一下最新压缩率之王XZ压缩

    xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数linux默认就带的一个压缩工具。

    之前xz使用一直很少,所以几乎没有什么提起。我是在下载linux内核的时候看到这种压缩格式的。

    最新一段时间会经常听到xz被采用的声音,像是最新的archlinux某些东西就使用xz压缩。不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些。不过压缩是一次性的,所以可以忽略。

    xz压缩文件方法或命令:

    #xz -z 要压缩的文件

    如果要保留被压缩的文件加上参数 -k ,如果要设置压缩率加入参数 -0 到 -9调节压缩率。如果不设置,默认压缩等级是6。

    xz解压文件方法或命令:

    #xz -d 要解压的文件

    同样使用 -k 参数来保留被解压缩的文件。

    创建或解压tar.xz文件的方法

    习惯了 tar czvf 或 tar xzvf 的人可能碰到 tar.xz也会想用单一命令搞定解压或压缩。

    其实不行 tar里面没有征对xz格式的参数比如 z是针对 gzip,j是针对 bzip2。

    创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz

    解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。

    好了,接下来继续我们RedisLive的安装,Python安装成功后,需要替换原有的/usr/bin/python,方法如下:

    # 养成好习惯,创建连接时先做好备份

    # mv /usr/bin/python /usr/bin/python.bak-----可以不做备份

    #sudo ln -sf /usr/local/bin/python2.7 /usr/bin/python---–这里是做软链接

    ---------------------------------------------------------------------------------------------------------------------------------

    这里需要注意一个问题:

    由于yum是基于python2.4的,所以要修改yum配置,不然yum命令就没有用了。

    如果不太清楚python2.4的位置,可以运行whereis命令找一下,如下图:

    # whereis python

             修改yum,首行修改为#!/usr/bin/python2.4 (原为#!/usr/bin/python)

    #vi /usr/bin/yum

     

    安装python-setuptools

    # 使用YUM安装python-setuptools

    # yum install python-setuptools

    安装python-pip

    安装python模块我这里使用的pip,如果没有pip需要手动安装一下,当然也可以使用easy_install来安装模块

    # easy_install pip

    也可以使用yum安装:yum install python-pip,如图:

    安装三个依赖组件

    安装RedisLive,需要安装相关的python模块

    # pip install tornado

    # pip install redis

    # pip install python-dateutil

    #pip install argparse

    安装上面3个模块如下图所示:

    如果是内网环境(无法上网)就要手动下载安装tornado、python-dateutil了,OMG,具体安装教程请点击这里

     

    安装Tornado

    #wget http://github.com/downloads/facebook/tornado/tornado-1.2.1.tar.gz

    #mv -b /root/tornado-1.2.1.tar.gz /root/user

    #tar xvzf tornado-1.2.1.tar.gz

    #cd tornado-1.2.1

    #python setup.py build

    #python setup.py install

    到此,tornado已安装完成。

    开启服务,运行hello world程序 

    #cd user/tornado-1.2.1                                                              

    #ls                                                                                          

    #ls ./demos                                                                               

    #vim ./demos/helloworld/helloworld.py                                       

    #./demos/helloworld/helloworld.py   

    此时打开浏览器,地址栏输入:http://127.0.0.1:8888,即可看到hello,world

    步骤:将工作目录改为tornado所在目录->检查是否存在demos目录->检查demos目录下是否有helloworld->查看helloworld代码->运行程序

    )

    安装RedisLive

    下载RedisLive软件包,下载地址如下:

    https://github.com/kumarnitin/RedisLive/zipball/master

    解压nkrode-RedisLive-22e7051.zip文件,配置redis-live.conf。

    或者使用命令下载:

    # cd /usr/local/whhuang/

    # git clone https://github.com/kumarnitin/RedisLive.git

    解释下上面的命令:

    将会在 /usr/local/whhuang 目录下建立一个新目录 RedisLive,用于存放RedisLive的相关文件。

     

    配置RedisLive

    整理:bywhhuang

    配置RedisLive的配置文件,src文件夹下的redis-live.conf。

    第一种配置,Redis:

    获取到的监控数据记录在Redis里面,这个Redis尽量不要跟监控的Redis是同一个。如下是配置:

    {

            "RedisServers":

            [                     

                   {

                           "server": "192.168.100.148",

                           "port" : 6380

                   },

                   {

                           "server": "192.168.100.147",

                           "port" : 6379

                   }       --被监控的Redis,可以配置多个

            ],

     

            "DataStoreType" : "redis",----监控数据存储方式

     

            "RedisStatsServer":

            {

                   "server" : "192.168.100.147",

                   "port" : 6379----存储监控数据的Redis

            }

    }

    第二种配置,sqlite:

    方式二,数据记录在文件sqlite里面:

    {

            "RedisServers":

            [                     

                   {

                           "server": "192.168.100.148",

                           "port" : 6380

                   },         

                   {

                           "server": "192.168.100.147",

                           "port" : 6379

                   }       --被监控的Redis,可以配置多个

            ],

            "DataStoreType" : "sqlite",----监控数据存储方式

            "SqliteStatsStore" :

            {

                   "path":  "/usr/local/whhuang/RedisLive/dbs/redislive.sqlite"—--数据存储的路径,需要新建redislive.sqlite文件

            }

    }

    注意配置文件的格式:一定要注意逗号和对齐方式,不然可能会报错,上面已经是最简洁的写法了,我没有使用redis来存储数据,而是使用了sqlite,如果redis有密码,可以加一条password即可。

    这里简单说下配置参数的含义:

    1)RedisServers为你要监控的redis实例,可以添加多个Redis实例。

    2)RedisStatsServer是存储RedisLive监控数据的实例,如果没有存储RedisLive数据的实例,需要将DataStoreType改成"DataStoreType" : "sqlite"这种设置。

    启动RedisLive

    1.启动监控脚本,监控120秒,duration参数是以秒为单位

    #cd /usr/local/whhuang/RedisLive/src/

    #./redis-monitor.py --duration=120

    2.启动webserver

    RedisLive使用tornado作为web服务器,所以不需要单独安装服务器。Tornado web server 是使用Python编写出來的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件。

    #cd /usr/local/whhuang/RedisLive/src/

    #./redis-live.py

    然后在你的浏览器中输入:http://IP:8888/index.html

    如:http://192.168.100.51:8888/index.html 

    浏览后,服务器终端会打屏,如果关闭终端,进程会关闭。

     

  • 相关阅读:
    那一定都是你的错!- 一次FastDFS并发问题的排查经历
    程序员和烟民
    Spring Boot(十六):使用 Jenkins 部署 Spring Boot
    阿里Dubbo疯狂更新,关Spring Cloud什么事?
    从架构演进的角度聊聊Spring Cloud都做了些什么?
    FastDFS 集群 安装 配置
    中小型互联网公司微服务实践-经验和教训
    jvm系列(十一):JVM演讲PPT分享
    jvm系列(十):如何优化Java GC「译」
    Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例
  • 原文地址:https://www.cnblogs.com/unqiang/p/6275001.html
Copyright © 2011-2022 走看看