博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis监控方案
阅读量:6932 次
发布时间:2019-06-27

本文共 2784 字,大约阅读时间需要 9 分钟。

转载地址:

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

测试环境:

     redis版本:2.4.17  

     IP:10.20.111.188

1 redis-faina

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

   官网:

   下载试用:

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编写。

   官网:

   下载试用:

         运行环境依赖包安装:

         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

 在浏览器输入:    即可看到下图:

160325_3r2g_123777.jpg


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

3 redis-stat

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

  官网:

       运行环境安装:

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

在浏览器输入:   结果如下:

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
 ,如需转载请自行联系原作者
你可能感兴趣的文章
邮件归档对非结构化数据的管理
查看>>
简单了解selinux
查看>>
双11大战天猫夺魁,各大电商备战叁12[风茂传媒之营销观察]原创
查看>>
我的友情链接
查看>>
CentOS配置网络(手动设置和自动获取)
查看>>
Junit的简单使用
查看>>
我的友情链接
查看>>
android 设置全屏方法2
查看>>
IDE常见问题解决方法
查看>>
英文吵架必备100句·
查看>>
SqlBulkCopy插入1亿条数据需要20分钟?
查看>>
数据库操作锁住
查看>>
新建文章 1
查看>>
linux命令行发邮件的方法
查看>>
定制个性化的RPM包
查看>>
服务器性能优化(四):mysql数据库调优
查看>>
我的友情链接
查看>>
java 类与对象 3---super关键字
查看>>
IOS 读取plist json文件
查看>>
我们这么努力,也不过是为了成为一个普通人
查看>>