Condividi tramite


Risolvere i problemi relativi ad Azure Chaos Studio

Quando si usa Azure Chaos Studio, è possibile che si verifichino occasionalmente alcuni problemi. Questo articolo illustra i problemi comuni e i passaggi per la risoluzione dei problemi.

Suggerimenti generali sulla risoluzione dei problemi

Le origini seguenti sono utili quando si risolvono i problemi relativi a Chaos Studio:

  • Log attività: il log attività di Azure include un record di tutte le operazioni di creazione, aggiornamento ed eliminazione in una sottoscrizione. Questi record includono operazioni di Chaos Studio, ad esempio l'abilitazione di una destinazione o funzionalità, l'installazione dell'agente e la creazione o l'esecuzione di un esperimento. Gli errori nel log attività indicano che un'azione dell'utente essenziale per l'uso di Chaos Studio potrebbe non essere stata completata. La maggior parte degli errori diretti dal servizio inserisce anche errori eseguendo un'operazione di Azure Resource Manager, quindi il log attività contiene anche il record di errori inseriti durante un esperimento per alcuni errori diretti dal servizio.
  • Dettagli dell'esperimento: i dettagli dell'esecuzione dell'esperimento mostrano lo stato e gli errori di una singola esecuzione dell'esperimento. L'apertura di un errore specifico nei dettagli dell'esperimento mostra le risorse non riuscite e i messaggi di errore per un errore. Altre informazioni su come accedere ai dettagli dell'esperimento.
  • Log dell'agente: se si usa un errore basato su agente, potrebbe essere necessario eseguire RDP o SSH nella macchina virtuale per capire perché l'agente non è riuscito a eseguire un errore. Le istruzioni per l'accesso ai log dell'agente dipendono dal sistema operativo:
    • Agente Di Chaos Windows: i log dell'agente si trovano nel registro eventi di Windows nella categoria Applicazione con l'origine AzureChaosAgent. L'agente aggiunge attività di errore e controlli di integrità regolari (possibilità di eseguire l'autenticazione e comunicare con il servizio agente di Chaos Studio) a questo log.
    • Agente Chaos Linux: l'agente Linux usa systemd per gestire il processo dell'agente come servizio Linux. Per visualizzare il journal di sistema per l'agente (gli eventi registrati dal servizio agente), eseguire il comando journalctl -u azure-chaos-agent.
  • Stato dell'estensione macchina virtuale: se si usa un errore basato su agente, verificare che l'estensione della macchina virtuale sia installata e integra. Nella portale di Azure passare alla macchina virtuale e passare a Estensioni o estensioni e applicazioni. Selezionare l'estensione ChaosAgent e cercare i campi seguenti:
    • Lo stato dovrebbe mostrare Provisioning completato. Qualsiasi altro stato indica che l'agente non è riuscito a eseguire l'installazione. Verificare di soddisfare tutti i requisiti di sistema. Provare a reinstallare l'agente.
    • Lo stato del gestore dovrebbe essere Pronto. Qualsiasi altro stato indica che l'agente è installato ma non può connettersi a Chaos Studio. Verificare di soddisfare tutti i requisiti di rete e che l'identità gestita assegnata dall'utente sia stata aggiunta alla macchina virtuale. Provare a riavviare.

Problemi durante l'aggiunta di una risorsa

Quando si aggiunge una risorsa, potrebbero verificarsi i problemi seguenti.

Le risorse non vengono visualizzate nell'elenco delle destinazioni nel portale di Azure

Se non vengono visualizzate le risorse che si desidera abilitare nell'elenco delle destinazioni di Chaos Studio, potrebbe trattarsi di uno dei problemi seguenti:

L'abilitazione della destinazione o della funzionalità ha esito negativo o non viene visualizzata correttamente nell'elenco di destinazione

