Интеграция наблюдаемых данных 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.
Zipkin Receiver
Zipkin Receiver используется для получения данных трассировки в формате Zipkin, поддерживает транспорт по HTTP от клиентов Zipkin.
-
Как выбрать подходящий приемник?
-
Определите типы данных, которые необходимо собирать (трассировка, метрики, логи), и поддерживаемые протоколы.
-
Исходя из форматов данных и транспортных протоколов, используемых внешними сервисами, выберите соответствующий приемник из списка поддерживаемых приемников OTel Collector на платформе.
-
2. Интеграция данных в платформу
Пользовательские сервисы
Интегрируйте OpenTelemetry SDK для отправки наблюдаемых данных (таких как трассировка, метрики и логи), генерируемых вашими сервисами, в OTel Collector. Конкретные шаги:
- Импортируйте OpenTelemetry SDK.
- Инициализируйте OpenTelemetry.
- Генерируйте и отправляйте данные трассировки.
Сообщество OpenTelemetry предоставляет примеры использования SDK для разных языков, пожалуйста, обратитесь к официальной документации:
Интеграция наблюдаемого ПО
Внешние сервисы (например, GitLab и Harbor) обычно уже имеют возможность экспорта данных. Для конкретных методов настройки обратитесь к документации соответствующего ПО.
В конфигурации необходимо указать адрес приемника OTel Collector следующим образом:
-
Если ПО развернуто в том же кластере, что и сервисная сетка:
- Убедитесь, что нужный приемник включён на платформе.
- Полный список поддерживаемых приемников смотрите в Platform Supported Receiver List.
-
Если ПО не может напрямую обратиться к OTel Collector по адресу кластера, возможно, потребуется настроить балансировщик нагрузки для обеспечения доступа внешнего сервиса. Обратитесь к администратору для дальнейшей настройки.
3. Проверка интеграции данных
-
Запустите внешний сервис и выполните необходимые тесты для генерации данных трассировки.
-
Проверьте, были ли данные трассировки успешно получены и обработаны OTel Collector на платформе.
- Используйте функционал платформы Tracing для запроса данных распределённого трассирования и проверки успешности интеграции внешних данных.