使用 夜莺+Categraf 快速建设 Redis 监控

介绍如何用夜莺模板中心和 Categraf redis 插件快速建设 Redis 监控,包括实例配置、集群标签、配置重载、指标查询、Dashboard 和告警规则导入。

作者 秦晓辉@快猫星云

上一篇文章《使用 Categraf 快速建设 MySQL 监控,同时介绍夜莺模板中心》我们已经了解了如何使用夜莺配合 Categraf 监控 MySQL,本节我们重点看看 Redis 监控的实操方案。

核心摘要

  • Redis 监控可以通过夜莺模板中心查找采集说明、Dashboard、告警规则和指标说明。
  • Categraf 的 redis 插件通过 [[instances]] 配置 Redis 地址和标签,多个实例可以复制配置段。
  • 监控 Redis 集群时,建议为实例附加 redis_clus 这类集群唯一标识,方便区分不同集群。
  • 配置完成后,需要重启 Categraf 或发送 HUP 信号让配置重载。
  • Dashboard 没有数据时,先在夜莺指标视图或即时查询中确认 Redis 指标是否已经上报。

Redis 监控链路

本文的链路很简单:

Redis 实例
    |
    v
Categraf redis 插件采集
    |
    v
夜莺接收和查询指标
    |
    v
模板中心 Dashboard / 告警规则

这条链路里最关键的验证点是“先查到原始指标,再看 Dashboard”。如果指标没有上报,导入再多大盘也不会有数据。

Redis 监控资料

首先还是去模板中心找到 Redis 插件相关的说明和各类模板,菜单位置在:集成中心 - 模板中心,搜索 redis 即可:

夜莺模板中心搜索 redis

点击进去,可以看到采集说明、仪表盘、告警规则、指标说明等内容。按照采集说明中的配置方式,配置 Categraf 的 redis 插件,我的配置如下:

[[instances]]
address = "127.0.0.1:6379"
labels = { instance="n9e-10.2.3.4:6379" }

如果要监控多个 Redis 实例,就拷贝这个 [[instances]] 配置段多次,修改 addresslabels 即可。如果是监控 Redis 集群,仍然是配置多个 [[instances]] 配置段,同时为了和其他集群区分,可以附加一个 redis_clus 标签作为集群唯一标识。

这里的 labels.instance 建议保持可读、可定位,比如包含业务名、环境或实例地址。后续 Dashboard 变量、告警规则和故障排查都会依赖这些标签。

然后重启 Categraf 或给 Categraf 发 HUP 信号,让其重载配置。

kill -HUP `pidof categraf`

完事之后,在夜莺的指标视图或者即时查询中都可以看到 Redis 的监控指标。只要能查到,就说明“Categraf 采集 -> 指标上报 -> 夜莺查询”这条链路已经打通。

夜莺查询 redis 指标

之后把模板中心中的告警规则和仪表盘克隆导入到自己的业务组即可,最终看到的仪表盘效果如下:

夜莺 redis 仪表盘

这个仪表盘的效果需要 v7.beta13 以上的版本才能看到,写本文的时候尚未发版,你可以从这里拿到仪表盘的 JSON 文件,直接导入即可:

https://github.com/ccfos/nightingale/blob/main/integrations/Redis/dashboards/redis_by_categraf.json

排查顺序

如果 Redis Dashboard 没有数据,建议按这个顺序排查:

  1. Categraf 的 redis 插件配置是否包含正确的 address
  2. 多实例或集群场景下,labels 是否与 Dashboard 变量匹配;
  3. Categraf 是否已经重启或通过 HUP 重载;
  4. 夜莺指标视图或即时查询中能否查到 Redis 原始指标;
  5. 告警规则和仪表盘是否已经克隆导入到正确业务组。

结论

用夜莺和 Categraf 建设 Redis 监控,核心不是从零写一套 Dashboard,而是复用模板中心已有的采集说明、仪表盘、告警规则和指标说明。只要 Categraf redis 插件配置正确,并且标签设计清晰,后续导入大盘和告警规则就会顺很多。

模板中心已经内置了一些模板,使用起来比较方便。当然,中间件、数据库种类比较多,也不是每个都整理的很完备,欢迎大家一起整理这些采集说明、仪表盘、告警规则、指标说明,提 PR 给社区,一起共建。代码提交到这里:

https://github.com/ccfos/nightingale/tree/main/integrations

可以参考 MySQL 或 Redis 目录下的内容,按照格式提交即可。

FAQ

Q1:监控多个 Redis 实例怎么配置? A:复制多个 [[instances]] 配置段,分别修改 addresslabels

Q2:Redis 集群场景需要额外标签吗? A:建议增加 redis_clus 这类集群唯一标识,避免不同集群在查询、Dashboard 变量和告警规则中混在一起。

Q3:修改 Categraf 配置后一定要重启吗? A:可以重启 Categraf,也可以按原文方式发送 HUP 信号让 Categraf 重载配置。

Q4:Dashboard 没数据先查什么? A:先在夜莺指标视图或即时查询中查 Redis 原始指标。能查到指标再看 Dashboard 变量和规则匹配问题;查不到指标则优先排查采集和上报链路。

联系我们交流

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

标签 Redis Monitoring
快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云