Поделиться через


Как настроить интеграцию APM и сертификаты удостоверяющих центров

Примечание.

Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

План стандартного потребления и выделенный план вошли в период вывода из эксплуатации 30 сентября 2024 года, с полным завершением работы к концу марта 2025 года. Дополнительные сведения см. в статье "Миграция стандартного и выделенного плана потребления Azure Spring Apps в Azure Container Apps".

Эта статья относится к: ❎ Basic/Standard ✅ Enterprise

В этой статье показано, как настроить интеграцию монитора производительности приложений (APM) и сертификаты центра сертификации (ЦС) в плане Azure Spring Apps Enterprise.

Вы можете включить или отключить службу сборки Tanzu на экземпляре плана Azure Spring Apps Enterprise. Дополнительные сведения см. в разделе Служба сборки по запросу в разделе Использование Tanzu Build Service.

Предварительные условия

Поддерживаемые сценарии — интеграция сертификатов APM и сертификационных центров (ЦС)

Служба сборки Tanzu использует привязку buildpack для интеграции с Tanzu Partner Buildpacks и других облачных собственных пакетов сборки, таких как пакет сборки ca-certificates на GitHub.

В настоящее время Azure Spring Apps поддерживает следующие типы APM:

  • ApplicationInsights
  • Dynatrace
  • AppDynamics
  • New Relic
  • ElasticAPM

Azure Spring Apps поддерживает сертификаты УЦ для всех сборок для различных языковых семей, но не все поддерживаемые средства APM. В следующей таблице показаны типы привязок, поддерживаемые пакетами сборок семейства языков Tanzu.

Buildpack ApplicationInsights New Relic AppDynamics Dynatrace ElasticAPM
Java
.NET
Иди
Python
Node.js
Веб-серверы
Собственный образ Java
PHP

Сведения об использовании веб-серверов см. в разделе "Развертывание статических веб-файлов".

Служба сборки Tanzu включена по умолчанию в Azure Spring Apps Enterprise. Если вы решили отключить службу сборки, вы можете развертывать приложения, но только с помощью пользовательского образа контейнера. В этом разделе содержатся рекомендации для сценариев как с включенными, так и с отключенными службами сборки.

Поддерживаемые типы APM

В этом разделе перечислены поддерживаемые языки и обязательные переменные среды для API, которые можно использовать для интеграции.

  • Application Insights

    Поддерживаемые языки:

    • Java

    Переменные среды, необходимые для привязки buildpack:

    • connection-string

    Сведения о других поддерживаемых переменных среды см. в разделе "Обзор Application Insights".

  • DynaTrace

    Поддерживаемые языки:

    • Java
    • .NET
    • Иди
    • Node.js
    • Веб-серверы
    • PHP

    Переменные среды, необходимые для привязки buildpack:

    • api-url или environment-id (используется в шаге сборки)
    • api-token (используется в шаге сборки)
    • TENANT
    • TENANTTOKEN
    • CONNECTION_POINT

    Сведения о других поддерживаемых переменных среды см. в разделе Dynatrace

  • New Relic

    Поддерживаемые языки:

    • Java
    • .NET
    • Node.js
    • PHP

    Переменные среды, необходимые для связывания с buildpack:

    • license_key
    • app_name

    Другие поддерживаемые переменные среды см. в разделе New Relic

  • Elastic

    Поддерживаемые языки:

    • Java
    • Node.js
    • PHP

    Переменные среды, необходимые для привязки buildpack:

    • service_name
    • application_packages
    • server_url

    Сведения о других поддерживаемых переменных среды см. в разделе Elastic

  • AppDynamics

    Поддерживаемые языки:

    • Java
    • Node.js

    Переменные среды, необходимые для привязки buildpack:

    • agent_application_name
    • agent_tier_name
    • agent_node_name
    • agent_account_name
    • agent_account_access_key
    • controller_host_name
    • controller_ssl_enabled
    • controller_port

    Другие поддерживаемые переменные среды см. в разделе AppDynamics

Привязки в конструкторе устарели.

Примечание.

Ранее вы управляли интеграцией APM и сертификатами УЦ с помощью привязок в конструкторе. Привязки в компоненте построителя устарели и удаляются в будущем. Рекомендуется перенести APM, настроенный в привязках. Для получения дополнительной информации см. раздел «Мигрируйте APM, настроенный в привязках».

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

При использовании управляемого реестра контейнеров Azure для службы сборки реестр по-прежнему доступен для обратной совместимости, но будет удалён в будущем.

