Partilhar via


Tutorial: Solucionar problemas de um aplicativo do Serviço de Aplicativo usando o Azure SRE Agent Preview

Observação

O Azure SRE Agent chegou. Ao utilizar o SRE Agent, consente nos Termos de Utilização Suplementares específicos do produto para Microsoft Azures.

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

O SRE Agent automatiza tarefas operacionais de rotina e fornece informações fundamentadas para ajudá-lo a manter a confiabilidade do aplicativo e, ao mesmo tempo, reduzir a intervenção manual. O SRE Agent está disponível como um chatbot, para que você possa fazer perguntas e dar comandos em linguagem natural para manter seus aplicativos e serviços. Para garantir precisão e controle, qualquer ação que um agente tome em seu nome requer sua aprovação.

O aplicativo de exemplo neste tutorial demonstra a deteção de erros simulando falhas HTTP 500 de forma controlada. 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.

Para ativar a simulação de erros, defina a configuração INJECT_ERROR aplicativo como 1. Quando essa configuração está habilitada, o aplicativo lança um erro HTTP 500 depois que você seleciona o botão algumas vezes. Em seguida, você pode ver como o SRE Agent responde a falhas de aplicativos.

Neste tutorial, você:

  • Crie 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.
  • Crie um slot de implantação para simular falhas.
  • Configure um agente para monitorar o aplicativo.
  • Provoque uma falha trocando para o slot avariado.
  • Use um chat orientado 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 corretos:

  • Conta do Azure: você precisa de uma conta do Azure com uma assinatura ativa. Se ainda não tiver uma, pode criar uma conta gratuitamente.

  • Contexto de segurança: verifique se sua conta de usuário tem as permissões como Microsoft.Authorization/roleAssignments/write Função ou Administrador de Acesso de Usuário.

  • Configurações de firewall: adicione *.azuresre.ai à lista de permissões nas configurações do firewall. Alguns perfis de rede podem bloquear o acesso ao *.azuresre.ai domínio por padrão.

1. Criar uma aplicação do Serviço de Aplicações

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

  1. Inicie sessão no portal Azure.

  2. Na barra de pesquisa, procure Serviços de Aplicações e, em seguida, selecione-os nos resultados.

  3. Selecione + Criar>aplicativo Web.

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

    Para obter detalhes do projeto, insira estes valores:

    Configurações Valor
    Subscription A sua subscrição do Azure
    Grupo de recursos Criar novo>my-app-service-group

    Para detalhes da instância, insira estes valores:

    Configurações Valor
    Nome my-sre-app
    Publicar Código
    Pilha de tempo de execução .NET 9 (STS)
    Sistema Operativo Windows
    Região Uma região perto de si
  5. Selecione o separador Implantação.

  6. Em 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. Desative a autenticação básica na produção.

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

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

2. Implantar o aplicativo de exemplo

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

  1. No portal do Azure, vá para seu aplicativo do Serviço de Aplicativo recém-criado selecionando Ir para 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
    Source Git externo
    Repositório https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Ramo Principais
  4. Selecione Salvar para aplicar as configurações de implantação.

3. Verifique o aplicativo de exemplo

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

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

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

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

    Captura de tela do exemplo .NET no slot primário.

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

4. Configure um slot de implantação para simulação de falhas

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

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

  2. Selecione Adicionar espaço.

  3. Insira os seguintes valores:

    Propriedade Valor Observações
    Nome quebrado O cenário de erro é acionado neste slot.
    Configurações de clonagem de my-sre-app Esta propriedade copia a configuração do aplicativo principal.
  4. Desloque-se para 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 que o slot for criado, selecione o slot quebrado 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
    Source Git externo
    Repositório https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Ramo Principais
  4. Selecione Salvar para aplicar as configurações de implantação.

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

Para controlar a simulação de erros, configure uma configuração de aplicativo que seu aplicativo verifica em tempo de execução:

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

  2. Na parte superior, certifique-se de que o slot correto está selecionado (por exemplo, quebrado).

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

  4. Insira os seguintes valores:

    Propriedade Valor Observações
    Nome INJECT_ERROR Deve ser exatamente INJECT_ERROR (todas as tampas, sem espaços)
    Value 1 Permite a simulação de erros no aplicativo
  5. Verifique se a caixa Configuração do slot de implantaçãonão está marcada.

  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 lhe for pedido, selecione Confirmar para confirmar e reiniciar a aplicação na ranhura selecionada.

5. Criar um agente

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

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

  2. Selecione + Criar.

  3. No painel Criar agente , insira estes valores:

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

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

  6. Selecione Guardar.

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

6. Converse com seu agente

Depois que o agente for implantado e conectado ao grupo de recursos, você poderá interagir com ele usando linguagem natural para monitorar e solucionar problemas do aplicativo:

  1. No portal do Azure, procure e selecione Azure SRE Agent.

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

  3. Selecione Bate-papo com agente.

  4. Na caixa de chat, digite 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, você está pronto para simular uma falha e permitir que o agente o ajude a resolvê-la.

7. Quebre o aplicativo

Simule um cenário de falha trocando para o slot de implantação quebrado:

  1. No menu esquerdo do seu 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
    Source my-sre-app-broken O slot com a versão defeituosa
    Público-alvo my-sre-app O período de produção
  4. Desloque-se para a parte inferior e selecione Iniciar Troca. A operação de permuta pode levar um minuto para ser concluída.

  5. Após a conclusão da troca, navegue até o URL do aplicativo.

    Captura de tela do exemplo .NET no slot quebrado.

  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 SRE Agent a detetar e diagnosticar o problema.

8. Corrija o aplicativo

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

  1. No portal do Azure, procure e selecione Azure SRE Agent.

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

  3. Selecione Bate-papo com agente.

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

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

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

    Agora vou executar a mitigação para my-sre-app trocando os slots de volta para recuperar o aplicativo para um estado íntegro. Por favor, note que a troca de slots de volta nem sempre pode restaurar imediatamente a saúde. Manter-vos-ei informados sobre os progressos realizados.

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

    Executando a reversão de slot swap para restabelecer a disponibilidade do aplicativo para my-sre-app

    [Aprovar][Negar]

  7. Selecione Aprovar para iniciar a reversão.

  8. Após a conclusão da reversão, o agente confirma:

    A troca de slots para a aplicação my-sre-app foi concluída com êxito (timestamp). O slot de produção foi restaurado. Continuarei agora com as etapas pós-mitigação:

    Vou pedir-lhe o URL correto do repositório GitHub para reportar um problema relacionado com o tempo de inatividade do swap.Vou monitorizar a aplicação e fornecer uma atualização sobre a disponibilidade em 5 minutos.

    Forneça o URL do repositório GitHub onde você deseja que o problema seja levantado.

9. Verifique a correção

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

  1. Abra seu 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, confirmando que o aplicativo voltou ao seu estado original.

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

Limpeza de recursos

Se já não precisar da aplicação e do agente que criou neste tutorial, pode eliminar os grupos de recursos associados para evitar incorrer em 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 SRE Agent)

Use as seguintes etapas para cada grupo de recursos:

  1. No portal do Azure, vá para Grupos de recursos.

  2. Selecione o grupo de recursos que 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 Eliminar. A exclusão leva alguns minutos para ser concluída.