Compartir a través de


Tutorial: Solución de problemas de una aplicación de App Service mediante Azure SRE Agent Preview

Nota:

Azure SRE Agent está incluido. Mediante el agente de SRE, da su consentimiento a los términos de uso complementarios específicos del producto para Microsoft Azure.

La ingeniería de fiabilidad del sitio (SRE) se centra en la creación de sistemas confiables y escalables mediante automatización y administración proactiva. Azure SRE Agent aporta estos principios a su entorno de nube al proporcionar funcionalidades de supervisión, solución de problemas y corrección basadas en inteligencia artificial.

El agente de SRE automatiza las tareas operativas rutinarias y proporciona información razonable para ayudarle a mantener la confiabilidad de las aplicaciones a la vez que reduce la intervención manual. El agente de SRE está disponible como bot de chat, por lo que puede formular preguntas y proporcionar comandos de lenguaje natural para mantener sus aplicaciones y servicios. Para garantizar la precisión y el control, cualquier acción que realice un agente en su nombre requiere su aprobación.

La aplicación de ejemplo de este tutorial muestra la detección de errores mediante la simulación de errores HTTP 500 de forma controlada. Puede probar estos escenarios de forma segura mediante ranuras de implementación de Azure App Service para ejecutar varias configuraciones de aplicaciones en paralelo.

Para habilitar la simulación de errores, establezca la configuración de aplicación INJECT_ERROR en 1. Cuando esta configuración está habilitada, la aplicación produce un error HTTP 500 después de seleccionar el botón varias veces. A continuación, puede ver cómo responde el agente de SRE a los errores de la aplicación.

En este tutorial, usted hará lo siguiente:

  • Cree una aplicación App Service mediante Azure Portal.
  • Implemente una aplicación de ejemplo desde GitHub.
  • Configure la aplicación con un comando de inicio y habilite el registro.
  • Cree una ranura de implementación para simular una falla.
  • Configure un agente para supervisar la aplicación.
  • Desencadenar un error intercambiando a la ranura rota.
  • Use un chat controlado por inteligencia artificial para diagnosticar y resolver el problema revirtiendo el intercambio.

Prerrequisitos

Para crear un agente, debe conceder al agente los permisos correctos, configurar las opciones correctas y conceder acceso a los recursos adecuados:

  • Cuenta de Azure: necesita una cuenta de Azure con una suscripción activa. Si no la tiene, puede crear una cuenta gratis.

  • Contexto de seguridad: asegúrese de que su cuenta de usuario tenga los Microsoft.Authorization/roleAssignments/write permisos como Administrador de control de acceso basado en roles o Administrador de acceso de usuario.

  • Configuración del firewall: agregue *.azuresre.ai a la lista de permitidos en la configuración del firewall. Algunos perfiles de red pueden bloquear el acceso al *.azuresre.ai dominio de forma predeterminada.

1. Creación de una aplicación de App Service

Empiece por crear una aplicación web que el agente de SRE pueda supervisar:

  1. Inicie sesión en Azure Portal.

  2. En la barra de búsqueda, busque App Services y selecciónelo en los resultados.

  3. Seleccione +Crear>Aplicación web.

  4. En la pestaña Aspectos básicos, proporcione los detalles siguientes.

    Para obtener detalles del proyecto, escriba estos valores:

    Configuración Importancia
    Subscription Su suscripción de Azure
    Grupo de recursos Creación de un elemento>my-app-service-group

    Para obtener detalles de la instancia, escriba estos valores:

    Configuración Importancia
    Nombre my-sre-app
    Publicar Código
    Pila del entorno en tiempo de ejecución .NET 9 (STS)
    Sistema operativo Windows
    Region Una región cercana a usted
  5. Seleccione la pestaña Implementación .

  6. En Configuración de autenticación, habilite Autenticación básica.

    Nota:

    La autenticación básica se usa más adelante para una implementación única desde GitHub. Deshabilite la autenticación básica en producción.

  7. Seleccione Revisar y crear y, a continuación, seleccione Crear cuando se supere la validación.

    Cuando finalice la implementación, aparecerá un mensaje de implementación completa.

2. Implementación de la aplicación de ejemplo

Ahora que se ha creado la aplicación de App Service, implemente la aplicación de ejemplo desde GitHub:

  1. En el Azure Portal, vaya a la aplicación App Service recién creada seleccionando Ir al recurso.

  2. En el menú de la izquierda, en la sección Implementación, seleccione Centro de implementación.

  3. En la pestaña Configuración, configure estos valores:

    Propiedad Importancia
    Fuente Git externo
    Repositorio https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Rama principal
  4. Seleccione Guardar para aplicar la configuración de implementación.

