Como configurar a integração do APM e certificados de AC

Observação

Azure Spring Apps é o novo nome do serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns locais por um tempo enquanto trabalhamos para atualizar ativos como capturas de tela, vídeos e diagramas.

Este artigo se aplica a(o):❌ Básico/Standard ✔️ Enterprise

Este artigo mostra como configurar os certificados de Autoridade de Certificação (AC) e a integração do Monitoramento de Desempenho de Aplicativos (APM) no plano Enterprise dos Aplicativos Spring do Azure.

Você pode habilitar ou desabilitar o Tanzu Build Service em uma instância do plano Enterprise do Azure Springs Apps. Para obter mais informações, confira a seção Serviço de build sob demanda do artigo Usar o Tanzu Build Service.

Pré-requisitos

Cenários com suporte: integração do APM e certificados de AC

O Tanzu Build Service usa a vinculação de buildpacks para se integrar aos Buildpacks do Parceiro Tanzu e a outros buildpacks nativos da nuvem, como o buildpack de certificados de autoridade de certificação no GitHub.

Atualmente, o recurso Aplicativos Spring do Azure dá suporte aos seguintes tipos de APM:

  • ApplicationInsights
  • Dynatrace
  • AppDynamics
  • New Relic
  • ElasticAPM

O recurso Aplicativos Spring do Azure dá suporte aos certificados de AC para todos os buildpacks de família de idiomas, mas nem todos os APMs com suporte. A tabela a seguir mostra os tipos de vinculação compatíveis com buildpacks de família de idiomas do Tanzu.

Buildpack ApplicationInsights New Relic AppDynamics Dynatrace ElasticAPM
Java
.NET
Go
Python
NodeJS
Servidores Web
Imagem Nativa do Java
PHP

Para obter informações sobre como usar servidores web, confira Implantar arquivos estáticos da web.

O Tanzu Build Service está habilitado por padrão no recurso Aplicativos Spring do Azure Enterprise. Se optar por desabilitar o serviço de build, você poderá implantar aplicativos, mas somente usando uma imagem de contêiner personalizada. Esta seção fornece diretrizes tanto para cenários do serviço de build habilitados quanto desabilitados.

Tipos de APM com suporte

Esta seção lista os idiomas com suporte e as variáveis de ambiente necessárias para os APMs que você pode usar para suas integrações.

  • Application Insights

    Idiomas compatíveis:

    • Java

    Variáveis de ambiente necessárias para a vinculação de buildpacks:

    • connection-string

    Para obter informações sobre outras variáveis de ambiente com suporte, confira Visão Geral do Application Insights.

  • DynaTrace

    Idiomas compatíveis:

    • Java
    • .NET
    • Go
    • Node.js
    • WebServers
    • PHP

    Variáveis de ambiente necessárias para a vinculação de buildpacks:

    • api-url ou environment-id (usados na etapa de compilação)
    • api-token (usado na etapa de compilação)
    • TENANT
    • TENANTTOKEN
    • CONNECTION_POINT

    Para obter informações sobre outras variáveis de ambiente com suporte, confira Dynatrace

  • New Relic

    Idiomas compatíveis:

    • Java
    • .NET
    • Node.js
    • PHP

    Variáveis de ambiente necessárias para a vinculação de buildpacks:

    • license_key
    • app_name

    Para obter informações sobre outras variáveis de ambiente com suporte, confira New Relic

  • Elastic

    Idiomas compatíveis:

    • Java
    • Node.js
    • PHP

    Variáveis de ambiente necessárias para a vinculação de buildpacks:

    • service_name
    • application_packages
    • server_url

    Para obter informações sobre outras variáveis de ambiente com suporte, confira Elastic

  • AppDynamics

    Idiomas compatíveis:

    • Java
    • Node.js

    Variáveis de ambiente necessárias para a vinculação de buildpacks:

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

    Para obter informações sobre outras variáveis de ambiente com suporte, confira AppDynamics

As vinculações no construtor estão preteridas

Observação

Anteriormente, você gerenciava a integração do APM e os certificados de AC por meio de vinculações no construtor. As vinculações no recurso do construtor foram preteridas e serão removidas no futuro. Recomendamos que você migre o APM configurado nas vinculações. Para obter mais informações, confira a seção Migrar o APM configurado em vinculações.

