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

  1. Откройте раздел настройки агента

  2. Добавьте новый источник данных

  3. Укажите адрес: http://<clickhouse-host>:9363/metrics

Настройка через файл конфигурации

metrics:
  sources:
    - name: clickhouse
      url: http://localhost:9363/metrics
      interval: 30s
      labels:
        product: clickhouse
        component: database

Шаг 4: Визуализация встроенного экспортера

Рекомендуемый дашборд для Grafana:

Примечание

Подробнее о настройке встроенного экспортера читайте в официальной документации 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 читайте в документации проекта.

Ключевые метрики для мониторинга

При настройке мониторинга обратите внимание на следующие группы метрик:

  • Производительность: время выполнения запросов, количество запросов в секунду, медленные запросы

  • Ресурсы: использование CPU, памяти, дискового пространства

  • Репликация: состояние реплик, задержки репликации

  • Таблицы: размер таблиц, количество строк, операции слияния

  • Ошибки: количество ошибок запросов, ошибки подключений

Собираемые метрики ClickHouse

Ниже представлен список основных метрик, собираемых ClickHouse (встроенные метрики или через clickhouse_exporter), с их описанием и назначением.

Метрики общего состояния (ClickHouse_*)

Метрика

Тип

Описание

ClickHouse_Uptime

Gauge

Время работы сервера в секундах

ClickHouse_VersionInteger

Gauge

Версия ClickHouse (числовое представление)

Метрики запросов (ClickHouse_Query_*)

Метрика

Тип

Описание

ClickHouse_Query

Counter

Количество выполненных запросов

ClickHouse_QueryTime

Histogram

Время выполнения запросов (секунды)

ClickHouse_QueryDurationMicroseconds

Histogram

Длительность выполнения запросов (микросекунды)

ClickHouse_SelectQuery

Counter

Количество SELECT запросов

ClickHouse_InsertQuery

Counter

Количество INSERT запросов

ClickHouse_FailedQuery

Counter

Количество неудачных запросов

ClickHouse_FailedInsertQuery

Counter

Количество неудачных INSERT запросов

ClickHouse_FailedSelectQuery

Counter

Количество неудачных SELECT запросов

Метрики чтения/записи (ClickHouse_Read_, ClickHouse_Write_)

Метрика

Тип

Описание

ClickHouse_ReadRows

Counter

Количество прочитанных строк

ClickHouse_ReadBytes

Counter

Объем прочитанных данных (байты)

ClickHouse_WriteRows

Counter

Количество записанных строк

ClickHouse_WriteBytes

Counter

Объем записанных данных (байты)

ClickHouse_ReadCompressedBytes

Counter

Объем сжатых прочитанных данных (байты)

ClickHouse_WriteCompressedBytes

Counter

Объем сжатых записанных данных (байты)

Метрики памяти (ClickHouse_Memory_*)

Метрика

Тип

Описание

ClickHouse_MemoryTracking

Gauge

Использование памяти для отслеживания (байты)

ClickHouse_MemoryTrackingInBackgroundProcessingPool

Gauge

Использование памяти в фоновом пуле обработки (байты)

ClickHouse_MemoryTrackingInBackgroundMovePool

Gauge

Использование памяти в фоновом пуле перемещения (байты)

ClickHouse_MemoryTrackingInBackgroundSchedulePool

Gauge

Использование памяти в фоновом пуле планирования (байты)

ClickHouse_MemoryTrackingForMerges

Gauge

Использование памяти для слияний (байты)

Метрики таблиц и партиций (ClickHouse_Table_, ClickHouse_Partition_)

Метрика

Тип

Описание

ClickHouse_TableSize

Gauge

Размер таблицы (байты)

ClickHouse_TableRows

Gauge

Количество строк в таблице

ClickHouse_PartCount

Gauge

Количество партиций в таблице

ClickHouse_PartActive

Gauge

Количество активных партиций

Метрики слияний (ClickHouse_Merge_*)

Метрика

Тип

Описание

ClickHouse_Merge

Counter

Количество операций слияния

ClickHouse_MergedRows

Counter

