Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве показано, как добавить сборщик OpenTelemetry в качестве побочного контейнера в пользовательское Linux-контейнерное приложение в службе приложений Azure.
Контейнеры-сайдкары в службе приложений позволяют развертывать дополнительные сервисы и функции в приложениях Linux без тесного связывания их со встроенным или пользовательским основным контейнером. Контейнеры-сайдкары запускаются вместе с основным контейнером приложения в том же плане App Service.
Вы можете добавить до девяти контейнеров сайдкара для каждого приложения Linux в службе App Service. Например, можно добавить мониторинг, ведение журнала, конфигурацию и сетевые службы в качестве контейнеров на стороне. Боковой контейнер коллектора OpenTelemetry - это один из примеров для мониторинга.
Сведения о том, как использовать собственные приложения Linux, см. в руководстве по настройке контейнера на стороне для приложения Linux в службе приложение Azure.
Предпосылки
-
Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.
Команды, приведенные в этом руководстве, можно выполнить с помощью Azure Cloud Shell, интерактивной оболочки, которую вы используете в браузере для работы со службами Azure. Чтобы использовать Cloud Shell, выполните приведенные действия.
Нажмите следующую кнопку "Запустить Cloud Shell" или перейдите к https://shell.azure.com открытию Cloud Shell в браузере.
При необходимости войдите в Azure и убедитесь, что вы находитесь в среде Bash Cloud Shell.
Выберите "Копировать " в любом блоке кода, вставьте код в Cloud Shell и запустите его.
Команды, приведенные
azd
в этом руководстве, используют Интерфейс командной строки разработчика Azure, средство с открытым кодом, которое ускоряет подготовку и развертывание ресурсов приложения в Azure.
1. Настройка ресурсов учебника
Чтобы клонировать пример репозитория и создать ресурсы для этого руководства, выполните следующие команды в Cloud Shell. При появлении запроса выберите подписку Azure и регион Azure, который вы хотите использовать.
git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
cd app-service-sidecar-tutorial-prereqs
azd env new my-sidecar-env
azd provision
Команда azd provision
использует включенные шаблоны для создания группы my-sidecar-env_group
ресурсов Azure, которая содержит следующие ресурсы Azure:
-
Реестр контейнеров с двумя репозиториями, имеющими следующие образы:
- Изображение
nginx
с модулем OpenTelemetry. - Образ сборщика OpenTelemetry, настроенный
otel-collector
для экспорта в Azure Monitor.
- Изображение
- Рабочая область Log Analytics.
- Компонент Application Insights .
- Пользовательское управляемое удостоверение называется
id-my-sidecar-env_group
.
После завершения развертывания вы увидите выходные данные, аналогичные следующему примеру:
Success!
APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=aaaaaaaa-0b0b-1c1c-2d2d-333333333333;IngestionEndpoint=https://eastus2-3.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus2.livediagnostics.monitor.azure.com/;ApplicationId=00001111-aaaa-2222-bbbb-3333cccc4444
Azure container registry name = acro2lc774l6vjgg
Managed identity resource ID = /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-my-sidecar-env_group
Managed identity client ID = 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group
Скопируйте и сохраните значение, APPLICATIONINSIGHTS_CONNECTION_STRING
которое будет использоваться далее в этом руководстве.
Выберите ссылку для Open resource group in the portal
, чтобы открыть выделенную группу ресурсов на портале Azure.
2. Создание приложения с поддержкой бокового автомобиля
В группе ресурсов на портале Azure создайте настраиваемое приложение контейнера Linux с поддержкой сайдкара и настройте основной контейнер.
На странице группы ресурсов на портале Azure нажмите кнопку "Создать".
На странице Marketplace найдите веб-приложение, щелкните стрелку вниз рядом с плиткой "Создатьвеб-приложение" и выберите веб-приложение.
На вкладке "Основы" страницы"Создание веб-приложения " укажите следующие сведения:
- Имя. Введите уникальное имя веб-приложения.
- Публикация: выбор контейнера.
- Операционная система: выберите Linux.
-
Регион: выберите тот же регион, для
azd provision
который вы выбрали. - План Linux: выберите предоставленный (новый) план службы приложений.
Оставьте остальные параметры так, как они есть, и выберите вкладку "Контейнер " в верхней части страницы.
На вкладке "Контейнер" укажите следующие сведения:
- Поддержка сайдкара: Установите на усовершенствованную конфигурацию с поддержкой сайдкара.
- Источник Образа: выберите Реестр Контейнеров Azure.
- Имя: убедитесь, что отображается main.
-
Реестр. Выберите реестр, созданный с помощью
azd provision
. - Проверка подлинности: выберите управляемое удостоверение.
-
Удостоверение. Выберите управляемое удостоверение, созданное с помощью
azd provision
. - Изображение: введите nginx.
- Тег: Введите latest.
- Порт: введите 80 , если еще не задано.
Примечание.
Эти параметры настраиваются по-разному в приложениях с поддержкой сайдкаров, чем в приложениях без такой поддержки. Дополнительные сведения см. в разделе В чем различия для настраиваемых контейнеров с поддержкой сайдкара.
Выберите Проверка и создание, а после завершения проверки нажмите Создать.
После завершения развертывания выберите "Перейти к ресурсу".
На странице приложения откройте URL-адрес рядом с доменом по умолчанию,
https://<app-name>.azurewebsites.net
на новой вкладке браузера, чтобы увидеть страницу nginx по умолчанию.
3. Добавьте контейнер-сайдкар в приложение
Добавьте сайдкар-контейнер в кастомное контейнерное приложение Linux.
На странице приложения на портале Azure выберите Центр развертывания в разделе "Развертывание " в меню навигации слева. На странице Центра развертывания отображаются все контейнеры в приложении, в настоящее время только основной контейнер.
Выберите "Добавить>настраиваемый контейнер".
В области "Добавление контейнера " выполните следующие сведения:
- Имя: введите otel-collector.
- Источник образа: выбор реестра контейнеров Azure.
-
Реестр. Выберите реестр, созданный с помощью
azd provision
. - Проверка подлинности: выберите Управляемое Удостоверение.
-
Удостоверение: В разделе Назначено пользователем выберите управляемое удостоверение, созданное
azd provision
. - Изображение: Введите otel-collector.
- Тег изображения: введите последнюю версию.
- Порт: введите 4317.
Выберите Применить.
Теперь в центре развертывания есть два контейнера с меткой Main и Sidecar. Приложение должно иметь один основной контейнер и может иметь несколько сайдкар контейнеров.
4. Настройка переменных среды
В примере сценария сайдкар otel-collector
настроен на экспорт данных OpenTelemetry в Azure Monitor, используя строку подключения в качестве переменной окружения. Дополнительные сведения см. в файле конфигурации OpenTelemetry для образа otel-коллектора.
Настройте переменную среды для контейнера, настроив параметры приложения для приложения. Параметры приложения доступны всем контейнерам в приложении.
На странице приложения на портале Azure выберите переменные среды в разделе "Параметры" в меню навигации слева.
На вкладке "Параметры приложения " на странице переменных среды нажмите кнопку "Добавить".
В области параметров приложения "Добавление и изменение" введите следующие значения:
- Имя: APPLICATIONINSIGHTS_CONNECTION_STRING
-
Значение: значение
APPLICATIONINSIGHTS_CONNECTION_STRING
из результатовazd provision
. Это значение также можно найти как строку подключения на странице обзора ресурса Application Insights группы ресурсов.
Нажмите «Применить», затем снова «Применить», и затем «Подтвердить». Теперь на вкладке "Параметры приложения" появится параметр APPLICATIONINSIGHTS_CONNECTION_STRING приложения.
Примечание.
Некоторые параметры приложения не применяются к приложениям с поддержкой сайдкар-архитектуры. Дополнительные сведения см. в разделе В чем различия для настраиваемых контейнеров с поддержкой сайдкара.
5. Проверка в Application Insights
Теперь otel-collector
sidecar должен экспортировать данные в Application Insights.
Перейдите к приложению на новой вкладке браузера и обновите страницу несколько раз, чтобы создать веб-запросы.
На странице группы ресурсов на портале Azure выберите ресурс Application Insights . Теперь вы должны увидеть некоторые данные на диаграммах по умолчанию на странице обзора Application Insights.
Примечание.
В этом обычном сценарии мониторинга Application Insights — это только один из целевых объектов OpenTelemetry, которые можно использовать, например Jaeger, Prometheus и Zipkin.
6. Очистка ресурсов
Если вам больше не нужна среда, созданная для этого руководства, можно удалить группу ресурсов, которая удаляет службу приложений и все связанные ресурсы. Выполните следующую команду в клонированном репозитории в среде Cloud Shell.
azd down