ClickStack - Стек мониторинга ClickHouse

ClickStack — это платформа наблюдаемости промышленного уровня, построенная на ClickHouse, которая объединяет логи, трассировки, метрики и сессии в одно высокопроизводительное решение. Разработанная для мониторинга и отладки сложных систем, ClickStack позволяет разработчикам и SRE отслеживать проблемы от начала до конца, не переключаясь между инструментами или вручную соединяя данные с помощью временных меток или идентификаторов корреляции.
В основе ClickStack лежит простая, но мощная идея: все данные наблюдаемости должны быть получены в виде широких, насыщенных событий. Эти события хранятся в таблицах ClickHouse по типу данных — логи, трассировки, метрики и сессии — но остаются полностью доступными для запросов и перекрёстного сопоставления на уровне базы данных.
ClickStack создан для эффективной обработки высококардинальных рабочих нагрузок, используя столбцовую архитектуру ClickHouse, нативную поддержку JSON и полностью параллелизированный движок выполнения. Это позволяет выполнять запросы за доли секунды по огромным наборам данных, быстро производить агрегации по широким временным диапазонам и глубоко анализировать отдельные трассировки. JSON сохраняется в сжатом, столбцовом формате, что позволяет эволюционировать схемам без ручного вмешательства или предварительных определений.
Features
Стек включает несколько ключевых функций, разработанных для отладки и анализа первопричин:
- Корреляция/поиск логов, метрик, воспроизведений сессий и трассировок в одном месте
- Нейтральность к схеме, работает поверх вашей существующей схемы ClickHouse
- Ультрабыстрые поиски и визуализации, оптимизированные для ClickHouse
- Интуитивно понятный полнотекстовый поиск и синтаксис поиска по свойствам (например,
level:err
), SQL по желанию. - Анализ тенденций в аномалиях с дельтами событий
- Настройка оповещений всего за несколько кликов
- Панель с высококардинальными событиями без сложного языка запросов
- Нативный запрос строк JSON
- В реальном времени отслеживание логов и трассировок для получения самых свежих событий
- Поддержка OpenTelemetry (OTel) из коробки
- Мониторинг состояния и производительности от HTTP-запросов до запросов БД (APM)
- Дельты событий для выявления аномалий и регрессий в производительности
- Распознавание шаблонов логов
Components
ClickStack состоит из трех основных компонентов:
- HyperDX UI — специально разработанный интерфейс для изучения и визуализации данных наблюдаемости
- OpenTelemetry collector — настраиваемый, предварительно сконфигурированный коллектор с предвзятостью по схеме для логов, трассировок и метрик
- ClickHouse — высокопроизводительная аналитическая база данных в сердце стека
Эти компоненты могут быть развернуты независимо или вместе. Также доступна версия HyperDX UI, размещенная в браузере, позволяющая пользователям подключаться к существующим развертываниям ClickHouse без дополнительной инфраструктуры.
Чтобы начать, посетите руководство по началу работы перед загрузкой примерного набора данных. Вы также можете ознакомиться с документацией о вариантах развертывания и лучших практиках для продакшна.
Principles
ClickStack разработан в соответствии с набором основных принципов, которые придают приоритет легкости использования, производительности и гибкости на каждом уровне стека наблюдаемости:
Легкость установки за считанные минуты
ClickStack работает из коробки с любым экземпляром и схемой ClickHouse, требуя минимальной настройки. Независимо от того, начинаете ли вы с нуля или интегрируетесь с существующей настройкой, вы сможете начать за считанные минуты.
Удобный и специально разработанный
HyperDX UI поддерживает как SQL, так и синтаксис в стиле Lucene, что позволяет пользователям выбирать интерфейс запроса, который соответствует их рабочему процессу. Специально созданный для наблюдаемости, UI оптимизирован для быстрого выявления первопричин и навигации по сложным данным без затруднений.
Наблюдаемость от конца до конца
ClickStack предоставляет полное представление о стеке, начиная от пользовательских сессий на фронт-энде и заканчивая метриками инфраструктуры на бэкенде, логами приложений и распределенными трассировками. Этот унифицированный взгляд позволяет глубоко коррелировать и анализировать всю систему.
Создано для ClickHouse
Каждый уровень стека разработан для полного использования возможностей ClickHouse. Запросы оптимизированы для использования аналитических функций и столбцового движка ClickHouse, обеспечивая быстрый поиск и агрегацию по огромным объемам данных.
Нативный OpenTelemetry
ClickStack нативно интегрирован с OpenTelemetry, получая все данные через конечную точку коллектора OpenTelemetry. Для продвинутых пользователей также поддерживается прямое получение данных в ClickHouse с использованием нативных форматов файлов, пользовательских конвейеров или сторонних инструментов, таких как Vector.
Открытый код и полная настройка
ClickStack полностью с открытым исходным кодом и может быть развернут в любом месте. Схема гибкая и может быть изменена пользователем, а UI разработан так, чтобы быть настраиваемым под пользовательские схемы без необходимости изменений. Все компоненты — включая коллектора, ClickHouse и UI — могут масштабироваться независимо, чтобы соответствовать требованиям к приему, запросам или хранению.
Architectural overview

ClickStack состоит из трех основных компонентов:
-
HyperDX UI
Удобный интерфейс, созданный для наблюдаемости. Поддерживает как запросы в стиле Lucene, так и SQL, интерактивные панели, оповещения, исследование трассировок и многое другое — все оптимизировано для ClickHouse в качестве бэкенда. -
OpenTelemetry collector
Настраиваемый коллектор, сконфигурированный с предвзятостью по схеме, оптимизированный для получения данных в ClickHouse. Он получает логи, метрики и трассировки через протоколы OpenTelemetry и записывает их напрямую в ClickHouse с помощью эффективных пакетных вставок. -
ClickHouse
Высокопроизводительная аналитическая база данных, служащая центральным хранилищем для широких событий. ClickHouse обеспечивает быстрый поиск, фильтрацию и агрегацию в масштабах, используя свой столбцовый движок и нативную поддержку JSON.
В дополнение к этим трем компонентам, ClickStack использует экземпляр MongoDB для хранения состояния приложения, такого как панели, учетные записи пользователей и настройки конфигурации.
Полная архитектурная диаграмма и детали развертывания доступны в разделе Архитектура.
Для пользователей, интересующихся развертыванием ClickStack в продакшене, мы рекомендуем прочитать руководство "Продакшен".