Количество объединенных строк

ClickHouse_MergedUncompressedBytes

Counter

Объем несжатых объединенных данных (байты)

ClickHouse_MergedTime

Histogram

Время выполнения слияний (секунды)

ClickHouse_MergeTreeDataWriterRows

Counter

Количество строк, записанных MergeTree writer

ClickHouse_MergeTreeDataWriterUncompressedBytes

Counter

Объем несжатых данных, записанных MergeTree writer (байты)

ClickHouse_MergeTreeDataWriterCompressedBytes

Counter

Объем сжатых данных, записанных MergeTree writer (байты)

Метрики репликации (ClickHouse_Replicated_*)

Метрика

Тип

Описание

ClickHouse_ReplicatedFetch

Counter

Количество операций получения данных с реплик

ClickHouse_ReplicatedSend

Counter

Количество операций отправки данных на реплики

ClickHouse_ReplicatedDataLoss

Counter

Количество потерь данных при репликации

ClickHouse_ReplicatedPartFetches

Counter

Количество получений партиций с реплик

ClickHouse_ReplicatedPartFailedFetches

Counter

Количество неудачных получений партиций

Метрики подключений (ClickHouse_Connection_*)

Метрика

Тип

Описание

ClickHouse_Connection

Gauge

Количество активных подключений

ClickHouse_HTTPConnection

Gauge

Количество активных HTTP подключений

ClickHouse_TCPConnection

Gauge

Количество активных TCP подключений

ClickHouse_InterserverConnection

Gauge

Количество межсерверных подключений

Метрики дисковых операций (ClickHouse_Disk_*)

Метрика

Тип

Описание

ClickHouse_DiskReadBytes

Counter

Объем прочитанных данных с диска (байты)

ClickHouse_DiskWriteBytes

Counter

Объем записанных данных на диск (байты)

ClickHouse_DiskReadElapsedMicroseconds

Counter

Время чтения с диска (микросекунды)

ClickHouse_DiskWriteElapsedMicroseconds

Counter

Время записи на диск (микросекунды)

Метрики кэша (ClickHouse_Cache_*)

Метрика

Тип

Описание

ClickHouse_MarkCacheBytes

Gauge

Размер кэша меток (байты)

ClickHouse_UncompressedCacheBytes

Gauge

Размер кэша несжатых данных (байты)

ClickHouse_CompressedReadBufferBytes

Gauge

Размер буфера сжатых данных для чтения (байты)

Метрики ошибок (ClickHouse_Exception_*)

Метрика

Тип

Описание

ClickHouse_Exception

Counter

Количество исключений

ClickHouse_NetworkReceiveError

Counter

Количество ошибок приема данных по сети

ClickHouse_NetworkSendError

Counter

Количество ошибок отправки данных по сети

ClickHouse_DistributedConnectionFailTry

Counter

Количество неудачных попыток подключения к распределенным таблицам

Метрики асинхронных операций (ClickHouse_Async_*)

Метрика

Тип

Описание

ClickHouse_AsyncInsert

Counter

Количество асинхронных вставок

ClickHouse_AsyncInsertBytes

Counter

Объем данных асинхронных вставок (байты)

ClickHouse_AsyncInsertRows

Counter

Количество строк асинхронных вставок

Системные метрики экспортера (clickhouse_exporter_*)

Метрика

Тип

Описание

clickhouse_exporter_last_scrape_duration_seconds

Gauge

Длительность последнего сбора метрик (секунды)

clickhouse_exporter_scrapes_total

Counter

Общее количество сборов метрик

clickhouse_exporter_scrape_errors_total

Counter

Количество ошибок при сборе метрик

Примечание

Важно: Данный список метрик может быть неполным или устаревшим, так как ClickHouse постоянно развивается и добавляет новые метрики. Для получения актуального и полного списка метрик рекомендуется обращаться к официальной документации ClickHouse по метрикам (для встроенных метрик) или официальной документации clickhouse_exporter на GitHub (для внешнего экспортера), где представлен актуальный список всех собираемых метрик с подробными описаниями.

Дополнительная информация

Связанные разделы