Интеграция наблюдаемых данных OpenTelemetry в платформу

Содержание

Overview

Текущий продукт предоставляет возможности мониторинга метрик и распределённого трассирования для Java-сервисов через OTel Java Agent. Кроме того, пользователи могут интегрировать наблюдаемые данные из сервисов, разработанных с использованием OTel SDK, или из систем, совместимых с OpenTelemetry (таких как Harbor и GitLab), в платформу, используя её возможности визуализации данных.

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

Prerequisites

Убедитесь, что в кластере, где размещены сервисы или системы, развернута сервисная сетка.

Steps

1. Configure OTel Collector Receivers

Ресиверы OTel Collector отвечают за приём и парсинг данных из различных источников. В зависимости от источника данных и протокола интеграции, OTel Collector предлагает несколько ресиверов.

Ниже приведены ресиверы, включённые по умолчанию на платформе, и их сценарии использования:

OTLP Receiver

OTLP (OpenTelemetry Protocol) — стандартный протокол, рекомендуемый OpenTelemetry для приёма данных трассировки, метрик и логов, поддерживающий транспортные протоколы gRPC и HTTP.

ProtocolCluster Address
HTTPasm-otel-collector.cpaas-system:4318
GRPCasm-otel-collector.cpaas-system:4317

Zipkin Receiver

Zipkin Receiver используется для приёма данных трассировки в формате Zipkin, поддерживает транспорт по HTTP от Zipkin-клиентов.

ProtocolCluster Address
Zipkinasm-otel-collector.cpaas-system:9411

  • Как выбрать подходящий ресивер?

    1. Определите типы данных, которые необходимо собирать (трассировка, метрики, логи), и поддерживаемые протоколы.

    2. Исходя из форматов данных и транспортных протоколов, используемых внешними сервисами, выберите соответствующий ресивер из списка поддерживаемых ресиверов OTel Collector на платформе.

2. Integrate Data into the Platform

User-Developed Services

Интегрируйте OpenTelemetry SDK для отправки наблюдаемых данных (таких как трассировка, метрики и логи), генерируемых вашими сервисами, в OTel Collector. Конкретные шаги следующие:

  1. Импортируйте OpenTelemetry SDK.
  2. Инициализируйте OpenTelemetry.
  3. Генерируйте и отправляйте данные трассировки.

Сообщество OpenTelemetry предоставляет примеры использования SDK для разных языков; пожалуйста, обратитесь к официальной документации:

Integration of Observable Software

Внешние сервисы (например, GitLab и Harbor) обычно уже имеют возможность экспортировать данные. Вы можете обратиться к документации соответствующего ПО для конкретных методов настройки.

В конфигурации необходимо указать адрес ресивера OTel Collector следующим образом:

  1. Если ПО развернуто в том же кластере, что и сервисная сетка:

    • Убедитесь, что необходимый ресивер включён на платформе.
    • Для полного списка поддерживаемых ресиверов смотрите Platform Supported Receiver List.
  2. Если ПО не может напрямую обратиться к OTel Collector по адресу кластера, возможно, потребуется настроить балансировщик нагрузки для обеспечения доступа внешнего сервиса. Обратитесь к администратору для дальнейшей помощи с настройкой.

3. Validate Data Integration

  1. Запустите внешний сервис и выполните соответствующие тесты для генерации данных трассировки.

  2. Проверьте, были ли данные трассировки успешно получены и обработаны OTel Collector в платформе.

    • Используйте в платформе раздел Tracing для запроса данных распределённого трассирования и проверки успешности интеграции внешних данных.