Docker Compose
Все компоненты ClickStack Open Source распространяются отдельно в виде отдельных Docker-образов:
- ClickHouse
- HyperDX
- OpenTelemetry (OTel) collector
- MongoDB
Эти образы можно комбинировать и развёртывать локально с помощью Docker Compose.
Docker Compose открывает дополнительные порты для обсервабилити и ингестии на основе стандартной конфигурации otel-collector:
13133: endpoint проверки работоспособности для расширенияhealth_check24225: Fluentd-приёмник для ингестии логов4317: OTLP gRPC-приёмник (стандарт для трейсов, логов и метрик)4318: OTLP HTTP-приёмник (альтернатива gRPC)8888: endpoint метрик Prometheus для мониторинга самого коллектора
Эти порты обеспечивают интеграцию с различными источниками телеметрии и делают OpenTelemetry collector готовым к эксплуатации в продакшене для разнообразных сценариев ингестии.
Подходит для
- Локального тестирования
- Proof-of-concept проектов / создания прототипов
- Продакшн-развертываний, где отказоустойчивость не требуется, и одного сервера достаточно для размещения всех данных ClickHouse
- При развертывании ClickStack, но размещении ClickHouse отдельно, например с использованием ClickHouse Cloud.
Шаги развертывания
Клонирование репозитория
Чтобы развернуть с помощью Docker Compose, клонируйте репозиторий ClickStack, перейдите в каталог и выполните docker compose up:
Перейдите в интерфейс HyperDX
Перейдите по адресу http://localhost:8080, чтобы открыть интерфейс HyperDX.
Создайте пользователя, указав имя пользователя и пароль, соответствующий требованиям.
После нажатия Create будут созданы источники данных для экземпляра ClickHouse, развернутого с помощью Docker Compose.
Вы можете переопределить подключение по умолчанию к встроенному экземпляру ClickHouse. Подробнее см. раздел "Использование ClickHouse Cloud".

Пример использования альтернативного экземпляра ClickHouse приведен в разделе "Создание подключения к ClickHouse Cloud".
Заполните данные подключения
Чтобы подключиться к развернутому экземпляру ClickHouse, просто нажмите Create и примите настройки по умолчанию.
Если вы предпочитаете подключиться к собственному внешнему кластеру ClickHouse, например ClickHouse Cloud, вы можете вручную ввести свои учетные данные для подключения.
Если будет предложено создать источник, сохраните все значения по умолчанию и заполните поле Table значением otel_logs. Все остальные настройки должны быть определены автоматически, после чего вы сможете нажать Save New Source.

Изменение настроек Compose
Вы можете изменять настройки стека, например используемую версию, через файл с переменными окружения:
Настройка OTel collector
Конфигурацию OTel collector можно при необходимости изменить — см. «Изменение конфигурации».
Использование ClickHouse Cloud
Этот дистрибутив можно использовать с ClickHouse Cloud, но он отличается от Managed ClickStack. В этой конфигурации вы самостоятельно управляете UI ClickStack, используя ClickHouse Cloud только для вычислений и хранения. Если у вас нет особой причины управлять UI отдельно, рекомендуется использовать Managed ClickStack, который включает встроенную аутентификацию и дополнительные корпоративные функции и устраняет необходимость самостоятельно управлять UI ClickStack.
Вам необходимо:
-
Удалить сервис ClickHouse из файла
docker-compose.yml. При тестировании это необязательно, так как развернутый экземпляр ClickHouse просто будет игнорироваться, хотя и будет расходовать локальные ресурсы. Если вы удаляете сервис, убедитесь, что любые ссылки на него, такие какdepends_on, также удалены. -
Настроить OTel collector на использование экземпляра ClickHouse Cloud, задав переменные окружения
CLICKHOUSE_ENDPOINT,CLICKHOUSE_USERиCLICKHOUSE_PASSWORDв compose-файле. В частности, добавьте переменные окружения в сервис OTel collector:Значение
CLICKHOUSE_ENDPOINTдолжно быть HTTPS-эндпоинтом ClickHouse Cloud, включая порт8443, например:https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443. -
Подключившись к UI HyperDX и создавая подключение к ClickHouse, используйте свои учетные данные ClickHouse Cloud.
Поддержка типа JSON
Поддержка типа JSON в ClickStack находится в статусе бета-версии. Хотя сам тип JSON готов к промышленной эксплуатации в ClickHouse 25.3+, его интеграция в ClickStack всё ещё активно разрабатывается и может иметь ограничения, изменяться в будущем или содержать ошибки.
Поддержка типа JSON в ClickStack доступна в статусе бета-версии, начиная с версии 2.0.4.
О преимуществах этого типа см. раздел Преимущества типа JSON.
Чтобы включить поддержку типа JSON, вам необходимо задать следующие переменные окружения:
OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json'— включает поддержку в OTel collector, гарантируя, что схемы создаются с использованием типа JSON.BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true(только ClickStack Open Source) — включает поддержку в приложении ClickStack UI, позволяя выполнять запросы к данным JSON.
Чтобы задать эти параметры, измените соответствующие сервисы в docker-compose.yml: