Skip to main content

Exponha métricas do servidor ClickHouse

Se você estiver usando o ClickHouse Cloud, poderá expor métricas para o Prometheus usando a integração com o Prometheus.
Configure uma porta dedicada quando um servidor Prometheus precisar coletar as próprias métricas do ClickHouse:
A seção <prometheus.handlers> pode ser usada para criar handlers mais avançados na mesma porta. Esta seção é semelhante a <http_handlers>, mas funciona com protocolos Prometheus:
Configurações: Verifique o endpoint:

API HTTP do Prometheus e PromQL

O ClickHouse implementa a API HTTP do Prometheus em uma tabela TimeSeries. Um handler atende a gravação remota, a leitura remota, consultas PromQL instantâneas e consultas PromQL de intervalo.

Pré-requisitos

Habilite a configuração allow_experimental_time_series_table para o usuário que cria e acessa a tabela:
Crie um banco de dados e uma tabela TimeSeries:
Para solicitações à API HTTP, habilite allow_experimental_time_series_table no perfil do usuário da API.

Configure a API do Prometheus

Configure um manipulador roteado por prefixo na porta HTTP principal do ClickHouse:
<defaults/> preserva os handlers integrados para endpoints como /ping e solicitações SQL. O prefixo acima expõe esses endpoints por meio de um único handler: O exemplo omite database e table do handler. Cada solicitação deve fornecer o parâmetro de consulta table. Ela também pode fornecer database, usar um nome de tabela qualificado, como prometheus.metrics, ou omitir o banco de dados para usar default. Isso permite que um único handler atenda a várias tabelas TimeSeries. Para usar uma tabela fixa em todas as solicitações, configure-a no handler:
Uma tabela configurada no handler não pode ser substituída por parâmetros da solicitação. Configurações de roteamento e do handler:

Faça a ingestão de métricas com gravação remota

O ClickHouse oferece suporte ao protocolo gravação remota do Prometheus. Configure o Prometheus para gravar no handler:
O Prometheus envia amostras para a tabela prometheus.metrics.

Consulta com PromQL

Use o endpoint de consulta instantânea para avaliar uma expressão PromQL em um momento específico:
Use o endpoint de consulta por intervalo para avaliar uma expressão em um intervalo de tempo:
Consulte os recursos do PromQL compatíveis para ver a lista de funções e operadores de agregação usados pela API HTTP, pelo dialeto promql e pelas funções de tabela.

Grafana

Configure uma fonte de dados do Prometheus com a URL base terminando antes de /api/v1:
O Grafana acrescenta /api/v1/query ou /api/v1/query_range a esta URL base e adiciona customQueryParameters a cada solicitação.
Apenas os endpoints de consulta /api/v1/query e /api/v1/query_range estão implementados. Os endpoints de metadados usados por uma fonte de dados Prometheus no Grafana para navegar por rótulos, variáveis de Template e preenchimento automático no construtor de consultas (/api/v1/series, /api/v1/labels, /api/v1/label/<name>/values) não estão implementados e retornam um erro. Escreva expressões PromQL no modo de código em vez de usar o construtor de consultas.

Pontos de entrada SQL

O ClickHouse usa o mesmo conversor de PromQL para a API HTTP, o dialeto promql e as funções de tabela prometheusQuery e prometheusQueryRange. Execute PromQL diretamente com o clickhouse-client:
Use as funções de tabela para incorporar PromQL a uma consulta SQL:

Leia métricas com leitura remota

O ClickHouse oferece suporte ao protocolo de leitura remota do Prometheus em /prometheus/api/v1/read. Configure um servidor Prometheus para ler da mesma tabela TimeSeries:
Última modificação em 18 de agosto de 2026