【SOP 系列 22】TiDB 集群诊断信息收集 Diag Collector 使用手册 v0.4.0

简介

Diag Collector ( diag ) 是一个用于一键收集 TiDB 集群信息的工具,并可尽量保持各项数据维持与线上真实环境接近的展示方式,以便于研发排查问题使用。

由于目前还处在较早期的试用阶段,欢迎向我们反馈使用中遇到的问题与建议。

此工具目前仅支持由 TiUP Cluster ( tiup cluster ) 管理的 TiDB 集群。

使用

此工具须在安装 TiUP 并可用于管理 TiDB 集群的中控机上运行,即:可以通过执行 tiup cluster display <cluster-name> 查看到集群信息的地方。

建议通过较新版本的 TiUP 来调用此工具(>= v1.7.0),更老一些的版本未经过测试,但应当也可以正常使用。

1. 安装

此工具发布在 TiUP 的默认(公开)源中,当前最新 diag 版本为 v0.4.0 。

在安装有 TiUP 的中控机上,执行以下命令安装工具:

tiup install diag

2. 收集数据

全量数据收集

使用此工具收集集群数据只需要一条命令即可,可采集最近2小时内(默认)的日志、配置和监控指标:

$ tiup diag collect <cluster-name> -l 100000 -o output-data

其中:

  • -f/--form : 采集时间起始点,默认为当前时刻的2小时前,如果不带时区(+0800)默认为UTC, 也支持 -f="-3h" 这种格式,指定收集最近几小时的数据。

  • -t/--to : 采集时间结束点,默认为当前时刻,如果不带时区(+0800)默认为UTC。

    • 可通过形如 +0800 的语法指定时区,如 -f "12:30 +0900"
  • -l : 传输文件时的带宽限制,单位 Kbit/s , 默认为 10000 (即 scp-l 参数)。

  • -o : 存储采集后数据的路径,工具会自动在该路径下新建一个名称中包含时间和 session ID 的子目录,默认会存放在 TiUP 目录( ~/.tiup )中。

  • 另可通过 -R/--role , -N/--node , --include , --exclude 等参数筛选收集数据的范围。

  • 更多参数也可以通过 tiup diag collect -h 查看。

收集部分数据

只收集日志数据:

$ tiup diag collect <cluster-name> -l 100000 --include=log -o output-data

只收集 Prometheus 监控数据:

$ tiup diag collect <cluster-name> -l 100000 --include=monitor -o output-data

只收集集群配置数据:

$ tiup diag collect <cluster-name> -l 100000 --include=config -o output-data

3. 数据分享到AskTUG:

说明:在 AskTUG 提问时,请用 Diag 命令行工具将数据打包并上传至指定位置,然后将上传后返回的链接粘贴到提问主题描述中。

操作步骤

(1)对采集数据进行打包

$ tiup diag package -i diagdatafolder -o output-data

  • 打包时会同时进行加密和压缩。测试环境中 800MB 数据压缩后变为 57MB。
  • 工具暂未提供解密的命令。

(2) 上传采集数据到 指定位置

$ tiup diag upload filepath --endpoint= https://clinic.pingcap.com:4433

  • 上传需要提供用户名和密码,用户名 Asktug 密码 Asktug。

(3)将数据分享到AskTUG

  • 上传完成后将返回下载链接,如下图所示请将下载链接粘贴到 AskTUG 的主题贴中。

为保护数据安全,打包后的数据是加密的。该数据的下载链接只能被 PingCAP 相关技术人员下载,分享到 AskTUG 后,别的社区用户无法下载该数据,保证数据安全。

过程分析及结果反馈

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

问题监看步骤

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

8赞