怎么使用RedisLive监控Redis服务器
RedisLive是由python编写的并且开源的图形化监控工具,非常轻量级,核心服务部分只包含一个web服务和一个基于redis自带的info命令以及monitor命令的监控服务,界面上只有一个基于BootStrap的web界面,非常简洁明了。除此之外,它还支持多实例监控,切换方便,而且配置起来也非常容易。监控信息支持redis存储和持久化存储(sqlite)两种方式。
安装
RedisLive是用Python编写的,使用Tornado作为其Web服务器。运行 RedisLive 并不需要额外的编译过程。在安装 RedisLive 的相关 Python 扩展包后,直接运行即可,不需要额外的步骤。获取 RedisLive 最新源代码可通过 Git 下载:
git clone https//githup.com/kumarnitin/RedisLive.git登录后复制
进下下载后的 RedisLive 目录,可以看下 RedisLive 依赖的 Python 扩展包都已经写在 requirements.txt 文件中了。requirements.txt 的内容如下:
argparse==1.2.1 python-dateutil==1.5 redis tornado==2.1.1登录后复制
熟悉 Python 的朋友对于 requirements.txt 文件也一定感觉很亲切了,使用下面的命令可以安装里面的扩展包(指定豆瓣源来安装速度更快):
pip install -r requirements.txt -i http://pypi.douban.com/simple/–trusted-host pypi.douban.com登录后复制
运行
安装好依赖后,接下来就可以运行 RedisLive 了。进入 RedisLive/src 目录,可以看到redis-live.conf.example文件,这个文件是 RedisLive 的示例配置文件,内容如下:
RedisServers:监控的 Redis 实例列表,RedisLive 支持同时监控多个 Redis 实例
RedisStatsServer:用来存储监控数据的 Redis 实例,此配置不同于 RedisServers,RedisLive 并不监控 RedisStatsServer,RedisStatsServer 只是用作存储监控数据使用
DataStoreType:监控数据的存储方案,可以配置为redis或者sqlite
SqliteStatsStore:存储监控数据的 sqlite 配置
我们实例使用的redis-live.conf(需要去除.example后缀)置如下所示:
即监控的 Redis 实例为 127.0.0.1:6379 ,使用 sqlite 作用存储监控数据方案,sqlite 数据库路径为 db/redislive.sqlite 配置完成后,便可以将 RedisLive 运行起来。RedisLive 的运行包括两个部分(在 RedisLive/src 目录),redis-monitor.py用于向 Redis 实例发送 INFO 和 MONITOR 命令并获取其返回,redis-live.py用于运行 Web 服务器。
要重写这句话,可以这样说: 在启动redis-monitor.py脚本时,我们需要把duration参数调整为120秒。duration参数指定了监控脚本的运行持续时间,例如设置为 120 秒,即经过 120 秒后,监控脚本会自动退出,并在终端打印 shutting down… 的提示。
./redis-monitor.py --duration=120登录后复制
接下来启动 Web 服务器:
./redis-live.py登录后复制
打开浏览器,在地址栏输入 http://localhost:8888/index.html,按下回车后,便可以看到 Redis 实例的监控数据。
需要指出的是,由于redis-monitor.py脚本采用向 Redis 实例发送 MONITOR 命令和 INFO 命令的方式来取得监控数据,而 MONITOR 命令对于 Redis 实例的性能有较大影响,因此,对于生产环境下的redis-monitor.py的部署,需要设置一个较适宜的duration参数,并使用 crontab 来定时执行该脚本。
【文章原创作者:韩国服务器 https://www.68idc.cn 欢迎留下您的宝贵建议】