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

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

Изменение настроек компоновки
Пользователи могут изменять настройки для стека, такие как используемая версия, через файл переменных окружения:
Конфигурирование OpenTelemetry collector
Конфигурацию OTel collector можно изменить при необходимости - смотрите "Изменение конфигурации".
Использование ClickHouse Cloud
Это распределение можно использовать с ClickHouse Cloud. Пользователи должны:
- Удалить службу ClickHouse из файла
docker-compose.yaml. Это необязательно, если вы тестируете, так как развернутый экземпляр ClickHouse просто будет проигнорирован - хотя и будет расходовать локальные ресурсы. Если удаляете службу, убедитесь, что все ссылки на службу, такие какdepends_on, удалены. - Изменить OTel collector для использования экземпляра ClickHouse Cloud, установив переменные окружения
CLICKHOUSE_ENDPOINT,CLICKHOUSE_USERиCLICKHOUSE_PASSWORDв файле компоновки. В частности, добавьте переменные окружения в службу OTel collector:
CLICKHOUSE_ENDPOINT должен быть HTTPS-эндпоинтом ClickHouse Cloud, включая порт 8443, например, https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443
- При подключении к интерфейсу HyperDX и создании подключения к ClickHouse используйте свои облачные учетные данные.
Поддержка типа 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.
Чтобы установить их, измените соответствующие службы в docker-compose.yaml: