txcloud-diagnostics

Polar Sponsor
爱发电 赞助
.NET 9.0

用于腾讯云产品异常诊断。用户报告异常或实例不可用时,自动拉取监控数据进行分析诊断,给出原因与建议。

腾讯云云产品诊断

功能概述

腾讯云云产品诊断是一项面向实际任务的技能,主要用于⚠️ 所有脚本在 skill 目录下执行 :先 cd skills/txcloud-diagnostics/;Step 1: 预获取;

核心要点

  • 从对话提取 产品类型、实例 ID、地域、问题现象、问题时间段 (地域和问题时间段缺失必须追问,不得猜测);
  • 通过实例 ID 前缀识别产品 (见下方 ID 前缀表),再查 产品路由表 → 必须先 read 对应 profile 文件。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

腾讯云云产品诊断

⚠️ 所有脚本在 skill 目录下执行:先 cd skills/txcloud-diagnostics/

诊断流程

Step 1: 预获取

  1. 从对话提取产品类型、实例 ID、地域、问题现象、问题时间段(地域和问题时间段缺失必须追问,不得猜测)
  2. 通过实例 ID 前缀识别产品(见下方 ID 前缀表),再查产品路由表 → 必须先 read 对应 profile 文件,从中获取 namespace、dimension-key、核心指标。禁止凭记忆填写 namespace/dimension-key,必须从 profile 文件中读取
  3. 跨产品场景(如"A 访问 B 超时/报错"):优先诊断被访问方 B,诊断完 B 后若未找到原因再诊断 A。一次只诊断一个产品
  4. 结合 profile 指标决策表 + 用户问题现象,预选 3~8 个诊断指标
  5. 执行:
python3 scripts/prefetch.py --instance-id  --product  
  --region  --namespace  --dimension-key 
  • status: "ok" → 进 Step 2
  • status: "auth_failed" → 执行凭证授权(见下方),成功后重试
  • status: "error" → 根据 message 提示用户

Step 2: 执行诊断

python3 scripts/diagnose.py 
  --instance-id  --region  
  --namespace  --dimension-key  
  --metrics '<指标1,指标2,...>' 
  --problem-start '' --problem-end ''

可选:--pad-before/--pad-after(默认15分钟),--extra-dims(CCN 等多维度产品必传)。

时间处理:用户说的时间默认为 北京时间(UTC+8),直接用 +08:00 后缀。例:用户说"19点左右" → --problem-start '2026-03-28T18:30:00+08:00' --problem-end '2026-03-28T19:30:00+08:00'。不要做 UTC 转换。

指标选择优先用 profile 决策表,通用匹配:慢→latency、错误→error/fail、流量→traffic/bandwidth、连接→conn。

输出规范:全流程禁止输出中间思考/排查过程。用户只看到以下内容:

  • 需要授权时:只输出授权链接 + "请点击登录授权并回复验证码",不要解释为什么需要授权、不要暴露 tccli 报错信息
  • 诊断进行中:不输出任何内容(静默执行),不要说"让我先..."、"正在读取..."、"prefetch 成功"等
  • 诊断完成后:只输出最终报告,格式如下:
📋 诊断结论:<一句话结论>

| 实例 | 指标1 | 指标2 | ... | 状态 |
|------|-------|-------|-----|------|
| xxx  | 数据  | 数据  | ... | ✅/❌ |

建议:
1. <具体可执行动作>
2. <具体可执行动作>

禁止:输出思考过程、暴露 tccli/脚本报错细节、重复展示同一数据、编造未查证的信息

诊断失败自纠

当 diagnose.py 返回失败(API错误或数据为空)时,不要直接报错放弃,按以下顺序自主尝试(总耗时不超过 10 分钟,超时如实告知用户当前进展和失败原因):

  1. namespace 不对 → 用 tccli 查实际可用的 namespace:

    tccli monitor DescribeBaseMetrics --cli-unfold-argument --region  --Namespace <当前namespace> --output json
    

    如果返回 0 个指标,换同产品的其他已知 namespace 重试(如 TDSQL-C:QCE/CYNOSDB_MYSQL ↔ QCE/TDMYSQL)

  2. 实例 ID 格式不对 → 用户给的可能是集群 ID 而非实例 ID,通过产品 API 查询实际实例:

    tccli cynosdb DescribeClusterInstanceGrps --region  --ClusterId <集群ID> --output json
    

    从返回的 InstanceSet 中取 InstanceId(如 cynosdbmysql-ins-xxx)

  3. dimension-key 不对 → 从 DescribeBaseMetrics 返回的 MetricSet[0].Dimensions 中确认实际维度名

  4. 指标名不对 → 从 DescribeBaseMetrics 返回的 MetricSet 中确认实际可用的指标名(注意大小写)

  5. 数据为空但无报错 → 该时间段确实没有监控数据(实例空闲/新建/已停机),如实告知用户

