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

Для примера использования альтернативного экземпляра ClickHouse смотрите "Создание подключения к ClickHouse Cloud".
Прием данных
Для приема данных смотрите "Прием данных".
Сохранение данных и настроек
Для сохранения данных и настроек между перезапусками контейнера пользователи могут изменить вышеуказанную команду docker, чтобы смонтировать пути /data/db
, /var/lib/clickhouse
и /var/log/clickhouse-server
. Например:
Развертывание в производственной среде
Эту опцию не следует разворачивать в производственной среде по следующим причинам:
- Непостоянное хранилище: Все данные хранятся с использованием нативной файловой системы Docker overlay. Эта конфигурация не поддерживает производительность на масштабах, и данные будут потеряны, если контейнер будет удален или перезапущен - если только пользователи не смонтируют необходимые файловые пути.
- Отсутствие изоляции компонентов: Все компоненты работают в одном контейнере 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 может быть настроен на использование ClickHouse Cloud путем установки переменных окружения CLICKHOUSE_ENDPOINT
, CLICKHOUSE_USER
и CLICKHOUSE_PASSWORD
.
Например:
CLICKHOUSE_ENDPOINT
должен быть HTTPS-эндпоинтом ClickHouse Cloud, включая порт 8443
, например https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443
Подсоединившись к интерфейсу HyperDX, перейдите в Настройки команды
и создайте соединение с вашим сервисом ClickHouse Cloud, а затем необходимыми источниками. Для примера потока смотрите здесь.
Конфигурирование сборщика OpenTelemetry
Конфигурацию сборщика OTel можно изменить при необходимости - смотрите "Изменение конфигурации".
Поддержка типа JSON
ClickStack имеет бета-поддержку типа JSON с версии 2.0.4
.
Для получения преимуществ этого типа смотрите Преимущества типа JSON.
Чтобы включить поддержку типа JSON, пользователи должны установить следующие переменные окружения:
OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json'
- включает поддержку в OTel collector, гарантируя, что схемы создаются с использованием типа JSON.BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true
- включает поддержку в приложении HyperDX, позволяя запрашивать данные в формате JSON.
Например: