素材牛VIP会员
Redis监控工具,大家有推荐的吗?
 13***22  分类:PHP代码  人气:1223  回帖:4  发布于6年前 收藏

我知道一个web版的,用python做的

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv6 码匠
这***2 学生 6年前#1

phpredisadmin
redis自带的 monitor

Lv7 码师
to***09 PHP开发工程师 6年前#2

大部分工具都是直接解析INFO命令的含义做展示,提供的数据对排查问题不太具有参考意义。没有提供占用内存较大的key访问频率较高的Key慢查询Key等,但是有一些开源工具提供了类似的监控指标,汇总如下(实用性也不是很大):

  • RedisLive:提供了TopAccessKeys的统计。

它的后台使用关系型数据库(默认是sqlite)保存Key的信息,然后使用SQL分析查询获取结果,

  • redis-faina:提供TopAccessKeys、TopCommand、Slowest Calls等统计。

它直接解析Redis Monitor命令的结果,然后分析得到信息,Redis Monitor命令对Redis本身性能的影响较大。而且Redis Monitor只提供命令开始执行的时间,它的输出如下所示:

1510737569.843450 [0 127.0.0.1:53371] "set" "k" "v"

因此对于一个请求不断的Redis,它的分析才有效,因为两条记录相减的时间才可以算作命令实际的执行时间,但是如果Redis并没有多少请求,那分析就不准确了。

  • redis-traffic-stats:使用tcpdump抓包然后分析。

使用tcpdump抓包之后解析分析,提供了TopAccessKeysSlowest Calls的指标。

  • elasticsearch + packetbeat + kibana : 目前没有已经建立的分析系统

packetbeat可以指定网卡抓取网络数据包,并且提供了对Redis协议的解析,将抓取到的数据使用elasticsearch建立缓存搜索,kibana是一个可以配合elasticsearch展示的工具,我测试了一下,packetbeat抓取到的数据格式如下:

{
    "@timestamp": "2017-10-19T14:42:02.046Z",
    "beat": {
        "hostname": "kiosk",
        "name": "kiosk",
        "version": "5.6.3"
    },
    "bytes_in": 21,
    "bytes_out": 95,
    "client_ip": "127.0.0.1",
    "client_port": 55747,
    "client_proc": "",
    "client_server": "kiosk",
    "ip": "127.0.0.1",
    "method": "KEYS",
    "port": 6379,
    "proc": "",
    "query": "keys *",
    "redis": {
        "return_value": "[kkkkk, key:__rand_int__, k, counter:__rand_int__, mylist, myset]"
    },
    "resource": "*",
    "responsetime": 0,
    "server": "kiosk",
    "status": "OK",
    "type": "redis"
}

可以将查询到的信息按照index组织,之后分析热点key,或者key的轨迹。

Lv6 码匠
a8***12 Linux系统工程师 6年前#3

可以用这个,ruby实现的 https://github.com/junegunn/r...

有命令行的,也可以开一个简单的监控的http服务

https://github.com/junegunn/r...

https://github.com/junegunn/r...

Lv1 新人
十***刻 产品经理 6年前#4

https://github.com/cyyyu/sredis

去年自己写的,比较简陋,准备抽时间完善下。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取