При использовании Azure CLI для создания экземпляра службы может появиться сообщение Buildpack bindings feature is deprecated, it's not available when your own container registry is used for build service or build service is disabledоб ошибке. Это сообщение означает, что вы используете старую версию Azure CLI. Чтобы устранить эту проблему, обновите Azure CLI. Дополнительные сведения см. в статье Как обновить Azure CLI.

Настройка интеграции APM для сборок и развертываний приложений

APM можно настроить в Azure Spring Apps следующими способами:

  • Управление конфигурациями APM на уровне экземпляра службы и их привязка к сборкам и развертываниям приложений посредством ссылок на них. Этот подход является рекомендуемым способом настройки APM.

  • Управляйте конфигурациями APM через привязки в построителе и привязывайте к сборкам и развертываниям приложений, ссылаясь на построителя.

Примечание.

Этот подход является старым способом настройки APM, и теперь он устарел. Рекомендуется перенести APM, настроенный в привязках. Дополнительную информацию вы найдете в разделе «Миграция APM, настроенного в привязках».

Теперь вы можете настроить APM в Azure Spring Apps, управляя конфигурациями APM на уровне экземпляра службы и привязываясь к сборкам и развертываниям приложений, ссылаясь на них. Этот подход является рекомендованным способом настройки APM.

В следующих разделах приведены рекомендации по обоим из этих подходов.

Конфигурацию APM можно создать и привязать к сборкам и развертываниям приложений, как описано в следующих разделах.

Управление конфигурацией APM в Azure Spring Apps

Вы можете управлять интеграцией APM, настраивая свойства или секреты в конфигурации APM с помощью портал Azure или Azure CLI.

Примечание.

При настройке свойств или секретов с помощью конфигураций APM используйте имена ключей без имени APM в качестве префикса. Например, не используйте DT_ префикс для Dynatrace или APPLICATIONINSIGHTS_ Application Insights. Сборки Tanzu APM преобразуют имя ключа в исходное имя переменной среды с префиксом.

Если вы планируете переопределить или настроить некоторые свойства или секреты, например имя приложения или уровень приложения, необходимо задать переменные среды при развертывании приложения с исходными переменными среды с именем APM в качестве префикса.

Чтобы отобразить, добавить, изменить или удалить конфигурацию APM, выполните следующие действия.

  1. Откройте портал Azure.

  2. В области навигации выберите APM.

  3. Чтобы создать конфигурацию APM, нажмите кнопку "Добавить". Если вы хотите включить конфигурацию APM глобально, выберите "Включить глобально". Все последующие сборки и развертывания используют конфигурацию APM автоматически.

    Снимок экрана: портал Azure, на которой показана страница конфигурации APM с выделенной кнопкой

  4. Чтобы просмотреть или изменить конфигурацию APM, нажмите кнопку с многоточием (...) для конфигурации, а затем нажмите кнопку "Изменить APM".

    Снимок экрана: портал Azure с страницей конфигурации APM с выбранным параметром

  5. Чтобы удалить конфигурацию APM, нажмите кнопку с многоточием (...) для конфигурации, а затем нажмите кнопку "Удалить". Если конфигурация APM используется любой сборкой или развертыванием, ее невозможно удалить.

    Снимок экрана: портал Azure со страницей конфигурации APM с выделенной кнопкой

Чтобы просмотреть конфигурации APM, привязанные к сборке, выполните следующие действия.

  1. Перейдите на страницу "Служба сборки" для экземпляра Azure Spring Apps.

    Снимок экрана: портал Azure со страницей службы сборки с текущей сборкой в списке.

  2. В области навигации, в разделе Параметры, выберите привязки APM.

  3. На странице привязок APM вы можете просмотреть конфигурации APM, связанные со сборкой.

    Снимок экрана: страница привязок APM с конфигурацией APM, привязанной к сборке.

Чтобы просмотреть конфигурации APM, привязанные к развертыванию, выполните следующие действия.

  1. Перейдите на страницу приложения.

  2. В области навигации в разделе "Параметры" выберите привязки APM.

  3. На странице привязок APM просмотрите конфигурации APM, привязанные к развертыванию.

    Снимок экрана: страница привязок APM с конфигурацией APM, привязанной к развертыванию.

Дополнительные сведения о параметрах properties и secrets для вашего пакета сборки см. в разделе «Поддерживаемые сценарии — интеграция APM и сертификатов ЦС».

