Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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 sidecar no Serviço de Aplicativo permitem implantar serviços e recursos extras nos aplicativos Linux sem acoplá-los firmemente ao contêiner principal interno ou personalizado. Os contêineres sidecar são executados junto ao contêiner do aplicativo principal no mesmo plano do Serviço de Aplicativo.
Você pode adicionar até nove contêineres sidecar para cada aplicativo Linux no App Service. Por exemplo, você pode adicionar serviços de monitoramento, registro em log, configuração e rede como contêineres sidecar. Um sidecar do coletor OpenTelemetry é um exemplo utilizado para monitoramento.
Para aplicativos Linux de código próprio, consulte Tutorial: Configurar um contêiner de sidecar para um aplicativo Linux no Serviço de Aplicativo do Azure.
Pré-requisitos
-
Se você ainda 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 botão Iniciar Cloud Shell ou acesse https://shell.azure.com para abrir o Cloud Shell no navegador.
Entre no Azure, se necessário, e verifique se você 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 software livre que acelera o provisionamento e a implantação de recursos de aplicativo no Azure.
1. Configurar os recursos do tutorial
Para clonar o repositório de exemplo e criar os recursos para este tutorial, execute os comandos a seguir 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 do coletor OpenTelemetry configurada para exportar para o Azure Monitor.
- Uma
- Um workspace do 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ê deverá ver uma saída semelhante ao seguinte exemplo:
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 de APPLICATIONINSIGHTS_CONNECTION_STRING para usar posteriormente neste tutorial.
Clique no link de Open resource group in the portal para abrir o grupo de recursos provisionado no portal do Azure.
2. Criar 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 do Marketplace , pesquise aplicativo Web, selecione a seta para baixo ao lado de Criar no bloco do 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: Selecionar Contêiner.
- Sistema operacional: selecione Linux.
-
Região: selecione a mesma região para
azd provisiona qual você escolheu. - Plano do Linux: selecione o plano fornecido (Novo) do Serviço de Aplicativo.
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 a sidecar: defina como Configuração aprimorada com suporte de sidecar ativado.
- Origem da imagem: selecione Registro de Contêiner do Azure.
- Nome: verifique se main é exibida.
-
Registro: selecione o registro criado por
azd provision. - Autenticação: selecione identidade gerenciada.
-
Identidade: selecione a identidade gerenciada criada por
azd provision. - Imagem: insira nginx.
- Marca: insira mais recente.
- Porta: insira 80 se ainda não estiver definido.
Observação
Essas configurações são definidas de maneira diferente em aplicativos com e sem sidecar habilitado. Para saber mais, confira Quais são as diferenças dos contêineres personalizados habilitados para sidecar.
Selecione Analisar + criar e, quando a validação for aprovada, Criar.
Assim que a implantação for concluída, selecione Ir para o recurso.
Na página do aplicativo, abra a URL ao lado do domínio Padrão,
https://<app-name>.azurewebsites.netem uma nova guia do navegador para ver a página nginx padrão.
3. Adicione um contêiner de sidecar ao aplicativo
Adicione um contêiner sidecar ao aplicativo de contêiner personalizado do Linux.
Na página do aplicativo no portal do Azure, selecione Centro de Implantação em Implantaçã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 , conclua as seguintes informações:
- Nome: Digite otel-collector.
- Fonte da imagem: Selecione o Registro de Contêiner do Azure.
-
Registro: selecione o registro criado por
azd provision. - Autenticação: selecione Identidade Gerenciada.
-
Identidade: em Usuário atribuído, selecione a identidade gerenciada criada por
azd provision. - Imagem: Selecione otel-collector.
- Marca de imagem: insira latest.
- Porta: Insira 4317.
Escolha Aplicar.
Agora há dois contêineres no centro de implantação rotulados Main e Sidecar. Um aplicativo precisa ter um contêiner principal e pode ter diversos contêineres sidecar.
4. Configurar variáveis de ambiente
No cenário de exemplo, o otel-collector sidecar é configurado para exportar os dados do OpenTelemetry para o Azure Monitor usando a string de conexão como uma variável de ambiente. Para mais informações, consulte o arquivo de configuração do OpenTelemetry para a imagem 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 à esquerda.
Na guia Configurações do aplicativo da página Variáveis de ambiente , selecione Adicionar.
No painel Adicionar/Editar configuração do aplicativo , insira os seguintes valores:
- Nome: APPLICATIONINSIGHTS_CONNECTION_STRING
-
Valor: O valor de
APPLICATIONINSIGHTS_CONNECTION_STRINGa partir da 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.
Observação
Algumas configurações de aplicativo não se aplicam a aplicativos habilitados para sidecar. Para saber mais, confira Quais são as diferenças dos contêineres personalizados habilitados para sidecar.
5. Verificar no Application Insights
O sidecar otel-collector 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.
Observação
Nesse cenário de monitoramento comum, o Application Insights é apenas um dos destinos de OpenTelemetry que você pode usar, como Jaeger, Prometheus e Zipkin.
6. Limpar os recursos
Quando você não precisar mais do ambiente criado para este tutorial, poderá excluir o grupo de recursos, que remove o serviço de aplicativo e todos os recursos relacionados. Execute o comando a seguir no repositório clonado no Cloud Shell.
azd down