跳转到主要内容
本指南面向正在评估 ClickHouse 开源版的企业团队,全面介绍生产部署中的监控与可观测性能力。企业客户经常会询问开箱即用的监控功能、与现有可观测性技术栈 (包括 Datadog 和 AWS CloudWatch 等工具) 的集成方式,以及 ClickHouse 的监控能力与自托管部署相比如何。

基于 Prometheus 的集成架构

ClickHouse 会根据你的部署模式,通过不同的端点暴露兼容 Prometheus 的指标;每种方式都有各自的运行特性: 自管理/OSS ClickHouse 可通过 ClickHouse server 上标准的 /metrics 端点,直接访问 Prometheus 端点。该方式提供:
  • 完整的指标暴露:可获取 ClickHouse 提供的全部指标,且没有内置过滤
  • 实时指标:在抓取时直接从系统表生成
直接访问系统 查询生产系统表,这会增加监控负载,并阻止系统进入可节省成本的空闲状态

集成示例

外部集成使组织能够沿用既有监控工作流,借助团队对熟悉工具的现有经验,并将 ClickHouse 监控纳入更广泛的基础设施可观测性体系中,而不会打乱当前流程,也无需投入大量再培训成本。 团队可以将现有告警规则和处理流程应用于 ClickHouse 指标,同时在统一的可观测性平台中,将数据库性能与应用和基础设施的健康状况关联起来。这种方式能够最大化当前监控方案的投资回报率,并通过集中的仪表盘和熟悉的工具界面加快故障排查。

Grafana Cloud 监控

Grafana 可通过直接插件集成和基于 Prometheus 的方式监控 ClickHouse。Prometheus 端点集成既能保持监控工作负载与生产工作负载之间的运维隔离,又能在现有的 Grafana Cloud 基础设施中实现可视化。有关配置指导,请参阅 Grafana 的 ClickHouse 文档

Datadog 监控

Datadog 正在开发专用的 API 集成,以在兼顾服务空闲行为的同时,提供完善的云服务监控能力。在此之前,团队可以通过 ClickHouse Prometheus 端点采用 OpenMetrics 集成方式,实现运维隔离和更具成本效益的监控。有关配置说明,请参阅 Datadog 的 Prometheus 和 OpenMetrics 集成文档

ClickStack

ClickStack 是 ClickHouse 推荐的可观测性解决方案,适用于深度系统分析和调试。它以 ClickHouse 作为存储引擎,为日志、指标和链路追踪提供统一平台。这种方式依赖 HyperDX (ClickStack 的 UI) 直接连接到 ClickHouse 实例中的系统表。 HyperDX 自带一个面向 ClickHouse 的 dashboard,其中包含 Selects、Inserts 和 Infrastructure 选项卡。团队还可以使用 Lucene 或 SQL 语法搜索系统表和日志,并通过 Chart Explorer 创建自定义可视化图表,以进行更细致的系统分析。 相比实时生产告警,这种方式更适合用于调试复杂问题、性能分析以及深入查看系统内部信息。
请注意,由于 HyperDX 会直接查询系统表,这种方式会唤醒空闲服务。

ClickStack 部署选项

  • Helm:推荐用于基于 Kubernetes 的调试环境。可通过 values.yaml 进行环境特定的配置,并设置资源限制和扩缩容。
  • Docker Compose:分别部署各个组件 (ClickHouse、HyperDX、OTel collector、MongoDB) 。
  • 仅 HyperDX:独立部署的 HyperDX 容器。
有关完整的部署选项和架构详情,请参阅 ClickStack 文档数据摄取指南

直接集成 Grafana 插件

Grafana 的 ClickHouse 数据源插件支持直接通过系统表对 ClickHouse 中的数据进行可视化和分析。这种方式非常适合用于性能监控,以及创建自定义仪表盘以开展更细致的系统分析。 有关插件安装和配置的详细信息,请参阅 ClickHouse 数据源插件。如需了解如何使用包含预构建仪表盘和告警规则的 Prometheus-Grafana mix-in 搭建完整的监控方案,请参阅使用新的 Prometheus-Grafana mix-in 监控 ClickHouse

Datadog 直接集成

Datadog 为其 agent 提供了一个 ClickHouse Monitoring 插件,可直接查询系统表。该集成借助 clusterAllReplicas 功能提供具备集群感知能力的全面数据库监控。
由于该集成与为优化成本而设计的空闲机制以及 Cloud proxy 层的运行限制不兼容,因此不建议在 ClickHouse Cloud 部署中使用。

直接使用系统表

你可以直接连接到 ClickHouse 系统表,尤其是直接查询 system.query_log,以便深入分析查询性能。团队可通过 SQL 控制台或 clickhouse client 识别慢查询、分析资源使用情况,并跟踪整个组织内的使用模式。 查询性能分析 你可以使用系统表中的查询日志来进行查询性能分析。 示例查询:查找所有集群副本中耗时最长的前 5 个查询:
SELECT
    type,
    event_time, 
    query_duration_ms,
    query,
    read_rows,
    tables
FROM clusterAllReplicas(default, system.query_log)
WHERE event_time >= (now() - toIntervalMinute(60)) AND type='QueryFinish'
ORDER BY query_duration_ms DESC
LIMIT 5
FORMAT VERTICAL

社区监控解决方案

ClickHouse 社区开发了可与主流可观测性技术栈集成的完整监控解决方案。ClickHouse Monitoring 提供了一套包含预置仪表盘的完整监控方案。这个开源项目为希望采用成熟最佳实践和经过验证的仪表盘配置来实现 ClickHouse 监控的团队提供了快速上手的方式。
与其他直接监控数据库的方法一样,该方案会直接查询 ClickHouse 系统表,这会使实例无法进入空闲状态,从而影响成本优化。
最后修改于 2026年6月10日