Привязка к сборкам и развертываниям приложений

Для службы сборки, используюющей управляемый Реестр контейнеров Azure, используйте следующую команду, чтобы интегрировать APM в развертывания:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

Когда вы включаете конфигурацию APM глобально, все последующие сборки и развертывания используют его автоматически, и не требуется указывать --apms этот параметр. Если вы хотите переопределить конфигурацию APM, включенную глобально для развертывания, укажите конфигурации APM с помощью --apms параметра.

Для службы сборки, использующей собственный реестр контейнеров, можно создать образ контейнера из приложения и развернуть его на текущих или других экземплярах службы Azure Spring Apps Enterprise.

Предоставление собственного реестра контейнеров отделяет сборку от развертывания. Вы можете использовать команду сборки для создания или обновления сборки с помощью средства сборки, а затем использовать команду развертывания для развертывания образа контейнера в службу.

Чтобы создать образ и настроить APM, используйте следующую команду:

az spring build-service build <create|update> \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

Когда вы включаете конфигурацию APM глобально, все последующие сборки и развертывания используют его автоматически, и не требуется указывать --apms этот параметр. Если вы хотите переопределить конфигурацию APM, включенную глобально для сборки, укажите конфигурации APM с помощью --apms параметра.

Используйте следующую команду, чтобы развернуть приложение с помощью образа контейнера, созданного ранее, и настроить APM. Конфигурацию APM можно использовать глобально или с помощью параметра --apms указать конкретную конфигурацию APM.

az spring app deploy \
   --resource-group <resource-group-name> \
   --service <Azure-Spring-Apps-instance-name> \
   --name <app-name> \
   --container-image <your-container-image> \
   --container-registry <your-container-registry> \
   --registry-password <your-password> \
   --registry-username <your-username> \
   --apms <your-APM>

При отключении службы сборки можно развернуть приложение только с помощью образа контейнера. Дополнительные сведения см. в «Развертывание приложения с пользовательским образом контейнера».

Вы можете использовать несколько экземпляров Azure Spring Apps Enterprise, где некоторые экземпляры создают и развертывают образы, а другие — только развертывать образы. Рассмотрим следующий сценарий:

Например, вы включите службу сборки с реестром пользовательских контейнеров. Затем вы создаете образ контейнера из файла артефакта или исходного кода с помощью APM или сертификата ЦС. Затем можно развернуть на текущем экземпляре Azure Spring Apps или других экземплярах служб. Дополнительные сведения см. в разделе "Сборка и развертывание приложений polyglot" статьи "Развертывание приложений polyglot в Azure Spring Apps Enterprise".

В другом сценарии, с отключённой службой сборки, вы развертываете приложение с образом контейнера в своем реестре и используете APM.

В этом сценарии можно глобально использовать конфигурацию APM или использовать --apms параметр для указания конфигурации APM, как показано в следующем примере:

az spring app deploy \
   --resource-group <resource-group-name> \
   --service <Azure-Spring-Apps-instance-name> \
   --name <app-name> \
   --container-image <your-container-image> \
   --container-registry <your-container-registry> \
   --registry-password <your-password> \
   --registry-username <your-username> \
   --apms <your-APM>

Управление APM с помощью привязок в конструкторе (устаревшее)

Когда служба сборки использует управляемый реестр контейнеров Azure Spring Apps, вы можете создать приложение на образ, а затем развернуть его, но только в текущем экземпляре службы Azure Spring Apps.

Управление конфигурациями APM с помощью привязок в построителе

Конфигурации APM можно управлять с помощью привязок в построителе. Дополнительные сведения см. в разделе "Управление привязками в построителе" в Azure Spring Apps (не рекомендуется).

Привязка к сборкам и развертываниям приложений

Используйте следующую команду, чтобы интегрировать APM в ваши развертывания. APM настраивается с помощью привязок в конструкторе.

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --artifact-path <path-to-your-JAR-file>

Включите Application Insights при создании экземпляра службы

Если включить Application Insights при создании экземпляра службы, применяются следующие условия:

  • Если для службы сборки используется управляемый Реестр контейнеров Azure, Application Insights привязана к привязкам в построителе по умолчанию.
  • Если вы используете собственный реестр контейнеров для службы сборки или отключите службу сборки, для Application Insights создается конфигурация APM по умолчанию. APM по умолчанию включен глобально, а все последующие сборки и развертывания используются автоматически.

Настройка сертификатов ЦС для сборок и развертываний приложений

