Redis监控方案

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

转载地址:http://my.oschina.net/guol/blog/182265

Redis现在在业务中应用已经很广泛了,但是如何监控redis,实时的观察redis的性能,却很少的提及,现在常见的监控方案基本上都是使用redis自带的info命令和monitor命令获取相关信息,然后提取出来显示。

测试环境:

     redis版本:2.4.17  

     IP:10.20.111.188

1 redis-faina

   一个使用redis自带命令monitor的输出结果做分析的python脚本,在命令行下使用,可以做实时分析使用。

   官网:https://github.com/Instagram/redis-faina

   下载试用:

1
2
3
4
cd  /opt/test
git clone https: //github .com /Instagram/redis-faina .git
cd  redis-faina/
redis-cli -p 6379 MONITOR |  head  -n 100 | . /redis-faina .py --redis-version=2.4

测试结果如下:

160523_QxJU_123777.gif

可以看到一些实时的数据,并且有一定的统计数据,可以作为一个命令行工具使用。推荐使用,不过redis版本要大于2.4。

2 redis-live

   一个用来监控redis实例,分析查询语句并且有web界面的监控工具,python编写。

   官网:https://github.com/nkrode/RedisLive

   下载试用:

         运行环境依赖包安装:http://www.nkrode.com/article/real-time-dashboard-for-redis

         redis-live安装:

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
28
29
30
31
32
cd  /root
git clone https: //github .com /nkrode/RedisLive .git
cd  RedisLive /src
###修改redis-live.conf文件
{
     "RedisServers" :
    
         {
             "server" "10.20.111.188" ,
             "port"  : 6379
         }
          
     ],
  
     "DataStoreType"  "redis" ,
  
     "RedisStatsServer" :
     {
         "server"  "10.20.111.188" ,
         "port"  : 6380
     },
      
     "SqliteStatsStore"  :
     {
         "path" :   "to your sql lite file"
     }
}
###修改完毕
###启动监控服务,每30秒监控一次
. /redis-monitor .py --duration=30
###再次开启一个终端,进入/root/RedisLive/src目录,启动web服务
. /redis-live .py

 在浏览器输入: http://10.20.111.188:8888/index.html   即可看到下图:

160325_3r2g_123777.jpg


一个web界面,可以同时监控多个redis实例,做集中监控比较好。


3 redis-stat

  一个用ruby写成的监控redis的程序,基于info命令获取信息,而不是通过monitor获取信息,性能应该比monitor要好。

  官网:https://github.com/junegunn/redis-stat

       运行环境安装:

1
2
apt-get  install  ruby    
apt-get  install  rubygems

redis-stat安装:

1
2
3
4
5
cd  /root
git clone https: //github .com /junegunn/redis-stat .git
cd  /root/redis-stat/bin
###./redis-stat --help 可以看到使用帮助
. /redis-stat  1

下面看看redis-stat的具体用法

1
2
3
4
5
6
7
8
9
10
11
12
13
usage: redis-stat [HOST[:PORT] ...] [INTERVAL [COUNT]]
  
     -a, --auth=PASSWORD              Password
     - v , --verbose                    Show  more  info
         --style=STYLE                Output style: unicode|ascii
         --no-color                   Suppress ANSI color codes
         --csv=OUTPUT_CSV_FILE_PATH   Save the result  in  CSV  format
  
         --server[=PORT]              Launch redis-stat web server (default port: 63790)
         --daemon                     Daemonize redis-stat. Must be used with --server option.
  
         --version                    Show version
         --help                       Show this message

redis-stat命令行模式:

1
2
3
4
5
6
7
redis-stat
redis-stat 1
redis-stat 1 10
redis-stat --verbose
redis-stat localhost:6380 1 10
redis-stat localhost localhost:6380 localhost:6381 5
redis-stat localhost localhost:6380 1 10 --csv= /tmp/output .csv --verbose

redis-stat web模式:

1
2
3
redis-stat --server
redis-stat --verbose --server=8080 5
redis-stat --server --daemon

效果如下:111634_wTKQ_123777.jpg

运行web模式

1
2
cd  /root/redis-stat/bin
. /redis-stat  --server=8080 5 --daemon

在浏览器输入: http://10.20.111.188:8080/  结果如下:

163709_QEEj_123777.jpg

不错的工具,既有命令行又有web界面,可以放到后台运行,数据比redis-live感觉直观 ,ruby开发的,唯一的缺点是如果同时监控多个redis实例,不能单独显示每一个实例的数据信息,貌似是总和。

4 redis-monitor

  一个国人用java写的,官网的是在win下编译的,看着不错,不过我在linux下没调试起来...

  官网:https://github.com/litiebiao2012/redis-monitor

   

   个人感觉,做集中监控可以使用redis-live,在命令行使用可以使用redis-stat,也可以根据自己的情况自行编写,总之就是根据info和monitor命令获取并展示信息。












本文转自wks9751CTO博客,原文链接: http://blog.51cto.com/wks97/1622268  ,如需转载请自行联系原作者


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
22天前
|
负载均衡 监控 NoSQL
Redis的集群方案有哪些?
Redis集群包括主从复制(基础,手动故障恢复)、哨兵模式(自动高可用)和Redis Cluster(官方分布式解决方案,自动分片和容错)。此外,还有如Codis、Redisson和Twemproxy等第三方工具用于代理和负载均衡。选择方案需考虑应用场景、数据规模和并发需求。
36 2
|
28天前
|
缓存 监控 NoSQL
Redis 的监控指标
Redis 的监控指标
22 0
|
2月前
|
监控 NoSQL Redis
HeartBeat监控Redis状态
HeartBeat监控Redis状态
|
2月前
|
监控 NoSQL Redis
MetricBeat监控Redis
MetricBeat监控Redis
|
3月前
|
监控 NoSQL Linux
【分布式】Redis的持久化方案解析
【1月更文挑战第25天】【分布式】Redis的持久化方案解析
|
5月前
|
监控 NoSQL Redis
【Redis 系列】redis 学习六,redis 事务处理和监控事务
【Redis 系列】redis 学习六,redis 事务处理和监控事务
|
26天前
|
缓存 运维 NoSQL
【Redis故障排查】「连接失败问题排查和解决」带你总体分析和整理Redis的问题故障实战开发指南及方案
【Redis故障排查】「连接失败问题排查和解决」带你总体分析和整理Redis的问题故障实战开发指南及方案
132 0
|
3月前
|
NoSQL Java 关系型数据库
处理Redis与MySQL数据不一致的Java定期巡检方案
处理Redis与MySQL数据不一致的Java定期巡检方案
30 0
|
3月前
|
缓存 NoSQL 算法
Redis 企业级数据备份方案
Redis 企业级数据备份方案
37 1
|
4月前
|
NoSQL 算法 Java
Redis实现分布式锁的几种方案
Redis实现分布式锁的几种方案
37 0