Прием данных из Zipkin

Материал из Документация Ключ-АСТРОМ

В следующем примере конфигурации показано, как настроить экземпляр Collector для приема данных Zipkin, преобразования их в OTLP и отправки на серверную часть Ключ-АСТРОМ.

Ограничения

Требования B3

Обратите внимание на требования B3, чтобы избежать потери сегментов из-за общих и дублирующихся идентификаторов сегментов. Подробнее см. в спецификации распространителя.

Например, если вы используете Spring Code Sleuth, вы можете использовать следующий параметр конфигурации для отключения общего доступа к диапазону:

spring:

  sleuth:

    supports-join: false

Маршрутизация с одним Collector

Обязательно направляйте все связанные пакеты Zipkin/B3 через один и тот же экземпляр Collector, чтобы гарантировать полное загрузку. Если вы загружаете некоторые пакеты только с помощью ЕдиногоАгента, они могут быть неправильно связаны и не отображаться как подключенные к вашим пакетам Zipkin.

Предустановка

Информацию о настройке Collector с использованием указанной ниже конфигурации см. в разделах Развертывание коллектора и Конфигурация коллектора.

Демо конфигурация

receivers:

  zipkin:

exporters:

  otlphttp:

    endpoint: ${env:DT_ENDPOINT}

    headers:

      Authorization: "Api-Token ${env:DT_API_TOKEN}"

service:

  pipelines:

    traces:

      receivers: [zipkin]

      processors: []

      exporters: [otlphttp]

Компоненты

Для нашей конфигурации мы настраиваем следующие компоненты.

Приемники

В разделе receivers мы указываем приемник zipkin, как активный компонент приемника для нашего экземпляра Collector.

Приемник Zipkin можно настроить с помощью еще нескольких атрибутов , которые в нашем примере мы оставим со значениями по умолчанию.

Экспортеры

В разделе exporters мы указываем экспортер otlphttp по умолчанию и настраиваем его с помощью URL-адреса нашего API Ключ-АСТРОМ и требуемого токена аутентификации.

Для этой цели мы устанавливаем следующие две переменные среды и ссылаемся на них в значениях конфигурации для endpoint и Authorization.

  • DT_ENDPOINT содержит базовый URL-адрес конечной точки API Ключ-АСТРОМ (например, https://{your-environment-id}.live.astromkey.com/api/v2/otlp)
  • DT_API_TOKEN содержит токен API

Сервисные контейнеры

В разделе service мы в конечном итоге собираем наши объекты приемника и экспортера в контейнер трассировок, который будет обрабатывать наше преобразование Zipkin в OTLP.