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

Содержание

Overview

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

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

Prerequisites

Убедитесь, что в кластере, где расположены сервисы или системы, развернута сервисная сетка (service mesh).

Steps

1. Настройка приемников OTel Collector

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

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

OTLP Receiver

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

ПротоколАдрес в кластере
HTTPasm-otel-collector.cpaas-system:4318
GRPCasm-otel-collector.cpaas-system:4317

Zipkin Receiver

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

ПротоколАдрес в кластере
Zipkinasm-otel-collector.cpaas-system:9411

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

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

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

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

Пользовательские сервисы

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

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

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

Интеграция наблюдаемого ПО

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

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

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

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

3. Проверка интеграции данных

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

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

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