Skip to main content

Экспорт метрик сервера ClickHouse

Если вы используете ClickHouse Cloud, вы можете экспортировать метрики в Prometheus с помощью интеграции Prometheus.
Настройте выделенный порт, если серверу Prometheus требуется собирать собственные метрики ClickHouse:
Раздел <prometheus.handlers> можно использовать для создания более расширенных обработчиков на том же порту. Этот раздел похож на <http_handlers>, но работает для протоколов prometheus:
Настройки: Проверьте конечную точку:

HTTP API Prometheus и PromQL

ClickHouse реализует HTTP API Prometheus поверх таблицы TimeSeries. Один обработчик поддерживает удалённую запись, удалённое чтение, мгновенные запросы PromQL и запросы PromQL по диапазону.

Предварительные требования

Включите настройку allow_experimental_time_series_table для пользователя, создающего таблицу и работающего с ней:
Создайте базу данных и таблицу TimeSeries:
Для HTTP-запросов к API включите allow_experimental_time_series_table в профиле пользователя API.

Настройка API Prometheus

Настройте один обработчик с маршрутизацией по префиксу на основном HTTP-порту ClickHouse:
<defaults/> сохраняет встроенные обработчики для таких конечных точек, как /ping, а также для SQL-запросов. Указанный выше префикс предоставляет доступ к этим конечным точкам через один обработчик: В примере в обработчике не указаны database и table. В каждом запросе необходимо передавать параметр запроса table. Также можно передать database, использовать полное имя таблицы, например prometheus.metrics, или не указывать базу данных, чтобы использовать default. Это позволяет одному обработчику обслуживать несколько таблиц TimeSeries. Чтобы использовать одну фиксированную таблицу для всех запросов, настройте её в обработчике:
Таблицу, заданную в обработчике, нельзя переопределить параметрами запроса. Настройки маршрутизации и обработчика:

Приём метрик через удалённую запись

ClickHouse поддерживает протокол удалённой записи Prometheus. Настройте Prometheus на запись в обработчик:
Prometheus отправляет образцы в таблицу prometheus.metrics.

Запрос с PromQL

Используйте конечную точку мгновенного запроса, чтобы вычислить выражение PromQL на определённый момент времени:
Используйте конечную точку range-запроса, чтобы вычислить выражение за указанный период:
Список функций и операторов агрегации, поддерживаемых HTTP API, диалектом promql и табличными функциями, см. в разделе Поддерживаемые возможности PromQL.

Grafana

Настройте источник данных Prometheus, указав базовый URL без /api/v1 в конце:
Grafana добавляет /api/v1/query или /api/v1/query_range к этому базовому URL, а также customQueryParameters к каждому запросу.
Реализованы только конечные точки запросов /api/v1/query и /api/v1/query_range. Конечные точки метаданных, используемые источником данных Prometheus в Grafana для просмотра меток, переменных шаблона и автодополнения в конструкторе запросов (/api/v1/series, /api/v1/labels, /api/v1/label/<name>/values), не реализованы и возвращают ошибку. Вводите выражения PromQL в режиме кода, а не в конструкторе запросов.

Точки входа SQL

ClickHouse использует один и тот же конвертер PromQL для HTTP API, диалекта promql, а также табличных функций prometheusQuery и prometheusQueryRange. Выполните PromQL напрямую с помощью clickhouse-client:
Используйте табличные функции для встраивания PromQL в SQL-запрос:

Чтение метрик через удалённое чтение

ClickHouse поддерживает протокол Prometheus удалённого чтения по адресу /prometheus/api/v1/read. Настройте сервер Prometheus для чтения из той же таблицы TimeSeries:
Последнее изменение 17 августа 2026 г.