Share via


Como configurar a integração APM e certificados de CA

Nota

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

Este artigo aplica-se a:❌ Basic/Standard ✔️ Enterprise

Este artigo mostra como configurar a integração do monitor de desempenho do aplicativo (APM) e os certificados da autoridade de certificação (CA) no plano do Azure Spring Apps Enterprise.

Você pode habilitar ou desabilitar o Tanzu Build Service em uma instância do plano do Azure Springs Apps Enterprise. Para obter mais informações, consulte a seção Build service on demand de Use Tanzu Build Service.

Pré-requisitos

Cenários suportados - integração de certificados APM e CA

O Tanzu Build Service usa a vinculação buildpack para integrar com o Tanzu Partner Buildpacks e outros buildpacks nativos da nuvem, como o buildpack ca-certificates no GitHub.

Atualmente, o Azure Spring Apps suporta os seguintes tipos de APM:

  • ApplicationInsights
  • Dynatrace
  • AppDynamics
  • New Relic
  • ElasticAPM

O Azure Spring Apps dá suporte a certificados de CA para todos os pacotes de compilação da família de idiomas, mas nem todos os APMs com suporte. A tabela a seguir mostra os tipos de vinculação suportados pelos buildpacks da família de idiomas Tanzu.

Pacote de construção ApplicationInsights New Relic AppDynamics Dynatrace ElasticAPM
Java
.NET
Go
Python
NodeJS
Servidores Web
Imagem nativa Java
PHP

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

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

Tipos de APM suportados

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

  • Application Insights

    Idiomas suportados:

    • Java

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

    • connection-string

    Para obter outras variáveis de ambiente suportadas, consulte Visão geral do Application Insights.

  • DynaTrace

    Idiomas suportados:

    • Java
    • .NET
    • Ir
    • Node.js
    • Servidores Web
    • PHP

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

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

    Para outras variáveis de ambiente suportadas, consulte Dynatrace

  • New Relic

    Idiomas suportados:

    • Java
    • .NET
    • Node.js
    • PHP

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

    • license_key
    • app_name

    Para outras variáveis de ambiente suportadas, consulte New Relic

  • Elástico

    Idiomas suportados:

    • Java
    • Node.js
    • PHP

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

    • service_name
    • application_packages
    • server_url

    Para outras variáveis de ambiente suportadas, consulte Elástico

  • AppDynamics

    Idiomas suportados:

    • Java
    • Node.js

    Variáveis de ambiente necessárias para a vinculação 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

    Para outras variáveis de ambiente suportadas, consulte AppDynamics

As ligações no construtor foram preteridas

Nota

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

Quando você usa seu próprio registro de contêiner para o serviço de compilação ou desabilita o serviço de compilação, o recurso de ligações no builder não está disponível.

Quando você usa um Registro de Contêiner do Azure gerenciado para o serviço de compilação, o Registro ainda está disponível para compatibilidade com versões anteriores, mas está sendo removido no futuro.

Quando você usa a CLI do Azure para criar uma instância de serviço, você pode receber a mensagem Buildpack bindings feature is deprecated, it's not available when your own container registry is used for build service or build service is disabledde erro . 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, consulte Como atualizar a CLI do Azure.

Configurar a integração do APM para compilações e implantações de aplicativos

Você pode configurar o APM no Azure Spring Apps das duas maneiras a seguir:

  • Gerencie as configurações do APM no nível da instância de serviço e associe-se a compilações e implantações de aplicativos fazendo referência a elas. Essa abordagem é a maneira recomendada de configurar o APM.

  • Gerencie configurações de APM por meio de associações no construtor e associe-se a compilações e implantações de aplicativos referindo-se ao construtor.

Nota

Essa abordagem é a maneira antiga de configurar o APM e agora foi preterida. Recomendamos que você migre o APM configurado em associações. Para obter mais informações, consulte a seção Migrar o APM configurado em associações .

