Compartilhar via


Tutorial: Solucionar problemas de um aplicativo do Serviço de Aplicativo usando a versão prévia do Agente SRE do Azure

Observação

O Agente SRE do Azure está ativo. Usando o Agente SRE, você concorda com os Termos de Uso Complementares específicos do produto para o Microsoft Azures.

A SRE (engenharia de confiabilidade de sites) se concentra na criação de sistemas confiáveis e escalonáveis por meio de automação e gerenciamento proativo. O Agente SRE do Azure aplica esses princípios em seu ambiente de nuvem, fornecendo recursos de monitoramento, solução de problemas e correção da plataforma IA.

O Agente SRE automatiza tarefas operacionais rotineiras e fornece insights lógicos para ajudar a manter a confiabilidade do aplicativo, reduzindo a intervenção manual. O Agente SRE está disponível como um chatbot, portanto, é possível fazer perguntas e fornecer comandos de linguagem natural para manter os aplicativos e serviços. Para garantir a precisão e o controle, as ações executadas por um agente em seu nome exigem sua aprovação.

O aplicativo de exemplo neste tutorial demonstra a detecção de erros simulando falhas HTTP 500 de modo controlado. Você pode testar esses cenários com segurança usando slots de implantação do Serviço de Aplicativo do Azure para executar várias configurações de aplicativo lado a lado.

Você habilita a simulação de erro definindo a configuração do aplicativo INJECT_ERROR como 1. Quando essa configuração está habilitada, o aplicativo gera um erro HTTP 500 depois de selecionar o botão algumas vezes. Em seguida, você pode ver como o Agente SRE responde às falhas do aplicativo.

Neste tutorial, você:

  • Criar um aplicativo do Serviço de Aplicativo usando o portal do Azure.
  • Implante um aplicativo de exemplo do GitHub.
  • Configure o aplicativo com um comando de inicialização e habilite o registro em log.
  • Crie um slot de implantação para simular falha.
  • Configurar um agente para monitorar o aplicativo.
  • Provoque uma falha trocando para o slot quebrado.
  • Usar um chat controlado por IA para diagnosticar e resolver o problema revertendo a troca.

Pré-requisitos

Para criar um agente, você precisa conceder ao agente as permissões corretas, definir as configurações corretas e conceder acesso aos recursos certos:

1. Criar um aplicativo do Serviço de Apps

Comece criando um aplicativo Web que o Agente SRE possa monitorar:

  1. Entre no portal do Azure.

  2. Na barra de pesquisa, busque os Serviços de Aplicativos e selecione-o nos resultados.

  3. Selecione + Criar>Aplicativo Web.

  4. Na guia Noções básicas, forneça os detalhes a seguir.

    Para obter Detalhes do projeto, insira estes valores:

    Configurações Valor
    Subscription Sua assinatura do Azure
    Grupo de recursos Criar novo>my-app-service-group

    Para obter Detalhes da instância, insira estes valores:

    Configurações Valor
    Nome my-sre-app
    Publicar Código
    Pilha de runtime .NET 9 (STS)
    Sistema Operacional Windows
    Região Uma região perto de você
  5. Selecione a guia Implantação.

  6. Nas configurações de Autenticação, habilite a autenticação Básica.

    Observação

    A autenticação básica é usada posteriormente para uma implantação única a partir do GitHub. Desabilitar a autenticação Básica em produção.

  7. Selecione Examinar e criar e, em seguida, selecione Criar quando a validação for aprovada.

    Quando a implantação for concluída, a mensagem Sua implantação foi concluída será exibida.

2. Implantar o aplicativo de exemplo

Agora que o aplicativo do Serviço de Aplicativo foi criado, implante o aplicativo de exemplo do GitHub:

  1. Na página portal do Azure, acesse o aplicativo do Serviço de Aplicativo recém-criado selecionando Ir para o recurso.

  2. No menu à esquerda, na seção Implantação, selecione Centro de implantação.

  3. Na guia Configurações, configure estes valores:

    Propriedade Valor
    Fonte Git externo
    Repositório https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Filial main
  4. Selecione Salvar para aplicar as configurações de implantação.

3. Verificar o aplicativo de exemplo