Se viene visualizzato un errore quando si abilitano destinazioni o funzionalità, provare la procedura seguente:

  1. Verificare di disporre delle autorizzazioni appropriate per le risorse da aggiungere. L'abilitazione di una destinazione o di funzionalità richiede l'autorizzazione Microsoft.Chaos/* nell'ambito della risorsa. I ruoli predefiniti, ad esempio Collaboratore, hanno autorizzazioni di lettura e scrittura con caratteri jolly, che includono l'autorizzazione per tutte le operazioni di Microsoft.Chaos.
  2. Attendere alcuni minuti per l'aggiornamento dell'elenco di destinazione e delle funzionalità. Il portale di Azure usa Azure Resource Graph per raccogliere informazioni sull'aggiunta di destinazioni e funzionalità. La propagazione dell'aggiornamento può richiedere fino a cinque minuti.
  3. Se la risorsa non è ancora abilitata, provare i passaggi seguenti:
    1. Tentare di abilitare di nuovo la risorsa.
    2. Se l'abilitazione delle risorse non riesce, passare al log attività e trovare l'operazione di creazione della destinazione non riuscita per visualizzare informazioni dettagliate sull'errore.
  4. Se la risorsa mostra Abilitato ma l'aggiunta di funzionalità non è riuscita, provare i passaggi seguenti:
    1. Selezionare Gestisci azioni nella risorsa nell'elenco delle destinazioni. Controllare le funzionalità non selezionate e selezionare Salva.
    2. Se l'abilitazione della funzionalità non riesce, passare al log attività e trovare l'operazione di creazione della destinazione non riuscita per visualizzare informazioni dettagliate sull'errore.

Problemi relativi ai prerequisiti

Alcuni problemi sono causati da prerequisiti mancanti.

Gli errori basati su agente hanno esito negativo in una macchina virtuale

Gli errori basati su agente potrebbero non riuscire per diversi motivi correlati ai prerequisiti mancanti:

  • Nelle macchine virtuali Linux, la pressione della CPU, la pressione della memoria fisica, la pressione di I/O su disco e gli errori di stress arbitrario stress-ng richiedono che l'utilità stress-ng sia installata nella macchina virtuale. Per altre informazioni su come installare stress-ng, vedere le sezioni sui prerequisiti di errore.
  • Nelle macchine virtuali Linux o Windows l'identità gestita assegnata dall'utente fornita durante l'abilitazione della destinazione basata su agente deve essere aggiunta anche alla macchina virtuale.
  • Nelle macchine virtuali Linux o Windows, all'identità gestita assegnata dal sistema per l'esperimento deve essere concesso il ruolo Lettore nella macchina virtuale. I ruoli apparentemente elevati, ad esempio Collaboratore macchina virtuale, non includono l'operazione */Read necessaria per l'agente Chaos Studio per leggere la risorsa proxy di destinazione microsoft-agent nella macchina virtuale.

L'agente Chaos non verrà installato nei set di scalabilità di macchine virtuali

L'installazione dell'agente Chaos nei set di scalabilità di macchine virtuali potrebbe non riuscire senza visualizzare un errore se i criteri di aggiornamento del set di scalabilità di macchine virtuali sono impostati su Manuale. Per verificare i criteri di aggiornamento del set di scalabilità di macchine virtuali:

  1. Accedere al portale di Azure.
  2. Selezionare set di scalabilità di macchine virtuali.
  3. Nel riquadro sinistro selezionare Criterio di aggiornamento.
  4. Controllare la modalità di aggiornamento per verificare se è impostata su Manuale - Le istanze esistenti devono essere aggiornate manualmente.

Se i criteri di aggiornamento sono impostati su Manuale, è necessario aggiornare le istanze di Azure set di scalabilità di macchine virtuali in modo che l'installazione dell'agente Chaos possa terminare.

Aggiornare le istanze dal portale di Azure

È possibile aggiornare le istanze di set di scalabilità di macchine virtuali dal portale di Azure:

  1. Accedere al portale di Azure.
  2. Selezionare set di scalabilità di macchine virtuali.
  3. Nel riquadro sinistro selezionare Istanze.
  4. Selezionare tutte le istanze e selezionare Aggiorna.

Aggiornare le istanze con l'interfaccia della riga di comando di Azure

