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

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 состоит из трех основных компонентов:

  1. HyperDX UI — специально разработанный интерфейс для изучения и визуализации данных наблюдаемости
  2. OpenTelemetry collector — настраиваемый, предварительно сконфигурированный коллектор с предвзятостью по схеме для логов, трассировок и метрик
  3. 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 состоит из трех основных компонентов:

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

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

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

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

Полная архитектурная диаграмма и детали развертывания доступны в разделе Архитектура.

Для пользователей, интересующихся развертыванием ClickStack в продакшене, мы рекомендуем прочитать руководство "Продакшен".