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

Prometheus 集成

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

要开始使用,请 生成 API 密钥

Prometheus 端点 API 以检索 ClickHouse Cloud 指标

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服务名称

信息指标

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

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

检索指标的请求不会恢复处于休眠状态的服务。如果服务处于 idle 状态,则只会返回 ClickHouse_ServiceInfo 指标。

配置 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 账户
  • 通过选择 指标端点 添加新连接
  • 配置抓取 URL 指向 Prometheus 端点,并使用基本认证配置与 API 密钥/秘密的连接
  • 测试连接以确保可以连接
配置 Grafana 指标端点

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

Grafana 指标浏览器下拉菜单
Grafana 指标浏览器图表

使用 Alloy 与 Grafana Cloud 集成

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

Grafana Alloy

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

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

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

使用 Alloy 与 Grafana 自托管集成

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

配置完成后,你应该会在指标浏览器中看到与 ClickHouse 相关的指标:

Grafana 指标浏览器

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

与 Datadog 集成

你可以使用 Datadog AgentOpenMetrics 集成 从 ClickHouse Cloud 端点收集指标。以下是该代理和集成的简单示例配置。请注意,你可能只想选择你最关心的指标。下面这个包罗万象的示例将导出成千上万的指标实例组合,Datadog 将把它们视为自定义指标。


Prometheus Datadog 集成