Quando você usa seu próprio registro de contêiner para o serviço de build ou desabilita o serviço de build, o recurso de vinculações no construtor não fica disponível.

Quando você usa um Registro de Contêiner do Azure gerenciado para o serviço de build, o registro continua disponível para a compatibilidade com versões anteriores, mas será removido no futuro.

Se usar a CLI do Azure para criar uma instância de serviço, você poderá receber a mensagem de erro Buildpack bindings feature is deprecated, it's not available when your own container registry is used for build service or build service is disabled. Essa mensagem indica que você está usando uma versão antiga da CLI do Azure. Para corrigir esse problema, atualize a CLI do Azure. Para obter mais informações, confira Como atualizar a CLI do Azure.

Configurar a integração de APMs para builds e implantações de aplicativos

Você pode configurar o APM no recurso Aplicativos Spring do Azure das duas maneiras a seguir:

  • Gerencie as configurações do APM no nível da instância de serviço e as vincule aos builds e implantações de aplicativos ao mencioná-las. Essa abordagem é a maneira recomendada de configurar APMs.

  • Gerencie as configurações do APM por meio de vinculações no construtor e as vincule aos builds e implantações de aplicativos ao mencionar o construtor.

Observação

Essa abordagem é a maneira antiga de configurar APMs e agora está preterida. Recomendamos que você migre o APM configurado nas vinculações. Para obter mais informações, confira a seção Migrar o APM configurado em vinculações.

Agora você pode configurar o APM no recurso Aplicativos Spring do Azure ao gerenciar as configurações de APM no nível da instância do serviço e vinculá-las aos builds e implantações de aplicativos ao mencioná-las. Essa abordagem é a maneira recomendada de configurar APMs.

As seções a seguir fornecem diretrizes para ambas as abordagens.

Você pode criar uma configuração de APM e se vincular aos builds e implantações de aplicativos, conforme explicamos nas seções a seguir.

Gerenciar a configuração do APM no recurso Aplicativos Spring do Azure

Você pode gerenciar a integração do APM configurando as propriedades ou segredos na configuração do APM usando o portal do Azure ou a CLI do Azure.

Observação

Ao configurar propriedades ou segredos por meio de configurações do APM, use nomes de chave sem o nome do APM como prefixo. Por exemplo, não use um prefixo DT_ para o Dynatrace ou APPLICATIONINSIGHTS_ para o Application Insights. Os buildpacks de APM do Tanzu transformarão o nome da chave no nome da variável de ambiente original com um prefixo.

Se pretende substituir ou configurar algumas propriedades ou segredos, como o nome do aplicativo ou o nível de aplicativo, você precisará definir variáveis de ambiente ao implantar um aplicativo com as variáveis de ambiente originais, tendo o nome do APM como prefixo.

Use as seguintes etapas para mostrar, adicionar, editar ou excluir uma configuração de APM:

  1. Abra o Portal do Azure.

  2. No painel de navegação, selecione APM.

  3. Para criar uma configuração de APM, selecione Adicionar. Se quiser habilitar a configuração de APM globalmente, selecione Habilitar globalmente. Todos os builds e implantações subsequentes usarão a configuração do APM automaticamente.

    Captura de tela do portal do Azure mostrando a página de configuração do APM com o botão Adicionar realçado.

  4. Para ver ou editar uma configuração do APM, selecione o botão de reticências (...) para a configuração e, em seguida, selecione Editar APM.

    Captura de tela do portal do Azure mostrando a página de configuração do APM com a opção

  5. Para excluir uma configuração do APM, selecione o botão de reticências (...) para a configuração e, em seguida, selecione Excluir. Se a configuração do APM estiver sendo usada por qualquer compilação ou implantação, você não poderá excluí-la.

    Captura de tela do portal do Azure mostrando a página de configuração do APM com o botão Excluir realçado.

Use as seguintes etapas para ver as configurações do APM vinculadas ao build:

  1. Navegue até a página do Serviço de Build para a sua instância dos Aplicativos Spring do Azure.

    Captura de tela do portal do Azure mostrando a página do serviço de build com o build atual na lista.

  2. No painel de navegação, na seção Configurações, selecione Vinculações do APM.

  3. Na página Vinculações do APM, veja as configurações do APM vinculadas ao build.

    Captura de tela da página de vinculações do APM mostrando as configurações do APM vinculadas ao build.