3. Comprobación de la aplicación de ejemplo

Después de la implementación, confirme que la aplicación de ejemplo se ejecuta según lo esperado:

  1. En el menú izquierdo de la aplicación de App Service, seleccione Información general.

  2. Seleccione Examinar para abrir la aplicación en una nueva pestaña del explorador. Puede tardar un minuto en cargarse.

  3. La aplicación muestra un contador grande y dos botones.

    Captura de pantalla del ejemplo de .NET en la ranura principal.

    Seleccione el botón Incrementar varias veces para observar el aumento del contador.

4. Configurar un espacio de implementación para la simulación de errores

Para simular un escenario de error de aplicación, agregue una ranura de implementación secundaria:

  1. En el menú izquierdo de la aplicación App Service, en la sección Implementación, seleccione Ranuras de implementación.

  2. Seleccione Agregar ranura.

  3. Escriba los siguientes valores:

    Propiedad Importancia Observaciones
    Nombre Interrumpido El escenario de error se activa en este lugar.
    Clonación de la configuración de my-sre-app Esta propiedad copia la configuración de la aplicación principal.
  4. Desplácese hasta la parte inferior del panel y seleccione Agregar. La creación de ranuras puede tardar un minuto en completarse.

Implementar la aplicación de ejemplo en la ranura

  1. Una vez creada la ranura, seleccione la ranura interrumpida en la lista.

  2. En el menú de la izquierda, en la sección Implementación, seleccione Centro de implementación.

  3. En la pestaña Configuración, configure estos valores:

    Propiedad Importancia
    Fuente Git externo
    Repositorio https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Rama principal
  4. Seleccione Guardar para aplicar la configuración de implementación.

Adición de una configuración de aplicación para habilitar la simulación de errores

Para controlar la simulación de errores, configure una configuración de aplicación que la aplicación compruebe en tiempo de ejecución:

  1. En el menú izquierdo de la aplicación App Service, en la sección Configuración, seleccione Variables de entorno.

  2. En la parte superior, asegúrese de que esté seleccionada la ranura correcta (por ejemplo, interrumpida).

  3. En la pestaña Configuración de la aplicación, seleccione + Agregar.

  4. Escriba los siguientes valores:

    Propiedad Importancia Observaciones
    Nombre INJECT_ERROR Debe ser exactamente INJECT_ERROR (todo en mayúsculas y sin espacios)
    Valor 1 Habilita la simulación de errores en la aplicación
  5. Asegúrese de que el cuadro de configuración de ranuras de implementaciónno esté seleccionado.

  6. Seleccione Aplicar para agregar la configuración.

  7. En la parte inferior de la página Variables de entorno , seleccione Aplicar para aplicar los cambios.

  8. Cuando se te pida, selecciona Confirmar para confirmar y reiniciar la aplicación en la ranura seleccionada.

5. Crear un agente

Ahora, cree un agente para supervisar la aplicación App Service:

  1. Siga el vínculo proporcionado en el correo electrónico de incorporación para acceder al agente de SRE en el Azure Portal.

  2. Seleccione + Create.

  3. En el panel Crear agente, escriba estos valores:

    Propiedad Importancia Observaciones
    Subscription Su suscripción de Azure
    Grupo de recursos my-sre-agent-group Nuevo grupo para el agente.
    Nombre my-sre-agent
    Region Este de EE. UU. 2
  4. Elija Seleccionar grupos de recursos.

  5. En el panel Grupos de recursos seleccionados para supervisar, active la casilla situada junto a my-app-service-group.

  6. Haga clic en Guardar.

  7. De nuevo en el panel Crear agente, seleccione Crear. El proceso de creación del agente tarda unos minutos en completarse.

6. Chatear con el agente

Una vez implementado el agente y conectado al grupo de recursos, puede interactuar con él mediante el lenguaje natural para supervisar y solucionar problemas de la aplicación:

  1. En Azure Portal, busque y seleccione Agente de SRE de Azure.

  2. En la lista de agentes, seleccione my-app-service-sre-agent.

  3. Seleccione Chat with agent (Chat con agente).

  4. En el cuadro de chat, escriba el siguiente comando:

    List my App Service apps
    
  5. El agente responde con una lista de aplicaciones implementadas de App Service en el grupo de recursos my-app-service-group.

