TiDB:多集群告警监控-中章-融合多集群 Grafana

本文延续 TiDB 多集群监控实践,介绍如何在夜莺中统一管理多套 TiDB Grafana Dashboard,通过内置模板、JSON 导入、变量调整和业务组区分减少重复看盘成本。

作者 longzhuquan

核心要点

  • 本篇是 TiDB 多集群监控实践的“中章”,重点从告警融合进入 Grafana Dashboard 融合。
  • 夜莺监控仪表盘可以通过预配置图表,让用户在单一页面查看一组 TiDB 监控图表,减少逐一打开多套 Grafana 的成本。
  • 对 TiDB 常用监控图表,可以通过企业版内置模板或 JSON 批量导入方式复用,避免手工逐个编辑图表。
  • 导入后需要关注 tidb_datasource 等变量,确认数据源与业务组的对应关系。
  • 当前方案已基本满足多集群大盘管理需求,但原文也说明 Grafana 版本适配和更多 JSON 模板仍在推进中。

操作路径总览

步骤 操作 目的
查看夜莺监控仪表盘 在仪表盘页面选择预先配置的图表 用统一入口查看 TiDB 关键图表
复用 TiDB 监控模板 使用内置模板或获取同款 JSON 模板 减少逐个配置图表的重复工作
批量导入 JSON 进入业务组后导入 Dashboard JSON 让每个业务组拥有自己的大盘
调整变量 修改并保存 tidb_datasource 等变量 固定业务组与数据源对应关系
汇总展示 按业务组区分集群,也可把所有集群融合到同一大盘 方便 DBA 掌握多集群资源状态

背景

随着公司XC改造步伐的前进,越来越多的业务选择 TiDB,由于各个业务之间需要物理隔离,避免不了的 TiDB 集群数量越来越多。虽然每套 TiDB 集群均有两个详细的监控 Dashboard、Grafana,但对于运维来说几十套集群的监控、告警、巡检均需消耗巨大的精力。上篇介绍了监控工具的安装,以及业务组如何规范的设置。本章着重介绍如何将多套集群 Grafana 数据统一管理。

监控大盘介绍

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图1

在夜莺仪表盘-监控仪表盘界面,通过预先配置好想要查看的图表,用户在未来查看时只需点击即可直接浏览一系列图表,无需逐一选择。例如,在 MySQL 监控中,资深 DBA 可以事先将重要的图表以及应关注的图表都配置到监控大盘中。详细介绍可参考 仪表盘 介绍。

先看看单张效果

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图2

怎么样是不是似曾相识?没错监控大屏可以适配TiDB的 Grafana,上一篇接入数据源之后,其实夜莺即可通过查询到所有普罗米修斯的数据,也可以将 TIDB 的监控数据全部查询。前提是在此页面进行 PromQL 的编写。

优雅的 COPY TiDB 监控

前面已经看到效果,但如果按照官方一个一个的图标的编辑,那把TiDB一套集群图标编辑完,估计也过年了。那有没有更方便的方式呢?

经过我司大量的实践,已经适配出了一套常用的监控数据,并且已经提交给夜莺官方,在最新企业版“仪表盘-内置仪表盘”可以看到 TIDB 监控模版。各位可直接使用。开源版暂时未放出,不过有兴趣的需要可私聊题主,或者在文章下留言,即可得到同款模版(由于文章限制 json 文件不太好进行附件)。

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图3

如得到文件后点击 仪表盘-监控仪表盘-对于业务组-批量导入-导入仪表盘 JSON 即可

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图4

导入完成后进入图表-点击修改按钮-选择tidb_datasource-取消隐藏变量-保存

即可在页面上自由选择数据源,选择完对应数据源(数据源与业务组一一对应)后建议在隐藏此变量,达到固定效果。

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图5

开源互相融合

上述方式过于复杂,并且没办法完美复刻 TiDB Grafana 监控项目。我们也观察到这点,目前正在与双方沟通协调此事,最终效果达到能将 TiDB 大盘完美展现在夜莺中。目前没办法直接展现原因由于双方的 grafana 版本不适配,后续可直接 COPY。不过目前也有一些进展,以其中一个大盘为例

点击保存-保存为文件-在通过上个章节的方式导入,即可实现完整复刻。不过目前仅仅支持几个特定的JSON模版。更多模版还需适配,当然如有强烈需求也可在文章留言反馈。我们可以尽量提供JSON模版。

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图6

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图7

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图8

成果展示

按照不同业务组区分不同集群

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图9

每个业务组拥有自己的大盘以及数据源

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图10

并且还可以将所有集群数据融合进同一个大盘,方便DBA监掌握百台机器资源使用情况。

TiDB 多集群告警监控-中章-融合多集群 Grafana - 图11

FAQ

Q1:为什么不直接继续使用每套 TiDB 自带 Grafana?

A:原文的问题是集群数量多,每套集群都有自己的 Dashboard 和 Grafana。对运维来说,几十套集群的看盘、告警和巡检会消耗大量精力,因此需要统一入口。

Q2:夜莺里能完全复刻 TiDB Grafana 大盘吗?

A:原文说明目前还存在 Grafana 版本不适配问题,已经有部分进展,可以通过保存 JSON 文件再导入的方式复刻部分特定模板,更多模板仍需适配。

Q3:导入 Dashboard 后为什么要调整变量?

A:导入后需要选择 tidb_datasource,取消隐藏变量并保存,再选择对应数据源。这样可以让数据源和业务组一一对应,避免大盘查询错集群。

Q4:这篇和上一篇的关系是什么?

A:上一篇解决监控工具安装、业务组规范和告警融合;本篇解决多集群 Grafana Dashboard 融合;原文结尾还预告下一篇会介绍 TiDB 缺失指标补齐和特殊需求处理。

结语

此篇介绍如何融合 Grafana ,目前看还存在一些适配性问题,但已经基本满足了需求。下篇将介绍如何补齐 TiDB 目前没有的监控指标,以及特殊需求的处理。

联系我们交流

延伸路径

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

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

标签 TiDB
快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云