- ClickHouse
- HyperDX
- OpenTelemetry (OTel) Collector
- MongoDB
otel-collector:
13133: конечная точка проверки работоспособности для расширенияhealth_check24225: приёмник Fluentd для ингестии журналов4317: приёмник OTLP gRPC (стандарт для трассировок, журналов и метрик)4318: приёмник OTLP HTTP (альтернатива gRPC)8888: конечная точка метрик Prometheus для мониторинга самого коллектора
Подходит для
- Локального тестирования
- Пилотных проектов
- Развертываний в продакшне, где отказоустойчивость не нужна и одного сервера достаточно для хранения всех данных ClickHouse
- Развертывания ClickStack, если ClickHouse размещается отдельно, например в ClickHouse Cloud.
Шаги развертывания
Клонируйте репозиторий
Чтобы развернуть с помощью Docker Compose, клонируйте репозиторий ClickStack, перейдите в каталог и выполнитеdocker-compose up:Перейдите в интерфейс HyperDX
Перейдите по адресу http://localhost:8080, чтобы открыть интерфейс HyperDX.Создайте пользователя, указав имя пользователя и пароль, соответствующие требованиям.После нажатияCreate будут созданы источники данных для экземпляра ClickHouse, развернутого с помощью Docker Compose.Переопределение подключения по умолчаниюВы можете переопределить подключение по умолчанию к встроенному экземпляру ClickHouse. Подробнее см. в разделе “Using ClickHouse Cloud”.
Заполните сведения о подключении
Чтобы подключиться к развернутому экземпляру ClickHouse, просто нажмите Create и примите настройки по умолчанию.Если вы хотите подключиться к собственному внешнему кластеру ClickHouse, например к ClickHouse Cloud, вы можете вручную ввести свои учетные данные для подключения.Если будет предложено создать источник, оставьте все значения по умолчанию и укажите в полеTable значение otel_logs. Все остальные настройки должны определиться автоматически, после чего можно нажать Save New Source.Изменение настроек Compose
Настройка OpenTelemetry collector
Использование ClickHouse Cloud
-
Удалить сервис ClickHouse из файла
docker-compose.yml. При тестировании это необязательно, так как развернутый экземпляр ClickHouse будет просто игнорироваться, хотя и будет впустую расходовать локальные ресурсы. Если вы удаляете сервис, убедитесь, что все ссылки на него, такие какdepends_on, тоже удалены. -
Изменить OTel collector так, чтобы он использовал экземпляр ClickHouse Cloud, задав в файле compose переменные окружения
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 используйте свои учётные данные Cloud.
Выбор схемы: Map или JSON
Map(LowCardinality(String), String). Это рекомендуемая схема для рабочих нагрузок обсервабилити. В сочетании с сериализацией Map по бакетам и текстовыми индексами по ключам и значениям в Map она обеспечивает точечные lookup-операции без накладных расходов на приём для каждого ключа, характерных для динамических подстолбцов JSON.
Схема с типом JSON доступна в статусе бета для оценки на рабочих нагрузках с небольшим стабильным набором ключей атрибутов. Использовать её по умолчанию не рекомендуется. Полное сравнение и переменные окружения, необходимые для включения поддержки JSON, см. в разделе Map vs JSON type.