Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este tutorial mostra como adicionar um coletor OpenTelemetry como um contêiner sidecar a um aplicativo de contêiner personalizado do Linux no Serviço de Aplicativo do Azure.
Os contêineres de sidecar no App Service permitem implementar serviços e funcionalidades adicionais nas suas aplicações Linux sem uma dependência rígida ao contêiner principal interno ou personalizado. Os contêineres sidecar são executados ao lado do contêiner de aplicativo principal no mesmo plano do App Service.
Você pode adicionar até nove contêineres sidecar para cada aplicação Linux no App Service. Por exemplo, você pode adicionar serviços de monitoramento, registro, configuração e rede como contêineres de sidecar. Um sidecar coletor OpenTelemetry é um exemplo de monitoramento.
Para trazer seu próprio código de aplicativos Linux, consulte Tutorial: Configurar um contêiner sidecar para um aplicativo Linux no Serviço de Aplicativo do Azure.
Pré-requisitos
-
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Você pode executar os comandos neste tutorial usando o Azure Cloud Shell, um shell interativo que você usa por meio do navegador para trabalhar com os serviços do Azure. Para usar o Cloud Shell:
Selecione o seguinte botão Iniciar o Cloud Shell ou vá para https://shell.azure.com abrir o Cloud Shell no seu navegador.
Inicie sessão no Azure, se necessário, e certifique-se de que está no ambiente Bash do Cloud Shell.
Selecione Copiar em qualquer bloco de código, cole o código no Cloud Shell e execute-o.
Os
azdcomandos neste tutorial usam a CLI do Desenvolvedor do Azure, uma ferramenta de código aberto que acelera o provisionamento e a implantação de recursos do aplicativo no Azure.
1. Configure os recursos do tutorial
Para clonar o repositório de exemplo e criar os recursos para este tutorial, execute os seguintes comandos no Cloud Shell. Quando solicitado, selecione a assinatura do Azure e a região do Azure que você deseja usar.
git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
cd app-service-sidecar-tutorial-prereqs
azd env new my-sidecar-env
azd provision
O azd provision comando usa os modelos incluídos para criar um grupo de recursos do Azure chamado my-sidecar-env_group que contém os seguintes recursos do Azure:
- Um registro de contêiner com dois repositórios que têm as seguintes imagens:
- Uma
nginximagem que contém o módulo OpenTelemetry. - Uma
otel-collectorimagem de coletor OpenTelemetry configurada para exportar para o Azure Monitor.
- Uma
- Um espaço de trabalho Log Analytics.
- Um componente do Application Insights .
- Uma identidade gerenciada atribuída pelo usuário chamada
id-my-sidecar-env_group.
Quando a implantação for concluída, você verá uma saída semelhante ao exemplo a seguir:
Success!
APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=aaaaaaaa-0b0b-1c1c-2d2d-333333333333;IngestionEndpoint=https://eastus2-3.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus2.livediagnostics.monitor.azure.com/;ApplicationId=00001111-aaaa-2222-bbbb-3333cccc4444
Azure container registry name = acro2lc774l6vjgg
Managed identity resource ID = /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-my-sidecar-env_group
Managed identity client ID = 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group
Copie e salve o valor para APPLICATIONINSIGHTS_CONNECTION_STRING usar posteriormente neste tutorial.
Selecione o link para Open resource group in the portal, para abrir o grupo de recursos provisionados no portal do Azure.
2. Crie um aplicativo habilitado para sidecar
No grupo de recursos no portal do Azure, crie um aplicativo de contêiner personalizado do Linux com suporte a sidecar e configure o contêiner principal.
Na página do grupo de recursos no portal do Azure, selecione Criar.
Na página Marketplace , pesquise por aplicativo Web, selecione a seta para baixo ao lado de Criar no bloco Aplicativo Web e selecione Aplicativo Web.
Na guia Noções básicas da página Criar aplicativo Web , forneça as seguintes informações:
- Nome: insira um nome exclusivo para o aplicativo Web.
- Publicar: Selecione Contêiner.
- Sistema Operacional: Selecione Linux.
-
Região: selecione a mesma região escolhida para
azd provision. - Plano Linux: Selecione o ( Novo) plano do Serviço de Aplicativo fornecido.
Deixe o restante das configurações como estão e selecione a guia Contêiner na parte superior da página.
Na guia Contêiner , forneça as seguintes informações:
- Suporte para sidecar: Defina como Configuração melhorada com o suporte sidecar ativado.
- Fonte da imagem: Selecionar Registo de Contentores do Azure.
- Nome: Certifique-se de que main aparece.
-
Registro: Selecione o registro criado por
azd provision. - Autenticação: Selecione Identidade gerenciada.
-
Identidade: selecione a identidade gerenciada criada pela
azd provision. - Imagem: Digite nginx.
- Tag: Introduzir mais recente.
- Porta: Digite 80 se ainda não estiver definido.
Nota
Essas configurações são configuradas de forma diferente em aplicativos habilitados para sidecar em comparação com aplicativos não habilitados. Para obter mais informações, consulte Diferenças relativas a contentores personalizados com suporte para sidecar.
Selecione Rever + criar e, quando a validação for aprovada, selecione Criar.
Quando a implantação for concluída, selecione Ir para o recurso.
Na página do seu aplicativo, abra o URL ao lado de Domínio padrão,
https://<app-name>.azurewebsites.net, em uma nova guia do navegador para ver a página nginx padrão.
3. Adicione um contêiner de sidecar ao aplicativo
Adicione um contentor sidecar à sua aplicação de contentores personalizada Linux.
Na página da aplicação no portal do Azure, selecione Centro de Implementação dentro de Implementação no menu de navegação à esquerda. A página Centro de Implantação mostra todos os contêineres no aplicativo, atualmente apenas o contêiner principal.
Selecione Contêineres.
Selecione Adicionar>contêiner personalizado.
No painel Adicionar contêiner , preencha as seguintes informações:
- Nome: Digite otel-collector.
- Origem da imagem: Selecione Azure Container Registry.
-
Registro: Selecione o registro criado por
azd provision. - Autenticação: Selecione Identidade gerenciada.
-
Identidade: em Usuário atribuído, selecione a identidade gerenciada criada pela
azd provision. - Imagem: Enter otel-collector.
- Tag da imagem: Enter mais recente.
- Porta: digite 4317.
Selecione Aplicar.
Agora há dois contêineres no centro de implantação rotulados como Main e Sidecar. Um aplicativo deve ter um contêiner principal e pode ter vários contêineres de sidecar.
4. Configurar variáveis de ambiente
No cenário de exemplo, o otel-collector sidecar está configurado para exportar os dados do OpenTelemetry para o Azure Monitor, utilizando a cadeia de conexão como uma variável de ambiente. Para obter mais informações, consulte o ficheiro de configuração OpenTelemetry para a imagem do otel-collector.
Configure a variável de ambiente para o contêiner definindo as configurações do aplicativo para o aplicativo. As configurações do aplicativo são acessíveis a todos os contêineres no aplicativo.
Na página do aplicativo no portal do Azure, selecione Variáveis de ambiente em Configurações no menu de navegação esquerdo.
Na guia Configurações do aplicativo da página Variáveis de ambiente , selecione Adicionar.
No painel de configurações Adicionar/Editar aplicativo , insira os seguintes valores:
- Designação: APPLICATIONINSIGHTS_CONNECTION_STRING
-
Valor: O valor de
APPLICATIONINSIGHTS_CONNECTION_STRINGda saída deazd provision. Você também pode encontrar esse valor como Cadeia de Conexão na página Visão geral do recurso Application Insight do grupo de recursos.
Selecione Aplicar, selecione Aplicar novamente e, em seguida, selecione Confirmar. A configuração do aplicativo APPLICATIONINSIGHTS_CONNECTION_STRING agora aparece na guia Configurações do aplicativo .
Nota
Algumas definições de aplicações não se aplicam a aplicações compatíveis com sidecar. Para obter mais informações, consulte Diferenças relativas a contentores personalizados com suporte para sidecar.
5. Verifique no Application Insights
O otel-collector sidecar agora deve exportar dados para o Application Insights.
Acesse seu aplicativo em uma nova guia do navegador e atualize a página algumas vezes para gerar algumas solicitações da Web.
Na página do grupo de recursos no portal do Azure, selecione o recurso do Application Insights . Agora você deve ver alguns dados nos gráficos padrão na página Visão geral do Application Insights.
Nota
Neste cenário comum de monitorização, o Application Insights é apenas um dos pontos de destino OpenTelemetry que pode utilizar, como Jaeger, Prometheus e Zipkin.
6. Limpar os recursos
Quando não precisar mais do ambiente criado para este tutorial, você poderá excluir o grupo de recursos, que remove o serviço de aplicativo e todos os recursos relacionados. Execute o seguinte comando no repositório clonado no Cloud Shell.
azd down