Após a implantação, confirme se o aplicativo de exemplo está em execução conforme o esperado:

  1. No menu à esquerda do aplicativo do Serviço de Aplicativo, selecione Visão geral.

  2. Selecione Procurar para abrir o aplicativo em uma nova guia do navegador. (Isso pode levar um minuto para carregar.)

  3. O aplicativo exibe um contador grande e dois botões.

    Captura de tela da amostra .NET no slot primário.

    Selecione o botão Incrementar várias vezes para observar o aumento do contador.

4. Configurar um slot de implantação para simulação de falha

Para simular um cenário de falha de aplicativo, adicione um slot de implantação secundário:

  1. No menu à esquerda do aplicativo do Serviço de Aplicativo, na seção Implantação, selecione Slots de implantação.

  2. Selecione Adicionar espaço.

  3. Insira os valores a seguir:

    Propriedade Valor Observações
    Nome broken O cenário de erro é ativado neste slot.
    Clonar configurações de my-sre-app Essa propriedade copia a configuração do aplicativo principal.
  4. Role até a parte inferior do painel e selecione Adicionar. A criação de slots pode levar um minuto para ser concluída.

Implantar o aplicativo de exemplo no slot

  1. Depois de criar o slot, selecione o slot interrompido na lista.

  2. No menu à esquerda, na seção Implantação, selecione Centro de implantação.

  3. Na guia Configurações, configure estes valores:

    Propriedade Valor
    Fonte Git externo
    Repositório https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Filial main
  4. Selecione Salvar para aplicar as configurações de implantação.

Adicionar uma configuração de aplicativo para habilitar a simulação de erro

Para controlar a simulação de erro, defina uma configuração de aplicativo que seu aplicativo verifica no runtime:

  1. No menu à esquerda do aplicativo do Serviço de Aplicativo, na seção Configurações, selecione Variáveis de ambiente.

  2. Na parte superior, verifique se o slot correto está selecionado (por exemplo, interrompido).

  3. Na guia Configurações do aplicativo, selecione + Adicionar.

  4. Insira os valores a seguir:

    Propriedade Valor Observações
    Nome INJECT_ERROR Deve ser exatamente INJECT_ERROR (todas as letras maiúsculas, sem espaços)
    Valor 1 Habilita a simulação de erro no aplicativo
  5. Verifique se a caixa de configuração do slot de implantaçãonão está selecionada.

  6. Selecione Aplicar para adicionar a configuração.

  7. Na parte inferior da página Variáveis de ambiente , selecione Aplicar para aplicar as alterações.

  8. Quando solicitado, selecione Confirmar para confirmar e reiniciar o aplicativo no slot selecionado.

5. Criar um agente

Agora, crie um agente para monitorar o aplicativo do Serviço de Aplicativo:

  1. Siga o link fornecido no email de integração para acessar o Agente SRE no portal do Azure.

  2. Selecione + Criar.

  3. No painel Criar agente, insira estes valores:

    Propriedade Valor Observações
    Subscription Sua assinatura do Azure
    Grupo de recursos my-sre-agent-group Novo grupo para o agente.
    Nome my-sre-agent
    Região Leste dos EUA 2
  4. Escolha Selecionar grupos de recursos.

  5. No painel Grupos de recursos selecionados para monitorar, marque a caixa de seleção ao lado de my-app-service-group.

  6. Clique em Salvar.

  7. De volta ao painel Criar agente, selecione Criar. O processo de criação do agente leva alguns minutos para ser concluído.

6. Conversar com seu agente

Depois de implantar e conectar o agente ao grupo de recursos, você poderá interagir com ele usando o idioma natural para monitorar e solucionar problemas do aplicativo:

  1. No portal do Azure, pesquise e selecione o Agente SRE do Azure.

  2. Na lista de agentes, selecione my-app-service-sre-agent.

  3. Selecione Chat com o agente.

  4. Na caixa de chat, insira o seguinte comando:

    List my App Service apps
    
  5. O agente responde com uma lista de aplicativos do Serviço de Aplicativo implantados no grupo de recursos my-app-service-group.

