【TiDB 4.0 新 Feature 原理及实践】 Dashboard 触手体验

作者:李坤。

我们都知道,TiDB 是一款分布式数据库,分布式的特点,决定了各个节点会存在不同的数据、日志、流量、负载。长期以来,用户的一线业务及 DBA,一直希望能整合分布在各个节点的所有信息,方便快速的从分布的信息中过滤、汇总所需的信息,以整体视角来观察集群的运行,比如以下场景:

  • 一台机器出现慢查询,其他机器是否有类似情况?
  • 业务性能出现问题,业务表示没有调整,DBA 如何一眼看出流量变化?
  • 测试性能不足,是否有热点问题?如果不是热点,如何诊断?
  • SQL 出现报错、超时,如何快速定位源头出现在哪个 TiKV 节点?

TiDB 4.0 新提供 TiDB Dashboard 图形化界面,内置多种工具方便 DBA 同学诊断、监视和管理集群。

【概况】页面

该页面显示了整个集群的概况,包含以下信息:

  • 整个集群的 QPS
  • 整个集群的查询延迟
  • 最近一段时间内累计耗时最多的若干 SQL 语句
  • 最近一段时间内运行时间超过一定阈值的慢查询
  • 各个实例的节点数和状态
  • 监控及告警信息

【集群信息】页面

该页面上用户可以查看整个集群中 TiDB、TiKV、PD、TiFlash 组件的运行状态及其所在主机的运行状态。

【热点可视化】页面

在 TiDB 4.0 版本之前,热点问题的处理通常是比较繁琐的,用户需要结合 Prometheus 监控的多处 metric、命令行工具,才能定位是否为热点问题,热点是哪个库表等。

4.0 版本的「热点可视化」功能,可用于分析 TiDB 集群的使用模式和排查流量热点。该页面可视化地呈现了 TiDB 集群一段时间的读写流量情况。他可以通过色块的亮暗变化来代表该时间段该段数据的流量。

如下图:图中写入流量图出现以下明亮斜线(斜向上或斜向下)时,说明该大流量表构成了写入热点,将鼠标移到亮色块上,即可看到是什么表或索引:
pasted%20image%200


对于小表热点,也可以直观看到:

【SQL 语句分析】页面

该页面可以查看所有 SQL 语句在集群上执行情况,常用于分析总耗时或单次耗时执行耗时较长的 SQL 语句。

选择一个时间段,SQL 语句分析功能可以展示时间段内各个类型 SQL 的总时间占比、单条时间占比、扫描的数据量等信息。在该页面中,结构一致的 SQL 查询(即使查询参数不一致)都会被归为同一个 SQL 语句,使用者无需担心他们成为一堆零碎的 SQL 语句难以系统性地分析。

在列表中点击任意一行可以进入该 SQL 语句的详情页查看更详细的信息,此信息包括三大部分:

  • SQL 语句概况:包括 SQL 模板,SQL 模板 ID,当前查看的时间范围,执行计划个数以及执行所在的数据库(下图区域 1)
  • 执行计划列表:如果该 SQL 语句有多个执行计划,则显示该列表,可以选择不同的执行计划,在列表下方会显示选中的执行计划详情;如果只有一个执行计划,则该列表不显示(下图区域 2)
  • 执行计划详情:显示选中的执行计划的详细信息,具体见下一小节(下图区域 3)

【集群诊断报告】页面

集群诊断是在指定的时间范围内,对集群可能存在的问题进行诊断,并将诊断结果和一些集群相关的负载监控信息汇总成一个诊断报告。诊断报告是网页形式,通过浏览器保存后可离线浏览和传阅。也可以选择两个对比时间段,生成对比报告。

该功能是基于一系列预设规则进行的,会以配置、SQL 执行时间、各种监控、硬件情况等作为依据。该功能目前尚处于早期阶段,涵盖的规则还在不断持续完善中。我们希望它能成长为一个 DBA 得力的助手,让没有经验的 DBA 同学也能拥有相关知识,快速地发现常见问题缘由。

【日志搜索】页面

使用日志搜索和导出功能,可以简单地通过输入关键字、选择时间范围、选择日志级别、选择搜索组件这几个步骤,批量地在 TiDB、TiKV 和 PD 节点上搜索和导出日志。

用户再也不需要逐个节点下载、搜索日志来排查问题了,极大的提高了运维人效。

用户尝鲜感受

在 6 月 7~8 日的 「TiDB DevCon 2020」 中,已经有一些用户尝试过了 Dashboard 并分享了他们的感受,我们来听听看:

视频 (6’38-12’31): 转转 冀浩东-TiDB 4.0 新特性在电商行业的探索

未来的 Dashboard

上面介绍的 Dashboard 已经在很大程度上解放了业务开发、运维 DBA,甚至 PingCAP 的技术支持人员,但现阶段的 Dashboard 功能还有很大空间。未来的 Dashboard,还有哪些想象空间呢?目前 PingCAP 的工程师也在积极筹划 5.0 中的功能,它们可能是:

  • SQL 语句全链路追踪
  • 丰富的诊断规则
  • 冷热分布可视化
  • 提供插件机制供自由集成或对接数据到自有平台

安装 TiDB 4.0,体验 Dashboard

说了这么多,如果你想亲手体验下 4.0 的新功能 Dashboard,1 分钟快速上手一套 TiDB 4.0,快来访问浏览器体验吧 :http://{{PD_IP}}:2379/dashboard

3赞