凭证授权

当 prefetch.py 返回 auth_failed 时执行:

nohup python3 -u scripts/tccli_auth_daemon.py > /tmp/tccli_daemon.log 2>&1 &
sleep 5 && cat /tmp/tccli_daemon.log && cat /tmp/tccli_auth_link.txt

提取链接生成超链接发给用户一键点击登录。提示用户回传验证码(一段 eyJ... 开头的 base64 长字符串) 授权环节只对用户输出:授权链接 + "请点击登录并回复验证码"。不要输出 auth_failed 原因、tccli 配置状态、credential 为空等内部信息。 将用户回复的base64 长字符串内容完整写入 /tmp/tccli_auth_input_code.txt

echo '<用户回复的验证码>' > /tmp/tccli_auth_input_code.txt
sleep 5 && cat /tmp/tccli_daemon.log

日志出现 AUTH_SUCCESS 即成功,重新执行 Step 1。

产品路由表

产品关键字 Profile
cvm、云服务器、lighthouse、轻量应用、cdh scripts/product_profiles/compute.md
tke、容器、tcr scripts/product_profiles/container.md
scf、云函数、tcb、云开发 scripts/product_profiles/serverless.md
ckafka、kafka、tdmq、rabbitmq、cmq、rocketmq、pulsar scripts/product_profiles/mq.md
apigateway、api网关、tse、tsf scripts/product_profiles/microservice.md
cbs、cos、cfs、chdfs、goosefs、cls、日志、ci scripts/product_profiles/storage.md
clb、负载均衡、nat、vpn、dc、专线、ccn、云联网 scripts/product_profiles/network.md
cdb、mysql、cynosdb、tdsql、mariadb、dcdb、postgres、sqlserver、mongodb、redis、memcached、keewidb scripts/product_profiles/database.md
es、elasticsearch、emr、oceanus、dlc、cdw scripts/product_profiles/bigdata.md
cdn、ecdn、gaap、edgeone、ecm scripts/product_profiles/cdn.md
live、直播、vod、waf、cfw、ddos scripts/product_profiles/media_security.md

实例 ID 前缀速查

前缀 产品 product 参数
ins- CVM cvm
lhins- Lighthouse lighthouse
cdb- CDB MySQL cdb
cynosdbmysql- TDSQL-C MySQL tdsql-c
tdsql- / tdsqlshard- TDSQL / DCDB tdsql
postgres- PostgreSQL postgres
mssql- SQL Server sqlserver
crs- Redis redis
cmgo- MongoDB mongodb
keewidb- KeeWiDB keewidb
lb- CLB clb
ckafka- CKafka ckafka
es- Elasticsearch es
emr- EMR emr

其它实例id搜索参考 腾讯云官网

tccli 注意事项

  • 参数格式:tccli --cli-unfold-argument --ParamName value(注意 --cli-unfold-argument)
  • 管道解析 JSON 不稳定:优先用 > /tmp/xxx.json 保存文件再用 Python 读取,不要用 | python3

约束

  • 单次诊断总耗时不超过 10 分钟(含自纠重试),超时立即输出已有结论并告知用户
  • 监控数据仅保留 15 天,时间格式 ISO 8601 + 时区
  • 严禁编造数据。获取失败或为空如实告知,不确定标注"未确认"
  • 禁止无限循环:同一操作(如 tccli 命令)最多重试 2 次,2 次仍失败则输出错误信息并停止
  • tccli 命令失败时:不要反复猜测参数格式,改用 prefetch.py / diagnose.py 脚本完成诊断
  • 过程中禁止自己创建新脚本、直接修改原脚本等操作

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习