Condividi tramite


Risolvere i problemi di un'app del servizio app con l'agente SRE di Azure (anteprima)

Annotazioni

L'agente SRE di Azure è in anteprima. Con L'agente SRE si acconsente alle Condizioni per l'utilizzo specifiche del prodotto.

Site Reliability Engineering (SRE) è incentrato sulla creazione di sistemi affidabili e scalabili tramite l'automazione e la gestione proattiva. Un agente SRE introduce questi principi nell'ambiente cloud fornendo funzionalità di monitoraggio, risoluzione dei problemi e correzione basate sull'intelligenza artificiale. Un agente SRE automatizza le attività operative di routine e fornisce informazioni dettagliate ragionate per mantenere l'affidabilità delle applicazioni riducendo al contempo l'intervento manuale. Disponibile come chatbot, è possibile porre domande e fornire comandi in linguaggio naturale per gestire le applicazioni e i servizi. Per garantire l'accuratezza e il controllo, qualsiasi azione eseguita dall'agente per conto dell'utente richiede l'approvazione.

Questa app di esempio illustra il rilevamento degli errori simulando errori HTTP 500 in modo controllato. È possibile testare questi scenari in modo sicuro usando gli slot di distribuzione del servizio app di Azure, che consentono di eseguire diverse configurazioni dell'app affiancate.

Per abilitare la simulazione degli errori, impostare l'impostazione dell'app INJECT_ERROR su 1. Se abilitata, l'app genera un errore HTTP 500 dopo aver selezionato il pulsante alcune volte, consentendo di vedere come l'agente SRE risponde agli errori dell'applicazione.

In questa esercitazione si eseguiranno le seguenti attività:

  • Creare un'app del servizio app usando il portale di Azure.
  • Distribuire un'app di esempio da GitHub.
  • Configurare l'app con un comando di avvio e abilitare la registrazione.
  • Creare uno slot di distribuzione per simulare l'errore.
  • Configurare un agente SRE di Azure per monitorare l'app.
  • Attivare un errore scambiando nello slot interrotto.
  • Usare la chat guidata dall'intelligenza artificiale per diagnosticare e risolvere il problema eseguendo il rollback dello scambio.

Se non si ha un account Azure, creare un account gratuito prima di iniziare.

Prerequisiti

1. Creare un'app del Servizio app di Azure

Per iniziare, creare un'app Web che l'agente SRE può monitorare.

  1. Accedere al https://portal.azure.com.

  2. Nella barra di ricerca superiore cercare Servizi app e quindi selezionarlo nei risultati.

  3. Selezionare + Crea e scegliere App Web.

Configurare la scheda Informazioni di base

Nella scheda Informazioni di base specificare i dettagli seguenti:

Dettagli di progetto

Impostazione Valore
Abbonamento la propria sottoscrizione di Azure
Gruppo di risorse Creare un nuovomy-app-service-group

Dettagli dell'istanza

Impostazione Valore
Nome my-sre-app
Pubblicare Codice
Stack di runtime .NET 9 (STS)
Sistema operativo Windows
Area geografica Un'area nelle vicinanze
  1. Selezionare la scheda Distribuzione .

  2. In Impostazioni di autenticazione abilitare l'autenticazione di base.

    Annotazioni

    L'autenticazione di base viene usata in un secondo momento per una distribuzione monouso da GitHub. Disabilitare l'autenticazione di base nell'ambiente di produzione.

  3. Selezionare Rivedi e crea, quindi Crea al termine della convalida.

  4. Al termine della distribuzione, si noterà che la distribuzione è stata completata.

2. Distribuire l'app di esempio

Ora che la tua app di App Service è stata creata, distribuisci l'applicazione di esempio da GitHub.

  1. Nel portale di Azure passare al servizio app appena creato selezionando Vai alla risorsa.

  2. Nel menu a sinistra, nella sezione Distribuzione selezionare Centro distribuzione.

  3. Nella scheda Impostazioni configurare:

    Proprietà Valore
    Fonte GIT esterno
    Archivio https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Filiale main
  4. Selezionare Salva per applicare le impostazioni di distribuzione.

3. Verificare l'app di esempio