Agora você pode configurar o APM no Azure Spring Apps gerenciando configurações de APM no nível da instância de serviço e vincular a compilações e implantações de aplicativos fazendo referência a elas. Essa abordagem é a maneira recomendada de configurar o APM.

As seções a seguir fornecem orientação para ambas as abordagens.

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

Gerenciar a configuração do APM no Azure Spring Apps

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

Nota

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

Se você pretende substituir ou configurar algumas propriedades ou segredos, como nome do aplicativo ou nível do aplicativo, precisará definir variáveis de ambiente ao implantar um aplicativo com as variáveis de ambiente originais com o nome 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 do APM globalmente, selecione Habilitar globalmente. Todas as compilações e implantações subsequentes usam 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 visualizar ou editar uma configuração de 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 Editar APM selecionada.

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

    Captura de ecrã do portal do Azure a mostrar a página de configuração do APM com o botão Eliminar realçado.

Use as seguintes etapas para exibir as configurações de APM vinculadas à compilação:

  1. Navegue até a página Serviço de Criação para sua instância do Azure Spring Apps.

    Captura de ecrã do portal do Azure a mostrar a página de serviço de compilação com a compilação atual na lista.

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

  3. Na página de ligações APM, exiba as configurações de APM vinculadas à compilação.

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

Use as seguintes etapas para exibir as configurações de 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 Ligações APM.

  3. Na página Associações do APM, exiba as configurações do APM vinculadas à implantação.

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

Para obter mais informações sobre os properties parâmetros e secrets para seu buildpack, consulte a seção Cenários suportados - Integração de certificados APM e CA.

Vincular a compilações e implantações de aplicativos

Para um serviço de compilação que usa um Registro de Contêiner do Azure gerenciado, use o seguinte comando para integrar o APM em 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>

Quando você habilita uma configuração de APM globalmente, todas as compilações e implantações subsequentes a usam automaticamente, e é desnecessário especificar o --apms parâmetro. Se você quiser substituir a configuração do APM habilitada globalmente para uma implantação, especifique as configurações do APM via --apms parâmetro.

Para um serviço de compilação que usa seu próprio registro de contêiner, você pode criar um aplicativo em uma imagem de contêiner e implantar a imagem na atual ou em outras instâncias de serviço do Azure Spring Apps Enterprise.

Fornecer seu próprio registro de contêiner separa a construção da implantação. Você pode usar o comando build para criar ou atualizar uma compilação com um construtor e, em seguida, usar o comando deploy 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>

Quando você habilita uma configuração de APM globalmente, todas as compilações e implantações subsequentes a usam automaticamente, e é desnecessário especificar o --apms parâmetro. Se você quiser substituir a configuração do APM habilitada globalmente para uma compilação, especifique as configurações do APM por meio do --apms parâmetro.

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 do APM habilitada globalmente ou usar o parâmetro para especificar a --apms 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>

Ao desabilitar o serviço de compilação, você só pode implantar um aplicativo com uma imagem de contêiner. Para obter mais informações, consulte Implantar um aplicativo com uma imagem de contêiner personalizada.

Você pode usar várias instâncias do Azure Spring Apps Enterprise, onde algumas instâncias criam e implantam imagens e outras apenas implantam imagens. Considere o seguinte cenário:

Por uma instância, você habilita o serviço de compilação com um registro de contêiner de usuário. Em seguida, você cria a partir de um arquivo de artefato ou código-fonte com APM ou um certificado de CA em uma imagem de contêiner. Em seguida, você pode implantar na instância atual do Azure Spring Apps ou em outras instâncias de serviço. Para obter mais informações, consulte a seção Criar e implantar aplicativos poliglotas de Como implantar aplicativos poliglotas no Azure Spring Apps Enterprise.

Em outra instância com o serviço de compilação desativado, você implanta um aplicativo com a imagem de contêiner em 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 --apms parâmetro 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 associações no builder (preterido)

Quando o serviço de compilação usa o registro de contêiner gerenciado do Azure Spring Apps, você pode criar um aplicativo em uma imagem e, em seguida, implantá-lo, mas apenas na instância de serviço atual do Azure Spring Apps.