Сертификаты ЦС можно настроить в Azure Spring Apps следующими способами:

  • Вы можете управлять общедоступными сертификатами в параметрах TLS/SSL и привязывать к сборкам и развертываниям приложений, ссылаясь на них. Рекомендуется использовать этот подход для настройки сертификатов ЦС.
  • Вы можете управлять общедоступными сертификатами в параметрах TLS/SSL и привязывать сертификаты ЦС с помощью привязок в построителе. Дополнительные сведения см. в разделе "Управление привязками в построителе" в Azure Spring Apps (не рекомендуется).

Примечание.

Этот подход является старым способом настройки сертификатов ЦС и не рекомендуется. Рекомендуется перенести сертификат ЦС, настроенный в привязках. Для получения дополнительной информации см. раздел "Миграция сертификата ЦС, настроенного в привязках".

Теперь вы можете управлять общедоступными сертификатами в параметрах TLS/SSL и привязать к сборкам и развертываниям приложений, ссылаясь на них. Этот подход является рекомендуемым способом настройки сертификатов ЦС.

Чтобы управлять общедоступными сертификатами на уровне экземпляра службы, см. раздел Импорт сертификата в Использование TLS/SSL сертификатов в вашем приложении в Azure Spring Apps. Затем выполните один из подходов, описанных в следующих разделах, чтобы привязать сертификаты ЦС к сборкам и развертываниям приложений.

Привязка сертификатов ЦС к сборкам и развертываниям приложений

Сведения о том, как привязать сертификаты ЦС к развертываниям, см. в разделе "Загрузка сертификата" документации "Использование сертификатов TLS/SSL в вашем приложении в Azure Spring Apps". Затем используйте следующие инструкции, чтобы привязаться к сборкам приложений.

Когда вы включаете службу сборки и используете управляемый реестр контейнеров Azure, используйте следующую команду для интеграции сертификатов центра сертификации в ваше развертывание.

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --build-certificates <CA certificate-name> \
    --artifact-path <path-to-your-JAR-file>

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

az spring build-service build <create|update> \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --certificates <CA certificate-name> \
    --artifact-path <path-to-your-JAR-file>

Просмотр сертификатов центра сертификации, привязанных к сборкам приложений

Чтобы просмотреть сертификаты ЦС, привязанные к сборке, выполните следующие действия.

  1. Перейдите на страницу сборки.

    Снимок экрана: портал Azure со страницей службы сборки с текущей сборкой в списке.

  2. В области навигации в разделе "Параметры" выберите привязки сертификатов.

  3. На странице "Привязки сертификатов" просмотрите сертификаты ЦС, привязанные к сборке.

    Снимок экрана: страница привязки сертификатов с сертификатами ЦС, привязанными к сборке.

Привязка сертификатов ЦС с помощью привязок в конструкторе (устарело)

Сертификаты ЦС используют пакет сборки ca-certificates для поддержки предоставления сертификатов ЦС в хранилище доверия системы во время сборки и времени выполнения.

В плане Azure Spring Apps Enterprise сертификаты ЦС используют вкладку "Сертификаты открытого ключа" на странице настроек TLS/SSL в портале Azure, как показано на следующем экране.

Снимок экрана: портал Azure с разделом

Сертификаты ЦС можно конфигурировать на странице "Изменение привязки". Сертификаты succeeded отображаются в списке сертификатов ЦС.

Скриншот портала Azure, показывающий страницу редактирования привязок для построителя по умолчанию, с открытой панелью редактирования привязок для сертификатов удостоверяющего центра.

Управление связями в конструкторе в Azure Spring Apps (устарело)

Этот раздел применяется только к экземпляру службы Azure Spring Apps Enterprise с включенной службой сборки. Если служба сборки включена, одна привязка buildpack означает либо настройку учетных данных для одного типа APM, либо настройку сертификатов CA для типа сертификатов CA. Чтобы интегрировать APM, следуйте приведенным выше инструкциям, чтобы настроить необходимые переменные среды или секреты для APM.

Примечание.

При настройке переменных среды для привязок APM используйте имена ключей без префикса. Например, не используйте префикс DT_ для привязки Dynatrace или APPLICATIONINSIGHTS_ для Application Insights. Сборки Tanzu APM преобразуют имя ключа в исходное имя переменной среды с префиксом.

Вы можете управлять привязками пакетов сборки с помощью портала Azure или Azure CLI.