Dopo la distribuzione, verificare che l'app di esempio sia in esecuzione come previsto.

  1. Nel menu a sinistra del servizio app selezionare Panoramica.

  2. Selezionare Sfoglia per aprire l'app in una nuova scheda del browser. Il caricamento potrebbe richiedere alcuni minuti.

  3. L'app visualizza un contatore di grandi dimensioni e due pulsanti:

    Screenshot dell'esempio .NET nello slot primario.

  4. Selezionare il pulsante Increment più volte per osservare l'aumento del contatore.

4. Configurare uno slot di distribuzione per la simulazione degli errori

Per simulare uno scenario di errore dell'app, aggiungere uno slot di distribuzione secondario.

  1. Nel menu a sinistra del servizio app, nella sezione Distribuzione selezionare Slot di distribuzione.

  2. Selezionare Aggiungi slot.

  3. Immettere i valori seguenti:

    Proprietà Valore Osservazioni:
    Nome broken Lo scenario di errore viene attivato in questo slot.
    Clona le impostazioni da my-sre-app Copia la configurazione dall'app principale.
  4. Scorrere fino alla fine della finestra di dialogo e selezionare Aggiungi. La creazione dello slot potrebbe richiedere un minuto per essere completata.

Distribuire l'app di esempio nello slot

  1. Dopo aver creato lo slot, selezionare lo slot interrotto dall'elenco.

  2. Nel menu a sinistra, nella sezione Distribuzione selezionare Centro distribuzione.

  3. Nella scheda Impostazioni configurare:

    Proprietà Valore
    Fonte GIT esterno
    Archivio https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Filiale main
  4. Selezionare Salva per applicare le impostazioni di distribuzione.

Aggiungere un'impostazione dell'app per abilitare la simulazione degli errori

Per controllare la simulazione degli errori, configurare un'impostazione dell'app controllata dall'app in fase di esecuzione.

  1. Nel menu a sinistra del servizio app selezionare Variabili di ambiente nella sezione Impostazioni .

  2. Nella parte superiore assicurarsi di avere selezionato lo slot corretto (ad esempio, interrotto).

  3. Nella scheda Impostazioni app selezionare + Aggiungi.

  4. Immettere i valori seguenti:

    Proprietà Valore Osservazioni:
    Nome INJECT_ERROR Deve essere esattamente INJECT_ERROR (tutto maiuscolo, senza spazi).
    Valore 1 Abilita la simulazione degli errori nell'app.
  5. Assicurarsi che la casella Impostazione slot di distribuzione non sia selezionata.

  6. Selezionare Applica per aggiungere l'impostazione.

  7. Nella parte inferiore della pagina Variabili di ambiente selezionare Applica per applicare le modifiche.

  8. Quando richiesto, selezionare Conferma per confermare e riavviare l'app nello slot selezionato.

5. Creare un agente SRE di Azure

Creare ora un agente SRE di Azure per monitorare l'app del servizio app.

  1. Nel portale di Azure cercare e selezionare Agente SRE di Azure.

  2. Seleziona + Crea.

  3. Nella finestra Crea agente immettere i valori seguenti:

    Proprietà Valore Osservazioni:
    Abbonamento la propria sottoscrizione di Azure
    Gruppo di risorse my-sre-agent-group Nuovo gruppo per l'agente SRE di Azure
    Nome my-sre-agent
    Area geografica Svezia centrale Obbligatorio durante l'anteprima; può monitorare le risorse in qualsiasi area di Azure
    Scegliere il ruolo Collaboratore Concede all'agente l'autorizzazione per intervenire per conto dell'utente
  4. Selezionare Seleziona gruppi di risorse.

  5. Nella finestra Gruppi di risorse selezionati da monitorare cercare e selezionare my-app-service-group.

  6. Seleziona Salva.

  7. Nella finestra Crea agente selezionare Crea. Il completamento del processo di creazione dell'agente richiede alcuni minuti.

6. Chattare con l'agente

Dopo aver distribuito e connesso l'agente SRE al gruppo di risorse, è possibile interagire con esso usando il linguaggio naturale per monitorare e risolvere i problemi dell'app.

  1. Nel portale di Azure cercare e selezionare Agente SRE di Azure.

  2. Nell'elenco degli agenti selezionare my-app-service-sre-agent.

  3. Selezionare Chatta con l'agente.

  4. Nella casella di chat immettere il comando seguente:

    List my App Service apps
    
  5. L'agente risponde con un elenco di app del servizio app distribuite nel my-app-service-group gruppo di risorse.