Gerencie configurações de APM por meio de associações no builder

Você pode gerenciar configurações de APM por meio de ligações no builder. Para obter mais informações, consulte a seção Gerenciar associações no construtor no Azure Spring Apps (preterido).

Vincular a compilações e implantações de aplicativos

Use o comando a seguir para integrar o APM em suas implantações. O APM é configurado através de ligaçõ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 serão aplicadas:

  • Se você usar um Registro de Contêiner do Azure gerenciado para o serviço de compilação, o Application Insights será vinculado a associações no construtor padrão.
  • Se você usar seu próprio registro de contêiner para o serviço de compilação ou desabilitar o serviço de compilação, uma configuração APM padrão será criada para o Application Insights. O APM padrão é habilitado globalmente e todas as compilações e implantações subsequentes o usam automaticamente.

Configurar certificados de CA para compilações e implantações de aplicativos

Você pode configurar certificados de CA no Azure Spring Apps das duas maneiras a seguir:

  • Você pode gerenciar certificados públicos nas configurações TLS/SSL e vincular a compilações e implantações de aplicativos fazendo referência a eles. Essa abordagem é a maneira recomendada de configurar certificados de autoridade de certificação.
  • Você pode gerenciar certificados públicos nas configurações TLS/SSL e vincular certificados de CA por meio de associações no construtor. Para obter mais informações, consulte a seção Gerenciar associações no construtor no Azure Spring Apps (preterido).

Nota

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

Agora você pode gerenciar certificados públicos nas configurações TLS/SSL e vincular a compilações e implantações de aplicativos fazendo referência a eles. Essa abordagem é a maneira recomendada de configurar certificados de autoridade de certificação.

Para gerenciar certificados públicos no nível da instância de serviço, consulte a seção Importar um certificado de Usar certificados TLS/SSL em seu aplicativo no Azure Spring Apps. em seguida, siga uma das abordagens descritas nas seções a seguir para vincular certificados de CA a compilações e implantações de aplicativos.

Vincular certificados de CA a compilações e implantações de aplicativos

Para obter informações sobre como vincular certificados de CA a implantações, consulte a seção Carregar um certificado de Usar certificados TLS/SSL em seu aplicativo no Azure Spring Apps. Em seguida, use as instruções a seguir para vincular a compilações de aplicativos.

Quando você habilita o serviço de compilação e usa um Registro de Contêiner do Azure gerenciado, use o seguinte comando para integrar certificados de CA em 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>

Quando você usa seu próprio registro de contêiner para o serviço de compilação ou desabilita o serviço de compilação, use o seguinte comando para integrar certificados de autoridade de certificação em sua compilação:

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>

Exibir certificados de CA vinculados a compilações de aplicativos

Use as seguintes etapas para exibir os certificados de autoridade de certificação vinculados à compilação:

  1. Navegue até a página de compilação.

    Captura de ecrã do portal do Azure a mostrar a página de serviço de compilação com a compilação atual na lista.

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

  3. Na página Associações de certificados, exiba os certificados de CA vinculados à compilação.

    Captura de tela da página de associações de certificados mostrando certificados de CA vinculados à compilação.

Vincular certificados de autoridade de certificação por meio de associações no construtor (preterido)

Os certificados de autoridade de certificação usam o buildpack de certificados de autoridade de certificação para dar suporte ao fornecimento de certificados de autoridade de certificação para o armazenamento confiável do sistema na compilação e no tempo de execução.

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

Captura de ecrã do portal do Azure a mostrar a secção Certificados de Chave Pública da página de definições de TLS/SSL.

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

Captura de ecrã do portal do Azure a mostrar a página Editar associações para construtor predefinido com o painel Editar associação para certificados de AC aberto.

Gerenciar associações no construtor no Azure Spring Apps (preterido)

