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 

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

     

  • 相关阅读:
    Java程序:从命令行接收多个数字,求和并输出结果
    大道至简读后感
    大道至简第一章读后感Java伪代码
    Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010
    声明式验证超时问题
    Error message when you try to modify or to delete an alternate access mapping in Windows SharePoint Services 3.0: "An update conflict has occurred, and you must re-try this action"
    Upgrading or Redeploying SharePoint 2010 Workflows
    Upgrade custom workflow in SharePoint
    SharePoint 2013中Office Web Apps的一次排错
    How to upgrade workflow assembly in MOSS 2007
  • 原文地址:https://www.cnblogs.com/unqiang/p/6275001.html
Copyright © 2011-2022 走看看