Condividi tramite


Libreria di azioni e errori di Azure Chaos Studio

Questo articolo elenca gli errori che è possibile usare in Chaos Studio, organizzati in base al tipo di risorsa applicabile. Per comprendere quali assegnazioni di ruolo sono consigliate per ogni tipo di risorsa, vedere Tipi di risorse e assegnazioni di ruolo supportati per Azure Chaos Studio.

Errori basati su agente

Gli errori basati su agente vengono inseriti nelle istanze di Azure Macchine virtuali o del set di scalabilità di macchine virtuali installando Chaos Studio Agent. Trovare le opzioni di errore diretto dal servizio per queste risorse di seguito nelle tabelle Macchina virtuale e Set di scalabilità di macchine virtuali.

Tipi di sistema operativo applicabili Nome errore Scenari applicabili
Windows, Linux Utilizzo della CPU Perdita di capacità di calcolo, pressione delle risorse
Windows, Linux Termina processo Interruzione delle dipendenze
Windows Sospendi processo Interruzione delle dipendenze, interruzione del servizio
Windows, Linux Disconnessione rete Interruzione della rete
Windows, Linux Latenza di rete Riduzione delle prestazioni di rete
Windows, Linux Perdita di pacchetti di rete Problemi di affidabilità della rete
Windows, Linux Pressione della memoria fisica Perdita di capacità di memoria, pressione delle risorse
Windows, Linux Arrestare il servizio Interruzione/riavvio del servizio
Windows, Linux Modifica ora Problemi di sincronizzazione dell'ora
Windows, Linux Utilizzo elevato della memoria virtuale Perdita di capacità di memoria, pressione delle risorse
Linux Stress-ng stressor arbitrario Test generali dello stress del sistema
Linux Pressione su disco Linux Riduzione delle prestazioni di I/O del disco
Windows DiskIO Pressure Riduzione delle prestazioni di I/O del disco
Windows Errore DNS Problemi di risoluzione DNS
Windows Disconnessione di rete (tramite firewall) Interruzione della rete

Servizio app

Questa sezione si applica al Microsoft.Web/sites tipo di risorsa. Altre informazioni sulle servizio app.

Nome errore Scenari applicabili
Arresta servizio app Interruzione del servizio

Impostazioni di scalabilità automatica

Questa sezione si applica al Microsoft.Insights/autoscaleSettings tipo di risorsa. Altre informazioni sul Impostazioni di scalabilità automatica.

