Redis监控方案

本文介绍了四种不同的Redis监控工具:redis-faina、redis-live、redis-stat和redis-monitor,涵盖了从命令行到Web界面的不同应用场景,帮助读者了解各工具的特点及适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

   下载试用:

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

 测试结果如下:


   可以看到一些实时的数据,并且有一定的统计数据,可以作为一个命令行工具使用。推荐使用,不过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安装:

cd /root
git clone https://github.com/nkrode/RedisLive.git
cd RedisLive/src
Configuration
edit redis-live.conf :

 
  1. update the value of the key RedisServers to the redis instances you want to monitor. You can monitor multiple instances by appending more values to the RedisServers list.
  2. update the value of the key RedisStatsServer to the redis instance you will use to store RedisLive data (this redis instance is different from the redis instances you are monitoring).
  3. passwords can be added as an optional parameter for any redis instance
  4. if you don't have a spare redis instance to use to store Redis Live data, then you can configure to use sqlite by changing "DataStoreType" : "sqlite"

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

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

3 redis-stat

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

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

       运行环境安装:

apt-get install ruby    
apt-get install rubygems 

        redis-stat安装:

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

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

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命令行模式:

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模式:

redis-stat --server
redis-stat --verbose --server=8080 5
redis-stat --server --daemon

  效果如下:

运行web模式

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

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

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

4 redis-monitor

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

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

   

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anssummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值