Use as seguintes etapas para ver as configurações do APM vinculadas à implantação:

  1. Navegue até a página do seu aplicativo.

  2. No painel de navegação, na seção Configurações, selecione Vinculações do APM.

  3. Na página de Vinculações do APM, veja as configurações do APM vinculadas à implantação.

    Captura de tela da página de vinculações do APM mostrando as configurações do APM vinculadas à implantação.

Para obter mais informações sobre os parâmetros properties e secrets para o seu buildpack, confira a seção Cenários com suporte: APM e integração de certificados de AC.

Vincular-se aos builds e implantações de aplicativo

Para um serviço de build que usa um Registro de Contêiner do Azure gerenciado, use o seguinte comando para integrar o APM às suas implantações:

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>

Se você habilitar uma configuração do APM globalmente, os builds e implantações subsequentes irão usá-la automaticamente e será desnecessário especificar o parâmetro --apms. Se quiser substituir a configuração do APM habilitada globalmente para uma implantação, especifique as configurações do APM por meio do parâmetro --apms.

Para um serviço de build que usa seu próprio registro de contêiner, você pode criar um aplicativo em uma imagem de contêiner e implantar a imagem nas instâncias atuais ou de outro serviço dos Aplicativos Spring do Azure Enterprise.

Fornecer seu próprio registro de contêiner separa a compilação da implantação. Você pode usar o comando de build para criar ou atualizar um build com um construtor e, em seguida, usar o comando de implantação para implantar a imagem de contêiner no serviço.

Use o seguinte comando para criar uma imagem e configurar o 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>

Se você habilitar uma configuração do APM globalmente, os builds e implantações subsequentes irão usá-la automaticamente e será desnecessário especificar o parâmetro --apms. Se quiser substituir a configuração do APM habilitada globalmente para um build, especifique as configurações do APM por meio do parâmetro --apms.

Use o comando a seguir para implantar o aplicativo com a imagem de contêiner criada anteriormente e configurar o APM. Você pode usar a configuração de APM habilitada globalmente ou usar o parâmetro --apms para especificar a configuração do 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>

Se desabilitar o serviço de build, você só poderá implantar um aplicativo com uma imagem de contêiner. Para obter mais informações, confira Implantar um aplicativo com uma imagem de contêiner personalizada.

Você pode usar diversas instâncias dos Aplicativos Spring do Azure Enterprise, sendo que algumas instâncias criam e implantam imagens e outras apenas implantam imagens. Considere o cenário a seguir.

Para uma instância, você habilita o serviço de build com um registro de contêiner de usuário. A seguir, você compila a partir de um arquivo de artefato ou código-fonte com APM ou um certificado de AC em uma imagem de contêiner. Depois disso você pode implantar na instância atual dos Aplicativos Spring do Azure ou em outras instâncias de serviço. Para obter mais informações, confira a seção Compilar e implantar aplicativos poliglotas do artigo Como implantar aplicativos poliglotas nos Aplicativos Spring do Azure Enterprise.

Em outra instância com o serviço de build desabilitado, você implanta um aplicativo com a imagem de contêiner no seu registro e também faz uso do APM.

Nesse cenário, você pode usar a configuração do APM habilitada globalmente ou usar o parâmetro --apms para especificar a configuração do APM, conforme mostrado no exemplo a seguir:

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>

Gerenciar APMs por meio de vinculações no construtor (preterido)

Quando o serviço de build usa o registro de contêineres gerenciados dos Aplicativos Spring do Azure, você pode criar um aplicativo para uma imagem e implantá-lo, mas somente dentro da instância atual do serviço Aplicativos Spring do Azure.

Gerenciar configurações do APM por meio de vinculações no construtor

Você pode gerenciar as configurações do APM por meio de vinculações no construtor. Para obter mais informações, confira a seção Gerenciar vinculações no construtor dos Aplicativos Spring do Azure (preterido).

Vincular-se aos builds e implantações de aplicativo

Use o comando a seguir para integrar o APM às suas implantações. O APM é configurado por meio de vinculações no construtor:

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>

Habilitar o Application Insights ao criar a instância de serviço