Ora che l'agente può visualizzare l'app, è possibile simulare un errore e consentire all'agente di risolverla.

7. Interrompere l'app

Simulare ora uno scenario di errore scambiando lo slot di distribuzione interrotto.

  1. Nel servizio app passare alla sezione Distribuzione nel menu a sinistra e selezionare Slot di distribuzione.

  2. Selezionare Scambia.

  3. Nella finestra di dialogo Scambia configurare:

    Proprietà Valore Osservazioni:
    Fonte my-sre-app-broken Slot con la versione difettosa
    Obiettivo my-sre-app Slot di produzione
  4. Scorrere fino alla fine e selezionare Avvia scambio. Il completamento dell'operazione di scambio potrebbe richiedere un minuto.

  5. Al termine dello scambio, passare all'URL dell'app.

    Screenshot dell'esempio .NET nello slot interrotto.

  6. Selezionare il pulsante "Increment" sei volte.

  7. L'app avrà esito negativo e restituirà un errore HTTP 500.

  8. Aggiornare la pagina (premendo Command-R o F5) più volte per generare più errori HTTP 500, che consentono all'agente SRE di rilevare e diagnosticare il problema.

8. Correggere l'app

Ora che l'app riscontra errori, usare l'agente SRE per diagnosticare e risolvere il problema.

  1. Nel portale di Azure cercare e selezionare Agente SRE di Azure.

  2. Nell'elenco degli agenti selezionare my-app-service-sre-agent.

  3. Selezionare Chatta con l'agente.

  4. Nella casella di chat immettere il comando seguente:

    What's wrong with my-sre-app?
    
  5. L'agente inizia ad analizzare l'integrità dell'app. Verranno visualizzati messaggi di diagnostica correlati all'utilizzo di disponibilità, CPU e memoria e allo scambio di slot recente.

    Ogni sessione può variare, ma dovrebbe essere visualizzato un messaggio simile al seguente:

    "Ora eseguirò la mitigazione per my-sre-app scambiando gli slot per ripristinare lo stato integro dell'applicazione. Si noti che lo scambio di slot indietro potrebbe non sempre ripristinare immediatamente l'integrità. Ti manterrà aggiornato sullo stato di avanzamento."

  6. Dopo una pausa, l'agente chiede di approvare il rollback:

    Esecuzione del rollback dello scambio di slot per ripristinare la disponibilità dell'applicazione per my-sre-app

    [Approva][Nega]

  7. Selezionare Approva per avviare il rollback.

  8. Al termine del rollback, l'agente conferma:

    Lo scambio di slot per my-sre-app è stato completato correttamente (timestamp). Lo slot di produzione è stato ripristinato. Ora procederò con i passaggi post-mitigazione:

    Ti chiederò l'URL del repository GitHub corretto per segnalare un problema riguardante l'interruzione correlata allo swap.Monitorerò l'app e fornirò un aggiornamento sulla disponibilità tra 5 minuti.

    Specificare l'URL del repository GitHub in cui si vuole che venga generato il problema.

9. Verificare la correzione

Dopo il rollback dello scambio di slot da parte dell'agente SRE, verificare che l'app funzioni correttamente.

  1. Apri la tua app di App Service nel browser selezionando Apri nel browser dalla pagina Panoramica.

  2. Si noti che il testo "ERROR INJECTION ENABLED" non viene più visualizzato, confermando che l'app è stata ripristinata allo stato originale.

  3. Selezionare il pulsante Increment sei volte per assicurarsi che non si siano verificati errori.

Pulire le risorse

Se l'app e l'agente creati in questa esercitazione non sono più necessari, è possibile eliminare i gruppi di risorse associati per evitare addebiti.

Ripetere i passaggi seguenti per entrambi i gruppi di risorse:

  • my-app-service-group (Gruppo di risorse del Servizio App)
  • my-sre-agent-group (gruppo di risorse agente SRE di Azure)
  1. Nel portale di Azure, andare a Gruppi di risorse.

  2. Scegliere il gruppo di risorse da eliminare.

  3. Nella scheda Panoramica selezionare Elimina gruppo di risorse.

  4. Nella finestra di dialogo di conferma immettere il nome del gruppo di risorse.

  5. Selezionare Elimina. Il completamento dell'eliminazione può richiedere alcuni minuti.

Passaggi successivi