RedisLive是一款用Python编写基于WEB的Redis图形监控工具,也是一款实时监控Redis数据的开源软件,以WEB的形式展现出redis中的key的情况,实例数据等信息。
RedisLive在github上的地址:https://github.com/nkrode/RedisLive
RedisLive官网英文文档地址:http://www.nkrode.com/article/real-time-dashboard-for-redis
RedisLive的原理很简单,就是通过监控脚本来利用Redis提供的MONITOR命令从被监控Redis实例中获取数据并存储到Redis的监控实例中来做数据分析。
RedisLive以可视化的方式展示了Redis实例中的数据,分析查询模式和峰值,下图是官方提供的效果图:
【前提】
使用python2.7版本
【安装】
在redislive的官网上,我们发现这三样都是redislive项目的依赖项,我们必须要先安装,才能开启我们的项目
a、tornado
这个依赖项,我们按照官网的模式进行安装,比如这样:
pip install tornado
b、redis.py
pip install redis
c、python-dateutil
pip install python-dateutil
如果出现版本太低问题,可执行
pip install python-dateutil --upgrade
【下载redisLive源代码】
下载zip包 unzip nkrode-RedisLive-46e1c75.zip cd nkrode-RedisLive-46e1c75
【修改配置文件】
1.redis-live.conf
这是一个示例配置, 可以复制一份在这个基础上进行修改
配置项说明:
# RedisServers 这是要监控的redis服务,可以配置多个redis实例 # DataStoreType redisLive是一个网站,既然是网站,它也必须存在一些网站数据和统计信息,所以给你两个可选项,要么redis,要么sqllite # RedisStatusServer 这个节点是配置你在选择datastoretype="redis"的情况下,指定的redis服务器地址。 也可以使用sqlite # SqliteStatusStore 这个也非常简单的,datastoretype="sqlite"的情况下,选择的sqlite的服务器地址。 最终,修改好的conf文件如下:【为了方便起见,这里的监听服务器和redislive的统计存放服务器都是一个端口,强烈建议不要是一个哦】
注意这里的sqlite数据库,已经在src/db/reidslive.sqlite 直接指向该目录文件即可
【开启服务】
1.redis-monitor.py
这个程序就是用来调用redis的monitor命令来收集redis的命令来进行统计,所以这个程序一定要保持恒久执行
./redis-monitor.py --duration=120
2.redis-python.py
启动服务文件
./redis-live.py 默认开启的是8888端口 ,当然也可以指定端口 ./redis-live.py --port=8085