Прием данных из Zipkin
В следующем примере конфигурации показано, как настроить экземпляр Collector для приема данных Zipkin, преобразования их в OTLP и отправки на серверную часть Ключ-АСТРОМ.
Ограничения
Требования B3
Обратите внимание на требования B3, чтобы избежать потери сегментов из-за общих и дублирующихся идентификаторов сегментов. Подробнее см. в спецификации распространителя.
Например, если вы используете Spring Code Sleuth, вы можете использовать следующий параметр конфигурации для отключения общего доступа к диапазону:
| spring:
sleuth: supports-join: false |
Маршрутизация с одним Collector
Обязательно направляйте все связанные пакеты Zipkin/B3 через один и тот же экземпляр Collector, чтобы гарантировать полное загрузку. Если вы загружаете некоторые пакеты только с помощью ЕдиногоАгента, они могут быть неправильно связаны и не отображаться как подключенные к вашим пакетам Zipkin.
Предустановка
- Один из следующих дистрибутивов Collector с приемником Zipkin :
- URL-адрес конечной точки API Ключ-АСТРОМ, на которую следует экспортировать данные.
- Токен API с соответствующей областью доступа (требуется только для SaaS и АктивногоШлюза)
Информацию о настройке 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.