这里将介绍下redis集群监控UI工具之RedisLive的安装部署。
说白了,RedisLive就是一款免费开源的基于Python、tornado的的reids的监控工具,以WEB的形式展现出redis中的内存、key,实例数据等信息!
安装Python
因为RedisLive是基于Python的,所以机器必须先安装Python,可输入Python来监测机器是否安装Python,如下则说明已经安装OK,否则需要安装(此过程可谷歌,这里不赘述)。
[root@spgsbin]# python
Python2.7.5(default, Jun172014,18:11:42) [GCC4.8.220140120(Red Hat4.8.2-16)]onlinux2Type"help","copyright","credits"or"license"formore information.
>>>
安装tornado
RedisLive是WEB监控界面,所以需要WEB容器,这里需要使用的是tornado,可使用如下方式快速安装。
[root@spgsbin]# pip install tornado
安装pip
pip【英语:Python Package Index,简称PyPI 】
此时可能报错,提示pip未安装,则需要安装pip。
具体可参考:https://pip.pypa.io/en/stable/installing/
[root@spgsbin]#easy_install pip
其他软件包
pip安装成功后,继续安装tornado、redis、python-dateutil
[root@spgsbin]# pip install tornado
[root@spgsbin]# pip install redis
[root@spgsbin]# pip install python-dateutil
【注意】如果Python版本小于2.7,则还需要安装argparse
[root@spgsbin]# pip install argparse
安装RedisL
[root@spgsbin]# git clone https://github.com/kumarnitin/RedisLive.git
或者直接在github上下载
配置RedisLive
进入src,复制redis-live.conf.example,改为redis-live.conf
{
"RedisServers":[
{
"server":"localhost",
"port" :6380
},
{
"server":"localhost",
"port" :6381
},
{
"server":"localhost",
"port":6382}
],
"DataStoreType" :"redis",
"RedisStatsServer":{
"server" :"localhost",
"port" :6383},
"SqliteStatsStore" :{
"path":"to your sql lite file"
}
}
配置说明:
1)在RedisServers中设置需要监控的redis-server;
2)DataStoreType决定使用那种类型的数据存储,
3)如果是redis,使用RedisStatsServer作为数据存储的目标;
4)如果是sqlite,使用SqliteStatsStore作为数据存储的目标。
启动RedisLive
RedisLive分为两部分,其中一部分为监控脚本,另一部分为web服务,所以需要分别启动。
[root@spgsbin]# ./redis-monitor.py --duration=120[root@spgsbin]# ./redis-live.py
使用–duration来指定多长时间去取一次reids的数据
此时,访问http://127.0.0.1:8888/index.html即可访问RedisLive,界面如下
至此,RedisLive安装完毕。
监控需要注意
(1)如果在浏览器调入地址后出现无法访问的现象请关闭防火墙或者开端口8888。
(2)监控开启后会影响到Redis的性能,所以建议定时监控而不是实时监控。 (
(3)定时运行nohup ./redis-monitor.py –duration=秒数 &
注:做采样时,请合理配置采样秒数;系统定时运行采样脚本的频率建议不要太频繁
配置RedisLive的定期监控
*/5 * * * * cd /data/Redis-Monitor/RedisLive/src; ./redis-monitor.py –duration 20 >/dev/null 2>&1
不过最后一点Redis-live还是有缺陷的,不能发送邮件或者是短信,例如:redis-server挂掉 或者是当 redis-client数目超过一个阀值,就报警!