用途
该技能用于对 CockroachDB 集群执行全面的健康检查。在运行诊断之前,它会先收集部署环境信息,以便为操作者所在的层级提供正确的查询和工具。
适用场景包括:日常或交接班时的运维健康检查;开始维护前(自托管、Advanced、BYOC);事故后确认恢复;验证生产就绪状态;监控容量与性能。
对于实时查询问题,应使用 triaging-live-sql-activity;对于后台任务,应使用 monitoring-background-jobs;对于范围分析,应使用 analyzing-range-distribution。
主要能力
技能首先收集上下文信息,包括部署层级(自托管、Advanced、BYOC、Standard、Basic)、健康检查原因(日常检查、维护前、事故后、升级前)。根据层级不同,还会收集额外信息,例如自托管层级需要了解访问方式(SQL + CLI 或仅 SQL)、云服务商、是否 Kubernetes 部署、节点数量与区域;Advanced 或 BYOC 层级需要了解云服务商;Standard 层级需要了解当前配置的 vCPU 数量;Basic 层级无需额外上下文。
根据上下文,技能会路由到对应的健康检查流程:
- 自托管健康检查:通过 cockroach node status(CLI)和 DB Console 读取节点级健康状态,通过公共 SQL(SHOW ALL CLUSTER SETTINGS、SHOW JOBS)读取集群设置和任务。检查项包括节点存活、版本与复制状态;存储容量;证书过期;关键设置;汇总摘要;生产就绪评估。
- Advanced 健康检查:Advanced 集群是由 Cockroach Labs 管理的专用单租户集群,可通过 Cloud Console 和 SQL 获得节点级可见性。检查项包括 Cloud Console 检查(集群概览、指标、告警)、CLI + SQL 检查(节点状态、近期失败任务)、Cloud API 调用。
- BYOC 健康检查:BYOC 集群运行在用户自己的云账户中,具有与 Advanced 相同的 CockroachDB 可见性,并可访问底层基础设施。检查项包括运行所有 Advanced 检查步骤、云服务商基础设施检查(AWS、GCP、Azure 对应命令)、VPC/网络连通性验证、IAM 角色检查、云服务商监控审查。
- Standard 健康检查:Standard 是多租户托管服务,没有单独节点需要监控。检查项包括 Cloud Console 检查(集群概览、SQL 活动、存储、计算)、SQL 检查(连通性、版本、近期失败任务)。需监控 P99 SQL 延迟、错误率、存储增长、计算利用率。
- Basic 健康检查:Basic 是无服务器产品,自动扩缩容,没有节点或配置的计算资源需要监控。检查项包括 Cloud Console 检查(集群概览、请求单元、存储、支出限额)、SQL 检查(连通性、版本、近期失败任务)。需监控请求单元消耗、存储使用、查询效率、冷启动延迟。
使用方式
技能通过一系列检查步骤执行。自托管层级的具体检查包括:
检查 1:节点存活、版本与复制,使用命令 cockroach node status --decommission --certs-dir=<certs-dir> --host=<any-live-node>,关注 is_live、is_draining、is_decommissioning、membership、started_at、build、ranges_underreplicated 等列。
检查 2:存储容量,使用 DB Console Overview → Storage 或 Prometheus 指标端点 curl -ks https://<node>:8080/_status/vars | grep '^capacity'。
检查 3:证书过期,使用 cockroach cert list --certs-dir=<certs-dir>、openssl x509 -in <cert.crt> -noout -enddate 或 Prometheus 指标端点 curl -ks https://<node>:8080/_status/vars | grep '^security_certificate_expiration_'。90 天内视为即将过期。
检查 4:关键设置,通过 SQL 查询 SHOW ALL CLUSTER SETTINGS 中的 kv.rangefeed.enabled、sql.stats.automatic_collection.enabled、server.time_until_store_dead、admission.kv.enabled、cluster.preserve_downgrade_option。
检查 5:汇总摘要,使用 DB Console Cluster Overview 页面或 CLI 命令,集群逻辑版本通过 SELECT value AS cluster_version FROM [SHOW CLUSTER SETTING version]; 获取。
检查 6:生产就绪评估,包括节点数量、存活与位置多样性检查,关键生产设置检查,以及企业许可证状态查询。
Advanced 层级使用 Cloud Console 检查、CLI + SQL 检查(节点状态、近期失败任务)和 Cloud API 调用。BYOC 层级运行所有 Advanced 步骤并增加云服务商基础设施检查。Standard 和 Basic 层级主要使用 Cloud Console 和简单 SQL 检查。
适用场景
适用于 CockroachDB 集群的日常运维健康检查、维护前检查、事故后恢复确认、生产就绪验证、容量与性能监控。不同部署层级对应不同的检查流程。
限制
所有检查均为只读操作,不修改任何数据。自托管层级中,cockroach node status 需要 CLI 访问权限(或管理员 SQL 权限),大多数节点级健康查询没有生产安全的 SQL 替代方案。Advanced/BYOC 层级中证书检查由 Cockroach Labs 管理。Standard/Basic 层级按设计没有节点级可见性,需使用 Cloud Console。
故障排查方面,技能提供了常见问题及修复方法,例如权限被拒绝、节点缺失、Cloud Console 显示降级、高 RU 消耗、Cloud API 返回 401、首次连接高延迟等。
相关技能包括 upgrading-cluster-version、managing-cluster-capacity、performing-cluster-maintenance、monitoring-background-jobs。官方文档参考包括 Monitoring and Alerting、cockroach node status、Production Checklist、Cloud Console Monitoring、Export Metrics (Advanced)。