Se você habilitar o Application Insights ao criar uma instância de serviço, as seguintes condições irão se aplicar:

  • Se você usar um Registro de Contêiner do Azure gerenciado para o serviço de build, o Application Insights estará vinculado às vinculações no construtor padrão.
  • Se você usar seu próprio registro de contêiner para o serviço de build ou desabilitar o serviço de build, uma configuração padrão do APM será criada para o Application Insights. O APM padrão é habilitado globalmente e todos os builds e implantações subsequentes irão usá-lo automaticamente.

Configurar certificados de AC para builds e implantações de aplicativos

Você pode configurar certificados de AC no recurso Aplicativos Spring do Azure das duas maneiras a seguir:

  • Você pode gerenciar certificados públicos nas configurações de TLS/SSL e vinculá-los aos builds e implantações de aplicativo ao mencioná-los Essa abordagem é a maneira recomendada de configurar certificados de AC.
  • Você pode gerenciar certificados públicos nas configurações de TLS/SSL e vincular certificados de AC por meio de vinculações no construtor. Para obter mais informações, confira a seção Gerenciar vinculações no construtor dos Aplicativos Spring do Azure (preterido).

Observação

Essa abordagem é a maneira antiga de configurar certificados de AC e foi preterida. Recomendamos que você migre o certificado de AC configurado em vinculações. Para obter mais informações, confira a seção Migrar o certificado AC configurado em vinculações.

Agora você pode gerenciar certificados públicos nas configurações de TLS/SSL e vinculá-los aos builds e implantações de aplicativo ao mencioná-los. Essa abordagem é a maneira recomendada de configurar certificados de AC.

Para gerenciar certificados públicos no nível da instância de serviço, confira a seção Importar um certificado do artigo Usar certificados TLS/SSL no seu aplicativo dos Aplicativos Spring do Azure. Em seguida, siga uma das abordagens descritas nas seções a seguir para vincular certificados de AC aos builds e implantações de aplicativos.

Vincular certificados de AC aos builds e implantações de aplicativo

Para obter informações sobre como vincular certificados de AC a implantações, confira a seção Carregar um certificado do artigo Usar certificados TLS/SSL no seu aplicativo nos Aplicativos Spring do Azure. Em seguida, use as instruções a seguir para se vincular aos builds de aplicativo.

Se você habilitar o serviço de build e usar um Registro de Contêiner do Azure gerenciado, use o seguinte comando para integrar os certificados de AC à sua implantação:

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>

Se você usar seu próprio registro de contêiner para o serviço de build ou desabilitar o serviço de build, use o seguinte comando para integrar os certificados de AC ao seu build:

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>

Ver certificados de AC vinculados aos builds de aplicativo

Use as seguintes etapas para ver os certificados de AC vinculados ao build:

  1. Navegue para a página do seu build.

    Captura de tela do portal do Azure mostrando a página do serviço de build com o build atual na lista.

  2. No painel de navegação, na seção Configurações, selecione Vinculações de certificado.

  3. Na página Vinculações de certificado, veja os certificados de AC vinculados ao build.

    Captura de tela da página de vinculações de certificado mostrando os certificados de AC vinculados ao build.

Vincular certificados de AC por meio de vinculações no construtor (preterido)

Os certificados de AC usam o buildpack de certificados de autoridade de certificação para dar suporte ao fornecimento de certificados de AC para o repositório de confiança do sistema na compilação e no runtime.

No plano Enterprise dos Aplicativos Spring do Azure, os certificados de AC usam a guia Certificados de Chave Pública na página de Configurações do TLS/SSL no portal do Azure, conforme mostrado na captura de tela a seguir:

Captura de tela do portal do Azure mostrando a seção Certificados de Chave Pública da página de configurações do TLS/SSL.

Você pode configurar os certificados de AC na página Editar vinculação. Os certificados succeeded são mostrados na lista de certificados de AC.

Captura de tela do portal do Azure mostrando a página

Gerenciar vinculações no construtor dos Aplicativos Spring do Azure (preterido)

Esta seção se aplica somente a uma instância de serviço dos Aplicativos Spring do Azure Enterprise com o serviço de build habilitado. Com o serviço de build habilitado, uma vinculação de buildpack significa a configuração de uma credencial baseada em um tipo de APM ou a configuração de certificados de AC baseados no tipo de certificados de AC. Para a integração do APM, siga as instruções anteriores para configurar as variáveis de ambiente ou segredos necessários para o seu APM.

Observação

