「Redis」- Zabbix solutions

  CREATED BY JENKINSBOT

内容简介

本文将介绍使用Zabbix监控Redis的解决方案。主要参考了「Zabbix/Redis/Available solutions」中的解决方案。

注意事项

本文是在08/22/2019整理的,后面不保证能够跟随这些解决方案进行及时更新。

可用解决方案

让我们挨个看,挨个分析。

# Redis Discovery Template for Zabbix

https://github.com/cuimingkun/zbx_tem_redis

特点:通过端口发现redis实例和谁是从节点;获取redis的info/config/slaveinfo并输出json格式;通过“preprocessing”创建“Dependent Item”;生成图表和关键指标触发器。

# Redis Template for Zabbix

https://github.com/pavelnemirovsky/zabbix-redis-template

特点:能够发现在同一主机上运行的多个Redis实例;自动生成zabbix的“Screen”以进行总体概述,仅在使用Redis命令(依赖少);触发器自动识别异常命令(尚未完成)和实例崩溃。

# Zabbix template for Redis (不适合我们的场景)

https://github.com/adubkov/zbx_redis_template

特点:支持两种语言环境,PYTHON,NODEJS,并支持两种模式「捕获模式」与「代理模式」,但是NODEJS实现只支持「代理模式」。

!!!不适合我们的场景,配置挺麻烦的,而且需要其他的语言环境,但是GitHub Star很多。

# zabbix-agent-extensions (不适合我们的场景)

https://github.com/scoopex/zabbix-agent-extensions

特点:对Zabbix进行了一系列扩展,而Redis监控只是其中的一部分。相关配置可以参考「custom-service-redis」文件。

!!!不适合我们的场景,东西太多了,只需要一个REDIS监控。

# zabbix-template-for-redis (不适合我们的场景)

https://github.com/allenta/zabbix-template-for-redis

特点:包含Zabbix模板、发现、发件人脚本,可用于监控Redis Server和Redis Sentinel实例

!!!不适合我们的场景,用了PYTHON脚本,但是脚本里依赖redis-cli命令,而没有使用redis库。

# Zabbix-Template-App-Redis (不适合我们的场景)

https://github.com/GPegel/Template-App-Redis

特点:运行了一个PYTHON脚本,配置定时任务,主动发送结果到Server中。监控了一些自定义的ITEM,并支持触发器与图。

!!!乏善可陈,不适合我们的场景,还要安装PYTHON的redis库。

# libzbxredis – Module for monitoring redis (不适合我们的场景)

https://github.com/jamescook000/libzbxredis

特点:由C语言开发,以模块的形式嵌入Zabbix Agent中;支持Zabbix 2.2, 2.4, 3.0 & 3.2模板。

!!!不适合我们的场景,这玩意哪天不支持了,改起来就很麻烦。

# zabbix_redis (不适合我们的场景)

https://github.com/arstercz/zabbix_redis

特定:就是通过Shell脚本获取Redis中的关键指标。(不适合我们的场景)

!!!不适合我们的场景,脚本里枚举了Redis中的监控指标。但是在它的脚本里我学了一招:你试试echo INFO | telnet localhost 6379命令。

# zabbix_redis_template (不适合我们的场景)

https://github.com/vTNT/zabbix_redis_template

特点:这个项目有点眼熟,也是「捕获模式」与「代理模式」的,但是只有Python语言支持。

!!!不适合我们的场景,除了依赖一些PYTHON库之外,配置也优点繁琐。

# Zabbix redis trapper (不适合我们的场景)

https://github.com/tomfun/zabbix-redis-trapper

特点:也是NODESJS实现。

!!!不适合我们的场景,依赖NODEJS服务。

# Redis -zabbix (不适合我们的场景)

https://github.com/ve-global/redis-zabbix

特点:使用PYTHON语言,使用REDIS库;能够获取一些关键指标,但是是在代码中配置的。

!!!不适合我们的场景,如果有了新的监控指标,还需要修改代码。

应该具有的特点

易于配置。这包括依赖少,且容易安装部署。

普适性强。可以适用于各个版本。