Перейти к основному содержанию
Это руководство позволит вам собирать журналы и метрики из вашей системы Kubernetes и отправлять их в ClickStack для визуализации и анализа. В качестве демонстрационных данных при желании можно использовать форк официального демо OpenTelemetry от ClickStack.

Предварительные требования

Для работы с этим руководством вам потребуется:
  • Кластер Kubernetes (рекомендуется v1.20+) с как минимум 32 GiB оперативной памяти и 100 GB дискового пространства, доступными на одном узле для ClickHouse.
  • Helm v3+
  • kubectl, настроенный для взаимодействия с вашим кластером

Варианты развертывания

Вы можете воспользоваться этим руководством, выбрав один из следующих вариантов развертывания:
  • ClickStack с открытым исходным кодом: разверните ClickStack целиком в своем кластере Kubernetes, включая:
    • ClickHouse
    • HyperDX
    • MongoDB (используется для хранения состояния и конфигурации панели мониторинга)
  • Управляемый ClickStack, где ClickHouse и интерфейс ClickStack (HyperDX) управляются в ClickHouse Cloud. Это избавляет от необходимости запускать ClickHouse или HyperDX внутри вашего кластера.
Чтобы имитировать трафик приложения, при желании можно развернуть форк приложения OpenTelemetry Demo Application, подготовленный ClickStack. Это позволяет генерировать телеметрические данные, включая журналы, метрики и трассировки. Если в вашем кластере уже запущены рабочие нагрузки, этот шаг можно пропустить и отслеживать существующие поды, узлы и контейнеры.
1

Установите cert-manager (необязательно)

Если в вашей конфигурации нужны TLS-сертификаты, установите cert-manager с помощью Helm:
2

Разверните OpenTelemetry Demo (необязательно)

Этот шаг необязателен и предназначен для случаев, когда у вас нет существующих подов для мониторинга. Пользователи, у которых в среде Kubernetes уже развернуты сервисы, могут пропустить его, однако это демо включает инструментированные микросервисы, которые генерируют данные трассировок и воспроизведения сеанса, что позволяет изучить все возможности ClickStack.Ниже разворачивается форк ClickStack стека приложений OpenTelemetry Demo в кластере Kubernetes, адаптированный для тестирования обсервабилити и демонстрации инструментирования. Он включает бэкенд-микросервисы, генераторы нагрузки, конвейеры телеметрии, вспомогательную инфраструктуру (например, Kafka и Redis), а также интеграции SDK с ClickStack.Все сервисы развертываются в пространстве имен otel-demo. Каждое развертывание включает:
  • Автоматическое инструментирование с OTel и ClickStack SDKS для трассировок, метрик и журналов.
  • Все сервисы отправляют данные своего инструментирования в коллектор OpenTelemetry my-hyperdx-hdx-oss-v2-otel-collector (не развернут)
  • Пересылка тегов ресурсов для корреляции журналов, метрик и трассировок через переменную среды OTEL_RESOURCE_ATTRIBUTES.
После развертывания демо убедитесь, что все поды успешно созданы и находятся в состоянии Running:

Архитектура демо

Демо состоит из микросервисов, написанных на разных языках программирования, которые взаимодействуют друг с другом по gRPC и HTTP, а также генератора нагрузки, использующего Locust для имитации пользовательского трафика. Оригинальный исходный код этого демо был изменён, чтобы использовать инструментирование ClickStack.Источник: https://opentelemetry.io/docs/demo/architecture/Дополнительные сведения о демо можно найти здесь:
3

Добавьте репозиторий Helm-чарта ClickStack

Для развертывания ClickStack мы используем официальный Helm-чарт.Для этого необходимо добавить Helm-репозиторий HyperDX:
4

Развертывание ClickStack

После установки Helm-чарта вы можете развернуть ClickStack в своем кластере. Можно либо запустить все компоненты, включая ClickHouse и HyperDX, в своей среде Kubernetes, либо развернуть только collector и использовать Управляемый ClickStack для ClickHouse и интерфейса HyperDX.
Следующая команда устанавливает ClickStack в пространстве имен otel-demo. Helm-чарт развертывает:
  • Экземпляр ClickHouse
  • HyperDX
  • Дистрибутив OTel collector от ClickStack
  • MongoDB для хранения состояния приложения HyperDX
Возможно, вам потребуется скорректировать storageClassName в соответствии с конфигурацией вашего кластера Kubernetes.
Если вы не развертываете OTel demo, можете изменить этот параметр, указав подходящее пространство имен.
ClickStack в productionЭтот чарт также устанавливает ClickHouse и OTel collector. Для production рекомендуется использовать операторы clickhouse и OTel collector и/или Управляемый ClickStack.Чтобы отключить clickhouse и OTel collector, задайте следующие значения:
Если вы предпочитаете использовать Управляемый ClickStack, можно развернуть ClickStack и отключить входящий в комплект ClickHouse.
Сейчас чарт всегда развертывает и HyperDX, и MongoDB. Хотя эти компоненты предоставляют альтернативный способ доступа, они не интегрированы с аутентификацией ClickHouse Cloud. В этой модели развертывания эти компоненты предназначены для администраторов, предоставляя доступ к защищенному ключу ингестии, необходимому для ингестии через развернутый OTel collector, но не должны быть доступны конечным пользователям.
Чтобы проверить статус развертывания, выполните следующую команду и убедитесь, что все компоненты находятся в состоянии Running. Обратите внимание: если вы используете Управляемый ClickStack, ClickHouse будет отсутствовать:
5

