360SDN.COM

首页/Redis/列表

Redis 图形化监控方案 RedisLive 介绍

来源:运维帮  2017-09-12 10:12:52    评论:0点击:

转自:https://leehao.me/Redis-图形化监控方案-RedisLive-介绍/

作者:Leo

作为一款开源的 Redis 图形化监控工具,RedisLive 提供对 Redis 实例的内存使用情况,接收的客户端命令,接收的请求数量以及键进行监控。RedisLive 的工作原理基于 Redis 的 INFO 和 MONITOR 命令,通过向 Redis 实例发送 INFO 和 MONITOR 命令来获取 Redis 实例当前的运行数据。

RedisLive 提供的图形化展示界面如下图所示:

安装

RedisLive 使用 Python 实现,使用 Tornado 作为自己的 Web 服务器。运行 RedisLive 并不需要额外的编译过程。下载 RedisLive 的代码后,只须安装好依赖的相关 Python 扩展包就可以直接运行。
可以通过 Git 下载最新的 RedisLive 源代码:


git clone https://github.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 的示例配置文件,内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

{

"RedisServers":

[

{

  "server": "154.17.59.99",

  "port" : 6379

},

{

  "server": "localhost",

  "port" : 6380,

  "password" : "some-password"

}

],

"DataStoreType" : "redis",

"RedisStatsServer":

{

"server" : "ec2-184-72-166-144.compute-1.amazonaws.com",

"port" : 6385

},

"SqliteStatsStore" :

{

"path":  "to your sql lite file"

}

}

  • RedisServers:监控的 Redis 实例列表,RedisLive 支持同时监控多个 Redis 实例

  • RedisStatsServer:用来存储监控数据的 Redis 实例,此配置不同于 RedisServers,RedisLive 并不监控 RedisStatsServer,RedisStatsServer 只是用作存储监控数据使用

  • DataStoreType:监控数据的存储方案,可以配置为redis或者sqlite

  • SqliteStatsStore:存储监控数据的 sqlite 配置

我们实例使用的redis-live.conf(需要去除.example后缀)置如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

{

"RedisServers":

[

{

  "server": "127.0.0.1",

  "port" : 6379

}

],

"DataStoreType" : "sqlite",

"SqliteStatsStore" :

{

"path":  "db/redislive.sqlite"

}

}

即监控的 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 来定时执行该脚本。

参考资料

  1. https://github.com/nkrode/RedisLive

  2. http://www.nkrode.com/article/real-time-dashboard-for-redis

  3. http://wxmimperio.tk/2016/02/25/Redis-Monitor-Tools/

  4. 深入理解Redis,Jeremy Nelson 著,汪佳南译,电子工业出版社,2017年4月

  5. http://redis.io/commands/monitor

阅读原文」直达作者博客

商务合作,请加微信yunweibang555

阅读原文

为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权