环境:Redhat linux 6.5(yum的安装完成,如未安装yum的话,python的相关安装可以通过其他方式安装)
一、Python环境的准备
由于RedisLive由Python编写,同时,依赖以下几个包:backports.ssl_match_hostname、tornado、redis、six、python-dateutil、argparse。所以需要先装python环境,下载安装上述的依赖包。
1、python安装(有多种安装方式,这里用yum)
通过命令python就能知道是否安装了python
-bash-4.1$ python
Python 2.6.6 (r266:84292, May 1 2012, 13:52:17)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
如未安装,则通过yum来安装python:
#yum install python
2、setuptools和pip的安装
pip就行linux的yum一下,用来安装依赖包非常方便。
执行如下指令安装python-setuptools:
#yum install python-setuptools
执行如下指令安装pip:
# wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
# tar -xzvf pip-1.5.4.tar.gz
# cd pip-1.5.4
# python setup.py install
二、redisLive的安装
1、下载解压redisLive工程
# wget https://codeload.github.com/nkrode/RedisLive/zip/master
# mv master RedisLive-master.zip
# unzip RedisLive-master.zip
2、修改配置文件
# cd RedisLive-master/src
# vim redis-live.conf
{
"RedisServers":
[
{
"server": "192.168.1.200",
"port" : 7000
},
{
"server": "192.168.1.200",
"port" : 7001
},
{
"server": "192.168.1.200",
"port" : 7002
},
{
"server": "192.168.1.200",
"port" : 7003
},
{
"server": "192.168.1.200",
"port" : 7004
},
{
"server": "192.168.1.200",
"port" : 7005
}
],
"DataStoreType" : "sqlite",
"RedisStatsServer":
{
"server" : "127.0.0.1",
"port" : 7000
},
"SqliteStatsStore":
{
"path": "/redis/RedisLive-master/src/db/redislive.sqlite"
}
}
DataStoreType决定RedisLive工程使用那种类型的数据存储,
如果是redis,使用RedisStatsServer作为数据存储的目标;
如果是sqlite,使用SqliteStatsStore作为数据存储的目标。
RedisLive的功能分两个部分:
一个部分是redis-server状态数据的采集,通过src/redis-monitor.py来执行;
另外一部分功能是提供对状态数据的查询服务,通过src/redis-live.py来提供web服务。
三、初始化DB
# cd db
# cat schema.sql | sqlite3 redislive.sqlite
四、开启监控脚本
1、启动监控脚本:
./redis-monitor.py --duration 120 &
2、配置RedisLive的定期监控:
*/5 * * * * cd /data/Redis-Monitor/RedisLive/src; ./redis-monitor.py --duration 20 >/dev/null 2>&1
五、开启webserver(服务启动)
# ./redis-live.py &
六、访问web页面
http://192.168.1.200:8888/index.html
监控开启后会影响到Redis的性能,所以建议定时监控而不是实时监控