用途:系统性诊断 Hologres 实例健康状态,输出 Warehouse 资源、报错分析、慢查询三大模块的结构化诊断报告,适用于实例巡检、使用状况分析、慢查询与报错排查等场景。
主要能力:
- Warehouse 资源巡检:通过 pg_stat_activity、hg_warehouse_metrics 分析各 Warehouse 的 CPU、内存、连接数使用情况,判断是否存在资源瓶颈。
- 报错归类分析:查询 hologres.hg_query_log 中 status='FAILED' 的记录,按报错类型归类统计次数与时段,并给出解决方案,覆盖超时、OOM、READONLY、权限拒绝等多种错误。
- 慢查询分析:按 SQL 指纹(digest)聚合,分别排查 CPU 热点与内存消耗最高的查询模式。
- 汇总输出结构化诊断报告,含综合建议与优先级。
使用方式:
- 安装 hologres-cli:pip install hologres-cli
- 配置与验证连接:hologres config;hologres status
- 需 Superuser 或 pg_read_all_stats 权限,可用查询确认:hologres sql run "SELECT current_user, usesuper FROM pg_user WHERE usename = current_user"
- 授权示例:hologres sql run --write "GRANT pg_read_all_stats TO "云账号ID""
- 执行前设置环境变量:export HOLOGRES_SKILL=hologres-instance-health-analyse
- 诊断查询通过命令 hologres sql run --no-limit-check 执行,时间范围默认 7 days,可替换为 1 day、3 days、30 days、1 hour 等。
限制:
- hologres.hg_query_log 默认保留一个月数据,单次最多返回 10000 条。
- 查询必须带 query_start 时间范围条件,避免全表扫描,且不要嵌套表达式。
- 需 Superuser 或 pg_read_all_stats 权限才能查看全实例日志。
- digest 字段从 V2.2 版本起支持,低版本实例该字段为空。
- 命令返回 JSON 格式,data.rows 为结果行数组;错误可按 retryable 字段决定是否重试。
- hologres-cli 连接层自动设置 hg_computing_resource='serverless',诊断查询通过 Serverless 计算池执行,不占用业务 Warehouse 资源。