È possibile aggiornare le istanze di set di scalabilità di macchine virtuali con l'interfaccia della riga di comando di Azure:

  • Dall'interfaccia della riga di comando di Azure usare az vmss update-instances per aggiornare manualmente le istanze:

    az vmss update-instances --resource-group myResourceGroup --name myScaleSet --instance-ids {instanceIds}
    

Per altre informazioni, vedere Aggiornare le macchine virtuali con il modello di set di scalabilità più recente.

Errori di Chaos Mesh del servizio Azure Kubernetes

Gli errori di Chaos Mesh servizio Azure Kubernetes (AKS) potrebbero non riuscire per diversi motivi correlati ai prerequisiti mancanti:

  • Chaos Mesh deve essere installato nel cluster del servizio Azure Kubernetes prima di usare gli errori di Chaos Mesh del servizio Azure Kubernetes. Per istruzioni, vedere l'esercitazione sugli errori di Chaos Mesh nel servizio Azure Kubernetes.
  • Chaos Mesh deve essere versione 2.0.4 o successiva. È possibile ottenere la versione di Chaos Mesh connettendosi al cluster del servizio Azure Kubernetes ed eseguendo helm version chaos-mesh.
  • Chaos Mesh deve essere installato con lo spazio dei nomi chaos-testing. Altri nomi di spazio dei nomi per Chaos Mesh non sono supportati.
  • Il ruolo cluster del servizio Azure Kubernetes Amministrazione deve essere assegnato all'identità gestita assegnata dal sistema per l'esperimento chaos.

Problemi durante la creazione o la progettazione di un esperimento

Potrebbero verificarsi problemi durante la creazione o la progettazione di un esperimento.

Quando si aggiunge un errore, la risorsa non viene visualizzata nell'elenco Risorse di destinazione

Quando si aggiunge un errore, se non viene visualizzata la risorsa di destinazione con un errore nell'elenco Risorse di destinazione, potrebbe trattarsi di uno dei problemi seguenti:

  • Il filtro Sottoscrizione è impostato per escludere la sottoscrizione in cui viene distribuita la destinazione. Selezionare il filtro della sottoscrizione e modificare le sottoscrizioni selezionate.
  • La risorsa non è stata ancora aggiunta. Passare alla visualizzazione Destinazioni e abilitare la destinazione. Chiudere quindi il riquadro Aggiungi errore e riaprirlo per visualizzare un elenco di destinazione aggiornato.
  • La risorsa non è stata ancora abilitata per il tipo di destinazione di tale errore. Vedere la libreria di errori per vedere quale tipo di destinazione viene usato per l'errore. Passare quindi alla visualizzazione Destinazioni e abilitare il tipo di destinazione. Il tipo è basato su agente per gli errori di Microsoft-Agent o service-direct per tutti gli altri tipi di destinazione. Chiudere quindi il riquadro Aggiungi errore e riaprirlo per visualizzare un elenco di destinazione aggiornato.
  • La risorsa non ha ancora la funzionalità per l'errore abilitato. Vedere la libreria di errori per visualizzare il nome della funzionalità per l'errore. Passare quindi alla visualizzazione Destinazioni e selezionare Gestisci azioni nella risorsa di destinazione. Selezionare la casella di controllo relativa alla funzionalità corrispondente all'errore che si sta tentando di eseguire e selezionare Salva. Chiudere quindi il riquadro Aggiungi errore e riaprirlo per visualizzare un elenco di destinazione aggiornato.
  • La risorsa è stata aggiunta di recente e non è ancora apparsa in Resource Graph. L'elenco Risorse di destinazione viene sottoposto a query da Resource Graph. Dopo l'abilitazione di una nuova destinazione, possono essere necessari fino a cinque minuti prima che l'aggiornamento venga propagato a Resource Graph. Attendere alcuni minuti e quindi riaprire il riquadro Aggiungi errore .

Quando si crea un esperimento, viene visualizzato l'errore "The microsoft:agent provider requires a managed identity" (Il provider microsoft:agent richiede un'identità gestita)

