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

Prometheus 集成

该功能支持将 Prometheus 集成到 ClickHouse Cloud 服务中进行监控。通过 ClickHouse Cloud API 端点公开对 Prometheus 指标的访问,允许用户安全地连接并将指标导出到他们的 Prometheus 指标收集器。这些指标可以与仪表盘集成,例如 Grafana、Datadog 进行可视化。

要开始,请 生成一个 API 密钥

用于检索 ClickHouse Cloud 指标的 Prometheus 端点 API

API 参考

方法路径描述
GEThttps://api.clickhouse.cloud/v1/organizations/:organizationId/services/:serviceId/prometheus?filtered_metrics=[true | false]返回特定服务的指标
GEThttps://api.clickhouse.cloud/v1/organizations/:organizationId/prometheus?filtered_metrics=[true | false]返回组织中所有服务的指标

请求参数

名称位置类型
Organization ID端点地址uuid
Service ID端点地址uuid(可选)
filtered_metrics查询参数boolean(可选)

身份验证

使用您的 ClickHouse Cloud API 密钥进行基本身份验证:

示例响应

指标标签

所有指标都有以下标签:

标签描述
clickhouse_org组织 ID
clickhouse_service服务 ID
clickhouse_service_name服务名称

对于 ClickPipes,指标还将具有以下标签:

标签描述
clickpipe_idClickPipe ID
clickpipe_nameClickPipe 名称
clickpipe_sourceClickPipe 源类型

信息指标

ClickHouse Cloud 提供了一个特殊的指标 ClickHouse_ServiceInfo,这是一个 gauge,其值始终为 1。此指标包含所有 指标标签 以及以下标签:

标签描述
clickhouse_cluster_status服务的状态。可能为以下之一:[awaking | running | degraded | idle | stopped]
clickhouse_version服务运行的 ClickHouse 服务器版本
scrape指示最后一次抓取的状态。可能为 fullpartial
full表示在最后一次指标抓取期间没有错误
partial表示在最后一次指标抓取期间发生了一些错误,仅返回了 ClickHouse_ServiceInfo 指标。

请求以检索指标的操作不会重新激活处于 idle 状态的服务。如果服务处于 idle 状态,仅将返回 ClickHouse_ServiceInfo 指标。

对于 ClickPipes,还有一个类似的 ClickPipes_Info 指标 gauge,除了 指标标签 之外,还包含以下标签:

标签描述
clickpipe_state管道的当前状态

配置 Prometheus

Prometheus 服务器按给定间隔从配置的目标收集指标。以下是 Prometheus 服务器使用 ClickHouse Cloud Prometheus 端点的示例配置:

请注意,honor_labels 配置参数需要设置为 true,以便实例标签能够正确填充。此外,上述示例中的 filtered_metrics 设置为 true,但应该根据用户的喜好进行配置。

与 Grafana 集成

用户有两种主要方式与 Grafana 集成:

  • 指标端点 – 此方法的优点是不需要任何额外的组件或基础架构。此提供仅限于 Grafana Cloud,只需 ClickHouse Cloud Prometheus 端点 URL 和凭据。
  • Grafana Alloy - Grafana Alloy 是 OpenTelemetry (OTel) Collector 的一种中立于供应商的分发版,替代了 Grafana Agent。这可以用作抓取器,可以在您的基础设施中部署,并与任何 Prometheus 端点兼容。

我们在下面提供有关使用这些选项的说明,重点讨论与 ClickHouse Cloud Prometheus 端点相关的细节。

使用指标端点的 Grafana Cloud

  • 登录到您的 Grafana Cloud 帐户
  • 通过选择 Metrics Endpoint 添加新的连接
  • 配置抓取 URL,指向 Prometheus 端点,并使用基本认证配置 API 密钥/秘密来连接
  • 测试连接以确保可以连接

配置完成后,您应该在下拉菜单中看到可以选择以配置仪表盘的指标:


使用 Alloy 的 Grafana Cloud

如果您使用的是 Grafana Cloud,可以通过在 Grafana 中导航到 Alloy 菜单并按照屏幕上的说明来安装 Alloy:


这应该将 Alloy 配置为一个带有 prometheus.remote_write 组件的设置,以将数据发送到带有身份验证令牌的 Grafana Cloud 端点。用户只需修改 Alloy 配置(在 Linux 上位于 /etc/alloy/config.alloy)以包含 ClickHouse Cloud Prometheus 端点的抓取器。

以下是包含 prometheus.scrape 组件的 Alloy 示例配置,用于从 ClickHouse Cloud 端点抓取指标,以及自动配置的 prometheus.remote_write 组件。请注意,basic_auth 配置组件包含我们的 Cloud API 密钥 ID 和秘密,分别作为用户名和密码。

请注意,honor_labels 配置参数需要设置为 true,以便实例标签能够正确填充。

使用 Alloy 的自管理 Grafana

自管理的 Grafana 用户可以在 这里 找到安装 Alloy 代理的说明。我们假设用户已配置 Alloy 将 Prometheus 指标发送到他们所需的目的地。下面的 prometheus.scrape 组件使 Alloy 从 ClickHouse Cloud 端点抓取。我们假设 prometheus.remote_write 接收抓取的指标。如未存在,请调整 forward_to 键以指向目标位置。

配置完成后,您应该在您的指标资源管理器中看到与 ClickHouse 相关的指标:


请注意,honor_labels 配置参数需要设置为 true,以便实例标签能够正确填充。

与 Datadog 集成

您可以使用 Datadog AgentOpenMetrics 集成 从 ClickHouse Cloud 端点收集指标。以下是该代理和集成的简单示例配置。请注意,您可能希望仅选择您最关心的那些指标。以下的广泛示例将导出成千上万个指标实例组合,Datadog 会将其视为自定义指标。