Nome errore Scenari applicabili
Disabilita scalabilità automatica Perdita di capacità di calcolo (se usata con l'arresto del set di scalabilità di macchine virtuali)

Servizio Azure Kubernetes

Questa sezione si applica al Microsoft.ContainerService/managedClusters tipo di risorsa. Altre informazioni sulle servizio Azure Kubernetes.

Nome errore Scenari applicabili
Chaos Mesh DNS del servizio Azure Kubernetes Chaos Problemi di risoluzione DNS
Chaos Mesh del servizio Azure Kubernetes - Chaos Interruzione della rete
Chaos Di Chaos Mesh del servizio Azure Kubernetes Riduzione/pressione del disco
Chaos Mesh Kernel Chaos del servizio Azure Kubernetes Interruzione del kernel
Chaos Mesh Network Chaos del servizio Azure Kubernetes Interruzione della rete
Chaos Mesh del pod del servizio Azure Kubernetes Interruzione del contenitore
Chaos Mesh del servizio Azure Kubernetes Stress Chaos Test di stress del sistema
Chaos Mesh Time Chaos chaos del servizio Azure Kubernetes Problemi di sincronizzazione dell'ora

Servizi cloud (versione classica)

Questa sezione si applica al Microsoft.ClassicCompute/domainNames tipo di risorsa. Altre informazioni su Servizi cloud (versione classica).

Nome errore Scenari applicabili
Arresto del servizio cloud Perdita di calcolo

Cache cluster per Redis

Questa sezione si applica al Microsoft.Cache/redis tipo di risorsa. Altre informazioni su Cache cluster per Redis.

Nome errore Scenari applicabili
cache di Azure per Redis (riavvio) Interruzione delle dipendenze (cache)

Cosmos DB

Questa sezione si applica al Microsoft.DocumentDB/databaseAccounts tipo di risorsa. Altre informazioni su Cosmos DB.

Nome errore Scenari applicabili
Cosmos DB Failover Failover del database

Hub eventi

Questa sezione si applica al Microsoft.EventHub/namespaces tipo di risorsa. Altre informazioni su Hub eventi.

Nome errore Scenari applicabili
Modificare lo stato dell'hub eventi Errore di configurazione/interruzione dell'infrastruttura di messaggistica

Key Vault

Questa sezione si applica al Microsoft.KeyVault/vaults tipo di risorsa. Altre informazioni su Key Vault.

Nome errore Scenari applicabili
Key Vault: Nega accesso Negazione del certificato
Key Vault: Disabilita certificato Interruzione del certificato
Key Vault: incrementa la versione del certificato Incremento della versione del certificato
Insieme di credenziali delle chiavi: aggiornare i criteri dei certificati Modifiche/configurazioni errate dei criteri dei certificati

Gruppi di sicurezza di rete

Questa sezione si applica al Microsoft.Network/networkSecurityGroups tipo di risorsa. Altre informazioni sui gruppi di sicurezza di rete.

Nome errore Scenari applicabili
Regola di sicurezza del gruppo di sicurezza di rete Interruzione della rete (per molti servizi di Azure)

Bus di servizio

Questa sezione si applica al Microsoft.ServiceBus/namespaces tipo di risorsa. Altre informazioni sulle bus di servizio.

Nome errore Scenari applicabili
Modificare lo stato della coda Errore di configurazione/interruzione dell'infrastruttura di messaggistica
Modificare lo stato della sottoscrizione Errore di configurazione/interruzione dell'infrastruttura di messaggistica
Modifica stato argomento Errore di configurazione/interruzione dell'infrastruttura di messaggistica

Macchine virtuali (service-direct)

Questa sezione si applica al Microsoft.Compute/virtualMachines tipo di risorsa. Altre informazioni sulle Macchine virtuali.

Nome errore Scenari applicabili
Ridistribuire la macchina virtuale Interruzione del calcolo, eventi di manutenzione
Arresto della macchina virtuale Perdita/interruzione del calcolo

Set di scalabilità di macchine virtuali

Questa sezione si applica al Microsoft.Compute/virtualMachineScaleSets tipo di risorsa. Altre informazioni sulle set di scalabilità di macchine virtuali.

Nome errore Scenari applicabili
Arresto del set di scalabilità di macchine virtuali Perdita/interruzione del calcolo
Arresto del set di scalabilità di macchine virtuali (2.0) Perdita/interruzione del calcolo (per zona di disponibilità)

Azioni di orchestrazione

Queste azioni sono blocchi predefiniti per costruire esperimenti efficaci. Usarli in combinazione con altri errori, ad esempio l'esecuzione di un test di carico durante l'arresto parallelo di istanze di calcolo in una zona.

Categoria di azioni Nome errore
Load Avviare il test di carico (test di carico di Azure)
Load Arrestare il test di carico (test di carico di Azure)
Ritardo di tempo Delay

Dettagli: errori basati su agente

Disconnessione di rete

Proprietà valore
Nome funzionalità NetworkDisconnect-1.1
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows, Linux.
Descrizione Blocca il traffico di rete in uscita per l'intervallo di porte e il blocco di rete specificati. È necessario specificare almeno un array destinationFilter o inboundDestinationFilter.
Prerequisiti Windows: l'agente deve essere eseguito come amministratore, che avviene per impostazione predefinita se installato come estensione di macchina virtuale.
Linux: il tc pacchetto (controllo del traffico) viene usato per gli errori di rete. Se non è già installato, l'agente tenta automaticamente di installarlo dalla gestione pacchetti predefinita.
Urna urn:csci:microsoft:agent:networkDisconnect/1.1
Parametri (chiave, valore)
destinationFilters Matrice JSON delimitata di filtri di pacchetti che definiscono i pacchetti in uscita di destinazione. Massimo 16.
inboundDestinationFilters Matrice JSON delimitata di filtri di pacchetti che definiscono i pacchetti in ingresso di destinazione. Massimo 16.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

I parametri destinationFilters e inboundDestinationFilters usano la matrice di filtri pacchetti seguente.

Proprietà valore
address Indirizzo IP che indica l'inizio dell'intervallo IP.
Subnetmask Subnet mask per l'intervallo di indirizzi IP.
portLow (Facoltativo) Numero di porta dell'inizio dell'intervallo di porte.
portHigh (Facoltativo) Numero di porta della fine dell'intervallo di porte.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkDisconnect/1.1",
      "parameters": [
        {
          "key": "destinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "inboundDestinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Limiti

  • Gli errori di rete basati su agente supportano attualmente solo gli indirizzi IPv4.
  • L'errore di disconnessione di rete influisce solo sulle nuove connessioni. Le connessioni attive esistenti continuano a essere persistenti. È possibile riavviare il servizio o il processo per forzare l'interruzione delle connessioni.
  • Quando è in esecuzione in Windows, l'errore di disconnessione di rete funziona attualmente solo con i pacchetti TCP o UDP.

Disconnessione di rete (tramite firewall)

Proprietà valore
Nome funzionalità NetworkDisconnectViaFirewall-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows
Descrizione Applica una regola di Windows Firewall per bloccare il traffico in uscita per l'intervallo di porte e il blocco di rete specificati.
Prerequisiti L'agente deve essere eseguito come amministratore. Se l'agente è installato come estensione di macchina virtuale, viene eseguito come amministratore per impostazione predefinita.
Urna urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0
Parametri (chiave, valore)
destinationFilters Matrice JSON delimitata di filtri di pacchetti che definiscono quali pacchetti in uscita devono essere destinati all'inserimento di errori.
address Indirizzo IP che indica l'inizio dell'intervallo IP.
Subnetmask Subnet mask per l'intervallo di indirizzi IP.
portLow (Facoltativo) Numero di porta dell'inizio dell'intervallo di porte.
portHigh (Facoltativo) Numero di porta della fine dell'intervallo di porte.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0",
      "parameters": [
        {
          "key": "destinationFilters",
          "value": "[ { \"Address\": \"23.45.229.97\", \"SubnetMask\": \"255.255.255.224\", \"PortLow\": \"5000\", \"PortHigh\": \"5200\" } ]"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Limiti

  • Gli errori di rete basati su agente supportano attualmente solo gli indirizzi IPv4.

Latenza di rete

Proprietà valore
Nome funzionalità NetworkLatency-1.1
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows, Linux (solo traffico in uscita)
Descrizione Aumenta la latenza di rete per un intervallo di porte e un blocco di rete specificati. È necessario specificare almeno un array destinationFilter o inboundDestinationFilter.
Prerequisiti Windows: l'agente deve essere eseguito come amministratore, che avviene per impostazione predefinita se installato come estensione di macchina virtuale.
Linux: il tc pacchetto (controllo del traffico) viene usato per gli errori di rete. Se non è già installato, l'agente tenta automaticamente di installarlo dalla gestione pacchetti predefinita.
Urna urn:csci:microsoft:agent:networkLatency/1.1
Parametri (chiave, valore)
latencyInMilliseconds Quantità di latenza da applicare in millisecondi.
destinationFilters Matrice JSON delimitata di filtri di pacchetti che definiscono i pacchetti in uscita di destinazione. Massimo 16.
inboundDestinationFilters Matrice JSON delimitata di filtri di pacchetti che definiscono i pacchetti in ingresso di destinazione. Massimo 16.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

I parametri destinationFilters e inboundDestinationFilters usano la matrice di filtri pacchetti seguente.

Proprietà valore
address Indirizzo IP che indica l'inizio dell'intervallo IP.
Subnetmask Subnet mask per l'intervallo di indirizzi IP.
portLow (Facoltativo) Numero di porta dell'inizio dell'intervallo di porte.
portHigh (Facoltativo) Numero di porta della fine dell'intervallo di porte.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkLatency/1.1",
      "parameters": [
        {
          "key": "destinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "inboundDestinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "latencyInMilliseconds",
          "value": "100",
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Limiti

  • Gli errori di rete basati su agente supportano attualmente solo gli indirizzi IPv4.
  • Durante l'esecuzione in Linux, l'errore di latenza di rete può influire solo sul traffico in uscita , non sul traffico in ingresso. L'errore può influire sul traffico in ingresso e in uscita negli ambienti Windows (tramite i inboundDestinationFilters parametri e destinationFilters ).
  • In caso di esecuzione in Windows, l'errore di latenza di rete funziona attualmente solo con pacchetti TCP o UDP.

Perdita di pacchetti di rete

Proprietà valore
Nome funzionalità NetworkPacketLoss-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows, Linux
Descrizione Introduce la perdita di pacchetti per il traffico in uscita a una velocità specificata, compresa tra 0,0 (nessun pacchetto perso) e 1,0 (tutti i pacchetti persi). Questa azione consente di simulare scenari come la congestione della rete o i problemi hardware di rete.
Prerequisiti Windows: l'agente deve essere eseguito come amministratore, che avviene per impostazione predefinita se installato come estensione di macchina virtuale.
Linux: il tc pacchetto (controllo del traffico) viene usato per gli errori di rete. Se non è già installato, l'agente tenta automaticamente di installarlo dalla gestione pacchetti predefinita.
Urna urn:csci:microsoft:agent:networkPacketLoss/1.0
Parametri (chiave, valore)
packetLossRate Frequenza con cui i pacchetti corrispondenti ai filtri di destinazione andranno persi, compresi tra 0,0 e 1,0.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.
destinationFilters Matrice JSON delimitata di filtri di pacchetti (parametri seguenti) che definiscono quali pacchetti in uscita devono essere destinati all'inserimento di errori. Massimo tre.
address Indirizzo IP che indica l'inizio dell'intervallo IP.
Subnetmask Subnet mask per l'intervallo di indirizzi IP.
portLow (Facoltativo) Numero di porta dell'inizio dell'intervallo di porte.
portHigh (Facoltativo) Numero di porta della fine dell'intervallo di porte.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkPacketLoss/1.0",
      "parameters": [
            {
                "key": "destinationFilters",
                "value": "[{\"address\":\"23.45.229.97\",\"subnetMask\":\"255.255.255.224\",\"portLow\":5000,\"portHigh\":5200}]"
            },
            {
                "key": "packetLossRate",
                "value": "0.5"
            },
            {
                "key": "virtualMachineScaleSetInstances",
                "value": "[0,1,2]"
            }
        ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Limiti

  • Gli errori di rete basati su agente supportano attualmente solo gli indirizzi IPv4.
  • Durante l'esecuzione in Windows, l'errore di perdita di pacchetti di rete attualmente funziona solo con i pacchetti TCP o UDP.

Errore DNS

Proprietà valore
Nome funzionalità DnsFailure-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows
Descrizione Sostituisce le risposte delle richieste di ricerca DNS con un codice di errore specificato. Le richieste di ricerca DNS sostituite devono:
  • Origine dalla macchina virtuale.
  • Trovare la corrispondenza con i parametri di errore definiti.
Le ricerche DNS non eseguite dal client DNS Windows non sono interessate da questo errore.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:agent:dnsFailure/1.0
Parametri (chiave, valore)
hosts Matrice JSON delimitata di nomi host per cui non è possibile eseguire la ricerca DNS.

Questa proprietà accetta caratteri jolly (*), ma solo per il primo sottodominio in un indirizzo e si applica solo al sottodominio per cui sono specificati. Ad esempio:
  • *.microsoft.com è supportato.
  • subdomain.*.microsoft non è supportato.
  • *.microsoft.com non funziona per più sottodomini in un indirizzo, ad esempio subdomain1.subdomain2.microsoft.com.
dnsFailureReturnCode Codice di errore DNS da restituire al client per l'errore di ricerca (FormErr, ServFail, NXDomain, NotImp, Refused, XDomain, YXRRSet, NXRRSet, NotAuth, NotZone). Per altre informazioni sui codici restituiti DNS, vedere il sito Web IANA.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:dnsFailure/1.0",
      "parameters": [
        {
          "key": "hosts",
          "value": "[ \"www.bing.com\", \"msdn.microsoft.com\" ]"
        },
        {
          "key": "dnsFailureReturnCode",
          "value": "ServFail"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Limiti

  • L'errore DNS Failure richiede Windows 2019 RS5 o versione successiva.
  • La cache DNS viene ignorata durante la durata dell'errore per i nomi host definiti nell'errore.

Utilizzo della CPU

Proprietà valore
Nome funzionalità CPUPressure-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows, Linux.
Descrizione Aggiunge un utilizzo elevato della CPU, fino al valore specificato, nella macchina virtuale in cui questo errore viene inserito durante l'azione di errore. La pressione della CPU artificiale viene rimossa alla fine della durata o se l'esperimento viene annullato. In Windows, il contatore delle prestazioni % Processor Utility viene utilizzato all'avvio dell'errore per determinare la percentuale di CPU corrente, che viene sottratta dall'oggetto pressureLevel definito nell'errore in modo che % Processor Utility riscontri approssimativamente l'oggetto pressureLevel definito nei parametri di errore.
Prerequisiti Linux: è necessario installare l'utilità stress-ng . L'installazione viene eseguita automaticamente come parte dell'installazione dell'agente, usando la gestione pacchetti predefinita, in diversi sistemi operativi, tra cui Ubuntu, Red Hat Enterprise Linux e OpenSU edizione Standard. Per altre distribuzioni, incluso Azure Linux, è necessario installare stress-ng manualmente. Per altre informazioni, vedere il repository di progetti upstream.
Windows: Nessuno.
Urna urn:csci:microsoft:agent:cpuPressure/1.0
Parametri (chiave, valore)
pressureLevel Numero intero compreso tra 1 e 99 che indica la quantità di utilizzo cpu (%) applicata alla macchina virtuale in termini di % utilizzo CPU
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:cpuPressure/1.0",
      "parameters": [
        {
          "key": "pressureLevel",
          "value": "95"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Limiti

Problemi noti in Linux:

  • L'effetto di stress potrebbe non essere terminato correttamente se AzureChaosAgent viene ucciso in modo imprevisto.

Pressione della memoria fisica

Proprietà valore
Nome funzionalità PhysicalMemoryPressure-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows, Linux.
Descrizione Aggiunge un utilizzo elevato di memoria fisica, fino al valore specificato, nella macchina virtuale in cui questo errore viene inserito durante l'azione di errore. La pressione della memoria fisica artificiale viene rimossa alla fine della durata o se l'esperimento viene annullato.
Prerequisiti Linux: è necessario installare l'utilità stress-ng . L'installazione viene eseguita automaticamente come parte dell'installazione dell'agente, usando la gestione pacchetti predefinita, in diversi sistemi operativi, tra cui Ubuntu, Red Hat Enterprise Linux e OpenSU edizione Standard. Per altre distribuzioni, incluso Azure Linux, è necessario installare stress-ng manualmente. Per altre informazioni, vedere il repository di progetti upstream.
Windows: Nessuno.
Urna urn:csci:microsoft:agent:physicalMemoryPressure/1.0
Parametri (chiave, valore)
pressureLevel Numero intero compreso tra 1 e 99 che indica la quantità di utilizzo della memoria fisica (%) applicata alla macchina virtuale.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:physicalMemoryPressure/1.0",
      "parameters": [
        {
          "key": "pressureLevel",
          "value": "95"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Limiti

Attualmente, l'agente Windows non riduce la pressione della memoria quando altre applicazioni aumentano l'utilizzo della memoria. Se l'utilizzo complessivo della memoria supera il 100%, l'agente di Windows potrebbe arrestarsi in modo anomalo.

Utilizzo elevato della memoria virtuale

Proprietà valore
Nome funzionalità VirtualMemoryPressure-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows
Descrizione Aggiunge una pressione di memoria virtuale, fino al valore specificato, nella macchina virtuale in cui questo errore viene inserito durante l'azione di errore. La pressione della memoria virtuale artificiale viene rimossa alla fine della durata o se l'esperimento viene annullato.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:agent:virtualMemoryPressure/1.0
Parametri (chiave, valore)
pressureLevel Numero intero compreso tra 1 e 99 che indica la quantità di utilizzo della memoria fisica (%) applicata alla macchina virtuale.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:virtualMemoryPressure/1.0",
      "parameters": [
        {
          "key": "pressureLevel",
          "value": "95"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Utilizzo elevato di I/O su disco

Proprietà valore
Nome funzionalità DiskIOPressure-1.1
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows
Descrizione Usa l'utilità diskspd per aggiungere pressione su disco a una macchina virtuale. La pressione viene aggiunta al disco primario per impostazione predefinita o al disco specificato con il parametro targetTempDirectory. Questo errore ha cinque diverse modalità di esecuzione. La pressione del disco artificiale viene rimossa alla fine della durata o se l'esperimento viene annullato.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:agent:diskIOPressure/1.1
Parametri (chiave, valore)
pressureMode Modalità predefinita di utilizzo del disco da aggiungere alla risorsa di archiviazione primaria della macchina virtuale. Deve essere uno dei PressureModes valori indicati nella tabella seguente.
targetTempDirectory (Facoltativo) Directory da usare per l'applicazione della pressione del disco. Ad esempio: D:/Temp. Se il parametro non è incluso, la pressione viene aggiunta al disco primario.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Modalità di pressione

PressureMode Descrizione
Premium Archiviazione P10IOPS numberOfThreads = 1
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 25
sizeOfBlocksInKB = 8
sizeOfWriteBufferInKB = 64
fileSizeInGB = 2
percentOfWriteActions = 50
Premium Archiviazione P10Throttling
numberOfThreads = 2
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 25
sizeOfBlocksInKB = 64
sizeOfWriteBufferInKB = 64
fileSizeInGB = 1
percentOfWriteActions = 50
Premium Archiviazione P50IOPS numberOfThreads = 32
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 32
sizeOfBlocksInKB = 8
sizeOfWriteBufferInKB = 64
fileSizeInGB = 1
percentOfWriteActions = 50
Premium Archiviazione P50Throttling numberOfThreads = 2
randomBlockSizeInKB = 1024
randomSeed = 10
numberOfIOperThread = 2
sizeOfBlocksInKB = 1024
sizeOfWriteBufferInKB = 1024
fileSizeInGB = 20
percentOfWriteActions = 50
Default numberOfThreads = 2
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 2
sizeOfBlocksInKB = 64
sizeOfWriteBufferInKB = 64
fileSizeInGB = 1
percentOfWriteActions = 50

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:diskIOPressure/1.1",
      "parameters": [
        {
          "key": "pressureMode",
          "value": "PremiumStorageP10IOPS"
        },
        {
          "key": "targetTempDirectory",
          "value": "C:/temp/"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Pressione di I/O su disco Linux

Proprietà valore
Nome funzionalità LinuxDiskIOPressure-1.1
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Linux
Descrizione Usa stress-ng per applicare pressione al disco. Vengono generati uno o più processi di lavoro che eseguono processi di I/O con file temporanei. La pressione viene aggiunta al disco primario per impostazione predefinita o al disco specificato con il parametro targetTempDirectory. Per informazioni su come viene applicata la pressione, vedere l'articolo stress-ng .
Prerequisiti Linux: è necessario installare l'utilità stress-ng . L'installazione viene eseguita automaticamente come parte dell'installazione dell'agente, usando la gestione pacchetti predefinita, in diversi sistemi operativi, tra cui Ubuntu, Red Hat Enterprise Linux e OpenSU edizione Standard. Per altre distribuzioni, incluso Azure Linux, è necessario installare stress-ng manualmente. Per altre informazioni, vedere il repository di progetti upstream.
Urna urn:csci:microsoft:agent:linuxDiskIOPressure/1.1
Parametri (chiave, valore)
workerCount Numero di processi di lavoro da eseguire. L'impostazione su workerCount 0 genera il maggior numero di processi di lavoro disponibili per il numero di processori.
fileSizePerWorker Dimensioni del file temporaneo su cui un ruolo di lavoro esegue operazioni di I/O. Numero intero più unità in byte (b), kilobyte (k), megabyte (m) o gigabyte (g), ad esempio 4m per 4 megabyte e 256g per 256 gigabyte.
Blocksize Dimensioni dei blocchi da usare per le operazioni di I/O su disco, maggiori di 1 byte e minori di 4 megabyte (il valore massimo è 4095k). Numero intero più unità in byte, kilobyte o megabyte (ad esempio, 512k per 512 kilobyte).
targetTempDirectory (Facoltativo) Directory da usare per l'applicazione della pressione del disco. Ad esempio: /tmp/. Se il parametro non è incluso, la pressione viene aggiunta al disco primario.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

Questi valori di esempio hanno prodotto circa il 100% di utilizzo del disco quando vengono testati in una Standard_D2s_v3 macchina virtuale con archiviazione con ridondanza locale SSD Premium. Un file di grandi dimensioniSizePerWorker e blockSize più piccolo aiuta a stressarsi completamente il disco.

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:linuxDiskIOPressure/1.1",
      "parameters": [
        {
          "key": "workerCount",
          "value": "4"
        },
        {
          "key": "fileSizePerWorker",
          "value": "2g"
        },
        {
          "key": "blockSize",
          "value": "64k"
        },
        {
          "key": "targetTempDirectory",
          "value": "/tmp/"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Arresta servizio

Proprietà valore
Nome funzionalità StopService-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows, Linux.
Descrizione Arresta un servizio Windows o un servizio di sistema Linux durante l'errore. La riavvia alla fine della durata o se l'esperimento viene annullato.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:agent:stopService/1.0
Parametri (chiave, valore)
serviceName Nome del servizio Windows o del servizio di sistema Linux che si vuole arrestare.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:stopService/1.0",
      "parameters": [
        {
          "key": "serviceName",
          "value": "nvagent"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Limiti

  • Windows: i nomi visualizzati per i servizi non sono supportati. Usare sc.exe query nel prompt dei comandi per esplorare i nomi dei servizi.
  • Linux: altri tipi di servizio oltre a systemd, ad esempio sysvinit, non sono supportati.

Termina processo

Proprietà valore
Nome funzionalità KillProcess-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows, Linux.
Descrizione Termina tutte le istanze in esecuzione di un processo che corrisponde al nome del processo inviato nei parametri di errore. Entro la durata impostata per l'azione di errore, un processo viene terminato ripetutamente in base al valore dell'intervallo di terminazione specificato. Questo errore è un errore distruttivo in cui l'amministratore di sistema deve ripristinare manualmente il processo se la riparazione automatica è configurata per essa.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:agent:killProcess/1.0
Parametri (chiave, valore)
Processname Nome di un processo per terminare continuamente (senza il .exe). Il processo non deve essere in esecuzione quando l'errore inizia l'esecuzione.
killIntervalInMilliseconds Tempo di attesa dell'errore tra tentativi di terminazione successivi in millisecondi.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:killProcess/1.0",
      "parameters": [
        {
          "key": "processName",
          "value": "myapp"
        },
        {
          "key": "killIntervalInMilliseconds",
          "value": "1000"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Sospendi processo

Proprietà valore
Nome funzionalità PauseProcess-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows.
Descrizione Sospende (sospende) i processi specificati per la durata specificata. Se sono presenti più processi con lo stesso nome, questo errore sospende tutti i processi. Entro la durata dell'errore, i processi vengono sospesi ripetitivamente all'intervallo specificato. Alla fine della durata o se l'esperimento viene annullato, i processi riprenderanno.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:agent:pauseProcess/1.0
Parametri (chiave, valore)
processNames Matrice JSON delimitata di nomi di processo che definiscono i processi da sospendere. Massimo 4. Il nome del processo può facoltativamente includere l'estensione ".exe".
pauseIntervalInMilliseconds Quantità di tempo di attesa dell'errore tra tentativi di sospensione successivi, in millisecondi.
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:pauseProcess/1.0",
      "parameters": [
        {
          "key": "processNames",
          "value": "[ \"test-0\", \"test-1.exe\" ]"
        },
        {
          "key": "pauseIntervalInMilliseconds",
          "value": "1000"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Limiti

Attualmente, è possibile elencare un massimo di 4 nomi di processo nel parametro processNames.

Modifica ora

Proprietà valore
Nome funzionalità TimeChange-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Windows
Descrizione Modifica l'ora di sistema della macchina virtuale e reimposta l'ora alla fine dell'esperimento o se l'esperimento viene annullato.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:agent:timeChange/1.0
Parametri (chiave, valore)
dateTime Stringa DateTime in formato ISO8601. Se YYYY-MM-DD mancano valori, per impostazione predefinita viene impostato il giorno corrente durante l'esecuzione dell'esperimento. Se mancano valori Thh:mm:ss, il valore predefinito è 12:00:00 AM. Se viene specificato un anno a 2 cifre (YY), viene convertito in un anno a 4 cifre (YYYY) in base al secolo corrente. Se manca il fuso <Z> orario, l'offset predefinito è il fuso orario locale. <Z> deve includere sempre un simbolo di segno (negativo o positivo).
virtualMachineScaleSetInstances Matrice di ID istanza quando si applica questo errore a un set di scalabilità di macchine virtuali. Obbligatorio per i set di scalabilità di macchine virtuali in modalità di orchestrazione uniforme. Altre informazioni sugli ID istanza.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:timeChange/1.0",
      "parameters": [
        {
          "key": "dateTime",
          "value": "2038-01-01T03:14:07"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Stress-ng stressor arbitrario

Proprietà valore
Nome funzionalità StressNg-1.0
Tipo di destinazione Microsoft-Agent
Tipi di sistema operativo supportati Linux
Descrizione Esegue qualsiasi comando stress-ng passando argomenti direttamente a stress-ng. Utile quando uno degli errori predefiniti per stress-ng non soddisfa le proprie esigenze.
Prerequisiti Linux: è necessario installare l'utilità stress-ng . L'installazione viene eseguita automaticamente come parte dell'installazione dell'agente, usando la gestione pacchetti predefinita, in diversi sistemi operativi, tra cui Ubuntu, Red Hat Enterprise Linux e OpenSU edizione Standard. Per altre distribuzioni, incluso Azure Linux, è necessario installare stress-ng manualmente. Per altre informazioni, vedere il repository di progetti upstream.
Urna urn:csci:microsoft:agent:stressNg/1.0
Parametri (chiave, valore)
stressNgArguments Uno o più argomenti da passare al processo di stress-ng. Per informazioni sui possibili argomenti di stress-ng, vedere l'articolo stress-ng . NOTA: non includere l'argomento "-t" perché causerà un errore. La lunghezza dell'esperimento viene definita direttamente nell'interfaccia utente dell'esperimento chaos di Azure, NON in stressNgArguments.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:stressNg/1.0",
      "parameters": [
        {
          "key": "stressNgArguments",
          "value": "--random 64"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Dettagli: errori diretti al servizio

Arresta servizio app

Proprietà valore
Nome funzionalità Stop-1.0
Tipo di destinazione Microsoft-AppService
Descrizione Arresta le applicazioni servizio app di destinazione, quindi le riavvia alla fine della durata dell'errore. Questa azione si applica alle risorse del tipo "Microsoft.Web/sites", tra cui servizio app, app per le API, app per dispositivi mobili e Funzioni di Azure.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:appService:stop/1.0
Tipo di errore Continuo.
Parametri (chiave, valore) Nessuno.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:appService:stop/1.0",
      "duration": "PT10M",
      "parameters":[],
      "selectorid": "myResources"
    }
  ]
}

Disabilita scalabilità automatica

Proprietà valore
Nome funzionalità DisaleAutoscale
Tipo di destinazione Scalabilità automatica Microsoft Impostazioni
Descrizione Disabilita il servizio di scalabilità automatica. Quando la scalabilità automatica è disabilitata, le risorse come set di scalabilità di macchine virtuali, app Web, bus di servizio e altro non vengono aggiunte o rimosse automaticamente in base al carico dell'applicazione.
Prerequisiti È necessario eseguire l'onboarding della risorsa autoScalesetting abilitata nella risorsa in Chaos Studio.
Urna urn:csci:microsoft:autoscalesettings:disableAutoscale/1.0
Tipo di errore Continuo.
Parametri (chiave, valore)
enableOnComplete Booleano. Configura se la scalabilità automatica viene riabilitabile al termine dell'azione. Il valore predefinito è true.

Json di esempio

{
  "name": "BranchOne", 
  "actions": [ 
    { 
    "type": "continuous", 
    "name": "urn:csci:microsoft:autoscaleSetting:disableAutoscale/1.0", 
    "parameters": [ 
     { 
      "key": "enableOnComplete", 
      "value": "true" 
      }                 
  ],                                 
   "duration": "PT2M", 
   "selectorId": "Selector1",           
  } 
 ] 
} 

Chaos Mesh Network Chaos del servizio Azure Kubernetes

Proprietà valore
Nome funzionalità NetworkChaos-2.1
Tipo di destinazione Microsoft-AzureKubernetesServiceChaosMesh
Tipi di sistema operativo del pool di nodi supportati Linux
Descrizione Causa un errore di rete disponibile tramite Chaos Mesh per l'esecuzione nel cluster servizio Azure Kubernetes (servizio Azure Kubernetes). Utile per la ricreazione di eventi imprevisti del servizio Azure Kubernetes che derivano da interruzioni di rete, ritardi, duplicazioni, perdita e danneggiamento.
Prerequisiti Il cluster del servizio Azure Kubernetes deve avere Chaos Mesh distribuito.
Urna urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.1
Parametri (chiave, valore)
jsonSpec Specifica Chaos Mesh in formato JSON che usa il tipo NetworkChaos. È possibile usare un convertitore YAML-to-JSON come Convertire YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o eseguire l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella jsonSpec proprietà . Non includere informazioni come metadati e tipo. La specifica della durata all'interno jsonSpec di non è necessaria, ma viene usata se disponibile.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"delay\",\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"delay\":{\"latency\":\"200ms\",\"correlation\":\"100\",\"jitter\":\"0ms\"}}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Chaos Mesh del pod del servizio Azure Kubernetes

Proprietà valore
Nome funzionalità PodChaos-2.1
Tipo di destinazione Microsoft-AzureKubernetesServiceChaosMesh
Tipi di sistema operativo del pool di nodi supportati Linux
Descrizione Causa un errore del pod disponibile tramite Chaos Mesh per l'esecuzione nel cluster del servizio Azure Kubernetes. Utile per la ricreazione di eventi imprevisti del servizio Azure Kubernetes causati da errori dei pod o problemi del contenitore.
Prerequisiti Il cluster del servizio Azure Kubernetes deve avere Chaos Mesh distribuito.
Urna urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.1
Parametri (chiave, valore)
jsonSpec Specifica Chaos Mesh in formato JSON che usa il tipo PodChaos. È possibile usare un convertitore YAML-to-JSON come Convertire YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o eseguire l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella jsonSpec proprietà . Non includere informazioni come metadati e tipo. La specifica della durata all'interno jsonSpec di non è necessaria, ma viene usata se disponibile.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"pod-failure\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Chaos Mesh del servizio Azure Kubernetes Stress Chaos

Proprietà valore
Nome funzionalità StressChaos-2.1
Tipo di destinazione Microsoft-AzureKubernetesServiceChaosMesh
Tipi di sistema operativo del pool di nodi supportati Linux
Descrizione Causa un errore di stress disponibile tramite Chaos Mesh per l'esecuzione nel cluster del servizio Azure Kubernetes. Utile per la ricreazione di eventi imprevisti del servizio Azure Kubernetes a causa di stress su una raccolta di pod, ad esempio a causa di un utilizzo elevato di CPU o memoria.
Prerequisiti Il cluster del servizio Azure Kubernetes deve avere Chaos Mesh distribuito.
Urna urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.1
Parametri (chiave, valore)
jsonSpec Specifica Chaos Mesh in formato JSON che usa il tipo StressChaos. È possibile usare un convertitore YAML-to-JSON come Convertire YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o eseguire l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella jsonSpec proprietà . Non includere informazioni come metadati e tipo. La specifica della durata all'interno jsonSpec di non è necessaria, ma viene usata se disponibile.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"stressors\":{\"cpu\":{\"workers\":1,\"load\":50},\"memory\":{\"workers\":4,\"size\":\"256MB\"}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Chaos Di Chaos Mesh del servizio Azure Kubernetes

Proprietà valore
Nome funzionalità IOChaos-2.1
Tipo di destinazione Microsoft-AzureKubernetesServiceChaosMesh
Tipi di sistema operativo del pool di nodi supportati Linux
Descrizione Causa un errore di I/O disponibile tramite Chaos Mesh per l'esecuzione nel cluster del servizio Azure Kubernetes. Utile per la ricreazione di eventi imprevisti del servizio Azure Kubernetes a causa di ritardi di I/O e errori di lettura/scrittura quando si usano chiamate di sistema I/O come open, reade write.
Prerequisiti Il cluster del servizio Azure Kubernetes deve avere Chaos Mesh distribuito.
Urna urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.1
Parametri (chiave, valore)
jsonSpec Specifica Chaos Mesh in formato JSON che usa il tipo IOChaos. È possibile usare un convertitore YAML-to-JSON come Convertire YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o eseguire l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella jsonSpec proprietà . Non includere informazioni come metadati e tipo. La specifica della durata all'interno jsonSpec di non è necessaria, ma viene usata se disponibile.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"latency\",\"mode\":\"one\",\"selector\":{\"app\":\"etcd\"},\"volumePath\":\"\/var\/run\/etcd\",\"path\":\"\/var\/run\/etcd\/**\/*\",\"delay\":\"100ms\",\"percent\":50}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Chaos Mesh Time Chaos chaos del servizio Azure Kubernetes

Proprietà valore
Nome funzionalità TimeChaos-2.1
Tipo di destinazione Microsoft-AzureKubernetesServiceChaosMesh
Tipi di sistema operativo del pool di nodi supportati Linux
Descrizione Causa una modifica dell'orologio di sistema nel cluster del servizio Azure Kubernetes usando Chaos Mesh. Utile per la ricreazione di eventi imprevisti del servizio Azure Kubernetes che derivano da sistemi distribuiti che non rientrano nella sincronizzazione, dalla logica bisestile mancante/errata dell'anno bisestile e altro ancora.
Prerequisiti Il cluster del servizio Azure Kubernetes deve avere Chaos Mesh distribuito.
Urna urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.1
Parametri (chiave, valore)
jsonSpec Specifica Chaos Mesh in formato JSON che usa il tipo TimeChaos. È possibile usare un convertitore YAML-to-JSON come Convertire YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o eseguire l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella jsonSpec proprietà . Non includere informazioni come metadati e tipo. La specifica della durata all'interno jsonSpec di non è necessaria, ma viene usata se disponibile.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"timeOffset\":\"-10m100ns\"}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Chaos Mesh Kernel Chaos del servizio Azure Kubernetes

Proprietà valore
Nome funzionalità KernelChaos-2.1
Tipo di destinazione Microsoft-AzureKubernetesServiceChaosMesh
Tipi di sistema operativo del pool di nodi supportati Linux
Descrizione Causa un errore del kernel disponibile tramite Chaos Mesh per l'esecuzione nel cluster del servizio Azure Kubernetes. Utile per la ricreazione degli eventi imprevisti del servizio Azure Kubernetes a causa di errori a livello di kernel Linux, ad esempio un errore di montaggio o una memoria non allocata.
Prerequisiti Il cluster del servizio Azure Kubernetes deve avere Chaos Mesh distribuito.
Urna urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.1
Parametri (chiave, valore)
jsonSpec Specifica Chaos Mesh in formato JSON che usa il tipo KernelChaos. È possibile usare un convertitore YAML-to-JSON come Convertire YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o eseguire l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella jsonSpec proprietà . Non includere informazioni come metadati e tipo. La specifica della durata all'interno jsonSpec di non è necessaria, ma viene usata se disponibile.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"failKernRequest\":{\"callchain\":[{\"funcname\":\"__x64_sys_mount\"}],\"failtype\":0}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Chaos Mesh del servizio Azure Kubernetes - Chaos

Proprietà valore
Nome funzionalità HTTPChaos-2.1
Tipo di destinazione Microsoft-AzureKubernetesServiceChaosMesh
Tipi di sistema operativo del pool di nodi supportati Linux
Descrizione Causa un errore HTTP disponibile tramite Chaos Mesh per l'esecuzione nel cluster del servizio Azure Kubernetes. Utile per la ricreazione degli eventi imprevisti a causa di errori di elaborazione delle richieste HTTP e delle risposte, ad esempio risposte ritardate o non corrette.
Prerequisiti Il cluster del servizio Azure Kubernetes deve avere Chaos Mesh distribuito.
Urna urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.1
Parametri (chiave, valore)
jsonSpec Specifica Chaos Mesh in formato JSON che usa il tipo HTTPChaos. È possibile usare un convertitore YAML-to-JSON come Convertire YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o eseguire l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella jsonSpec proprietà . Non includere informazioni come metadati e tipo. La specifica della durata all'interno jsonSpec di non è necessaria, ma viene usata se disponibile.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"target\":\"Request\",\"port\":80,\"method\":\"GET\",\"path\":\"/api\",\"abort\":true}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Chaos Mesh DNS del servizio Azure Kubernetes Chaos

Proprietà valore
Nome funzionalità DNSChaos-2.1
Tipo di destinazione Microsoft-AzureKubernetesServiceChaosMesh
Tipi di sistema operativo del pool di nodi supportati Linux
Descrizione Causa un errore DNS disponibile tramite Chaos Mesh per l'esecuzione nel cluster del servizio Azure Kubernetes. Utile per la ricreazione degli eventi imprevisti a causa di errori DNS.
Prerequisiti Il cluster del servizio Azure Kubernetes deve avere Chaos Mesh distribuito e il servizio DNS deve essere installato.
Urna urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.1
Parametri (chiave, valore)
jsonSpec Specifica Chaos Mesh in formato JSON che usa il tipo DNSChaos. È possibile usare un convertitore YAML-to-JSON come Convertire YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o eseguire l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella jsonSpec proprietà . Non includere informazioni come metadati e tipo. La specifica della durata all'interno jsonSpec di non è necessaria, ma viene usata se disponibile.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"random\",\"mode\":\"all\",\"patterns\":[\"google.com\",\"chaos-mesh.*\",\"github.?om\"],\"selector\":{\"namespaces\":[\"default\"]}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

arresto Servizi cloud (versione classica)

Proprietà valore
Nome funzionalità Shutdown-1.0
Tipo di destinazione Microsoft-DomainName
Descrizione Arresta una distribuzione durante l'errore. Riavvia la distribuzione alla fine della durata dell'errore o se l'esperimento viene annullato.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:domainName:shutdown/1.0
Tipo di errore Continuo.
Parametri Nessuna.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:domainName:shutdown/1.0",
      "parameters": [],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

cache di Azure per Redis (riavvio)

Proprietà valore
Nome funzionalità Reboot-1.0
Tipo di destinazione Microsoft-AzureClusteredCacheForRedis
Descrizione Determina l'esecuzione di un'operazione di riavvio forzato nella destinazione per simulare una breve interruzione.
Prerequisiti N/D
Urna urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0
Tipo di errore Discreti.
Parametri (chiave, valore)
rebootType Tipi di nodo in cui deve essere eseguita l'azione di riavvio, che può essere specificata come PrimaryNode, SecondaryNode o AllNodes.
shardId ID della partizione da riavviare. Rilevante solo per le cache del livello Premium.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0",
      "parameters": [
        {
          "key": "RebootType",
          "value": "AllNodes"
        },
        {
          "key": "ShardId",
          "value": "0"
        }
      ],
      "selectorid": "myResources"
    }
  ]
}

Limiti

  • L'errore di riavvio causa un riavvio forzato per simulare meglio un evento di interruzione, il che significa che si verifica la potenziale perdita di dati.
  • L'errore di riavvio è un tipo di errore discreto . A differenza degli errori continui, si tratta di un'azione una tantum e non ha durata.

Cosmos DB Failover

Proprietà valore
Nome funzionalità Failover-1.0
Tipo di destinazione Microsoft-CosmosDB
Descrizione Determina il failover di un account Azure Cosmos DB con una singola area di scrittura in un'area di lettura specificata per simulare un'interruzione dell'area di scrittura.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:cosmosDB:failover/1.0
Parametri (chiave, valore)
readRegion Area di lettura che deve essere promossa all'area di scrittura durante il failover, East US 2ad esempio .

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:cosmosDB:failover/1.0",
      "parameters": [
        {
          "key": "readRegion",
          "value": "West US 2"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Modificare lo stato dell'hub eventi

Proprietà valore
Nome funzionalità ChangeEventHubState-1.0
Tipo di destinazione Microsoft-EventHub
Descrizione Imposta singoli hub eventi sullo stato desiderato all'interno di uno spazio dei nomi Hub eventi di Azure. È possibile influire su nomi specifici dell'hub eventi o usare "*" per influire su tutti gli spazi dei nomi. Questa azione consente di testare l'infrastruttura di messaggistica per scenari di manutenzione o di errore. Si tratta di un errore discreto, quindi l'entità non verrà restituita automaticamente allo stato iniziale.
Prerequisiti Uno spazio dei nomi Hub eventi di Azure con almeno un'entità dell'hub eventi.
Urna urn:csci:microsoft:eventHub:changeEventHubState/1.0
Tipo di errore Discreti.
Parametri (chiave, valore)
desiredState Stato desiderato per gli hub eventi di destinazione. Gli stati possibili sono Active, Disabled e SendDisabled.
eventHubs Elenco delimitato da virgole dei nomi dell'hub eventi all'interno dello spazio dei nomi di destinazione. Usare "*" per influire su tutte le entità all'interno dello spazio dei nomi.

Json di esempio

{
  "name": "Branch1",
    "actions": [
        {
            "selectorId": "Selector1",
            "type": "discrete",
            "parameters": [
                {
                    "key": "eventhubs",
                    "value": "[\"*\"]"
                },
                {
                    "key": "desiredState",
                    "value": "Disabled"
                }
            ],
            "name": "urn:csci:microsoft:eventHub:changeEventHubState/1.0"
        }
    ]
}

Key Vault: Nega accesso

Proprietà valore
Nome funzionalità DenyAccess-1.0
Tipo di destinazione Microsoft-KeyVault
Descrizione Blocca l'accesso di rete a un insieme di credenziali delle chiavi modificando temporaneamente le regole di rete dell'insieme di credenziali delle chiavi. Questa azione impedisce a un'applicazione dipendente dall'insieme di credenziali delle chiavi di accedere a segreti, chiavi e/o certificati. Se l'insieme di credenziali delle chiavi consente l'accesso a tutte le reti, questa impostazione viene modificata in modo da consentire l'accesso solo dalle reti selezionate. Nessuna rete virtuale è presente nell'elenco consentito all'inizio dell'errore. Tutte le reti sono autorizzate ad accedere alla fine della durata dell'errore. Se l'insieme di credenziali delle chiavi è impostato per consentire l'accesso solo dalle reti selezionate, tutte le reti virtuali nell'elenco consentito vengono rimosse all'inizio dell'errore. Vengono ripristinati alla fine della durata dell'errore.
Prerequisiti L'insieme di credenziali delle chiavi di destinazione non può avere regole del firewall e non deve essere impostato per consentire ai servizi di Azure di ignorare il firewall. Se l'insieme di credenziali delle chiavi di destinazione è impostato per consentire l'accesso solo dalle reti selezionate, deve essere presente almeno una regola di rete virtuale. L'insieme di credenziali delle chiavi non può essere in modalità di ripristino.
Urna urn:csci:microsoft:keyVault:denyAccess/1.0
Tipo di errore Continuo.
Parametri (chiave, valore) Nessuno.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:keyvault:denyAccess/1.0",
      "parameters": [],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Key Vault: Disabilita certificato

Proprietà valore
Nome funzionalità DisableCertificate-1.0
Tipo di destinazione Microsoft-KeyVault
Descrizione Usando le proprietà del certificato, l'errore disabilita il certificato per una durata specifica (fornita dall'utente). Abilita il certificato dopo la durata dell'errore.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:keyvault:disableCertificate/1.0
Tipo di errore Continuo.
Parametri (chiave, valore)
certificateName Nome del certificato di Azure Key Vault in cui viene eseguito l'errore.
versione Versione del certificato che deve essere disabilitata. Se non specificato, la versione più recente è disabilitata.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:keyvault:disableCertificate/1.0",
      "parameters": [
        {
            "key": "certificateName",
            "value": "<name of AKV certificate>"
        },
        {
            "key": "version",
            "value": "<certificate version>"
        }

],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Key Vault: incrementa la versione del certificato

Proprietà valore
Nome funzionalità IncrementCertificateVersion-1.0
Tipo di destinazione Microsoft-KeyVault
Descrizione Genera una nuova versione del certificato e l'identificazione personale usando la libreria client del certificato di Key Vault. Il certificato di lavoro corrente viene aggiornato a questa versione. La versione del certificato non viene ripristinata dopo la durata dell'errore.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0
Tipo di errore Discreti.
Parametri (chiave, valore)
certificateName Nome del certificato di Azure Key Vault in cui viene eseguito l'errore.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0",
      "parameters": [
        {
            "key": "certificateName",
            "value": "<name of AKV certificate>"
        }
    ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Insieme di credenziali delle chiavi: aggiornare i criteri dei certificati

Proprietà valore
Nome funzionalità UpdateCertificatePolicy-1.0
Tipo di destinazione Microsoft-KeyVault
Descrizione I criteri certificato (ad esempio, periodo di validità del certificato, tipo di certificato, dimensione della chiave o tipo di chiave) vengono aggiornati in base all'input dell'utente e ripristinati dopo la durata dell'errore.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0
Tipo di errore Continuo.
Parametri (chiave, valore)
certificateName Nome del certificato di Azure Key Vault in cui viene eseguito l'errore.
versione Versione del certificato da aggiornare. Se non specificato, viene aggiornata la versione più recente.
Enabled Booleano. Valore che indica se la nuova versione del certificato è abilitata.
validityInMonths Periodo di validità del certificato in mesi.
certificateTransparency Indica se il certificato deve essere pubblicato nell'elenco di trasparenza dei certificati al momento della creazione.
certificateType Tipo di certificato.
contentType Tipo di contenuto del certificato. Ad esempio, è Pkcs12 quando il certificato contiene byte PFX non elaborati o Pem quando contiene byte con codifica PEM ASCII. Pkcs12 è il valore predefinito assunto.
keySize Dimensioni della chiave RSA: 2048, 3072 o 4096.
Esportabile Booleano. Valore che indica se la chiave del certificato è esportabile dall'insieme di credenziali o dall'archivio certificati sicuro.
reuseKey Booleano. Valore che indica se la chiave del certificato deve essere riutilizzata quando il certificato viene ruotato.
keyType Tipo di chiave di backup generata quando vengono rilasciati nuovi certificati, ad esempio RSA o EC.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0",
      "parameters": [
        {
            "key": "certificateName",
            "value": "<name of AKV certificate>"
        },
        {
            "key": "version",
            "value": "<certificate version>"
        },
        {
            "key": "enabled",
            "value": "True"
        },
        {
            "key": "validityInMonths",
            "value": "12"
        },
        {
            "key": "certificateTransparency",
            "value": "True"
        },
        {
            "key": "certificateType",
            "value": "<certificate type>"
        },
        {
            "key": "contentType",
            "value": "Pem"
        },
        {
            "key": "keySize",
            "value": "4096"
        },
                {
            "key": "exportable",
            "value": "True"
        },
        {
            "key": "reuseKey",
            "value": "False"
        },
        {
            "key": "keyType",
            "value": "RSA"
        }

     ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Regola di sicurezza del gruppo di sicurezza di rete

Proprietà valore
Nome funzionalità SecurityRule-1.0
Tipo di destinazione Microsoft-NetworkSecurityGroup
Descrizione Abilita la creazione di modifiche o regole in un gruppo di sicurezza di rete di Azure esistente o in un set di gruppi di sicurezza di rete di Azure, presupponendo che la definizione della regola sia applicabile tra gruppi di sicurezza. Utile per:
  • Simulazione di un'interruzione di una dipendenza downstream o tra aree o non di indipendenza.
  • Simulazione di un evento che dovrebbe attivare una logica per forzare un failover del servizio.
  • Simulazione di un evento che dovrebbe attivare un'azione da un servizio di monitoraggio o gestione dello stato.
  • Usare come alternativa per bloccare o consentire il traffico di rete in cui Non è possibile distribuire Chaos Agent.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:networkSecurityGroup:securityRule/1.0
Parametri (chiave, valore)
name Nome univoco per la regola di sicurezza creata. L'errore ha esito negativo se esiste già un'altra regola nel gruppo di sicurezza di rete con lo stesso nome. Deve iniziare con una lettera o un numero. Deve terminare con una lettera, un numero o un carattere di sottolineatura. Può contenere solo lettere, numeri, caratteri di sottolineatura, punti o trattini.
protocollo Protocollo per la regola di sicurezza. Deve essere Qualsiasi, TCP, UDP o ICMP.
sourceAddresses Stringa che rappresenta una matrice delimitata da JSON di indirizzi IP in formato CIDR. Può anche essere un nome di tag del servizio per una regola in ingresso, AppServicead esempio . È anche possibile usare un asterisco * per trovare le corrispondenze con tutti gli INDIRIZZI IP di origine.
destinationAddresses Stringa che rappresenta una matrice delimitata da JSON di indirizzi IP in formato CIDR. Può anche essere un nome di tag del servizio per una regola in uscita, AppServicead esempio . Un asterisco * può essere usato anche per trovare le corrispondenze con tutti gli INDIRIZZI IP di destinazione.
action Tipo di accesso al gruppo di sicurezza. Deve essere Consenti o Nega.
destinationPortRanges Stringa che rappresenta una matrice delimitata da JSON di porte singole e/o intervalli di porte, ad esempio 80 o 1024-65535.
sourcePortRanges Stringa che rappresenta una matrice delimitata da JSON di porte singole e/o intervalli di porte, ad esempio 80 o 1024-65535.
priority Valore compreso tra 100 e 4096 univoco per tutte le regole di sicurezza all'interno del gruppo di sicurezza di rete. L'errore ha esito negativo se esiste già un'altra regola nel gruppo di sicurezza di rete con la stessa priorità.
direction Direzione del traffico interessato dalla regola di sicurezza. Deve essere in ingresso o in uscita.

Json di esempio

{ 
  "name": "branchOne", 
  "actions": [ 
    { 
      "type": "continuous", 
      "name": "urn:csci:microsoft:networkSecurityGroup:securityRule/1.0", 
      "parameters": [ 
          { 
              "key": "name", 
              "value": "Block_SingleHost_to_Networks" 

          }, 
          { 
              "key": "protocol", 
              "value": "Any" 
          }, 
          { 
              "key": "sourceAddresses", 
              "value": "[\"10.1.1.128/32\"]"
          }, 
          { 
              "key": "destinationAddresses", 
              "value": "[\"10.20.0.0/16\",\"10.30.0.0/16\"]"
          }, 
          { 
              "key": "access", 
              "value": "Deny" 
          }, 
          { 
              "key": "destinationPortRanges", 
              "value": "[\"80-8080\"]"
          }, 
          { 
              "key": "sourcePortRanges", 
              "value": "[\"*\"]"
          }, 
          { 
              "key": "priority", 
              "value": "100" 
          }, 
          { 
              "key": "direction", 
              "value": "Outbound" 
          } 
      ], 
      "duration": "PT10M", 
      "selectorid": "myResources" 
    } 
  ] 
} 

Limiti

  • L'errore può essere applicato solo a un gruppo di sicurezza di rete esistente.
  • Quando viene applicata una regola del gruppo di sicurezza di rete destinata a negare il traffico, le connessioni esistenti non verranno interrotte finché non sono state inattive per 4 minuti. Una soluzione alternativa consiste nell'aggiungere un altro ramo nello stesso passaggio che usa un errore che causa l'interruzione delle connessioni esistenti quando viene applicato l'errore del gruppo di sicurezza di rete. Ad esempio, l'eliminazione del processo, l'arresto temporaneamente del servizio o il riavvio della macchina virtuale causerebbe la reimpostazione delle connessioni.
  • Le regole vengono applicate all'inizio dell'azione. Eventuali modifiche esterne alla regola durante la durata dell'azione causano l'esito negativo dell'esperimento.
  • La creazione o la modifica delle regole del gruppo di sicurezza delle applicazioni non è supportata.
  • I valori di priorità devono essere univoci in ogni gruppo di sicurezza di rete di destinazione. Se si tenta di creare una nuova regola con lo stesso valore di priorità di un altro, l'esperimento non riesce.
  • L'errore NSG Security Rule versione 1.1 supporta un parametro aggiuntivo flushConnection . Questa funzionalità presenta un problema noto attivo: se flushConnection è abilitato, l'errore potrebbe causare un errore "FlushingNetworkSecurityGroup Connessione ionIsNotEnabled". Per evitare temporaneamente questo errore, disabilitare il flushConnection parametro o usare l'errore NSG Security Rule versione 1.0 .

bus di servizio: Modificare lo stato della coda

Proprietà valore
Nome funzionalità ChangeQueueState-1.0
Tipo di destinazione Microsoft-ServiceBus
Descrizione Imposta le entità Queue all'interno di uno spazio dei nomi bus di servizio sullo stato desiderato. È possibile influire su nomi di entità specifici o usare "*" per influire su tutti. Questa azione consente di testare l'infrastruttura di messaggistica per scenari di manutenzione o di errore. Si tratta di un errore discreto, quindi l'entità non verrà restituita automaticamente allo stato iniziale.
Prerequisiti Spazio dei nomi bus di servizio con almeno un'entità Queue.
Urna urn:csci:microsoft:serviceBus:changeQueueState/1.0
Tipo di errore Discreti.
Parametri (chiave, valore)
desiredState Stato desiderato per le code di destinazione. Gli stati possibili sono Active, Disabled, SendDisabled e ReceiveDisabled.
code Elenco delimitato da virgole dei nomi delle code all'interno dello spazio dei nomi di destinazione. Usare "*" per influire su tutte le code all'interno dello spazio dei nomi.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:serviceBus:changeQueueState/1.0",
      "parameters":[
          {
            "key": "desiredState",
            "value": "Disabled"
          },
          {
            "key": "queues",
            "value": "samplequeue1,samplequeue2"
          }
      ],
      "selectorid": "myServiceBusSelector"
    }
  ]
}

Limiti

  • A questo errore possono essere passate al massimo 1000 entità della coda.

bus di servizio: Modificare lo stato della sottoscrizione

Proprietà valore
Nome funzionalità ChangeSubscriptionState-1.0
Tipo di destinazione Microsoft-ServiceBus
Descrizione Imposta le entità di sottoscrizione all'interno di uno spazio dei nomi bus di servizio e l'argomento sullo stato desiderato. È possibile influire su nomi di entità specifici o usare "*" per influire su tutti. Questa azione consente di testare l'infrastruttura di messaggistica per scenari di manutenzione o di errore. Si tratta di un errore discreto, quindi l'entità non verrà restituita automaticamente allo stato iniziale.
Prerequisiti Spazio dei nomi bus di servizio con almeno un'entità Subscription.
Urna urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0
Tipo di errore Discreti.
Parametri (chiave, valore)
desiredState Stato desiderato per le sottoscrizioni di destinazione. Gli stati possibili sono Active e Disabled.
argomento Argomento padre contenente una o più sottoscrizioni da influire.
sottoscrizioni Elenco delimitato da virgole dei nomi delle sottoscrizioni all'interno dello spazio dei nomi di destinazione. Usare "*" per influire su tutte le sottoscrizioni all'interno dello spazio dei nomi.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0",
      "parameters":[
          {
            "key": "desiredState",
            "value": "Disabled"
          },
          {
            "key": "topic",
            "value": "topic01"
          },
          {
            "key": "subscriptions",
            "value": "*"
          }
      ],
      "selectorid": "myServiceBusSelector"
    }
  ]
}

Limiti

  • A questo errore possono essere passate al massimo 1000 entità di sottoscrizione.

bus di servizio: Modificare lo stato dell'argomento

Proprietà valore
Nome funzionalità ChangeTopicState-1.0
Tipo di destinazione Microsoft-ServiceBus
Descrizione Imposta le entità Topic specificate all'interno di uno spazio dei nomi bus di servizio sullo stato desiderato. È possibile influire su nomi di entità specifici o usare "*" per influire su tutti. Questa azione consente di testare l'infrastruttura di messaggistica per scenari di manutenzione o di errore. Si tratta di un errore discreto, quindi l'entità non verrà restituita automaticamente allo stato iniziale.
Prerequisiti Spazio dei nomi bus di servizio con almeno un'entità Topic.
Urna urn:csci:microsoft:serviceBus:changeTopicState/1.0
Tipo di errore Discreti.
Parametri (chiave, valore)
desiredState Stato desiderato per gli argomenti di destinazione. Gli stati possibili sono Active e Disabled.
topics Elenco delimitato da virgole dei nomi degli argomenti all'interno dello spazio dei nomi di destinazione. Usare "*" per influire su tutti gli argomenti all'interno dello spazio dei nomi.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:serviceBus:changeTopicState/1.0",
      "parameters":[
          {
            "key": "desiredState",
            "value": "Disabled"
          },
          {
            "key": "topics",
            "value": "*"
          }
      ],
      "selectorid": "myServiceBusSelector"
    }
  ]
}

Limiti

  • È possibile passare un massimo di 1000 entità argomento a questo errore.

Ridistribuire la macchina virtuale

Proprietà valore
Nome funzionalità Ridistribuire-1.0
Tipo di destinazione Microsoft-VirtualMachine
Descrizione Ridistribuisce una macchina virtuale arrestandola, spostandola in un nuovo nodo nell'infrastruttura di Azure e riattivandola. Ciò consente di convalidare la resilienza del carico di lavoro agli eventi di manutenzione.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:virtualMachine:redeploy/1.0
Tipo di errore Discreti.
Parametri (chiave, valore) Nessuno.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:virtualMachine:redeploy/1.0",
      "parameters":[],
      "selectorid": "myResources"
    }
  ]
}

Limiti

  • L'operazione di ridistribuzione della macchina virtuale viene limitata entro un intervallo di 10 ore. Se l'esperimento ha esito negativo con un errore "Troppe richieste di ridistribuzione", attendere 10 ore per ripetere l'esperimento.

Arresto della macchina virtuale

Proprietà valore
Nome funzionalità Shutdown-1.0
Tipo di destinazione Microsoft-VirtualMachine
Tipi di sistema operativo supportati Windows, Linux.
Descrizione Arresta una macchina virtuale per la durata dell'errore. La riavvia alla fine dell'esperimento o se l'esperimento viene annullato. Sono supportate solo le macchine virtuali di Azure Resource Manager.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:virtualMachine:shutdown/1.0
Parametri (chiave, valore)
improvvisoShutdown (Facoltativo) Valore booleano che indica se la macchina virtuale deve essere arrestata normalmente o bruscamente (distruttiva).

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0",
      "parameters": [
        {
          "key": "abruptShutdown",
          "value": "false"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Arresto del set di scalabilità di macchine virtuali

Questo errore include due versioni disponibili che è possibile usare, la versione 1.0 e la versione 2.0. La differenza principale è che la versione 2.0 consente di filtrare in base alle zone di disponibilità, arrestando solo le istanze all'interno di una zona o di zone specificate.

Arresto del set di scalabilità di macchine virtuali versione 1.0

Proprietà valore
Nome funzionalità Version 1.0
Tipo di destinazione Microsoft-VirtualMachineScaleSet
Tipi di sistema operativo supportati Windows, Linux.
Descrizione Arresta o arresta un'istanza del set di scalabilità di macchine virtuali durante l'errore e riavvia la macchina virtuale alla fine della durata dell'errore o se l'esperimento viene annullato.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0
Parametri (chiave, valore)
improvvisoShutdown (Facoltativo) Valore booleano che indica se l'istanza del set di scalabilità di macchine virtuali deve essere arrestata normalmente o bruscamente (distruttiva).
instances Stringa che rappresenta una matrice delimitata di ID istanza del set di scalabilità di macchine virtuali a cui viene applicato l'errore.
JSON di esempio della versione 1.0
{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0",
      "parameters": [
        {
          "key": "abruptShutdown",
          "value": "true"
        },
        {
          "key": "instances",
          "value": "[\"1\",\"3\"]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Arresto del set di scalabilità di macchine virtuali versione 2.0

Proprietà valore
Nome funzionalità Shutdown-2.0
Tipo di destinazione Microsoft-VirtualMachineScaleSet
Tipi di sistema operativo supportati Windows, Linux.
Descrizione Arresta o arresta un'istanza del set di scalabilità di macchine virtuali durante l'errore. Riavvia la macchina virtuale alla fine della durata dell'errore o se l'esperimento viene annullato. Supporta la destinazione dinamica.
Prerequisiti Nessuno.
Urna urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0
filter (Facoltativo) Disponibile a partire dalla versione 2.0. Consente di filtrare l'elenco di destinazioni in un selettore. Attualmente supporta il filtro in base a un elenco di zone. Il filtro viene applicato solo alle risorse del set di scalabilità di macchine virtuali all'interno di una zona:
  • Se non viene specificato alcun filtro, questo errore arresta tutte le istanze nel set di scalabilità di macchine virtuali.
  • L'esperimento è destinato a tutte le istanze del set di scalabilità di macchine virtuali nelle zone specificate.
  • Se un filtro non restituisce destinazioni, l'esperimento ha esito negativo.
Parametri (chiave, valore)
improvvisoShutdown (Facoltativo) Valore booleano che indica se l'istanza del set di scalabilità di macchine virtuali deve essere arrestata normalmente o bruscamente (distruttiva).
Frammenti JSON di esempio versione 2.0

I frammenti di codice seguenti illustrano come configurare sia il filtro dinamico che l'errore di arresto 2.0.

Configurare un filtro per la destinazione dinamica:

{
  "type": "List",
  "id": "myResources",
  "targets": [
    {
      "id": "<targetResourceId>",
      "type": "ChaosTarget"
    }
  ],
  "filter": {
    "type": "Simple",
    "parameters": {
      "zones": [
        "1"
      ]
    }
  }
}

Configurare l'errore di arresto:

{
  "name": "branchOne",
  "actions": [
    {
      "name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0",
      "type": "continuous",
      "selectorId": "myResources",
      "duration": "PT10M",
      "parameters": [
        {
          "key": "abruptShutdown",
          "value": "false"
        }
      ]
    }
  ]
}

Limiti

Attualmente sono supportati solo i set di scalabilità di macchine virtuali configurati con la modalità di orchestrazione Uniforme . Se il set di scalabilità di macchine virtuali usa l'orchestrazione flessibile , è possibile usare l'errore di arresto della macchina virtuale di Azure Resource Manager per arrestare le istanze selezionate.

Dettagli: azioni di orchestrazione

Ritardo

Proprietà valore
Provider di errori N/D
Tipi di sistema operativo supportati N/D
Descrizione Aggiunge un ritardo di tempo prima, tra o dopo altre azioni dell'esperimento. Questa azione non è un errore e viene usata per sincronizzare le azioni all'interno di un esperimento. Usare questa azione per attendere che l'impatto di un errore venga visualizzato in un servizio o attendere il completamento di un'attività all'esterno dell'esperimento. Ad esempio, l'esperimento potrebbe attendere l'esecuzione dell'autohealing prima di inserire un altro errore.
Prerequisiti N/D
Urna urn:csci:microsoft:chaosStudio:timedDelay/1.0
Durata Durata del ritardo nel formato ISO 8601 (ad esempio PT10M).

Json di esempio

{
  "name": "branchOne",
  "actions": [ 
    {
      "type": "delay",
      "name": "urn:csci:microsoft:chaosStudio:timedDelay/1.0",
      "duration": "PT10M"
    }
  ] 
}

Avviare il test di carico (test di carico di Azure)

Proprietà valore
Nome funzionalità Start-1.0
Tipo di destinazione Microsoft-AzureLoadTest
Descrizione Avvia un test di carico (da Test di carico di Azure) in base all'ID test di carico fornito.
Prerequisiti Un test di carico con un ID test di carico valido deve essere creato nel servizio Test di carico di Azure.
Urna urn:csci:microsoft:azureLoadTest:start/1.0
Tipo di errore Discreti.
Parametri (chiave, valore)
Testid ID di un test di carico specifico creato nel servizio Test di carico di Azure.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:azureLoadTest:start/1.0",
      "parameters": [
        {
            "key": "testID",
            "value": "0"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Arrestare il test di carico (test di carico di Azure)

Proprietà valore
Nome funzionalità Stop-1.0
Tipo di destinazione Microsoft-AzureLoadTest
Descrizione Arresta un test di carico (da Test di carico di Azure) in base all'ID test di carico fornito.
Prerequisiti Un test di carico con un ID test di carico valido deve essere creato nel servizio Test di carico di Azure.
Urna urn:csci:microsoft:azureLoadTest:stop/1.0
Tipo di errore Discreti.
Parametri (chiave, valore)
Testid ID di un test di carico specifico creato nel servizio Test di carico di Azure.

Json di esempio

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:azureLoadTest:stop/1.0",
      "parameters": [
        {
            "key": "testID",
            "value": "0"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}