Questo errore si verifica quando l'agente non è stato distribuito nella macchina virtuale. Per istruzioni sull'installazione, vedere Creare ed eseguire un esperimento che usa errori basati su agenti.

Quando si crea un esperimento, viene visualizzato l'errore "Il tipo di supporto di contenuto 'null' non è supportato. È supportato solo 'application/json'

Questo errore può verificarsi se si sta creando l'esperimento usando un modello di Azure Resource Manager o l'API REST di Chaos Studio. L'errore indica che nella definizione dell'esperimento è presente codice JSON non valido. Verificare se sono presenti errori di sintassi, ad esempio parentesi graffe o parentesi quadre non corrispondenti ({} e []). Per verificare, usare un linter JSON come Visual Studio Code.

Problemi durante l'esecuzione di un esperimento

Potrebbero verificarsi problemi durante l'esecuzione di un esperimento.

Lo stato di esecuzione dell'esperimento dopo l'avvio è "Non riuscito"

Nell'elenco Esperimenti nella portale di Azure selezionare il nome dell'esperimento per visualizzare La panoramica dell'esperimento. Nella sezione Cronologia selezionare Dettagli accanto all'esecuzione dell'esperimento non riuscito per visualizzare informazioni dettagliate sull'errore.

Screenshot che mostra la cronologia dell'esperimento.

Errore basato su agente non riuscito con l'errore "Verificare che la destinazione sia stata aggiunta correttamente e le autorizzazioni di lettura appropriate vengano fornite all'identità del servizio gestito dell'esperimento"

Questo errore può verificarsi se l'agente è stato aggiunto usando il portale di Azure, che presenta un problema noto. L'abilitazione di una destinazione basata su agente non assegna l'identità gestita assegnata dall'utente alla macchina virtuale o al set di scalabilità di macchine virtuali.

Per risolvere questo problema, passare alla macchina virtuale o al set di scalabilità di macchine virtuali nel portale di Azure e passare a Identità. Aprire la scheda Assegnata dall'utente e aggiungere l'identità assegnata dall'utente alla macchina virtuale. Al termine, potrebbe essere necessario riavviare la macchina virtuale per consentire all'agente di connettersi.

Errore basato su agente non riuscito con l'errore "Agent sta già eseguendo un'altra attività"

Questo errore si verifica se si tenta di eseguire più errori dell'agente contemporaneamente. Attualmente l'agente supporta solo l'esecuzione di un singolo errore agente alla volta e avrà esito negativo se si definisce un esperimento che esegue più errori dell'agente contemporaneamente.

Problemi durante la configurazione di un'identità gestita

Quando si tenta di aggiungere un'identità gestita assegnata dal sistema o assegnata dall'utente all'esperimento esistente, il salvataggio non riesce.

Se si sta tentando di aggiungere un'identità gestita assegnata dall'utente o assegnata dal sistema a un esperimento che dispone già di un'identità gestita assegnata, l'esperimento non viene distribuito. È necessario eliminare l'identità gestita assegnata dall'utente o assegnata dal sistema esistente nell'esperimento desiderato prima di aggiungere l'identità gestita desiderata.

Quando si esegue un esperimento configurato per creare e assegnare automaticamente un ruolo personalizzato, viene visualizzato l'errore "Impossibile risolvere le risorse di destinazione. ErrorCode: AccessDenied. Risorse di destinazione:"

Quando viene selezionata la casella di controllo "Autorizzazioni ruolo personalizzate" per un esperimento, Chaos Studio crea e assegna un ruolo personalizzato con le autorizzazioni necessarie all'identità dell'esperimento. Tuttavia, questo è soggetto ai limiti seguenti per l'assegnazione di ruolo e la definizione di ruolo:

  • Ogni sottoscrizione di Azure ha un limite di 4000 assegnazioni di ruolo.
  • Ogni tenant di Microsoft Entra ha un limite di 5000 definizioni di ruolo (o 2000 definizioni di ruolo per Azure in Cina).

Quando è stato raggiunto uno di questi limiti, si verificherà questo errore. Per risolvere questo problema, concedere manualmente le autorizzazioni all'identità dell'esperimento.