RedisLive安装

环境安装

Python2.7

[root@ ~]# yum install -y readline readline-devel
[root@ ~]# yum install sqlite-devel
[root@ ~]# tar xf Python-2.7.10.tar.xz 
[root@ ~]# cd Python-2.7.10
[root@ Python-2.7.10]# ./configure
[root@ Python-2.7.10]# make && make install
# 注意保留yum命令还是使用python2.6
[root@ Python-2.7.10]# rm -rf /usr/bin/python
[root@ Python-2.7.10]# ln -sv /usr/local/bin/python2.7  /usr/bin/python
[root@ Python-2.7.10]# python -V	
 Python 2.7.10

pip

[root@ ~]# wget http://peak.telecommunity.com/dist/ez_setup.py
[root@ ~]# python ez_setup.py
[root@ ~]# easy_install pip

tornado

[root@ ~]# pip install tornado

redis的python版SDK

[root@ ~]# pip install redis

时间工具

[root@ ~]# pip install python-dateutil

安装RedisLive

下载源码

[root@ ~]# git clone https://github.com/kumarnitin/RedisLive.git
[root@ ~]# cp RedisLive/src /usr/local/RedisLive -r

配置

[root@ ~]# cd /usr/local/RedisLive
[root@ RedisLive]# ll
total 44
 drwxr-xr-x 4 root root 4096 May 28 12:09 api
 drwxr-xr-x 2 root root 4096 May 28 12:12 dataprovider
 drwxr-xr-x 2 root root 4096 May 28 12:12 db
 -rw-r--r-- 1 root root    0 May 28 11:18 __init__.py
 -rw-r--r-- 1 root root  381 May 28 11:18 redis-live.conf.example
 -rwxr-xr-x 1 root root 1343 May 28 11:18 redis-live.py
 -rwxr-xr-x 1 root root 9800 May 28 11:18 redis-monitor.py
 drwxr-xr-x 2 root root 4096 May 28 11:18 util
 drwxr-xr-x 4 root root 4096 May 28 11:18 www
[root@ RedisLive]# vim redis-live.conf
{
    "RedisServers":
    [
        {
            "server": "127.0.0.1",
            "port" : 6000,
            "password" : "896bbc"
        },
        {
            "server": "127.0.0.1",
            "port" : 6001,
            "password" : "896bbc"
        },
        {
            "server": "127.0.0.1",
            "port" : 6002,
            "password" : "896bbc"
        }
    ],
    "DataStoreType" : "sqlite",
    "SqliteStatsStore" :
    {
        "path":  "db/redislive.sqlite"
    }
 }
  • RedisServers:监控的 Redis 实例列表,RedisLive 支持同时监控多个 Redis 实例
  • RedisStatsServer:用来存储监控数据的 Redis 实例,此配置不同于 RedisServers,RedisLive 并不监控 RedisStatsServer,RedisStatsServer 只是用作存储监控数据使用
  • DataStoreType:监控数据的存储方案,可以配置为redis或者sqlite
  • SqliteStatsStore:存储监控数据的 sqlite 配置
整个配置实际上是一个json对象,RedisServers是redis服务器的信息,由于是数组类型所以配置多个redis实例。DataStoreType是监控信息的存储方式,有”redis”和” sqlite”两种方式,分别对应下面RedisStatsServer和SqliteStatsStore,编辑完成后保存。
配置完成后,便可以将 RedisLive 运行起来。RedisLive 的运行包括两个部分(在 RedisLive/src 目录),redis-monitor.py用于向 Redis 实例发送 INFO 和 MONITOR 命令并获取其返回,redis-live.py 用于运行 Web 服务器。
我们首先启动redis-monitor.py脚本,并将duration参数设置为 120 秒。duration参数指定了监控脚本的运行持续时间,例如设置为 120 秒,即经过 120 秒后,监控脚本会自动退出,并在终端打印 shutting down… 的提示。
[root@ RedisLive]#./redis-monitor.py --duration=120 & //启动监控,duration是心跳时间
[root@ RedisLive]#./redis-live.py & //启动web服务,默认监听8888端口
需要指出的是,由于redis-monitor.py脚本采用向 Redis 实例发送 MONITOR 命令和 INFO 命令的方式来取得监控数据,而 MONITOR 命令对于 Redis 实例的性能有较大影响,因此,对于生产环境下的redis-monitor.py的部署,需要设置一个较适宜的duration参数,并使用 crontab 来定时执行该脚本。
访问 http://192.168.1.149:8888/index.html
原文地址:https://www.cnblogs.com/wshenjin/p/6925905.html