Настройка платформы распределённого трассирования с Service Mesh (устарело)
Интеграция Alauda build of Jaeger (Jaeger 1.60.0) и Alauda Build of OpenTelemetry, описанная в этом документе, устарела и будет удалена в ACP 4.4. Для всех новых развертываний используйте новую интеграцию Alauda Distributed Tracing, описанную в Настройка платформы распределённого трассирования с Service Mesh.
Чтобы перенести существующую установку на новый стек, выполните Миграция на Jaeger v2.
Alauda Service Mesh поддерживает распределённое трассирование посредством интеграции со следующими компонентами:
-
Alauda Build of Jaeger: настраиваемая дистрибуция, основанная на проекте с открытым исходным кодом Jaeger. Она обеспечивает сквозную видимость запросов в сложных распределённых системах.
-
Alauda Build of OpenTelemetry: на основе проекта OpenTelemetry. Этот компонент упрощает сбор телеметрических данных по метрикам, логам и трассировкам за счёт управления OpenTelemetry Collector и инструментированием рабочих нагрузок.
OpenTelemetry Collector выступает в роли промежуточного звена для телеметрических сигналов. Он поддерживает несколько форматов данных и предоставляет стандартизированный конвейер для обработки и экспорта телеметрии в такие backend-системы, как Jaeger.
Содержание
Настройка сбора данных распределённого трассирования с Service MeshУдаление распределённого трассированияУдаление конфигурации трассирования Service MeshУдаление экземпляра OpenTelemetry CollectorУдаление Alauda Build of OpenTelemetry OperatorУдаление экземпляра JaegerУдаление Alauda build of Jaeger OperatorНастройка сбора данных распределённого трассирования с Service Mesh
Вы можете интегрировать Alauda Service Mesh с OpenTelemetry, чтобы инструментировать, генерировать, собирать и экспортировать трассы, метрики и логи OpenTelemetry для анализа и понимания производительности и поведения вашего ПО.
Предварительные требования
- Alauda Build of Jaeger is installed.
- Alauda Build of OpenTelemetry is installed.
- Создан экземпляр Istio.
- Создан экземпляр Istio CNI.
Порядок действий
Добавьте метку проекта для пространства имён istio-system:
Установите экземпляр Jaeger в пространстве имён istio-system.
Обратитесь к скрипту установки в Deploying a Jaeger Instance и используйте приведённую ниже примерную команду для развертывания предназначенного для Istio экземпляра Jaeger:
Параметр --jaeger-es-index-prefix задаёт префикс индекса в Elasticsearch, где хранятся данные трассировки.
- Для однокластерного service mesh мы рекомендуем завершать префикс именем кластера, например
istio-tracing-cluster-1. - Для многокластерного service mesh трассы из всех кластеров должны храниться в одном индексе; мы рекомендуем завершать префикс
meshID, напримерistio-tracing-mesh-1.
После успешного завершения установки вы сможете получить доступ к Jaeger UI для запросов к трассам по адресу <platform-url>/clusters/<cluster>/istio/jaeger.
Перейдите к Alauda Build of OpenTelemetry в OperatorHub и создайте OpenTelemetryCollector в пространстве имён istio-system.
Пример OpenTelemetry Collector в пространстве имён istio-system
- Поле
endpoint— это сервис коллектораJaegerв пространстве имёнistio-system.
Обновите ресурс Istio, чтобы включить трассирование и определить провайдера трассировки OpenTelemetry:
Пример включения трассирования через meshConfig
- Поле
service— это сервис коллектораOpenTelemetryв пространстве имёнistio-system.
Обновите ресурс Telemetry, чтобы включить провайдера трассировки, определённого в meshConfig:
Пример ресурса Istio Telemetry
После того как вы убедитесь, что трассы отображаются, уменьшите значение randomSamplingPercentage, чтобы сократить количество запросов.
Удаление распределённого трассирования
Если вам больше не нужна интеграция Alauda Build of OpenTelemetry и Alauda build of Jaeger с Service Mesh, выполните следующие шаги, чтобы удалить её.
После удаления исторические трассы, хранящиеся в Elasticsearch, больше не будут доступны через Jaeger UI.
Удаление конфигурации трассирования Service Mesh
Перед удалением базовых компонентов удалите конфигурацию трассирования на стороне mesh, чтобы Istio перестал отправлять спаны в устаревший коллектор.
-
Отредактируйте ресурс
Telemetryи удалите запись провайдераtracing, которая ссылается на провайдераotel:В качестве альтернативы можно удалить конфигурацию
tracingв неинтерактивном режиме с помощьюkubectl patch: -
Отредактируйте ресурс
Istioи удалите записьmeshConfig.extensionProvidersс именемotelлибо установитеmeshConfig.enableTracingвfalse:В качестве альтернативы можно задать
meshConfig.enableTracingзначениеfalseв неинтерактивном режиме с помощьюkubectl patch:
Удаление экземпляра OpenTelemetry Collector
Войдите в кластер, где установлена интеграция, и удалите экземпляр OpenTelemetryCollector:
Удаление Alauda Build of OpenTelemetry Operator
Пропустите этот шаг, если другие рабочие нагрузки в кластере по-прежнему зависят от Operator Alauda Build of OpenTelemetry.
Вы можете удалить Operator, используя представление Administrator в Web Console.
Шаги
- В разделе Marketplace → OperatorHub → используйте поле поиска, чтобы найти
Alauda build of OpenTelemetry. - Щёлкните заголовок Alauda build of OpenTelemetry, чтобы открыть его сведения.
- На странице сведений Alauda build of OpenTelemetry нажмите кнопку Uninstall в правом верхнем углу.
- В окне Uninstall "opentelemetry-operator"? нажмите Uninstall.
Удаление экземпляра Jaeger
Войдите в кластер, где установлена интеграция, и удалите экземпляр Jaeger и связанные с ним ресурсы. Приведённые ниже имена ресурсов соответствуют значениям по умолчанию, создаваемым install-jaeger.sh с --target-namespace='istio-system'; скорректируйте их, если при установке вы использовали другое значение --jaeger-instance-name.
Удаление Alauda build of Jaeger Operator
Пропустите этот шаг, если другие рабочие нагрузки в кластере по-прежнему зависят от Operator Alauda build of Jaeger.
Вы можете удалить Operator, используя представление Administrator в Web Console.
Шаги
- В разделе Marketplace → OperatorHub → используйте поле поиска, чтобы найти
Alauda build of Jaeger. - Щёлкните заголовок Alauda build of Jaeger, чтобы открыть его сведения.
- На странице сведений Alauda build of Jaeger нажмите кнопку Uninstall в правом верхнем углу.
- В окне Uninstall "jaeger-operator"? нажмите Uninstall.