Откройте интерфейс HyperDX

Даже при использовании Управляемого ClickStack локальный экземпляр HyperDX, развернутый в кластере Kubernetes, всё равно необходим. Он предоставляет ключ ингестии, которым управляет сервер OpAMP, входящий в состав HyperDX, и обеспечивает защищённую ингестию через развернутый OTel collector — эта возможность в настоящее время недоступна в Управляемом ClickStack.
В целях безопасности сервис использует ClusterIP и по умолчанию не доступен извне.Чтобы открыть интерфейс HyperDX, настройте проброс порта с 3000 на локальный порт 8080.
Откройте http://localhost:8080, чтобы перейти в интерфейс HyperDX.Создайте пользователя, указав имя пользователя и пароль, которые соответствуют требованиям сложности.
6

Получение ключа API для приёма данных

Приём данных в OTel collector, развёрнутом коллектором ClickStack, защищён ключом API для приёма данных.Перейдите в Team Settings и скопируйте Ingestion API Key из раздела API Keys. Этот ключ API обеспечивает безопасную ингестию данных через OpenTelemetry Collector.
7

Создание секрета Kubernetes с ключом API

Создайте новый секрет Kubernetes с ключом API для приёма данных и ConfigMap, содержащий адрес OTel collector, развернутого с помощью Helm-чарта ClickStack. Позднее другие компоненты будут использовать эти ресурсы, чтобы отправлять данные в OTel collector, развернутый с помощью Helm-чарта ClickStack:
Перезапустите поды демо-приложения OpenTelemetry, чтобы изменения ключа API для приёма данных вступили в силу.
Данные трассировок и логов из демо-сервисов теперь должны начать поступать в HyperDX.
8

Добавьте Helm-репозиторий OpenTelemetry

Чтобы собирать метрики Kubernetes, мы развернём стандартный OTel collector и настроим его на безопасную отправку данных в наш коллектор ClickStack с помощью указанного выше ключа API для приёма данных.Для этого нужно установить Helm-репозиторий OpenTelemetry:
9

Развёртывание компонентов коллектора Kubernetes

Для сбора журналов и метрик как с самого кластера, так и с каждого узла потребуется развернуть два отдельных коллектора OpenTelemetry, каждый со своим манифестом. Два предоставленных манифеста — k8s_deployment.yaml и k8s_daemonset.yaml — работают совместно и обеспечивают полный сбор телеметрических данных из вашего кластера Kubernetes.
  • k8s_deployment.yaml разворачивает единственный экземпляр OpenTelemetry Collector, отвечающий за сбор событий и метаданных всего кластера. Он собирает события Kubernetes, метрики кластера и обогащает телеметрические данные метками и аннотациями подов. Этот коллектор работает как автономное Развертывание с одной репликой, чтобы избежать дублирования данных.
  • k8s_daemonset.yaml разворачивает коллектор в виде ДемонСет, который запускается на каждом узле кластера. Он собирает метрики на уровне узла и пода, а также журналы контейнеров, используя такие компоненты, как kubeletstats, hostmetrics и процессоры Kubernetes Attribute Processor. Эти коллекторы обогащают журналы метаданными и отправляют их в HyperDX с помощью экспортера OTLP.
В совокупности эти манифесты обеспечивают полноценную обсервабилити всего стека в рамках кластера — от инфраструктуры до телеметрии на уровне приложений — и отправляют обогащённые данные в ClickStack для централизованного анализа.Сначала установите коллектор в виде развертывания:
Затем разверните collector в виде ДемонСета для сбора метрик и журналов на уровне узлов и подов:
10

Просмотр данных Kubernetes в HyperDX

Перейдите в интерфейс HyperDX — либо в экземпляр, развернутый в Kubernetes, либо через Управляемый ClickStack.

Если вы используете Управляемый ClickStack, просто войдите в свой сервис ClickHouse Cloud и выберите “ClickStack” в меню слева. Вы будете автоматически аутентифицированы, и создавать пользователя не потребуется.Источники данных для журналов, метрик и трассировок будут созданы заранее.
Чтобы получить доступ к локально развернутому HyperDX, выполните локально команду проброса порта и откройте HyperDX по адресу http://localhost:8080.
ClickStack в productionЕсли вы не используете Управляемый ClickStack, для production мы рекомендуем использовать входной шлюз с TLS. Например:
Чтобы просматривать данные Kubernetes, перейдите на специальную панель мониторинга по адресу /kubernetes, например: http://localhost:8080/kubernetes.Каждая из вкладок — Pods, Nodes и Namespaces — должна быть заполнена данными.
Последнее изменение 2 июля 2026 г.