Ahora que el agente puede ver la aplicación, está listo para simular un error y dejar que el agente le ayude a resolverlo.

7. Interrumpir la aplicación

Simule un escenario de error cambiando a la ranura de implementación interrumpida:

  1. En el menú izquierdo de la aplicación App Service, en la sección Implementación, seleccione Ranuras de implementación.

  2. Seleccione Intercambiar.

  3. En el panel Cambiar, configure estos valores:

    Propiedad Importancia Observaciones
    Fuente my-sre-app-broken Ranura con la versión errónea
    Destino my-sre-app Ranura de producción
  4. Desplácese hasta la parte inferior y seleccione Iniciar intercambio. La operación de intercambio puede tardar un minuto en completarse.

  5. Una vez completado el intercambio, vaya a la dirección URL de la aplicación.

    Captura de pantalla del ejemplo de .NET en el slot defectuoso.

  6. Seleccione el botón Incrementar seis veces.

  7. La aplicación debe producir un error y devolver un error HTTP 500.

  8. Actualice la página (presionando Comando+R o F5) varias veces para generar más errores HTTP 500. Estos errores ayudan al agente de SRE a detectar y diagnosticar el problema.

8. Corrección de la aplicación

Ahora que la aplicación está experimentando errores, use el agente de SRE para diagnosticar y resolver el problema:

  1. En Azure Portal, busque y seleccione Agente de SRE de Azure.

  2. En la lista de agentes, seleccione my-app-service-sre-agent.

  3. Seleccione Chat with agent (Chat con agente).

  4. En el cuadro de chat, escriba el siguiente comando:

    What's wrong with my-sre-app?
    
  5. El agente comienza a analizar el estado de la aplicación. Debería ver los mensajes de diagnóstico relacionados con la disponibilidad, el uso de CPU y memoria, y el intercambio de ranuras reciente.

    Cada sesión puede variar, pero debería aparecer un mensaje similar al del ejemplo siguiente:

    Ahora realizaré la mitigación para my-sre-app mediante el intercambio de las ranuras para recuperar la aplicación a un estado correcto. Tenga en cuenta que es posible que el intercambio de ranuras no siempre restaure el estado inmediatamente. Te mantendré al día sobre el progreso.

  6. Después de una pausa, el agente le pide que apruebe la reversión:

    Realizar la reversión de intercambio de ranuras para restaurar la disponibilidad de la aplicación para my-sre-app

    [Aprobar][Denegar]

  7. Seleccione Aprobar para iniciar la reversión.

  8. Una vez completada la reversión, el agente confirma lo siguiente:

    El intercambio de ranuras para my-sre-app se ha completado correctamente (marca de tiempo). Se ha restaurado la ranura de producción. Ahora continuaré con los pasos posteriores a la mitigación:

    Le pediré la dirección URL correcta del repositorio de GitHub para reportar un problema por el tiempo de inactividad relacionado con el intercambio.Supervisaré la aplicación y daré una actualización sobre la disponibilidad en 5 minutos.

    Proporcione la dirección URL del repositorio de GitHub donde desea que se genere el problema.

9. Comprobación de la corrección

Después de que el agente de SRE revierta el intercambio de ranuras, confirme que la aplicación funciona correctamente:

  1. Para abrir la aplicación App Service en un explorador, seleccione Examinar en la página Información general.

  2. Observe que el texto ERROR INJECTION ENABLED ya no aparece, lo que confirma que la aplicación se revirtió a su estado original.

  3. Seleccione el botón Incrementar seis veces para asegurarse de que no aparece ningún error.

Limpieza de recursos

Si ya no necesita la aplicación ni el agente que creó en este tutorial, puede eliminar los grupos de recursos asociados para evitar incurrir en cargos.

Ha creado los siguientes grupos de recursos en este tutorial:

  • my-app-service-group (grupo de recursos de App Service)
  • my-sre-agent-group (grupo de recursos del agente de SRE)

Siga estos pasos para cada grupo de recursos:

  1. En Azure Portal, vaya a Grupo de recursos.

  2. Seleccione el grupo de recursos que desea eliminar.

  3. En la pestaña Información general, seleccione Eliminar grupo de recursos.

  4. En el cuadro de diálogo de confirmación, escriba el nombre del grupo de recursos.

  5. Seleccione Eliminar. La eliminación tarda unos minutos en completarse.