Чтобы просмотреть привязки пакета сборки, выполните следующие действия.

  1. Перейдите в портал Azure к экземпляру службы Azure Spring Apps Enterprise.

  2. В области навигации выберите "Служба сборки".

  3. Выберите "Изменить" в столбце "Привязки", чтобы просмотреть привязки , настроенные для построителя.

    Снимок экрана: портал Azure с страницей

  4. Просмотрите привязки на странице "Изменение привязки" для построителя по умолчанию.

    Снимок экрана: портал Azure с страницей

Создание привязки для buildpack

Чтобы создать привязку buildpack, выберите "Отменить подключение " на странице "Изменить привязки", укажите свойства привязки и нажмите кнопку "Сохранить".

Отмена привязки пакета сборки

Привязку сборки можно отменить с помощью команды отмены привязки или изменить свойства привязки .

Чтобы использовать команду "Отменить привязку", выберите гиперссылку "Привязка", а затем выберите "Отменить привязку".

Снимок экрана страницы портала Azure изменения привязок на странице построителя по умолчанию с выделенной опцией

Чтобы отменить привязку сборки, изменив свойства привязки, выберите "Изменить привязку", а затем выберите "Отменить привязку".

Снимок экрана портала Azure с выделенной кнопкой

При отмене привязки состояние привязки изменяется с "Привязка " на "Отмена подключения".

Перенос сертификатов APM и Центра сертификации из привязок в конструкторе

Функция привязок в построителе устарела и будет удалена в будущем. Мы рекомендуем перенести привязки в построителе.

Сертификаты APM и ЦС можно настроить в настройках привязок и мигрировать их, используя следующие разделы.

Перенесите APM, который сконфигурирован в привязках

В большинстве случаев используется только один APM, настроенный в привязках в построителе по умолчанию. Вы можете создать новую конфигурацию APM с той же конфигурацией в привязках и включить эту конфигурацию APM глобально. Все последующие сборки и развертывания используют эту конфигурацию автоматически. Чтобы выполнить миграцию, выполните следующие действия.

  1. Чтобы создать конфигурацию APM, используйте следующую команду:

    az spring apm create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-name> \
        --type <your-APM-type> \
        --properties a=b c=d \
        --secrets e=f g=h
    
  2. Используйте следующую команду, чтобы глобально включить конфигурацию APM:

    az spring apm enable-globally \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-name> \
    
  3. Используйте следующую команду, чтобы повторно развернуть все приложения, чтобы использовать новую конфигурацию APM, включенную глобально:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --builder <builder-name> \
        --artifact-path <path-to-your-JAR-file>
    
  4. Убедитесь, что новая конфигурация APM работает для всех приложений. Если все работает хорошо, используйте следующую команду, чтобы удалить привязки APM в построителе:

    az spring build-service builder buildpack-binding delete \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-buildpack-binding-name> \
        --builder-name <your-builder-name>
    

Если в привязках настроено несколько APM, можно создать несколько конфигураций APM с той же конфигурацией в привязках и включить конфигурацию APM глобально, если это применимо. Используйте параметр --apms, чтобы указать конфигурацию APM для развертывания, если вы хотите переопределить глобально включённый APM, как показано в следующей команде.

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

В процессе миграции APM настраивается как в привязках, так и в настройках конфигурации APM. В этом случае конфигурация APM вступает в силу, и привязка игнорируется.

Перенос сертификата ЦС, настроенного в привязках

Чтобы перенести сертификат ЦС, выполните следующие действия.

  1. Для сертификата ЦС, настроенного в привязке, если он используется во время выполнения программы, вы можете загрузить сертификат в ваше приложение. Дополнительные сведения см. в разделе "Загрузка сертификата " в разделе "Использование TLS/SSL-сертификатов" в приложении в Azure Spring Apps.

  2. Используйте следующую команду, чтобы повторно развернуть все приложения, используя сертификат ЦС. Если сертификат используется во время сборки, используйте --build-certificates параметр, чтобы указать сертификат ЦС, используемый во время сборки для развертывания:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --builder <builder-name> \
        --build-certificates <CA certificate-name> \
        --artifact-path <path-to-your-JAR-file>
    
  3. Проверьте, работает ли сертификат ЦС для всех приложений, использующих его. Если все работает хорошо, используйте следующую команду, чтобы удалить привязки сертификатов ЦС в построителе:

    az spring build-service builder buildpack-binding delete \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-CA-certificate-buildpack-binding-name> \
        --builder-name <your-builder-name>
    

Следующие шаги