Перейти к основному содержанию
Перейти к основному содержанию

Самостоятельно управляемый мониторинг

В этом руководстве корпоративным командам, оценивающим open source-версию ClickHouse, предоставляется исчерпывающая информация о возможностях мониторинга и наблюдаемости для продакшн-развертываний. Корпоративных клиентов часто интересуют функции мониторинга «из коробки», интеграция с существующими стеками наблюдаемости, включая такие инструменты, как Datadog и AWS CloudWatch, а также то, как возможности мониторинга ClickHouse соотносятся с мониторингом в самостоятельно развернутых инсталляциях.

Архитектура интеграции на базе Prometheus

ClickHouse предоставляет метрики, совместимые с Prometheus, через различные конечные точки в зависимости от вашей модели развертывания, каждая из которых имеет свои эксплуатационные особенности:

Самостоятельно управляемый / OSS ClickHouse

Прямая серверная конечная точка Prometheus, доступная по стандартному пути /metrics на вашем сервере ClickHouse. Этот подход обеспечивает:

  • Полный охват метрик: весь доступный набор метрик ClickHouse без встроенной фильтрации
  • Метрики в реальном времени: генерируются напрямую из системных таблиц при опросе

Прямой доступ к системе

Выполняет запросы к системным таблицам в продуктивной среде, что добавляет нагрузку на систему мониторинга и не позволяет использовать режимы простоя для экономии ресурсов

Примеры интеграции

Внешняя интеграция позволяет организациям сохранять сложившиеся процессы мониторинга, использовать накопленную экспертизу команд с привычными инструментами и интегрировать мониторинг ClickHouse с общей наблюдаемостью за инфраструктурой без нарушения текущих процессов и необходимости значительных затрат на переобучение. Команды могут применять существующие правила оповещений и процедуры эскалации к метрикам ClickHouse, одновременно сопоставляя производительность базы данных с состоянием приложений и инфраструктуры в рамках единой платформы наблюдаемости. Такой подход максимизирует отдачу от текущих систем мониторинга и ускоряет устранение неполадок за счет консолидированных дашбордов и знакомых интерфейсов инструментов.

Мониторинг в Grafana Cloud

Grafana обеспечивает мониторинг ClickHouse как через прямую интеграцию с помощью плагина, так и на основе подходов с использованием Prometheus. Интеграция через Prometheus-эндпоинт поддерживает операционное разделение между системами мониторинга и производственными нагрузками, одновременно позволяя визуализировать данные в существующей инфраструктуре Grafana Cloud. См. документацию Grafana по ClickHouse для получения рекомендаций по настройке.

Мониторинг в Datadog

Datadog разрабатывает специальную интеграцию через API, которая обеспечит корректный мониторинг облачных сервисов с учетом поведения простаивающих сервисов. Пока она находится в разработке, команды могут использовать подход интеграции OpenMetrics через Prometheus-эндпоинты ClickHouse для операционного разделения и экономичного мониторинга. Рекомендации по настройке см. в документации Datadog по интеграции Prometheus и OpenMetrics.

ClickStack

ClickStack является рекомендованным решением наблюдаемости для ClickHouse для глубокого анализа системы и отладки, предоставляя единую платформу для логов, метрик и трассировок с использованием ClickHouse в качестве движка хранения. Этот подход использует HyperDX, пользовательский интерфейс ClickStack, который подключается напрямую к системным таблицам внутри вашего экземпляра ClickHouse. HyperDX поставляется со специализированной для ClickHouse панелью мониторинга с вкладками Selects, Inserts и Infrastructure. Команды также могут использовать синтаксис Lucene или SQL для поиска по системным таблицам и логам, а также создавать пользовательские визуализации через Chart Explorer для детального анализа системы. Этот подход оптимален для отладки сложных проблем, анализа производительности и глубокого анализа состояния системы, а не для построения оповещений для продакшена в режиме реального времени.

Примечание

Обратите внимание, что этот подход будет пробуждать простаивающие сервисы, поскольку HyperDX обращается к системным таблицам напрямую.

Варианты развертывания ClickStack

  • Helm: Рекомендуется для отладочных сред на базе Kubernetes. Позволяет настраивать параметры среды, задавать лимиты ресурсов и масштабирование через values.yaml.
  • Docker Compose: Разворачивает каждый компонент (ClickHouse, HyperDX, OTel collector, MongoDB) отдельно.
  • Только HyperDX: Автономный контейнер HyperDX.

Полный перечень вариантов развертывания и подробные сведения об архитектуре приведены в документации по ClickStack и руководстве по ингестии данных.

Прямая интеграция с плагином Grafana

Плагин источника данных ClickHouse для Grafana позволяет визуализировать и исследовать данные непосредственно из ClickHouse, используя системные таблицы. Такой подход хорошо подходит для мониторинга производительности и создания настраиваемых дашбордов для детализированного анализа системы. Сведения об установке и настройке плагина см. в разделе о плагине источника данных для ClickHouse. Полное решение для мониторинга с использованием Prometheus-Grafana mix-in с преднастроенными дашбордами и правилами оповещений описано в статье Monitor ClickHouse with the new Prometheus-Grafana mix-in.

Прямая интеграция с Datadog

Datadog предлагает плагин ClickHouse Monitoring для своего агента, который напрямую запрашивает системные таблицы. Эта интеграция обеспечивает всесторонний мониторинг базы данных с учетом кластера благодаря функциональности clusterAllReplicas.

Примечание

Эта интеграция не рекомендуется для развертываний ClickHouse Cloud из-за несовместимости с оптимизацией затрат при простое и операционных ограничений прокси-слоя в облаке.

Непосредственное использование системных таблиц

Пользователи могут выполнять глубокий анализ производительности запросов, подключаясь к системным таблицам ClickHouse, в частности к system.query_log, и выполняя запросы напрямую. Используя SQL-консоль или clickhouse client, команды могут выявлять медленные запросы, анализировать использование ресурсов и отслеживать характер использования по всей организации.

Анализ производительности запросов

Пользователи могут использовать журналы запросов в системных таблицах для выполнения анализа производительности запросов.

Пример запроса: Найти пять самых долгих по времени выполнения запросов по всем репликам кластера:

SELECT
    type,
    event_time, 
    query_duration_ms,
    query,
    read_rows,
    tables
FROM clusterAllReplicas(default, system.query_log)
WHERE event_time >= (now() - toIntervalMinute(60)) AND type='QueryFinish'
ORDER BY query_duration_ms DESC
LIMIT 5
FORMAT VERTICAL

Решения для мониторинга от сообщества

Сообщество ClickHouse разработало комплексные решения для мониторинга, которые интегрируются с популярными стеками наблюдаемости. ClickHouse Monitoring предоставляет полноценную систему мониторинга с преднастроенными дашбордами. Этот проект с открытым исходным кодом предлагает быстрый старт для команд, которые хотят реализовать мониторинг ClickHouse на основе устоявшихся практик и проверенных конфигураций дашбордов.

Примечание

Как и другие подходы к прямому мониторингу баз данных, это решение напрямую опрашивает системные таблицы ClickHouse, что не позволяет экземплярам простаивать и затрудняет оптимизацию затрат.