Перейти к основному содержанию
Этот Docker-образ включает все компоненты ClickStack с открытым исходным кодом:
  • ClickHouse
  • HyperDX
  • коллектор OpenTelemetry (OTel) (с OTLP на портах 4317 и 4318)
  • MongoDB (для хранения постоянного состояния приложения)
Этот вариант включает аутентификацию, благодаря чему панели мониторинга, оповещения и сохранённые поиски сохраняются для разных сеансов и пользователей.

Подходит для

  • Демонстраций
  • Локального тестирования всего стека

Шаги развертывания


1

Развертывание с помощью Docker

Следующая команда запустит OpenTelemetry Collector (на портах 4317 и 4318) и интерфейс HyperDX (на порту 8080).
docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latest
Обновление имени образаОбразы ClickStack теперь публикуются как clickhouse/clickstack-* (ранее — docker.hyperdx.io/hyperdx/*).
2

Перейдите в интерфейс HyperDX

Перейдите по адресу http://localhost:8080, чтобы открыть интерфейс HyperDX.Создайте пользователя, указав имя пользователя и пароль, соответствующие требованиям.После нажатия Create для встроенного экземпляра ClickHouse будут созданы источники данных.Пример использования другого экземпляра ClickHouse см. в разделе “Использование ClickHouse Cloud”.
3

Приём данных

Инструкции по приёму данных см. в разделе “Ингестия данных”.

Сохранение данных и настроек

Чтобы данные и настройки сохранялись после перезапуска контейнера, можно изменить приведённую выше команду docker и смонтировать пути /data/db, /var/lib/clickhouse и /var/log/clickhouse-server. Например:
# убедитесь, что директории существуют
mkdir -p .volumes/db .volumes/ch_data .volumes/ch_logs
# измените команду для монтирования путей
docker run \
  -p 8080:8080 \
  -p 4317:4317 \
  -p 4318:4318 \
  -v "$(pwd)/.volumes/db:/data/db" \
  -v "$(pwd)/.volumes/ch_data:/var/lib/clickhouse" \
  -v "$(pwd)/.volumes/ch_logs:/var/log/clickhouse-server" \
  clickhouse/clickstack-all-in-one:latest

Развертывание в продакшн

Этот вариант не следует развертывать в продакшн по следующим причинам:
  • Непостоянное хранилище: Все данные хранятся во встроенной в Docker файловой системе overlay. Такая конфигурация не обеспечивает производительность при масштабировании, а данные будут потеряны, если контейнер удалить или перезапустить, — если только пользователи не смонтируют необходимые файловые пути.
  • Отсутствие изоляции компонентов: Все компоненты работают в одном Docker-контейнере. Это не позволяет независимо масштабировать их и отслеживать их состояние, а любые ограничения cgroup применяются глобально ко всем процессам. В результате компоненты могут конкурировать за CPU и память.

Настройка портов

Если вам нужно изменить порты приложения (8080) или API (8000), на которых работает HyperDX Local, потребуется изменить команду docker run, чтобы пробросить нужные порты и задать несколько переменных окружения. Порты OpenTelemetry можно изменить, просто скорректировав флаги проброса портов. Например, замените -p 4318:4318 на -p 4999:4318, чтобы изменить HTTP-порт OpenTelemetry на 4999.
docker run -p 8080:8080 -p 4317:4317 -p 4999:4318 clickhouse/clickstack-all-in-one:latest

Использование ClickHouse Cloud

Этот дистрибутив можно использовать с ClickHouse Cloud. Хотя локальный экземпляр ClickHouse всё равно будет развернут (и проигнорирован), OTel collector можно настроить для работы с экземпляром ClickHouse Cloud, задав переменные окружения CLICKHOUSE_ENDPOINT, CLICKHOUSE_USER и CLICKHOUSE_PASSWORD. Например:
export CLICKHOUSE_ENDPOINT=<HTTPS ENDPOINT>
export CLICKHOUSE_USER=<CLICKHOUSE_USER>
export CLICKHOUSE_PASSWORD=<CLICKHOUSE_PASSWORD>

docker run -e CLICKHOUSE_ENDPOINT=${CLICKHOUSE_ENDPOINT} -e CLICKHOUSE_USER=default -e CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD} -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latest
Значение CLICKHOUSE_ENDPOINT должно быть HTTPS-конечной точкой ClickHouse Cloud с указанием порта 8443, например https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443 После входа в интерфейс HyperDX перейдите в Team Settings и создайте подключение к вашему сервису ClickHouse Cloud, а затем добавьте необходимые источники.

Настройка OpenTelemetry Collector

При необходимости конфигурацию OpenTelemetry Collector можно изменить — см. “Изменение конфигурации”.

Выбор схемы: Map или JSON

По умолчанию ClickStack хранит атрибуты в столбцах Map(LowCardinality(String), String). Это рекомендуемая схема для рабочих нагрузок обсервабилити. В сочетании с сериализацией Map по бакетам и текстовыми индексами по ключам и значениям в Map она обеспечивает точечные lookup-операции без накладных расходов на приём для каждого ключа, характерных для динамических подстолбцов JSON. Схема с типом JSON доступна в статусе бета для оценки на рабочих нагрузках с небольшим стабильным набором ключей атрибутов. Использовать её по умолчанию не рекомендуется. Полное сравнение и переменные окружения, необходимые для включения поддержки JSON, см. в разделе Map vs JSON type.
Последнее изменение 10 июня 2026 г.