一、基础环境安装
tar xvzf backports.ssl_match_hostname-3.4.0.2.tar.gz
cd backports.ssl_match_hostname-3.4.0.2
python setup.py install
- 1
- 2
- 3
https://github.com/facebook/tornado/archive/v3.2.0.tar.gz
tar xvzf tornado-3.2.0.tar.gz
cd tornado-3.2.0
python setup.py install
- 1
- 2
https://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz
tar xvzf redis-py-2.9.1.tar.gz
cd redis-py-2.9.1
python setup.py install
- 1
- 2
- 3
https://pypi.python.org/packages/source/s/six/six-1.5.2.tar.gz
tar xvzf six-1.5.2.tar.gz
cd six-1.5.2
python setup.py install
- 1
- 2
- 3
https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.2.tar.gz
tar xvzf python-dateutil-2.2.tar.gz
cd python-dateutil-2.2
python setup.py install
- 1
- 2
tar xvzf argparse-1.4.0.tar.gz
cd argparse-1.4.0
python setup.py install
- 1
- 2
- 3
https://codeload.github.com/nkrode/RedisLive/zip/master
unzip RedisLive-master.zip
mv RedisLive-master RedisLive
http://distfiles.macports.org/py-setuptools/
setuptools-36.2.7.zip
unzip setuptools-36.2.7.zip
sh setuptools*
二、 RedisLive配置
1、安装RedisLive
https:
//github.com/nkrode/RedisLive
tar -xf RedisLive-master.zip -C /data/
cd /data/
mv RedisLive-master RedisLive
|
其中redis-live.conf.example是作者给出的一个示例配置文件,启动服务之前把.example后缀删掉变成.conf文件,打开redis-live.conf,配置好redis实例的信息:
root@storm-master-01:/home/redis/monitor/RedisLive-master/src#ls
api dataprovider db __init__.py redis-live.conf redis-live.conf.example redis-live.py redis-monitor.py util www
root@storm-master-01:/home/redis/monitor/RedisLive-master/src#more redis-live.conf
{
"RedisServers":
[
{
"server": "192.168.1.247",
"port" : 6379
},
{
"server": "192.168.1.111",
"port" : 6379
}
],
"DataStoreType" : "sqlite",
"RedisStatsServer":
{
"server" : "192.168.1.247",
"port" : 6379
},
"SqliteStatsStore" :
{
"path": "/home/redis/monitor/RedisLive-master/src/db/redislive.sqlite"
}
}
root@storm-master-01:/home/redis/monitor/RedisLive-master/src#
在RedisServers中设置需要监控的Redis-server;
DataStoreType决定使用那种类型的数据存储,
如果是redis,使用RedisStatsServer作为数据存储的目标;
如果是sqlite,使用SqliteStatsStore作为数据存储的目标。
整个配置实际上是一个json对象,RedisServers是redis服务器的信息,由于是数组类型所以配置多个redis实例。DataStoreType是监控信息的存储方式,有”redis”和” sqlite”两种方式,分别对应下面RedisStatsServer和SqliteStatsStore,编辑完成后保存。
redis-live.py是用来启动web服务的,默认端口是8888 。redis-monitor.py就是redis监控的核心服务。
2、初始化DBcd db
cat schema.sql | sqlite3 redislive.sqlite
- 1
3、配置RedisLive的定期监控
*/5 * * * * cd /data/Redis-Monitor/RedisLive/src; ./redis-monitor.py --duration 20 >/dev/null 2>&1
4、服务启动
RedisLive的功能分两个部分:
一个部分是redis-server状态数据的采集,通过src/redis-monitor.py来执行;
另外一部分功能是提供对状态数据的查询服务,通过src/redis-live.py来提供web服务。
./redis-monitor.py --duration 120 &
//启动监控,duration是心跳时间
./redis-live.py&
//启动web服务,默认监听8888端口netstat -ntpl |grep python root@storm-master-01:/home/redis/monitor/RedisLive-master/src#netstat -anltp|grep pythontcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 194074/python tcp 0 0 192.168.1.247:43929 192.168.1.247:3309 ESTABLISHED 126445/python3 tcp 0 0 192.168.1.247:45314 192.168.1.247:3309 ESTABLISHED 192761/python3 tcp 0 0 192.168.1.247:8888 192.168.0.250:65142 ESTABLISHED 194074/python tcp 0 0 192.168.1.247:8888 192.168.0.250:64907 ESTABLISHED 194074/python tcp 0 0 192.168.1.247:8888 192.168.0.250:64594 ESTABLISHED 194074/python tcp 0 0 192.168.1.247:45313 192.168.1.247:3309 ESTABLISHED 192761/python3 tcp 0 0 192.168.1.247:8888 192.168.0.250:63135 ESTABLISHED 194074/python tcp6 0 0 :::8888 :::* LISTEN 194074/python root@storm-master-01:/home/redis/monitor/RedisLive-master/src#5、然后在浏览器中打开 http://192.168.1.247:8888/index.html,就可以看到监控信息了: