本指南为正在评估 ClickHouse Cloud 的企业团队提供有关生产环境部署中监控与可观测性能力的全面信息。Enterprise 客户经常会询问开箱即用的监控功能、与现有可观测性技术栈 (包括 Datadog 和 AWS CloudWatch 等工具) 的集成方式,以及 ClickHouse 的监控能力与自托管部署相比有何不同。
ClickHouse Cloud 通过 Monitoring 部分中内置的仪表板界面提供全面的监控能力。这些仪表板可实时展示系统和性能指标,无需额外配置,是 ClickHouse Cloud 中进行生产环境实时监控的主要工具。
- 高级仪表板:这是可通过 Monitoring → Advanced dashboard 访问的主仪表板界面,可实时查看查询速率、资源使用情况、系统健康状态和存储性能。此仪表板无需单独身份验证,不会阻止实例进入空闲状态,也不会给生产系统带来额外的查询负载。每个可视化均由可自定义的 SQL 查询提供支持,开箱即用的图表按 ClickHouse 特有指标、系统健康指标和 Cloud 特有指标分组。你还可以直接在 SQL 控制台中创建自定义查询,以扩展监控能力。
访问这些指标不会向底层服务发起查询,也不会唤醒空闲服务。
如果希望扩展这些可视化,可以使用 ClickHouse Cloud 的仪表盘功能,直接查询系统表。
- 原生高级仪表板:这是另一种可选的仪表板界面,可通过 Monitoring 部分中的“You can still access the native advanced dashboard”进入。它会在单独的标签页中打开,需要进行身份验证,并提供另一套用于监控系统和服务健康状态的 UI。该仪表板支持更高级的分析,你可以修改底层 SQL 查询。
这两个仪表板都能在不依赖外部依赖项的情况下立即提供服务健康状态和性能的可见性,这也是它们区别于 ClickStack 这类更侧重调试的外部工具之处。
有关仪表板功能详情和可用指标,请参阅高级仪表板文档。
ClickHouse Cloud 提供了额外的监控能力:
- Query Insights:用于分析查询性能并排查问题的内置界面
- Resource Utilization Dashboard:跟踪内存、CPU 分配和数据传输模式。CPU 使用率和内存使用量图表显示特定时间段内的最大利用率指标。CPU 使用率图表显示的是系统级 CPU 利用率指标 (而非 ClickHouse CPU 利用率指标) 。
有关详细功能,请参阅 query insights 和 resource utilization 文档。
ClickHouse Cloud 提供 Prometheus 端点。这让您能够保留现有工作流程、利用团队已有的经验,并将 ClickHouse 指标集成到企业级监控平台中,包括 Grafana、Datadog 以及其他兼容 Prometheus 的工具。
组织级端点会汇总所有服务的指标,而按服务划分的端点则可提供更细粒度的监控。主要特性包括:
- 过滤指标选项:可选参数
filtered_metrics=true 可将 1000+ 个可用指标的载荷缩减为 125 个“关键”指标,从而优化成本,并让监控重点更清晰
- 缓存指标提供:使用每分钟刷新的 materialized view,以尽量降低生产系统上的查询负载
这种方式兼容服务的空闲行为,因此在服务未主动处理查询时可进一步优化成本。此 API 端点依赖 ClickHouse Cloud API 凭证。有关完整的端点配置详情,请参阅云端 Prometheus 文档。
外部集成使组织能够沿用既有监控工作流,借助团队对熟悉工具的现有经验,并将 ClickHouse 监控纳入更广泛的基础设施可观测性体系中,而不会打乱当前流程,也无需投入大量再培训成本。
团队可以将现有告警规则和处理流程应用于 ClickHouse 指标,同时在统一的可观测性平台中,将数据库性能与应用和基础设施的健康状况关联起来。这种方式能够最大化当前监控方案的投资回报率,并通过集中的仪表盘和熟悉的工具界面加快故障排查。
Grafana 可通过直接插件集成和基于 Prometheus 的方式监控 ClickHouse。Prometheus 端点集成既能保持监控工作负载与生产工作负载之间的运维隔离,又能在现有的 Grafana Cloud 基础设施中实现可视化。有关配置指导,请参阅 Grafana 的 ClickHouse 文档。
Datadog 正在开发专用的 API 集成,以在兼顾服务空闲行为的同时,提供完善的云服务监控能力。在此之前,团队可以通过 ClickHouse Prometheus 端点采用 OpenMetrics 集成方式,实现运维隔离和更具成本效益的监控。有关配置说明,请参阅 Datadog 的 Prometheus 和 OpenMetrics 集成文档。
ClickStack 是 ClickHouse 推荐的可观测性解决方案,适用于深度系统分析和调试。它以 ClickHouse 作为存储引擎,为日志、指标和链路追踪提供统一平台。这种方式依赖 HyperDX (ClickStack 的 UI) 直接连接到 ClickHouse 实例中的系统表。
HyperDX 自带一个面向 ClickHouse 的 dashboard,其中包含 Selects、Inserts 和 Infrastructure 选项卡。团队还可以使用 Lucene 或 SQL 语法搜索系统表和日志,并通过 Chart Explorer 创建自定义可视化图表,以进行更细致的系统分析。
相比实时生产告警,这种方式更适合用于调试复杂问题、性能分析以及深入查看系统内部信息。
请注意,由于 HyperDX 会直接查询系统表,这种方式会唤醒空闲服务。
- ClickHouse Cloud 中的 HyperDX (私有预览) :可在任何 ClickHouse Cloud 服务上运行 HyperDX。
- Helm:推荐用于基于 Kubernetes 的调试环境。支持与 ClickHouse Cloud 集成,并允许通过
values.yaml 进行环境特定的配置、资源限制和扩缩容。
- Docker Compose:分别部署各个组件 (ClickHouse、HyperDX、OTel collector、MongoDB) 。与 ClickHouse Cloud 集成时,你可以修改 compose 文件,移除任何未使用的组件,尤其是 ClickHouse 和 OpenTelemetry Collector。
- 仅 HyperDX:独立的 HyperDX 容器。
有关完整的部署选项和架构详情,请参阅 ClickStack 文档 和 数据摄取指南。
你还可以通过 OpenTelemetry Collector 从 ClickHouse Cloud 的 Prometheus 端点收集指标,并将其转发到单独的 ClickStack 部署中进行可视化。
Grafana 的 ClickHouse 数据源插件支持直接通过系统表对 ClickHouse 中的数据进行可视化和分析。这种方式非常适合用于性能监控,以及创建自定义仪表盘以开展更细致的系统分析。
有关插件安装和配置的详细信息,请参阅 ClickHouse 数据源插件。如需了解如何使用包含预构建仪表盘和告警规则的 Prometheus-Grafana mix-in 搭建完整的监控方案,请参阅使用新的 Prometheus-Grafana mix-in 监控 ClickHouse。
Datadog 为其 agent 提供了一个 ClickHouse Monitoring 插件,可直接查询系统表。该集成借助 clusterAllReplicas 功能提供具备集群感知能力的全面数据库监控。
由于该集成与为优化成本而设计的空闲机制以及 Cloud proxy 层的运行限制不兼容,因此不建议在 ClickHouse Cloud 部署中使用。
你可以直接连接到 ClickHouse 系统表,尤其是直接查询 system.query_log,以便深入分析查询性能。团队可通过 SQL 控制台或 clickhouse client 识别慢查询、分析资源使用情况,并跟踪整个组织内的使用模式。
查询性能分析
你可以使用系统表中的查询日志来进行查询性能分析。
示例查询:查找所有集群副本中耗时最长的前 5 个查询:
ClickHouse 社区开发了可与主流可观测性技术栈集成的完整监控解决方案。ClickHouse Monitoring 提供了一套包含预置仪表盘的完整监控方案。这个开源项目为希望采用成熟最佳实践和经过验证的仪表盘配置来实现 ClickHouse 监控的团队提供了快速上手的方式。
与其他直接监控数据库的方法一样,该方案会直接查询 ClickHouse 系统表,这会使实例无法进入空闲状态,从而影响成本优化。
上述所有方法都会结合采用以下方式:依赖 Prometheus 端点、由 ClickHouse Cloud 托管,或直接查询系统表。
其中最后一种方式依赖于直接查询生产环境中的 ClickHouse 服务。这会给被观测系统增加查询负载,并使 ClickHouse Cloud 实例无法进入空闲状态,从而影响成本优化。此外,如果生产系统发生故障,由于两者相互耦合,监控也可能受到影响。这种方法非常适合做深度内部信息分析和调试,但不太适合实时生产监控。在评估直接集成 Grafana 与下一节讨论的外部工具集成方案时,请权衡细致的系统分析能力与运维开销之间的取舍。