用途:回答副本是否已连接、是否同步、队列是否在正常消费,面向 ClickHouse 复制与 Keeper 健康排查。
主要能力:提供四组 SQL 检查包。triage.sql 检查各主机 Keeper/ZooKeeper 会话状态与 system.replicas 复制总览;queue.sql 检查队列规模与带异常或推迟原因的单项任务;fetches.sql 检查进行中的抓取与近期 DownloadPart 活动;keeper.sql 由 ZooKeeperWaitMicroseconds/ZooKeeperTransactions 估算 Keeper 往返延迟,并从 system.text_log 查近 24 小时错误与警告。
使用方式:先运行连接技能 altinity-expert-clickhouse-connection 确定连接模式、集群与时间窗口。逐个语句执行,不整文件运行;语句以 ; 结尾,带 -- @check <id> <title> 头,保留 id 与结果对应。遵守 -- @requires,缺表、无 Keeper 或版本不符时跳过并记录原因。{cluster} 在存在集群宏时保持原样,其余 {placeholder} 需替换真实值否则跳过。报错时记录 check id 与错误首行后继续;仅对 UNKNOWN_IDENTIFIER 执行 DESCRIBE TABLE system.<table> 并去掉缺失列。severity 列即该行结论,直接引用不重新评级。
判读要点:has_keeper = 0 时整个技能不适用。is_readonly = 1 或 is_session_expired = 1 为 Critical。active_replicas 小于 total_replicas 说明有已注册但未存活的副本。绝对延迟超 300 秒或队列超 200 为 Moderate,超 3600 秒或超 1000 为 Major,两个数字需一起引用。last_exception 或 postpone_reason 非空可定位卡住的任务类型。Keeper 延迟为自启动起的累计计数,应在主机间横向比较而非套用绝对阈值。
报告格式:头部写连接模式、集群或单节点、版本、时间窗口;发现以表格列 check、severity、object、evidence、recommendation,Critical 优先;另列无问题检查项、跳过与失败项(不可省略)、后续步骤。
限制:需要 Keeper/ZooKeeper 与相关系统表,部分检查依赖 system.part_log、system.text_log;仅为诊断排查,不自动修改复制设置。