跳到主要内容
跳到主要内容

ClickHouse Cloud 监控

本指南为正在评估 ClickHouse Cloud 的企业团队提供有关生产环境部署中监控与可观测性能力的全面信息。企业客户经常询问开箱即用的监控功能、与现有可观测性技术栈(包括 Datadog 和 AWS CloudWatch 等工具)的集成方式,以及 ClickHouse 的监控能力与自托管部署之间的对比。

高级可观测性仪表板

ClickHouse Cloud 通过 Monitoring 部分中可访问的内置仪表板界面提供全面监控。这些仪表板无需额外配置即可实时可视化系统与性能指标,是在 ClickHouse Cloud 中进行生产环境实时监控的主要工具。

  • Advanced Dashboard(高级仪表板):可通过 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 insightsresource utilization 文档。

兼容 Prometheus 的指标端点

ClickHouse Cloud 提供一个 Prometheus 端点。这样可以让用户延续现有工作流、利用团队既有经验,并将 ClickHouse 指标集成到包括 Grafana、Datadog 在内的企业级监控平台以及其他兼容 Prometheus 的工具中。

组织级端点会对所有服务的指标进行联邦汇总,而按服务划分的端点则提供更精细的监控能力。其主要特性包括:

  • 过滤指标选项:可选参数 filtered_metrics=true 会将 1000+ 可用指标缩减为 125 个“关键业务级”指标,以实现成本优化并聚焦更易于监控的核心指标
  • 缓存指标投递:使用每分钟刷新的物化视图,将生产系统上的查询负载降到最低
注意

此方法遵循服务空闲行为,在服务未主动处理查询时有助于进行成本优化。该 API 端点依赖 ClickHouse Cloud 的 API 凭证。有关端点配置的完整细节,请参阅 ClickHouse Cloud 的 Prometheus 文档

集成示例

外部集成使组织能够保持既有的监控工作流,利用团队对熟悉工具的既有专业经验,并在不扰乱当前流程或需要大量再培训投入的情况下,将 ClickHouse 监控纳入更广泛的基础设施可观测性体系。 团队可以将现有的告警规则和升级策略应用到 ClickHouse 指标上,同时在统一的可观测性平台中,将数据库性能与应用和基础设施的健康状况进行关联。此方法最大化当前监控体系的投资回报,并通过整合的仪表盘和熟悉的工具界面实现更快速的故障排查。

Grafana Cloud 监控

Grafana 既支持通过直接插件集成,也支持通过基于 Prometheus 的方案对 ClickHouse 进行监控。通过 Prometheus endpoint 的集成,可以在保持监控与生产工作负载相互隔离的同时,在现有的 Grafana Cloud 基础设施中实现可视化。有关配置说明,请参阅 Grafana 的 ClickHouse 文档

Datadog 监控

Datadog 正在开发专用的 API 集成,以在充分考虑服务空闲行为的前提下,提供完善的云服务监控。在此期间,团队可以通过 ClickHouse 的 Prometheus endpoint 使用 OpenMetrics 集成方案,以实现运行隔离和具成本效益的监控。有关配置说明,请参阅 Datadog 的 Prometheus 和 OpenMetrics 集成文档

ClickStack

ClickStack 是 ClickHouse 推荐的、用于深度系统分析和调试的可观测性解决方案,使用 ClickHouse 作为存储引擎,为日志、指标和追踪提供统一的平台。此方案依赖 HyperDX(ClickStack 的 UI),直接连接到 ClickHouse 实例内部的系统表。 HyperDX 内置了一个面向 ClickHouse 的仪表盘,包含 Selects、Inserts 和 Infrastructure 选项卡。团队还可以使用 Lucene 或 SQL 语法搜索系统表和日志,并通过 Chart Explorer 创建自定义可视化,以进行更细致的系统分析。 此方案更适合用于调试复杂问题、性能分析和深度系统内省,而非实时生产告警。

注意

请注意,由于 HyperDX 会直接查询系统表,此方案会唤醒处于空闲状态的服务。

ClickStack 部署选项

  • HyperDX in ClickHouse Cloud(私有预览):可以在任何 ClickHouse Cloud 服务上启动 HyperDX。
  • Helm:推荐用于基于 Kubernetes 的调试环境。支持与 ClickHouse Cloud 集成,并允许通过 values.yaml 进行环境特定配置、资源限制和扩缩容。
  • Docker Compose:分别部署各个组件(ClickHouse、HyperDX、OTel collector、MongoDB)。在与 ClickHouse Cloud 集成时,用户可以修改 compose 文件以移除未使用的组件,尤其是 ClickHouse 和 OTel collector。
  • HyperDX Only:独立的 HyperDX 容器。

有关完整的部署选项和架构详细信息,请参阅 ClickStack 文档数据摄取指南

注意

用户还可以通过 OTel collector 从 ClickHouse Cloud 的 Prometheus 端点收集指标,并将其转发到单独的 ClickStack 部署进行可视化。

直接集成 Grafana 插件

Grafana 中的 ClickHouse 数据源插件可以利用系统表直接从 ClickHouse 可视化和探索数据。此方式非常适合用于监控性能,以及为深入的系统分析创建自定义仪表板。 有关插件安装和配置的详细信息,请参阅 ClickHouse 的 data source plugin。若要使用带有预构建仪表板和告警规则的 Prometheus-Grafana mix-in 搭建完整的监控方案,请参阅 Monitor ClickHouse with the new Prometheus-Grafana mix-in

直接集成 Datadog

Datadog 为其 agent 提供了 ClickHouse 监控插件,该插件会直接查询系统表。此集成通过 clusterAllReplicas 功能提供具备集群感知能力的全面数据库监控。

注意

由于与用于节省成本的空闲优化行为不兼容,并且受到云代理层运行限制,不建议在 ClickHouse Cloud 部署中使用此集成。

直接使用系统表

用户可以通过连接 ClickHouse 系统表(尤其是 system.query_log)并直接进行查询来执行深入的查询性能分析。使用 SQL 控制台或 clickhouse 客户端,团队可以识别慢查询、分析资源使用情况,并在整个组织范围内跟踪使用模式。

查询性能分析

用户可以使用系统表中的查询日志执行查询性能分析。

示例查询:查找整个集群中所有副本里运行时间最长的前 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 的 system 系统表,使实例无法进入空闲状态,从而影响成本优化。

系统影响考量

以上所有方法都以不同方式组合了以下途径:依赖 Prometheus 端点、由 ClickHouse Cloud 管理,或直接查询系统表。 其中最后一种方式依赖于查询生产环境中的 ClickHouse 服务。这会为受监控系统增加查询负载,并阻止 ClickHouse Cloud 实例进入空闲状态,从而影响成本优化。此外,如果生产系统发生故障,由于二者是耦合的,监控也可能受到影响。该方法非常适合用于深入分析与调试,但不太适用于生产环境的实时监控。在评估直接与 Grafana 集成,还是采用下一节讨论的外部工具集成方案时,应权衡系统细粒度分析能力与运维开销之间的取舍。