【SOP 系列 22】TiDB 集群诊断信息收集 Clinic 使用指南&资料大全

什么是 Clinic?

PingCAP Clinic 诊断服务(以下简称为 PingCAP Clinic)是 PingCAP 为 TiDB 集群提供的诊断服务,支持对使用 TiUP 或 TiDB Operator 部署的集群进行远程定位集群问题和本地快速检查集群状态,用于从全生命周期确保 TiDB 集群稳定运行、预测可出现的集群问题、降低问题出现概率、快速定位并修复问题。

PingCAP Clinic 目前处于 Technical Preview 阶段。该服务提供以下两个组件进行集群诊断:

  • Diag 诊断客户端:部署在集群侧的工具,用于采集集群的诊断数据 (collect)、上传诊断数据到 Clinic Server、对集群进行本地快速健康检查 (check)。如需了解 Diag 工具可采集的详细的数据列表,请参阅 PingCAP Clinic 数据采集说明

  • Clinic Server:部署在云端的云服务。Clinic Server 提供 SaaS 模式的诊断服务,不仅能接收上传到该组件的诊断数据,也可以提供在线诊断环境,用于存储、查看和诊断已上传的诊断数据,并提供集群诊断报告。

Clinic 主要客户场景

本次发布的 Tech Preview 版本,对本地部署的用户提供了诊断数据的快速采集和诊断环境的线上复现,当 TiDB 集群遇到问题,邀请 PingCAP 技术支持人员协助远程定位时, 通过 Clinic 服务采集并上传诊断数据 ,将大大加快问题定位的速度。

Clinic 工作原理

Diag 首先需要获取集群拓扑信息,然后通过几种不同的数据采集方式进行诊断数据采集。

  • 获取集群拓扑信息
    • 从部署工具(tiup-cluster/tidb-operator) 获取集群拓扑信息。
  • 数据采集方式1: scp 方式传输服务器文件
    • 对于 TiUP 部署的集群,通过 scp 方式直接从目标组件节点采集日志文件、配置文件。
  • 数据采集方式2: ssh 远程执行命令采集数据
    • 对于 TiUP 部署的集群,Diag 可以通过 ssh 到目标组件系统,执行 insight 等命令获取系统信息,包括内核日志、内核参数、基础的系统和硬件信息等。
  • 数据采集方式3: http 调用采集数据
    • 调用 TiDB 组件的 http 接口,获取 TiDB、TiKV、PD 等组件的实时配置、实时性能采样信息。调用 Prometheus 的 http 接口,获取 alert 信息和 metrics监控数据。
  • 数据采集方式4: SQL 语句查询数据库参数
    • 通过 SQL 语句,查询 TiDB 数据库的系统参数等信息,该方式需要用户在采集时额外提供访问 TiDB 数据库的用户名和密码。

如何使用 Clinic

【强推阅读】快速使用请参考官方指南PingCAP Clinic 快速上手

数据分享到AskTUG:

为保护数据安全,该数据的链接只能被用户自己、用户授权的其他用户,以及 PingCAP 相关技术人员查看,分享到 AskTUG 后,其他的社区用户无法直接查看该数据,需要添加相关权限。

将诊断数据分享给社区技术专家的方法:

诊断数据上传 Clinic 后,将上传后返回的链接粘贴到提问主题描述中。可以在发布的主题中注明:“需要数据查看的同学请回帖。”

你可以在 Org 的设置(Settings)页面,邀请回帖申请权限的用户访问自己 Org 下的所有诊断数据。Clinic 与 AskTUG 使用相同的账号,在邀请框中填写被邀请人的 AskTug 用户名即可。

如果邀请失败,请被邀请的 AskTUG 用户先登录一次 Clinic Service( https://clinic.pingcap.com.cn/ ),然后即可成功邀请。

过程分析及结果反馈

技术专家会根据链接反馈的数据情况,进行问题的排查和定位。如有最新进展,会在 Asktug 主题上反馈,你可以选择监看你发布的问题,以便于技术专家回复时第一时间收到反馈。

问题监看步骤

点击进入你发布的问题,下拉至主题最下方,点击选择主题关注方式——监看。

10赞