SuperAPI AI 工具集

clickhouse-diagnostic

前端与建站

查看项目

更新于 10-15 20:12

技能介绍

用途:分析由 clickhouse-diagnostic 生成的 ClickHouse 支持诊断包(clickhouse_backup_.tar.gz 或其解压目录,内含约 20 个 system. 表的 JSONL 转储、告警结果、可选的宿主机信息、配置与服务器日志),产出简短、以证据为基础的摘要,并明确说明诊断包无法反映的内容。仅适用于已有诊断包的场景;若需对运行中的服务器做实时排查、或问题在 ClickHouse 之外(应用代码、Kafka、云 IAM),则超出范围,应改为说明如何采集诊断包。

主要能力:按 HC-1 至 HC-11 顺序做区域健康检查,包括 Keeper 健康检测(按小时统计 ZooKeeperHardwareExceptions 并与 7 天中位数比较);查询分析(时间预算拆分、runs 与 shards 区分、profile_events 对比);已知模式匹配;可选的版本研究(联网,需先征得同意);按模板生成摘要(覆盖范围、头条、评分卡、按严重度排序的发现、建议、后续提示、需重新采集项、注意事项)。

使用方式:先运行确定性预检脚本 python3 <skill-dir>/scripts/inspect_bundle.py <bundle.tar.gz|dir>(加 --json 可输出 JSON),复用输出的解压目录;预检以退出码 2 表示诊断包为 native/tsv 格式时,应停止并请用户以默认 -output-format jsonl 重新采集。仅在 query_analysis/ 存在时做查询分析。用 clickhouse local(不可用则用 Python)读取;jq 只用于非数值筛选。

限制与硬性禁止:不改动、重打包或上传诊断包;文字或文件离开本机前须过隐私门禁(主机名、IP、库表列用户名、查询字面量、路径、配置片段)。不得跨行汇总 query_log_details 而不固定 tables 值;system.errors.value 为自重启以来累计值,不可当作速率;查询日志中重复的 64 位整数不可按 JavaScript/jq 数字解析;不能从 system.text_log 得出“无错误”结论;host_info.json 描述的可能是另一台机器;onprem 诊断包若来自 SharedMergeTree/cloud_mode=1 集群,只有按副本的表覆盖全部副本;头部带负载均衡 Warning 时不能当作单个节点的画像;不能只凭 query_log 判断 Keeper 正常;缺失 zookeeper_log_errors_1_day / blob_storage_log_7_days 不构成证据;不得称某问题为“已知问题”、不得给出未验证的修复版本或引用未打开的 issue;不得把测量结果升格为归因。若诊断包不含用户问题的窗口,应说明并建议以 -from/-to 重跑。工具运行需相应授权(云端另需 REMOTE 与 CREATE TEMPORARY TABLE),密码仅支持 -password 与 TTY 提示,代理 shell 下建议分两条命令用环境变量传入并事后轮换。