用途:为 ClickHouse 搭建完整监控体系,覆盖查询性能、合并(merge)健康度与资源使用。信号来源分四层:system.* 系统表(始终可用、零依赖)、Prometheus 抓取端点、应用层客户端埋点,以及针对高错误率、延迟上升、合并积压、资源耗尽等故障模式的告警规则。
主要能力:用 system.* 表做即时健康快照,例如查询运行中查询数、内存占用与活跃合并数;配置 Prometheus 抓取(ClickHouse Cloud 提供托管端点,自建实例使用 :9363/metrics);在应用客户端用 prom-client 直方图/计数器埋点,暴露 clickhouse_query_duration_seconds、clickhouse_query_errors_total、clickhouse_insert_rows_total;构建 QPS、P50/P95/P99 延迟、错误率、写入吞吐等 Grafana 面板,可导入社区仪表盘 ID 23415;编写五类生产故障告警规则(错误率、延迟、part 数量、内存、磁盘),由 AlertManager 加载。
使用方式:先跑系统表查询获取健康快照;再把抓取配置写入 prometheus.yml;然后做客户端埋点并暴露 /metrics;接着搭建或导入 Grafana 面板;最后将告警规则写入 rules 文件交由 AlertManager 加载。产出物包括 prometheus.yml、clickhouse-alerts.yml、Grafana 仪表盘及客户端埋点指标。
适用场景:ClickHouse 生产实例的日常监控、值班告警与性能归因。
限制与前置条件:需要可访问 system.* 表的 ClickHouse 实例、Prometheus(或兼容组件)、Grafana,以及 AlertManager 或 PagerDuty。常见问题包括指标端点为空(未在配置中启用 /metrics)、标签基数过高、缺少 query_log 数据(需设置 log_queries = 1)、抓取间隔过长导致面板缺口(建议 10-15 秒)。具体配置细节与完整规则集在 references/ 中,资料未提供更细的调优参数。