RedisLive是由python编写的并且开源的图形化监控工具,非常轻量级,核心服务部分只包含一个web服务和一个基于redis自带的info命令以及monitor命令的监控服务,界面上只有一个基于BootStrap的web界面,非常简洁明了。除此之外,它还支持多实例监控,切换方便,而且配置起来也非常容易。监控信息支持redis存储和持久化存储(sqlite)两种方式.
yum install python-pip
yum install git
git clone https://github.com/kumarnitin/RedisLive.git
如果2.7版本,直接
Pip install requestments.txt
如果2.6的版本:
pip install redis
pip install python-dateutil
pip install argparse
pip install tornado==2.1.1
最好都指定版本,这里最大影响的是tornado,所以单独指定了版本,其他没问题。
配置redis-live.conf
{
“RedisServers”:
[
{
“server”: “10.1.36.138”,
“port” : 6381
},
{
“server”: “10.1.36.138”,
“port” : 6382
},
{
“server”: “10.1.36.138”,
“port” : 6383
},
{
“server”: “10.1.36.138”,
“port” : 6384
},
{
“server”: “10.1.36.138”,
“port” : 6385
},
{
“server”: “10.1.36.138”,
“port” : 6386
}
],
“DataStoreType” : “sqlite”, #sqlite or redis ,对应以下的配置,配置一个就可以。
“RedisStatsServer”:
{
“server” : “10.1.36.138”,
“port” : 63890
},
“SqliteStatsStore” :
{
“path”: “db/redislive.sqlite” #路径必须是这个,否则报OperationalError: no such table: info
}
}
启动:
Cd src
./redis-monitor.py –duration=30 & #间隔30秒
nohup ./redis-live.py >/dev/null &
访问:
http://10.1.36.138:8088/index.html#
默认端口是8888,可以自定义,这边我自己修改了一个端口8088.
定时运行监控收集脚本,因为这个脚本到30秒后会自动退出,显示shutting down:
*/5 * * * * cd /home/app/RedisLive/src; ./redis-monitor.py –duration 30 >/dev/null 2>&1
以下来自互联网:
- “DataStoreType” 虽然设置为”sqlite”,但是”path”属性设置有问题。开始以为随便指定一个有效path就ok了,后来redis-live.py的log中发现了“OperationalError: no such table monitor”的提示。于是用sqlite3命令查看指定path下的sqlite文件,果然找不到名称为monitor的表。再一查找,在src/db下看到一个sqlite文件,里面有monitor和info表,这也是RedisLive监控的两大方面,看来作者已经提供了一个库模板了。可以将path指定为该文件的路径,也可以复制该文件到其它路径,然后设定path为新的路径。
- www.google.com不能访问的问题。上述path问题解决后,发现还是看不到曲线图。于是查看index.html源码,发现了一行(59行)<script type=”text/javascript” src=”https://www.google.com/jsapi”></script>。呵呵,最近google一直不能访问,看来就是因为不能下载到google的jsapi,所以看不到曲线图了。于是通过代理来访问RedisLive的index.html,果然看到了令人期待曲线图。