Como configurar a integração APM e certificados de CA
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
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
- Uma instância de plano do Azure Spring Apps Enterprise já provisionada. Para obter mais informações, consulte Guia de início rápido: criar e implantar aplicativos no Azure Spring Apps usando o plano Enterprise.
- Azure CLI versão 2.49.0 ou superior. Use o seguinte comando para instalar a extensão Azure Spring Apps:
az extension add --name spring
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
ouenvironment-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 disabled
de 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.
Gerenciar APMs no nível da instância de serviço (recomendado)
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:
Abra o portal do Azure.
No painel de navegação, selecione APM.
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.
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.
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.
Use as seguintes etapas para exibir as configurações de APM vinculadas à compilação:
Navegue até a página Serviço de Criação para sua instância do Azure Spring Apps.
No painel de navegação, na seção Configurações , selecione Ligações APM.
Na página de ligações APM, exiba as configurações de APM vinculadas à compilação.
Use as seguintes etapas para exibir as configurações de 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:
Navegue até a página de compilação.
No painel de navegação, na seção Configurações, selecione Associações de certificado.
Na página Associações de certificados, exiba os 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:
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.
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:
No portal do Azure, vá para sua instância de serviço do Azure Spring Apps Enterprise.
No painel de navegação, selecione Build Service.
Selecione Editar na coluna Ligações para exibir as ligações configuradas para um construtor.
Revise as associações na página Editar vinculação para construtor padrão .
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 Acoplado e, em seguida, selecione Desvincular vinculação.
Para desvincular uma associação buildpack editando propriedades de vinculação, selecione Editar vinculação e, em seguida, selecione Desvincular.
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:
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
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> \
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>
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:
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.
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>
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>