Ao configurar variáveis de ambiente para associações do APM, use nomes de chave sem prefixo. Por exemplo, não use um prefixo DT_ para uma vinculação Dynatrace ou APPLICATIONINSIGHTS_ para o Application Insights. Os buildpacks de APM do Tanzu transformarão o nome da chave no nome da variável de ambiente original com um prefixo.

É possível gerenciar associações de buildpack com o portal do Azure ou a CLI do Azure.

Use as seguintes etapas para ver as vinculações de buildpacks:

  1. No portal do Azure, vá para a instância de serviço do recurso Aplicativos Spring do Azure Enterprise.

  2. No painel de navegação, selecione Serviço de Build.

  3. Selecione Editar na coluna Vinculações para ver as vinculações configuradas para um construtor.

    Captura de tela do portal do Azure mostrando a página do Serviço de Build com o link

  4. Revise as vinculações na página Editar vinculação para o construtor padrão.

    Captura de tela do portal do Azure mostrando a página

Criar uma associação de buildpack

Para criar uma vinculação de buildpack, selecione Não vinculado na página Editar vinculações e, a seguir, especifique as propriedades da vinculação e selecione Salvar.

Remover uma associação de buildpack

Você pode desvincular uma vinculação de buildpack usando o comando Desvincular vinculação ou editando as propriedades da vinculação.

Para usar o comando Remover associação, selecione o hiperlink Associado e a opção Remover associação.

Captura de tela do portal do Azure Editar vinculações para a página do construtor padrão com a opção Desvincular vinculação destacada para um tipo de vinculação selecionado.

Para remover uma associação de buildpack editando propriedades de associação, selecione Editar Associação e Remover associação.

Captura de tela do portal do Azure mostrando a página

Quando você remover uma associação, o status de associação será alterado de Associado para Não associado.

Migrar o APM e os certificados de AC das vinculações no construtor

O recurso de vinculações no construtor foi preterido e será removido no futuro. Recomendamos que você migre as vinculações presentes no construtor.

Você pode configurar o APM e os certificados de AC em vinculações emigrá-los usando as seções a seguir.

Migrar o APM configurado em vinculações

Na maioria dos casos de uso, existe apenas um APM configurado nas vinculações do construtor padrão. Você pode criar uma nova configuração de APM com a mesma configuração nas vinculações e habilitar essa configuração do APM globalmente. Todas os builds e implantações subsequentes irão usar essa configuração automaticamente. Use as etapas a seguir para migrar:

  1. Use o seguinte comando para criar uma configuração de 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. Use o seguinte comando para habilitar a configuração de APM globalmente:

    az spring apm enable-globally \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-name> \
    
  3. Use o seguinte comando para reimplantar todos os aplicativos para usar a nova configuração de APM habilitada globalmente:

    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. Verifique se a nova configuração de APM funciona para todos os aplicativos. Se tudo funcionar bem, use o seguinte comando para remover as vinculações do APM no construtor:

    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>
    

Se existirem várias APMs configuradas nas vinculações, você poderá criar várias configurações de APM com a mesma configuração nas vinculações e habilitar a configuração do APM globalmente, se aplicável. Use o parâmetro --apms para especificar uma configuração de APM para uma implantação se você quiser substituir o APM habilitado globalmente, conforme mostrado no seguinte comando:

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>

Durante o processo de migração, o APM fica configurado tanto nas vinculações quanto na configuração do APM. Nesse caso, a configuração de APM é implementada e a vinculação é ignorada.

Migrar o certificado de AC configurado em vinculações

Use as seguintes etapas para migrar um certificado de CA:

  1. Para um certificado de autoridade de AC configurado na vinculação, você pode carregar o certificado no seu aplicativo. Para obter mais informações, confira a seção Carregar um certificado do artigo Usar certificados TLS/SSL em seu aplicativo nos Aplicativos Spring do Azure.

  2. Use o comando a seguir para reimplantar todos os aplicativos usando o certificado de AC. Se você usar o certificado no momento da compilação, use o parâmetro --build-certificates para especificar o certificado de AC a ser usado para uma implantação no momento da compilação:

    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. Verifique se o certificado de autoridade de AC funciona para todos os aplicativos que o estão usando. Se tudo funcionar bem, use o seguinte comando para remover as vinculações de certificado de AC no construtor:

    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>
    

Próximas etapas