ClickHouse
ClickHouse — колоночная СУБД для аналитики больших объемов данных. Мониторинг ClickHouse позволяет отслеживать производительность запросов, использование ресурсов, состояние репликации и другие критичные метрики.
Примечание
Данные с экспортеров могут использоваться для различных продуктов.
Обратите внимание на использование тегов product и component в документации к конкретному продукту
Способы мониторинга
В зависимости от версии ClickHouse доступны два способа мониторинга:
Встроенный Prometheus экспортер
Современные версии ClickHouse (начиная с версии 20.1+) имеют встроенный экспортер метрик в формате Prometheus. Это наиболее простой и рекомендуемый способ мониторинга.
Шаг 1: Настройка ClickHouse
Раскомментируйте блок <prometheus> в конфигурационном файле ClickHouse (обычно /etc/clickhouse-server/config.xml или /etc/clickhouse-server/config.d/prometheus.xml):
<clickhouse>
<listen_host>0.0.0.0</listen_host>
<http_port>8123</http_port>
<tcp_port>9000</tcp_port>
<prometheus>
<endpoint>/metrics</endpoint>
<port>9363</port>
<metrics>true</metrics>
<events>true</events>
<asynchronous_metrics>true</asynchronous_metrics>
<errors>true</errors>
</prometheus>
</clickhouse>
Предупреждение
После изменения конфигурации необходимо перезапустить сервис ClickHouse:
sudo systemctl restart clickhouse-server
Шаг 2: Проверка доступности метрик
Убедитесь, что метрики доступны по адресу:
curl http://localhost:9363/metrics
Должны отображаться метрики в формате Prometheus.
Шаг 3: Настройка агента для встроенных метрик
Добавьте источник метрик в конфигурацию агента через UI или файл конфигурации.
Настройка через UI
Откройте раздел настройки агента
Добавьте новый источник данных
Укажите адрес:
http://<clickhouse-host>:9363/metrics
Настройка через файл конфигурации
metrics:
sources:
- name: clickhouse
url: http://localhost:9363/metrics
interval: 30s
labels:
product: clickhouse
component: database
Шаг 4: Визуализация встроенного экспортера
Рекомендуемый дашборд для Grafana:
ClickHouse Dashboard (ID: 14192)
Примечание
Подробнее о настройке встроенного экспортера читайте в официальной документации ClickHouse.
Внешний clickhouse_exporter
Для версий ClickHouse без встроенного экспортера используйте внешний экспортер clickhouse_exporter.
Предупреждение
Этот способ рекомендуется только для старых версий ClickHouse. Для новых версий используйте встроенный экспортер.
Шаг 1: Установка экспортера
Экспортер можно установить через агент Астра Мониторинг или вручную. Рекомендуется использовать управление через агент.
Шаг 2: Настройка подключения
Экспортеру требуется доступ к ClickHouse. Убедитесь, что:
ClickHouse доступен по сети
У вас есть учетные данные для подключения
Шаг 3: Настройка агента для внешнего экспортера
Добавьте экспортер в конфигурацию агента:
exporters:
enabled: true
exporters:
- name: clickhouse-exporter
start_type: args
args: "--scrape_uri=http://localhost:8123"
address: http://localhost:9116/metrics
labels:
product: clickhouse
component: database
Шаг 4: Проверка работы внешнего экспортера
Убедитесь, что метрики доступны:
curl http://localhost:9116/metrics
Шаг 5: Визуализация внешнего экспортера
Рекомендуемый дашборд для Grafana:
ClickHouse Exporter Dashboard (ID: 882)
Примечание
Подробнее о настройке clickhouse_exporter читайте в документации проекта.
Ключевые метрики для мониторинга
При настройке мониторинга обратите внимание на следующие группы метрик:
Производительность: время выполнения запросов, количество запросов в секунду, медленные запросы
Ресурсы: использование CPU, памяти, дискового пространства
Репликация: состояние реплик, задержки репликации
Таблицы: размер таблиц, количество строк, операции слияния
Ошибки: количество ошибок запросов, ошибки подключений
Собираемые метрики ClickHouse
Ниже представлен список основных метрик, собираемых ClickHouse (встроенные метрики или через clickhouse_exporter), с их описанием и назначением.
Метрики общего состояния (ClickHouse_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Gauge |
Время работы сервера в секундах |
|
Gauge |
Версия ClickHouse (числовое представление) |
Метрики запросов (ClickHouse_Query_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Counter |
Количество выполненных запросов |
|
Histogram |
Время выполнения запросов (секунды) |
|
Histogram |
Длительность выполнения запросов (микросекунды) |
|
Counter |
Количество SELECT запросов |
|
Counter |
Количество INSERT запросов |
|
Counter |
Количество неудачных запросов |
|
Counter |
Количество неудачных INSERT запросов |
|
Counter |
Количество неудачных SELECT запросов |
Метрики чтения/записи (ClickHouse_Read_, ClickHouse_Write_)
Метрика |
Тип |
Описание |
|---|---|---|
|
Counter |
Количество прочитанных строк |
|
Counter |
Объем прочитанных данных (байты) |
|
Counter |
Количество записанных строк |
|
Counter |
Объем записанных данных (байты) |
|
Counter |
Объем сжатых прочитанных данных (байты) |
|
Counter |
Объем сжатых записанных данных (байты) |
Метрики памяти (ClickHouse_Memory_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Gauge |
Использование памяти для отслеживания (байты) |
|
Gauge |
Использование памяти в фоновом пуле обработки (байты) |
|
Gauge |
Использование памяти в фоновом пуле перемещения (байты) |
|
Gauge |
Использование памяти в фоновом пуле планирования (байты) |
|
Gauge |
Использование памяти для слияний (байты) |
Метрики таблиц и партиций (ClickHouse_Table_, ClickHouse_Partition_)
Метрика |
Тип |
Описание |
|---|---|---|
|
Gauge |
Размер таблицы (байты) |
|
Gauge |
Количество строк в таблице |
|
Gauge |
Количество партиций в таблице |
|
Gauge |
Количество активных партиций |
Метрики слияний (ClickHouse_Merge_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Counter |
Количество операций слияния |
|
Counter |
Количество объединенных строк |
|
Counter |
Объем несжатых объединенных данных (байты) |
|
Histogram |
Время выполнения слияний (секунды) |
|
Counter |
Количество строк, записанных MergeTree writer |
|
Counter |
Объем несжатых данных, записанных MergeTree writer (байты) |
|
Counter |
Объем сжатых данных, записанных MergeTree writer (байты) |
Метрики репликации (ClickHouse_Replicated_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Counter |
Количество операций получения данных с реплик |
|
Counter |
Количество операций отправки данных на реплики |
|
Counter |
Количество потерь данных при репликации |
|
Counter |
Количество получений партиций с реплик |
|
Counter |
Количество неудачных получений партиций |
Метрики подключений (ClickHouse_Connection_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Gauge |
Количество активных подключений |
|
Gauge |
Количество активных HTTP подключений |
|
Gauge |
Количество активных TCP подключений |
|
Gauge |
Количество межсерверных подключений |
Метрики дисковых операций (ClickHouse_Disk_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Counter |
Объем прочитанных данных с диска (байты) |
|
Counter |
Объем записанных данных на диск (байты) |
|
Counter |
Время чтения с диска (микросекунды) |
|
Counter |
Время записи на диск (микросекунды) |
Метрики кэша (ClickHouse_Cache_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Gauge |
Размер кэша меток (байты) |
|
Gauge |
Размер кэша несжатых данных (байты) |
|
Gauge |
Размер буфера сжатых данных для чтения (байты) |
Метрики ошибок (ClickHouse_Exception_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Counter |
Количество исключений |
|
Counter |
Количество ошибок приема данных по сети |
|
Counter |
Количество ошибок отправки данных по сети |
|
Counter |
Количество неудачных попыток подключения к распределенным таблицам |
Метрики асинхронных операций (ClickHouse_Async_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Counter |
Количество асинхронных вставок |
|
Counter |
Объем данных асинхронных вставок (байты) |
|
Counter |
Количество строк асинхронных вставок |
Системные метрики экспортера (clickhouse_exporter_*)
Метрика |
Тип |
Описание |
|---|---|---|
|
Gauge |
Длительность последнего сбора метрик (секунды) |
|
Counter |
Общее количество сборов метрик |
|
Counter |
Количество ошибок при сборе метрик |
Примечание
Важно: Данный список метрик может быть неполным или устаревшим, так как ClickHouse постоянно развивается и добавляет новые метрики. Для получения актуального и полного списка метрик рекомендуется обращаться к официальной документации ClickHouse по метрикам (для встроенных метрик) или официальной документации clickhouse_exporter на GitHub (для внешнего экспортера), где представлен актуальный список всех собираемых метрик с подробными описаниями.