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

ClickStack — стек наблюдаемости ClickHouse

Главная страница

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

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

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

Возможности

Стек включает несколько ключевых возможностей, предназначенных для отладки и анализа первопричин:

  • Коррелировать и искать логи, метрики, повторы сессий (session replays) и трейсы в одном месте
  • Схемо-независимая работа поверх вашей существующей схемы ClickHouse
  • Молниеносный поиск и визуализации, оптимизированные для ClickHouse
  • Интуитивно понятный синтаксис полнотекстового и параметрического поиска (например, level:err), SQL по желанию
  • Анализировать тренды аномалий с помощью дельт событий
  • Настраивать оповещения всего в несколько кликов
  • Создавать дашборды по событиям с высокой кардинальностью без сложного языка запросов
  • Нативная поддержка запросов к JSON-строкам
  • Live tail логов и трейсов для получения самых свежих событий
  • Поддержка OpenTelemetry (OTel) «из коробки»
  • Мониторинг состояния и производительности от HTTP-запросов до запросов к БД (APM)
  • Дельты событий для выявления аномалий и регрессий производительности
  • Распознавание шаблонов в логах

Компоненты

ClickStack состоит из трех основных компонентов:

  1. HyperDX UI – специализированный интерфейс для исследования и визуализации данных наблюдаемости
  2. OpenTelemetry collector – специально разработанный, предварительно сконфигурированный коллектор с продуманной схемой для логов, трассировок и метрик
  3. ClickHouse – высокопроизводительная аналитическая база данных в основе стека

Эти компоненты могут развертываться независимо друг от друга или совместно. Также доступна веб-версия HyperDX UI, позволяющая подключаться к существующим развертываниям ClickHouse без дополнительной инфраструктуры.

Для начала работы ознакомьтесь с руководством по началу работы, а затем загрузите пример набора данных. Вы также можете изучить документацию по вариантам развертывания и передовым практикам эксплуатации в production-средах.

Принципы

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

Простая настройка за считанные минуты

ClickStack сразу готов к работе с любым экземпляром ClickHouse и любой схемой, требуя минимальной настройки. Независимо от того, начинаете ли вы с нуля или интегрируете его в существующую инфраструктуру, вы сможете запустить его в считанные минуты.

Удобный и специализированный

Интерфейс HyperDX поддерживает как SQL, так и синтаксис Lucene, позволяя пользователям выбирать тот язык запросов, который лучше вписывается в их рабочий процесс. Изначально спроектированный для задач наблюдаемости, интерфейс оптимизирован для того, чтобы помогать командам быстро находить первопричины и легко ориентироваться в сложных данных.

Сквозная наблюдаемость

ClickStack обеспечивает полную наблюдаемость всего стека — от пользовательских сессий на фронтенде до метрик инфраструктуры бэкенда, логов приложений и распределённых трассировок. Это единое представление позволяет выполнять глубокий анализ и сопоставление данных по всей системе.

Создано для ClickHouse

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

Нативная поддержка OpenTelemetry

ClickStack нативно интегрирован с OpenTelemetry и принимает все данные через конечную точку коллектора OpenTelemetry. Для продвинутых пользователей также поддерживается прямая ингестия в ClickHouse с использованием нативных файловых форматов, пользовательских конвейеров или сторонних инструментов, таких как Vector.

Открытый исходный код и полная настраиваемость

ClickStack полностью с открытым исходным кодом и может быть развёрнут где угодно. Схема гибкая и может изменяться пользователем, а UI спроектирован так, чтобы его можно было конфигурировать под пользовательские схемы без необходимости менять сам UI. Все компоненты — включая коллекторы, ClickHouse и UI — могут масштабироваться независимо друг от друга в соответствии с потребностями по ингестии, выполнению запросов или хранению данных.

Обзор архитектуры

Простая архитектура

ClickStack состоит из трёх основных компонентов:

  1. HyperDX UI
    Удобный интерфейс, созданный для задач наблюдаемости. Поддерживает запросы в стиле Lucene и SQL, интерактивные дашборды, оповещения, исследование трассировок и многое другое — всё оптимизировано для ClickHouse в качестве бекенда.

  2. OpenTelemetry collector
    Специально разработанный коллектор, настроенный с предопределённой схемой, оптимизированной для ингестии в ClickHouse. Получает логи, метрики и трассировки по протоколам OpenTelemetry и записывает их напрямую в ClickHouse с использованием эффективных пакетных вставок.

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

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

Полная схема архитектуры и подробности развертывания приведены в разделе «Architecture».

Пользователям, планирующим развернуть ClickStack в продуктивной среде, рекомендуется ознакомиться с руководством «Production».