Все в одном
Этот комплексный Docker-образ включает все компоненты ClickStack:
- ClickHouse
- HyperDX
- OpenTelemetry (OTel) collector (предоставляющий OTLP по портам
4317и4318) - MongoDB (для хранения состояния приложения)
Этот вариант поддерживает аутентификацию, что позволяет сохранять дашборды, оповещения и сохранённые поисковые запросы между сеансами и пользователями.
Подходит для
- демонстраций
- локального тестирования всего стека
Шаги развертывания
Развертывание с помощью Docker
Следующая команда запустит коллектор OpenTelemetry (на портах 4317 и 4318) и интерфейс HyperDX (на порту 8080).
Перейдите к интерфейсу HyperDX
Перейдите по адресу http://localhost:8080, чтобы получить доступ к интерфейсу HyperDX.
Создайте пользователя, указав имя пользователя и пароль, который соответствует требованиям.
После нажатия Create будут созданы источники данных для интегрированного экземпляра ClickHouse.

Пример использования альтернативного экземпляра ClickHouse смотрите в разделе «Создание подключения ClickHouse Cloud».
Приём данных
Инструкции по приёму данных смотрите в разделе «Приём данных».
Сохранение данных и настроек
Чтобы сохранять данные и настройки при перезапусках контейнера, пользователи могут изменить приведённую выше команду docker, чтобы смонтировать каталоги /data/db, /var/lib/clickhouse и /var/log/clickhouse-server. Например:
Развертывание в production‑среде
Этот вариант не следует использовать в production‑среде по следующим причинам:
- Неперсистентное хранилище: Все данные сохраняются с использованием нативной overlay‑файловой системы Docker. Такая конфигурация не обеспечивает масштабируемую производительность, а данные будут потеряны при удалении или перезапуске контейнера, если только вы не смонтируете необходимые пути в файловой системе.
- Отсутствие изоляции компонентов: Все компоненты запускаются внутри одного Docker‑контейнера. Это не позволяет независимо масштабировать и мониторить их и приводит к тому, что любые ограничения
cgroupприменяются глобально ко всем процессам. В результате компоненты могут конкурировать за CPU и память.
Настройка портов
Если вам нужно изменить порты приложения (8080) или API (8000), на которых работает HyperDX Local, вам потребуется изменить команду docker run, чтобы пробросить нужные порты и задать несколько переменных окружения.
Порты OpenTelemetry настраиваются простым изменением флагов проброса портов. Например, можно заменить -p 4318:4318 на -p 4999:4318, чтобы изменить HTTP-порт OpenTelemetry на 4999.
Использование ClickHouse Cloud
Этот дистрибутив можно использовать с ClickHouse Cloud. При этом локальный экземпляр ClickHouse всё равно будет развёрнут, но использоваться не будет, а OTel collector можно настроить на работу с экземпляром ClickHouse Cloud с помощью переменных окружения CLICKHOUSE_ENDPOINT, CLICKHOUSE_USER и CLICKHOUSE_PASSWORD.
Например:
CLICKHOUSE_ENDPOINT должен указывать на HTTPS-эндпоинт ClickHouse Cloud, включая порт 8443, например: https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443
После подключения к интерфейсу HyperDX перейдите в Team Settings и создайте подключение к вашему сервису ClickHouse Cloud, а затем настройте необходимые источники. Пример последовательности действий см. здесь.
Настройка OTel collector
Конфигурацию OTel collector при необходимости можно изменить — см. раздел "Изменение конфигурации OTel collector".
JSON type support
JSON type support in ClickStack is a beta feature. While the JSON type itself is production-ready in ClickHouse 25.3+, its integration within ClickStack is still under active development and may have limitations, change in the future, or contain bugs.
ClickStack has beta support for the JSON type from version 2.0.4.
For the benefits of this type see Benefits of the JSON type.
In order to enable support for the JSON type users must set the following environment variables:
OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json'- enables support in the OTel collector, ensuring schemas are created using the JSON type.BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true- enables support in the HyperDX application, allowing JSON data to be queried.
Например: