1 集群概况
TiDB Dashboard 是 TiDB 自 4.0 版本起提供的图形化界面,可用于监控及诊断 TiDB 集群。TiDB Dashboard 内置于 TiDB 的 PD 组件中,无需独立部署。
查看集群整体 QPS 数值、执行耗时、消耗资源最多的几类 SQL 语句等概况信息。
该页面显示了整个集群的概况,包含以下信息:
- 整个集群的 QPS
- 整个集群的查询延迟
- 最近一段时间内累计耗时最多的若干 SQL 语句
- 最近一段时间内运行时间超过一定阈值的慢查询
- 各个实例的节点数和状态
- 监控及告警信息
1.1 QPS
该区域显示最近一小时整个集群的每秒成功和失败查询数量
注意:该功能仅在部署了 Prometheus 监控组件的集群上可用,未部署监控组件的情况下会显示为失败。1.1.1 延迟
该区域显示最近一小时整个集群中 99.9%、99% 和 90% 查询的延迟:
注意:该功能仅在部署了 Prometheus 监控组件的集群上可用,未部署监控组件的情况下会显示为失败。
1.1.2 Top SQL 语句
该区域显示最近一段时间内整个群集中累计耗时最长的 10 类 SQL 语句。查询参数不一样但结构一样的 SQL 会归为同一类 SQL 语句,在同一行中显示
注意:该功能仅在开启了 SQL 语句分析功能的集群上可用。
1.1.3 最近的慢查询
该区域默认显示最近 30 分钟内整个集群中最新的 10 条慢查询
默认情况下运行时间超过 300ms 的SQL 查询即会被计为慢查询并显示在该表格中。2 集群信息
该页面上允许用户查看整个集群中 TiDB、TiKV、PD、TiFlash 组件的运行状态及其所在主机的运行状态。
2.1 实例列表
实例列表列出了该集群中 TiDB、TiKV、PD 和 TiFlash 组件所有实例的概况信息。
2.1.1 表格列解释
表格包含以下列:
- 地址:实例地址
- 状态:实例的运行状态
- 启动时间:实例的启动时间
- 版本:实例版本号
- 部署路径:实例二进制文件所在目录路径
- Git 哈希值:实例二进制对应的 Git 哈希值
2.1.2 实例状态解释
实例的运行状态有:
- 在线 (Up):实例正常运行。
- 离线 (Down) 或无法访问 (Unreachable):实例未启动或对应主机存在网络问题。
- 已缩容下线 (Tombstone):实例上的数据已被完整迁出并缩容完毕。仅 TiKV 或 TiFlash 实例存在该状态。
- 下线中 (Offline):实例上的数据正在被迁出并缩容。仅 TiKV 或 TiFlash 实例存在该状态。
- 未知 (Unknown):未知的实例运行状态。
2.2 主机列表
主机列表列出了该集群中 TiDB、TiKV、PD 和 TiFlash 组件所有实例对应主机的运行情况。
2.2.1 表格列解释
表格包含以下列:
- 地址:主机 IP 地址
- CPU:主机 CPU 逻辑核心数
- CPU 使用率:主机当前 1 秒的用户态和内核态 CPU 使用率
- 物理内存:主机总计的物理内存大小
- 内存使用率:主机当前内存使用率
- 部署磁盘:主机上运行实例所在磁盘的文件系统和磁盘挂载路径
- 磁盘使用率:主机上运行实例所在磁盘的空间使用率
2.3 SQL语句分析
该页面可以查看所有 SQL 语句在集群上执行情况,常用于分析总耗时或单次耗时执行耗时较长的 SQL 语句。
2.3.1 执行列表页
在该页面中,结构一致的 SQL 查询(即使查询参数不一致)都会被归为同一个 SQL 语句,例如 `SELECT * FROM employee WHERE id IN
2.3.2 执行详情页面
在列表中点击任意一行可以进入该 SQL 语句的详情页查看更详细的信息,这此信息包括三大部分:
- SQL 语句概况:包括 SQL 模板,SQL 模板 ID,当前查看的时间范围,执行计划个数以及执行所在的数据库(下图区域 1)
- 执行计划列表:如果该 SQL 语句有多个执行计划,则显示该列表,可以选择不同的执行计划,在列表下方会显示选中的执行计划详情;如果只有一个执行计划,则该列表不显示(下图区域 2)
- 执行计划详情:显示选中的执行计划的详细信息,具体见下一小节(下图区域 3)
2.4 慢查询
该页面上能检索和查看集群中所有慢查询。
默认情况下,执行时间超过 300ms 的 SQL 查询就会被视为慢查询,被记录到[慢查询日志](https://docs.pingcap.com/zh/tidb/stable/identify-slow-queries)中,并可通过本功能对记录到的慢查询进行查询。可调整 [`tidb_slow_log_threshold`](https://docs.pingcap.com/zh/tidb/stable/system-variables#tidb_slow_log_threshold) SESSION 变量或 TiDB [`slow-threshold`](https://docs.pingcap.com/zh/tidb/stable/tidb-configuration-file#slow-threshold) 参数调整慢查询阈值。 若关闭了慢查询日志,则本功能不可用。慢查询日志默认开启,可通过修改 TiDB 配置 [`enable-slow-log`](https://docs.pingcap.com/zh/tidb/stable/tidb-configuration-file#enable-slow-log) 开启或禁用。
2.4.1 慢查询列表页
可按时间范围、慢查询语句关联的数据库、SQL 关键字、SQL 类型、显示的慢查询语句数量等条件过滤,筛选慢查询句。如下所示,默认显示 30 分钟内最近 100 条慢查询。
2.4.2 查看执行详情
在列表中点击任意一行可以显示该慢查询的详细执行信息,包含:
- SQL:慢查询 SQL 文本(
- 执行计划:慢查询的执行计划
- 其他分类好的 SQL 执行信息
点击展开 (Expand) 链接可以展开相应项的完整内容,点击复制 (Copy) 链接可以复制完整内容到剪贴板。
2.5 集群诊断页面
集群诊断是在指定的时间范围内,对集群可能存在的问题进行诊断,并将诊断结果和一些集群相关的负载监控信息汇总成一个诊断报告。诊断报告是网页形式,通过浏览器保存后可离线浏览和传阅。
2.5.1 生成诊断报告
如果想对一个时间范围内的集群进行诊断,查看集群的负载等情况,可以使用以下步骤来生成一段时间范围的诊断报告:
- 设置区间的开始时间
- 设置区间长度,例如 10 min 。
- 点击开始。
建议生成报告的时间范围在 1 min ~ 60 min 内,目前不建议生成超过 1 小时范围的报告。
点击开始 (start) 后,会看到以下界面,生成进度 (progress) 是生成报告的进度条,生成报告完成后,点击查看报告 (View Full Report) 即可。