PingCAP Clinic 诊断服务简介
PingCAP Clinic 服务提供以下两个组件进行集群诊断:
Diag 诊断客户端:部署在集群侧的开源工具,用于采集集群的诊断数据 (collect)、上传诊断数据到 Clinic Server、对集群进行本地快速健康检查 (check)。如需了解 Diag 工具可采集的详细的数据列表,请参阅 。
注意
Diag 诊断客户端支持 TiDB v4.0 及以上的集群,不支持使用 TiDB Ansible 部署的集群。
Clinic Server:部署在云端的云服务。Clinic Server 提供 SaaS 模式的诊断服务,不仅能接收上传到该组件的诊断数据,也可以提供在线诊断环境,用于存储、查看和诊断已上传的诊断数据,并提供集群诊断报告。根据数据存储的位置不同,Clinic Server 分为以下两个独立的服务:
- Clinic Server 中国区,数据存储在 AWS 中国区(北京)。
- ,数据存储在 AWS 美国区。
快速检查集群状态
即使集群可以正常运行,也需要定期检查集群是否有潜在的稳定性风险。PingCAP Clinic 提供的本地和 Server 端的快速诊断功能,用于检查集群潜在的健康风险。
本章节主要介绍 Diag 诊断客户端(以下简称为 Diag)采集集群诊断数据的工作原理。
首先,Diag 需要从部署工具 TiUP (tiup-cluster) 或 TiDB Operator (tidb-operator) 获取集群拓扑信息,然后通过不同的数据采集方式来采集不同类型的诊断数据,具体采集方式如下:
通过 SCP 传输服务器文件
对于使用 TiUP 部署的集群,Diag 可通过 SCP (Secure copy protocol) 直接从目标组件的节点采集日志文件和配置文件。
通过 SSH 远程执行命令采集数据
通过 HTTP 调用采集数据
- 通过调用 TiDB 组件的 HTTP 接口,Diag 可获取 TiDB、TiKV、PD 等组件的实时配置采样信息与实时性能采样信息。
- 通过调用 Prometheus 的 HTTP 接口,Diag 可获取报警信息和 metrics 监控数据。
通过 SQL 语句查询数据库参数
通过 SQL 语句,Diag 可以查询 TiDB 数据库的系统参数等信息。对于这种方式,你需要在采集数据时额外提供访问 TiDB 数据库的用户名和密码。
注意
- Clinic Server 诊断服务在 2022 年 7 月 15 日至 2023 年 7 月 14 日期间提供免费服务。后续如需收取相关费用,PingCAP Clinic 运营团队将在 2023 年 7 月 14 日前通过邮件通知用户。
在 TiUP 部署环境使用 PingCAP Clinic
在 TiDB Operator 部署环境使用 PingCAP Clinic