Condividi tramite


Risolvere i problemi relativi ad Azure Chaos Studio

Quando si usa Azure Chaos Studio, è possibile che si verifichino occasionalmente alcuni problemi. In questo articolo sono descritti alcuni problemi comuni e i passaggi per risolverli.

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 contiene 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 ai servizi inserisce anche errori tramite l'esecuzione di un'operazione di Azure Resource Manager, quindi il log attività contiene anche il record di errori inseriti durante un esperimento per alcuni errori diretti ai servizi.
  • 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 relativi messaggi di 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 comprendere il motivo per cui 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 systemd per l'agente (gli eventi registrati dal servizio agente), eseguire il comando journalctl -u azure-chaos-agent.
  • Stato dell'estensione della macchina virtuale: se si usa un errore basato su agente, verificare che l'estensione della macchina virtuale sia installata e integra. Nel portale di Azure passare alla macchina virtuale e passare a Estensioni o Estensioni e applicazioni. Selezionare l'estensione ChaosAgent e cercare i campi seguenti:
    • Per Stato dovrebbe essere visualizzato Provisioning completato. Qualsiasi altro stato indica che l'agente non è riuscito a eseguire l'installazione. Verificare che tutti i requisiti di sistema siano soddisfatti. Provare a reinstallare l'agente.
    • Per Stato del gestore dovrebbe essere visualizzato Pronto. Qualsiasi altro stato indica che l'agente è installato ma non può connettersi a Chaos Studio. Verificare che tutti i requisiti di rete siano soddisfatti 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 di 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, tra cui l'autorizzazione per tutte le operazioni di Microsoft.Chaos.
  2. Attendere alcuni minuti per l'aggiornamento dell'elenco di destinazioni e 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 mostra ancora Non abilitato, 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 risulta abilitata 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 delle funzionalità non riesce, passare al log attività e trovare l'operazione di creazione della destinazione non riuscita per visualizzare informazioni dettagliate sull'errore.

Problemi di prerequisiti

Alcuni problemi sono causati da prerequisiti mancanti.

Gli errori basati sull'agente hanno esito negativo in una macchina virtuale

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

  • Nelle macchine virtuali Linux, gli errori Utilizzo di CPU, Utilizzo di memoria fisica, Utilizzo di I/O su disco e Stress arbitrario Stress-ng richiedono tutti 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 all'agente Chaos Studio per leggere la risorsa proxy di destinazione dell'agente Microsoft 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 dei set di scalabilità di macchine virtuali di Azure in modo che l'installazione dell'agente Chaos possa terminare.

Aggiornare le istanze dal portale di Azure

È possibile aggiornare le istanze dei 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 a sinistra selezionare Istanze.
  4. Selezionare tutte le istanze e scegliere Aggiorna.

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

È possibile aggiornare le istanze dei 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 ulteriori informazioni, vedere Come aggiornare le macchine virtuali con il più recente modello del set di scalabilità.

Errori di Chaos Mesh nel servizio Azure Kubernetes

Gli errori di Chaos Mesh nel servizio Azure Kubernetes 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 nel 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 amministratore del cluster del servizio Azure Kubernetes deve essere assegnato all'identità gestita assegnata dal sistema per l'esperimento chaos.

Problemi durante la creazione o la progettazione di un esperimento

Durante la creazione o la progettazione di un esperimento potrebbero verificarsi dei problemi.

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 che si vuole associare a un errore nell'elenco Risorse di destinazione ciò potrebbe essere dovuto a 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 visualizzare quale tipo di destinazione viene usato per l'errore. Passare alla visualizzazione Destinazioni e abilitare il tipo di destinazione. Il tipo è basato su agente per gli errori dell'agente Microsoft o diretto al servizio per tutti gli altri tipi di destinazione. Chiudere quindi il riquadro Aggiungi errore e riaprirlo per visualizzare un elenco di destinazione aggiornato.
  • Per la risorsa non è ancora abilitata la funzionalità per l'errore. 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 qualche minuto e quindi riaprire il riquadro Aggiungi errore.

Quando si crea un esperimento, viene visualizzato l'errore "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

Durante l'esecuzione di un esperimento potrebbero verificarsi dei problemi.

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

Nell'elenco Esperimenti nel 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 degli esperimenti.

In alternativa, usare l'API REST per ottenere i dettagli di esecuzione dell'esperimento. Per altre informazioni, vedere l'articolo di esempio dell'API REST.

az rest --method post --url "https://management.azure.com/{experimentId}/executions/{executionDetailsId}/getExecutionDetails?api-version={apiVersion}" 

Errore basato su agente non riuscito con l'errore "Verificare che la destinazione sia stata aggiunta correttamente e che 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 andare su 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 "L'agente 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 di agente alla volta e avrà esito negativo se si definisce un esperimento che esegue più errori di agente contemporaneamente.

L'esperimento non è stato avviato o non è riuscito immediatamente

Dopo l'avvio di un esperimento, potrebbe essere visualizzato un messaggio di errore simile al seguente: The long-running operation has failed. InternalServerError. The target resource(s) could not be resolved. Error Code: OperationFailedException. In genere, ciò indica che l'identità dell'esperimento non dispone delle autorizzazioni necessarie.

Per risolvere questo errore, assicurarsi che l'identità gestita assegnata dal sistema o assegnata dall'utente dell'esperimento disponga dell'autorizzazione per tutte le risorse dell'esperimento. Altre informazioni sulle autorizzazioni sono disponibili qui: Autorizzazioni e sicurezza in Azure Chaos Studio. Ad esempio, se l'esperimento è destinato a una macchina virtuale, passare alla pagina di identità della macchina virtuale e assegnare il ruolo "Collaboratore macchina virtuale" all'identità gestita dell'esperimento.

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 ha già un'identità gestita assegnata, la distribuzione dell'esperimento non riesce. È necessario innanzitutto 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. Risorsa/e 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, questa condizione è soggetta ai limiti seguenti per l'assegnazione di ruolo e la definizione di ruolo:

  • Ciascuna 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 si raggiunge uno di questi limiti, si verifica questo errore. Per risolvere questo problema, concedere manualmente le autorizzazioni all'identità dell'esperimento.