Esta seção se aplica somente a uma instância de serviço do Azure Spring Apps Enterprise com o serviço de compilação habilitado. Com o serviço de compilação habilitado, uma vinculação buildpack significa configuração de credenciais em relação a um tipo de APM ou configuração de certificados de CA em relação ao tipo de certificados de CA. Para integração com APM, siga as instruções anteriores para configurar as variáveis de ambiente ou segredos necessários para seu APM.

Nota

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

Você pode gerenciar associações buildpack com o portal do Azure ou a CLI do Azure.

Use as seguintes etapas para exibir as associações buildpack:

  1. No portal do Azure, vá para sua instância de serviço do Azure Spring Apps Enterprise.

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

  3. Selecione Editar na coluna Ligações para exibir as ligações configuradas para um construtor.

    Captura de ecrã do portal do Azure a mostrar a página Serviço de Criação com a ligação Editar Ligações realçada para um construtor selecionado.

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

    Captura de ecrã do portal do Azure a mostrar a página Editar associações para construtor predefinido com os tipos de associação e respetivo estado listados.

Criar uma associação buildpack

Para criar uma associação buildpack, selecione Unbound na página Edit Bindings, especifique as propriedades de binding e selecione Save.

Desvincular uma associação buildpack

Você pode desvincular uma associação buildpack usando o comando Unbind binding ou editando as propriedades de vinculação.

Para usar o comando Desvincular vinculação, selecione o hiperlink Acopladoe, em seguida, selecione Desvincular vinculação.

Captura de ecrã do portal do Azure Editar associações para a página do construtor predefinido com a opção Desvincular ligação realçada para um tipo de associação selecionado.

Para desvincular uma associação buildpack editando propriedades de vinculação, selecione Editar vinculação e, em seguida, selecione Desvincular.

Captura de ecrã do portal do Azure a mostrar a página Editar ligação com o botão Desvincular realçado.

Quando você desvincula uma ligação, o status da associação muda de Vinculado para Não Vinculado.

Migrar certificados APM e CA de associações no construtor

O recurso de ligações no construtor foi preterido e está sendo removido no futuro. Recomendamos que você migre associações no builder.

Você pode configurar certificados APM e CA em associações e migrá-los usando as seções a seguir.

Migrar o APM configurado em associações

Na maioria dos casos de uso, há apenas um APM configurado em associações no construtor padrão. Você pode criar uma nova configuração de APM com a mesma configuração em associações e habilitar essa configuração de APM globalmente. Todas as compilações e implantações subsequentes usam essa configuração automaticamente. Use as seguintes etapas para migrar:

  1. Use o seguinte comando para criar uma configuração 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 do 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 do 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 do APM funciona para todos os aplicativos. Se tudo funcionar bem, use o seguinte comando para remover as ligações 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 houver vários APMs configurados em associações, você poderá criar várias configurações de APM com a mesma configuração em associações e habilitar a configuração de APM globalmente, se for aplicável. Use o --apms parâmetro para especificar uma configuração de APM para uma implantação se quiser substituir o APM habilitado globalmente, conforme mostrado no comando a seguir:

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 é configurado em ligações e configuração de APM. Nesse caso, a configuração do APM entra em vigor e a associação é ignorada.

Migrar certificado de autoridade de certificação configurado em associações

Use as seguintes etapas para migrar um certificado de autoridade de certificação:

  1. Para um certificado de autoridade de certificação configurado em associação, se ele for usado em tempo de execução, você poderá carregar o certificado em seu aplicativo. Para obter mais informações, consulte a seção Carregar um certificado de Usar certificados TLS/SSL em seu aplicativo no Azure Spring Apps.

  2. Use o comando a seguir para reimplantar todos os aplicativos usando o certificado da autoridade de certificação. Se você usar o certificado em tempo de compilação, use o --build-certificates parâmetro para especificar o certificado de autoridade de certificação a ser usado em tempo de compilação para uma 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>
    
  3. Verifique se o certificado da autoridade de certificação funciona para todos os aplicativos que o utilizam. Se tudo funcionar bem, use o seguinte comando para remover as ligações de certificado de autoridade de certificação 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óximos passos