Agora que o agente pode ver seu aplicativo, será possível simular uma falha e permitir que o agente o ajude a resolvê-la.

7. Interromper o aplicativo

Simule um cenário de falha alternando para o slot de implantação interrompido:

  1. No menu à esquerda do aplicativo do Serviço de Aplicativo, na seção Implantação, selecione Slots de implantação.

  2. Selecione Trocar.

  3. No painel Troca, configure estes valores:

    Propriedade Valor Observações
    Fonte my-sre-app-broken O slot com a versão defeituosa
    Target (destino) my-sre-app O slot de produção
  4. Role até a parte inferior e selecione Iniciar Troca. A operação de troca pode levar um minuto para ser concluída.

  5. Depois de concluir a troca, navegue até a URL do aplicativo.

    Captura de tela da amostra .NET no slot com falha.

  6. Selecione o botão Incrementar seis vezes.

  7. O aplicativo deve falhar e retornar um erro HTTP 500.

  8. Atualize a página (pressionando Command+R ou F5) várias vezes para gerar mais erros HTTP 500. Esses erros ajudam o Agente SRE a detectar e diagnosticar o problema.

8. Corrigir o aplicativo

Agora que o aplicativo está enfrentando falhas, use o Agente SRE para diagnosticar e resolver o problema:

  1. No portal do Azure, pesquise e selecione o Agente SRE do Azure.

  2. Na lista de agentes, selecione my-app-service-sre-agent.

  3. Selecione Chat com o agente.

  4. Na caixa de chat, insira o seguinte comando:

    What's wrong with my-sre-app?
    
  5. O agente começará a analisar a integridade do aplicativo. Você deve ver mensagens de diagnóstico relacionadas à disponibilidade, uso de CPU e memória e à recente troca de slots.

    Cada sessão pode variar, mas deve aparecer uma mensagem semelhante ao exemplo a seguir:

    Agora executarei a mitigação no my-sre-app trocando os slots para recuperar o aplicativo para um estado íntegro. Observe que a troca de slots de volta nem sempre restaura a saúde imediatamente. Vou mantê-lo atualizado sobre o progresso.

  6. Após uma pausa, o agente solicita que você aprove a reversão:

    Executando a reversão do Slot Swap para restaurar a disponibilidade do aplicativo para my-sre-app

    [Aprovar][Negar]

  7. Selecione Aprovar para iniciar a reversão.

  8. Depois que a reversão for concluída, o agente confirmará:

    A troca de slot para my-sre-app foi concluída com sucesso (carimbo de data/hora). O slot de produção foi restaurado. Agora continuarei com as etapas pós-mitigação:

    Pedirei a você a URL correta do repositório do GitHub para relatar um problema relacionado ao tempo de inatividade devido à troca.Monitorarei o aplicativo e fornecerei uma atualização de disponibilidade em 5 minutos.

    Forneça a URL do repositório GitHub na qual você deseja que o problema seja gerado.

9. Verificar a correção

Depois que o Agente SRE reverter a troca de slot, confirme se o aplicativo está funcionando corretamente:

  1. Abra o aplicativo do Serviço de Aplicativo em um navegador selecionando Procurar na página Visão geral.

  2. Observe que o texto ERROR INJECTION ENABLED não aparece mais, isso confirma que o aplicativo foi revertido para o estado original.

  3. Selecione o botão Incrementar seis vezes para garantir que nenhum erro apareça.

Limpar os recursos

Se você não precisar mais do aplicativo e do agente que criou neste tutorial, será possível excluir os grupos de recursos associados para evitar gerar encargos.

Você criou os seguintes grupos de recursos neste tutorial:

  • my-app-service-group (grupo de recursos do Serviço de Aplicativo)
  • my-sre-agent-group (grupo de recursos do Agente SRE)

Use as etapas a seguir para cada grupo de recursos:

  1. No portal do Azure, acesse Grupo de recursos.

  2. Selecione o grupo de recursos que você deseja excluir.

  3. Na guia Visão geral, selecione Excluir grupo de recursos.

  4. Na caixa de diálogo de confirmação, insira o nome do grupo de recursos.

  5. Selecione Excluir. A exclusão leva alguns minutos para ser concluída.