Prometheus 协议
暴露指标
注意
如果使用 ClickHouse Cloud,可以通过 Prometheus Integration 将指标暴露给 Prometheus。
ClickHouse 可以将自身的指标暴露出来,以供 Prometheus 抓取:
设置:
| Name | Default | Description |
|---|---|---|
port | none | 用于对外提供指标协议服务的端口。 |
endpoint | /metrics | 供 Prometheus 服务器抓取指标的 HTTP endpoint。必须以 / 开头。不应与 <handlers> 小节同时使用。 |
url / headers / method | none | 用于根据请求查找匹配 handler 的过滤条件。与 <http_handlers> 小节中同名字段的含义相同。 |
metrics | true | 暴露 system.metrics 表中的指标。 |
asynchronous_metrics | true | 暴露 system.asynchronous_metrics 表中的当前指标值。 |
events | true | 暴露 system.events 表中的指标。 |
errors | true | 暴露自上次服务器重启以来按错误码统计的错误次数。该信息也可以从 system.errors 表中获取。 |
histograms | true | 暴露来自 system.histogram_metrics 的直方图指标。 |
dimensional_metrics | true | 暴露来自 system.dimensional_metrics 的维度指标。 |
检查(将 127.0.0.1 替换为 ClickHouse 服务器的 IP 地址或主机名):
Remote-write 协议
ClickHouse 支持 remote-write 协议。 通过该协议接收的数据会被写入一个 TimeSeries 表 (该表需要事先创建)。
Settings:
| Name | Default | Description |
|---|---|---|
port | none | 用于提供 remote-write 协议服务的端口。 |
url / headers / method | none | 用于为请求查找匹配处理器的筛选条件。类似于 <http_handlers> 部分中具有相同名称的字段。 |
table | none | 用于写入通过 remote-write 协议接收数据的 TimeSeries 表名。该名称还可以选择性地包含数据库名称。 |
database | none | 在 table 设置中未指定数据库名称时,此处指定 table 设置中所述表所在的数据库名称。 |
远程读取协议
ClickHouse 支持 remote-read 协议。 数据从 TimeSeries 表中读取,并通过该协议进行传输。
Settings:
| Name | Default | Description |
|---|---|---|
port | none | 用于提供 remote-read 协议服务的端口。 |
url / headers / method | none | 用于为请求查找匹配的处理程序的过滤器。类似于 <http_handlers> 部分中同名字段。 |
table | none | 通过 remote-read 协议发送数据时要读取数据的 TimeSeries 表名。该名称还可以可选地包含数据库名称。 |
database | none | 如果在 table 设置中未指定数据库名称,则此处为包含该表的数据库名称。 |
多协议配置
可以在同一个位置同时指定多个协议: