Skip to main content

Exponer métricas del servidor ClickHouse

Si usas ClickHouse Cloud, puedes exponer métricas a Prometheus con la integración de Prometheus.
Configure un puerto dedicado cuando un servidor Prometheus necesite recopilar las propias métricas de ClickHouse:
Section <prometheus.handlers> can be used to make more extended handlers en el mismo puerto. Esta sección es similar a <http_handlers> pero funciona para Protocolos de Prometheus:
Configuración: Compruebe el endpoint:

API HTTP de Prometheus y PromQL

ClickHouse implementa la API HTTP de Prometheus sobre una tabla TimeSeries. Un handler gestiona la escritura remota, la lectura remota, las consultas PromQL instantáneas y las consultas PromQL de rango.

Requisitos previos

Habilite la opción allow_experimental_time_series_table para el usuario que crea la tabla y accede a ella:
Cree una base de datos y una tabla TimeSeries:
Para las solicitudes a la API HTTP, habilite allow_experimental_time_series_table en el perfil del usuario de la API.

Configure la API de Prometheus

Configure un handler enrutado por prefijo en el puerto HTTP principal de ClickHouse:
<defaults/> conserva los handler integrados para endpoints como /ping y para solicitudes SQL. El prefijo anterior expone estos endpoints mediante un único handler: El ejemplo omite database y table del handler. Cada solicitud debe incluir el parámetro de consulta table. También puede incluir database, usar un nombre de tabla completo como prometheus.metrics u omitir la base de datos para usar default. Esto permite que un único handler atienda varias tablas TimeSeries. Para usar una tabla fija en todas las solicitudes, configúrela en el handler:
Una tabla configurada en el handler no puede sobrescribirse mediante parámetros de la solicitud. Configuración de enrutamiento y del handler:

Ingeste métricas mediante escritura remota

ClickHouse admite el protocolo remote-write de Prometheus. Configure Prometheus para que escriba en el controlador:
Prometheus envía muestras a la tabla prometheus.metrics.

Consultas con PromQL

Utilice el endpoint de consulta instantánea para evaluar una expresión de PromQL en un momento dado:
Use el endpoint de consulta de rango para evaluar una expresión en un intervalo de tiempo:
Consulte las funcionalidades de PromQL compatibles para obtener la lista de funciones y operadores de agregación que utilizan la API HTTP, el dialecto promql y las funciones de tabla.

Grafana

Configure una fuente de datos de Prometheus con una URL base que termine antes de /api/v1:
Grafana agrega /api/v1/query o /api/v1/query_range a esta URL base y añade customQueryParameters a cada solicitud.
Solo están implementados los endpoints de consulta /api/v1/query y /api/v1/query_range. Los endpoints de metadatos que utiliza un origen de datos de Prometheus en Grafana para explorar etiquetas, variables de plantilla y el autocompletado del constructor de consultas (/api/v1/series, /api/v1/labels, /api/v1/label/<name>/values) no están implementados y devuelven un error. Escriba expresiones de PromQL en el modo de código en lugar de usar el constructor de consultas.

Puntos de entrada de SQL

ClickHouse utiliza el mismo convertidor de PromQL para la API HTTP, el dialecto promql y las funciones de tabla prometheusQuery y prometheusQueryRange. Ejecute PromQL directamente con clickhouse-client:
Utilice las funciones de tabla para integrar PromQL en una consulta SQL:

Leer métricas mediante lectura remota

ClickHouse admite el protocolo de lectura remota de Prometheus en /prometheus/api/v1/read. Configure un servidor Prometheus para que lea de la misma tabla TimeSeries:
Última modificación el 17 de agosto de 2026