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 in macchine virtuali di Azure o istanze 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 elevato della CPU | Perdita di capacità di calcolo, utilizzo elevato delle risorse |
Windows, Linux | Termina processo | Interruzione delle dipendenze |
Finestre | Sospendere il processo | Interruzione delle dipendenze, interruzione del servizio |
Windows1, Linux2 | Disconnessione di rete | Interruzione della rete |
Windows1, Linux2 | Latenza di rete | Riduzione del livello delle prestazioni della rete |
Windows1, Linux2 | Perdita di pacchetti di rete | Problemi di affidabilità della rete |
Windows, Linux2 | Isolamento rete | Interruzione della rete |
Finestre | Errore DNS | Problemi di risoluzione DNS |
Finestre | Disconnessione di rete (tramite firewall) | Interruzione della rete |
Windows, Linux | Utilizzo elevato della memoria fisica | Perdita di capacità di memoria, utilizzo elevato delle risorse |
Windows, Linux | Arrestare il servizio | Interruzione/riavvio del servizio |
Finestre | Modifica ora | Errori di sincronizzazione orario |
Finestre | Utilizzo elevato della memoria virtuale | Perdita di capacità di memoria, utilizzo elevato delle risorse |
Linux | Stress-ng stressor arbitrario | Test generali dello stress del sistema |
Linux | Utilizzo elevato di Linux DiskIO | Riduzione del livello delle prestazioni di I/O del disco |
Finestre | Utilizzo elevato di DiskIO | Riduzione del livello delle prestazioni di I/O del disco |
1 solo pacchetti TCP/UDP. 2 Solo traffico di rete in uscita.
Servizio app
Questa sezione si applica al tipo di risorsa Microsoft.Web/sites
. Altre informazioni sul servizio app.
Nome errore | Scenari applicabili |
---|---|
Arrestare il Servizio app | Interruzione del servizio |
Impostazioni di scalabilità automatica
Questa sezione si applica al tipo di risorsa Microsoft.Insights/autoscaleSettings
. Altre informazioni sulle impostazioni di scalabilità automatica.
Nome errore | Scenari applicabili |
---|---|
Disabilita scalabilità automatica | Perdita di capacità di calcolo (se usata con arresto del set di scalabilità di macchine virtuali) |
Servizio Azure Kubernetes
Questa sezione si applica al tipo di risorsa Microsoft.ContainerService/managedClusters
. Altre informazioni sul servizio Azure Kubernetes.
Nome errore | Scenari applicabili |
---|---|
AKS Chaos Mesh DNS Chaos | Problemi di risoluzione DNS |
AKS Chaos Mesh HTTP Chaos | Interruzione della rete |
AKS Chaos Mesh IO Chaos | Riduzione delle prestazioni/Utilizzo elevato del disco |
AKS Chaos Mesh Kernel Chaos | Interruzione del kernel |
AKS Chaos Mesh Network Chaos | Interruzione della rete |
AKS Chaos Mesh Pod Chaos | Interruzione del contenitore |
AKS Chaos Mesh Stress Chaos | Test di stress del sistema |
AKS Chaos Mesh Time Chaos | Errori di sincronizzazione orario |
Servizi cloud (versione classica)
Questa sezione si applica al tipo di risorsa Microsoft.ClassicCompute/domainNames
. Altre informazioni su Servizi cloud (Classico).
Nome errore | Scenari applicabili |
---|---|
Arresto del servizio cloud | Perdita di calcolo |
Cache cluster per Redis
Questa sezione si applica al tipo di risorsa Microsoft.Cache/redis
. Altre informazioni su Cache di cluster per Redis.
Nome errore | Scenari applicabili |
---|---|
Cache di Azure per Redis (riavvio) | Interruzione delle dipendenze (cache) |
Cosmos DB
Questa sezione si applica al tipo di risorsa Microsoft.DocumentDB/databaseAccounts
. Altre informazioni su Cosmos DB.
Nome errore | Scenari applicabili |
---|---|
Cosmos DB Failover | Failover del database |
Hub eventi di
Questa sezione si applica al tipo di risorsa Microsoft.EventHub/namespaces
. 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 tipo di risorsa Microsoft.KeyVault/vaults
. Altre informazioni su Key Vault.
Nome errore | Scenari applicabili |
---|---|
Key Vault: negare l'accesso | Negazione del certificato |
Key Vault: disabilitare il certificato | Interruzione del certificato |
Key Vault: incrementare la versione del certificato | Incremento della versione del certificato |
Key Vault: aggiornare i criteri dei certificati | Modifiche/configurazioni errate dei criteri dei certificati |
Gruppi di sicurezza di rete
Questa sezione si applica al tipo di risorsa Microsoft.Network/networkSecurityGroups
. 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 tipo di risorsa Microsoft.ServiceBus/namespaces
. Altre informazioni sul 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 |
Modificare lo stato dell'argomento | Errore di configurazione/interruzione dell'infrastruttura di messaggistica |
Macchine virtuali (service-direct)
Questa sezione si applica al tipo di risorsa Microsoft.Compute/virtualMachines
. Altre informazioni sulle macchine virtuali.
Nome errore | Scenari applicabili |
---|---|
Ridistribuire la VM | Interruzione del calcolo, eventi di manutenzione |
Arresto della VM | Perdita/Interruzione del calcolo |
Set di scalabilità della macchina virtuale
Questa sezione si applica al tipo di risorsa Microsoft.Compute/virtualMachineScaleSets
. Altre informazioni sui 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 azione | 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 | Delay |
Dettagli: errori basati su agente
Disconnessione di rete
Proprietà | valore |
---|---|
Nome funzionalità | NetworkDisconnect-1.1 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Windows, Linux (solo traffico in uscita) |
Descrizione | Blocca il traffico di rete 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, operazione che avviene per impostazione predefinita se il suddetto è installato come estensione di VM. |
Linux: Il pacchetto tc (Controllo del traffico) viene usato per gli errori di rete. Se non è già installato, l'agente tenta automaticamente di installarlo dal sistema di gestione pacchetti predefinito. |
|
URN | urn:csci:microsoft:agent:networkDisconnect/1.1 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
destinationFilters | Array JSON delimitato di filtri di pacchetti che definiscono i pacchetti in uscita di destinazione. Massimo di 16. |
inboundDestinationFilters | Array JSON delimitato di filtri di pacchetti che definiscono i pacchetti in ingresso di destinazione. Massimo di 16. |
virtualMachineScaleSetInstances | Array 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 l'array di filtri di 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
- Al momento gli errori di rete basati su agente supportano 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.
- Durante l'esecuzione in Linux, questo errore può influire solo sul traffico in uscita, non su quello in ingresso. L'errore può influire sul traffico in ingresso e in uscita negli ambienti Windows (tramite i parametri
inboundDestinationFilters
edestinationFilters
).
Disconnessione di rete (tramite firewall)
Proprietà | valore |
---|---|
Nome funzionalità | NetworkDisconnectViaFirewall-1.0 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Finestre |
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 VM, viene eseguito come amministratore per impostazione predefinita. |
URN | urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
destinationFilters | Array JSON delimitato 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 | Array 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
- Al momento gli errori di rete basati su agente supportano solo gli indirizzi IPv4.
- Al momento questo errore influisce solo sulle nuove connessioni. Le connessioni attive esistenti non sono interessate. È possibile riavviare il servizio o il processo per forzare l'interruzione delle connessioni.
Latenza di rete
Proprietà | valore |
---|---|
Nome funzionalità | NetworkLatency-1.1 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi 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, operazione che avviene per impostazione predefinita se il suddetto è installato come estensione di VM. |
Linux: Il pacchetto tc (Controllo del traffico) viene usato per gli errori di rete. Se non è già installato, l'agente tenta automaticamente di installarlo dal sistema di gestione pacchetti predefinito. |
|
URN | urn:csci:microsoft:agent:networkLatency/1.1 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
latencyInMilliseconds | Quantità di latenza da applicare in millisecondi. |
destinationFilters | Array JSON delimitato di filtri di pacchetti che definiscono i pacchetti in uscita di destinazione. Massimo di 16. |
inboundDestinationFilters | Array JSON delimitato di filtri di pacchetti che definiscono i pacchetti in ingresso di destinazione. Massimo di 16. |
virtualMachineScaleSetInstances | Array 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 l'array di filtri di 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
- Al momento gli errori di rete basati su agente supportano solo gli indirizzi IPv4.
- Durante l'esecuzione in Linux, la latenza di rete può influire solo sul traffico in uscita, non su quello in ingresso. L'errore può influire sul traffico in ingresso e in uscita negli ambienti Windows (tramite i parametri
inboundDestinationFilters
edestinationFilters
). - In caso di esecuzione in Windows, l'errore di latenza di rete funziona attualmente solo con pacchetti TCP o UDP.
- Al momento questo errore influisce solo sulle nuove connessioni. Le connessioni attive esistenti non sono interessate. È possibile riavviare il servizio o il processo per forzare l'interruzione delle connessioni.
Perdita di pacchetti di rete
Proprietà | valore |
---|---|
Nome funzionalità | NetworkPacketLoss-1.0 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Windows, Linux (solo traffico in uscita) |
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, operazione che avviene per impostazione predefinita se il suddetto è installato come estensione di VM. |
Linux: Il pacchetto tc (Controllo del traffico) viene usato per gli errori di rete. Se non è già installato, l'agente tenta automaticamente di installarlo dal sistema di gestione pacchetti predefinito. |
|
URN | urn:csci:microsoft:agent:networkPacketLoss/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
packetLossRate | Frequenza con cui i pacchetti corrispondenti ai filtri di destinazione andranno persi, compresi tra 0,0 e 1,0. |
virtualMachineScaleSetInstances | Array 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 | Array JSON delimitato 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
- Al momento gli errori di rete basati su agente supportano 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.
- Durante l'esecuzione in Linux, questo errore può influire solo sul traffico in uscita, non su quello in ingresso. L'errore può influire sul traffico in ingresso e in uscita negli ambienti Windows (tramite i parametri
inboundDestinationFilters
edestinationFilters
). - Al momento questo errore influisce solo sulle nuove connessioni. Le connessioni attive esistenti non sono interessate. È possibile riavviare il servizio o il processo per forzare l'interruzione delle connessioni.
Isolamento della rete
Proprietà | valore |
---|---|
Nome funzionalità | NetworkIsolation-1.0 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Windows, Linux (solo in uscita) |
Descrizione | Isolare completamente la macchina virtuale dalle connessioni di rete eliminando tutti i pacchetti basati su IP in ingresso (in Windows) e in uscita (in Windows e Linux) per la durata specificata. Al termine della durata, le connessioni di rete verranno riabilitate. Poiché l'agente dipende dal traffico di rete, questa azione non può essere annullata e verrà eseguita fino alla durata specificata. |
Prerequisiti | Windows: l'agente deve essere eseguito come amministratore, operazione che avviene per impostazione predefinita se il suddetto è installato come estensione di VM. |
Linux: Il pacchetto tc (Controllo del traffico) viene usato per gli errori di rete. Se non è già installato, l'agente tenta automaticamente di installarlo dal sistema di gestione pacchetti predefinito. |
|
URN | urn:csci:microsoft:agent:networkIsolation/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
virtualMachineScaleSetInstances | Array 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, altrimenti facoltativo. Altre informazioni sugli ID istanza. |
JSON di esempio
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkIsolation/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limiti
- Poiché l'agente dipende dal traffico di rete, questa azione non può essere annullata e verrà eseguita fino alla durata specificata. Usare con cautela.
- Al momento questo errore influisce solo sulle nuove connessioni. Le connessioni attive esistenti non sono interessate. È possibile riavviare il servizio o il processo per forzare l'interruzione delle connessioni.
- Durante l'esecuzione in Linux, questo errore può influire solo sul traffico in uscita, non su quello in ingresso. L'errore può influire sul traffico in ingresso e in uscita negli ambienti Windows.
Errore DNS
Proprietà | valore |
---|---|
Nome funzionalità | DnsFailure-1.0 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Finestre |
Descrizione | Sostituisce le risposte delle richieste di ricerca DNS con un codice di errore specificato. Le richieste di ricerca DNS sostituite devono:
|
Prerequisiti | Nessuno. |
URN | urn:csci:microsoft:agent:dnsFailure/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
hosts | Array JSON delimitato 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:
|
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 | Array 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 elevato della CPU
Proprietà | valore |
---|---|
Nome funzionalità | CPUPressure-1.0 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Windows, Linux |
Descrizione | Aggiunge un utilizzo elevato della CPU, fino al valore specificato, nella VM in cui questo errore viene inserito durante l'azione di errore. L'utilizzo elevato della CPU artificiale viene rimosso 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, utilizzando il sistema di gestione pacchetti predefinito, in diversi sistemi operativi, tra cui quelli basati su Debian (ad esempio Ubuntu), Red Hat Enterprise Linux e OpenSUSE. Per altre distribuzioni, incluso Azure Linux, è necessario installare stress-ng manualmente. Per altre informazioni, vedere il repository di progetti upstream. |
Windows: Nessuno. | |
URN | urn:csci:microsoft:agent:cpuPressure/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
pressureLevel | Numero intero compreso tra 1 e 95 che indica la quantità di utilizzo della CPU (%) applicata alla macchina virtuale in termini di % utilizzo CPU |
virtualMachineScaleSetInstances | Array 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 terminato in modo imprevisto.
Utilizzo elevato della memoria fisica
Proprietà | valore |
---|---|
Nome funzionalità | PhysicalMemoryPressure-1.0 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Windows, Linux |
Descrizione | Aggiunge un utilizzo elevato della memoria fisica, fino al valore specificato, nella VM in cui questo errore viene inserito durante l'azione di errore. L'utilizzo elevato della memoria fisica artificiale viene rimosso 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, utilizzando il sistema di gestione pacchetti predefinito, in diversi sistemi operativi, tra cui quelli basati su Debian (ad esempio Ubuntu), Red Hat Enterprise Linux e OpenSUSE. Per altre distribuzioni, incluso Azure Linux, è necessario installare stress-ng manualmente. Per altre informazioni, vedere il repository di progetti upstream. |
Windows: Nessuno. | |
URN | urn:csci:microsoft:agent:physicalMemoryPressure/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
pressureLevel | Intero compreso tra 1 e 95 che indica la quantità di utilizzo della memoria fisica (%) applicata alla macchina virtuale. |
virtualMachineScaleSetInstances | Array 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 l'utilizzo elevato di 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 sistemi operativi supportati | Finestre |
Descrizione | Aggiunge un utilizzo elevato della memoria virtuale, fino al valore specificato, nella VM in cui questo errore viene inserito durante l'azione di errore. L'utilizzo elevato della memoria virtuale artificiale viene rimosso alla fine della durata o se l'esperimento viene annullato. |
Prerequisiti | Nessuno. |
URN | urn:csci:microsoft:agent:virtualMemoryPressure/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
pressureLevel | Intero compreso tra 1 e 95 che indica la quantità di utilizzo della memoria fisica (%) applicata alla macchina virtuale. |
virtualMachineScaleSetInstances | Array 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 IO su disco
Proprietà | valore |
---|---|
Nome funzionalità | DiskIOPressure-1.1 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Finestre |
Descrizione | Usa l'utilità diskspd per aggiungere utilizzo elevato di 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 differenti modalità di esecuzione. L'utilizzo elevato del disco artificiale viene rimosso alla fine della durata o se l'esperimento viene annullato. |
Prerequisiti | Nessuno. |
URN | urn:csci:microsoft:agent:diskIOPressure/1.1 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
pressureMode | Modalità predefinita di utilizzo elevato del disco da aggiungere alla risorsa di archiviazione primaria della VM. Deve essere uno dei valori PressureModes indicati nella tabella seguente. |
targetTempDirectory | (Facoltativo) Directory da usare per l'applicazione dell'utilizzo elevato del disco. Ad esempio: D:/Temp . Se il parametro non è incluso, l'utilizzo elevato viene aggiunto al disco primario. |
virtualMachineScaleSetInstances | Array 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 utilizzo elevato
PressureMode | Descrizione |
---|---|
PremiumStorageP10IOPS | numberOfThreads = 1 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 25 sizeOfBlocksInKB = 8 sizeOfWriteBufferInKB = 64 fileSizeInGB = 2 percentOfWriteActions = 50 |
PremiumStorageP10Throttling | numberOfThreads = 2 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 25 sizeOfBlocksInKB = 64 sizeOfWriteBufferInKB = 64 fileSizeInGB = 1 percentOfWriteActions = 50 |
PremiumStorageP50IOPS | numberOfThreads = 32 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 32 sizeOfBlocksInKB = 8 sizeOfWriteBufferInKB = 64 fileSizeInGB = 1 percentOfWriteActions = 50 |
PremiumStorageP50Throttling | numberOfThreads = 2 randomBlockSizeInKB = 1024 randomSeed = 10 numberOfIOperThread = 2 sizeOfBlocksInKB = 1024 sizeOfWriteBufferInKB = 1024 fileSizeInGB = 20 percentOfWriteActions = 50 |
Predefiniti | 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"
}
]
}
Utilizzo elevato di IO su disco Linux
Proprietà | valore |
---|---|
Nome funzionalità | LinuxDiskIOPressure-1.1 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Linux |
Descrizione | Usa stress-ng per applicare utilizzo elevato 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, utilizzando il sistema di gestione pacchetti predefinito, in diversi sistemi operativi, tra cui quelli basati su Debian (ad esempio Ubuntu), Red Hat Enterprise Linux e OpenSUSE. Per altre distribuzioni, incluso Azure Linux, è necessario installare stress-ng manualmente. Per altre informazioni, vedere il repository di progetti upstream. |
URN | urn:csci:microsoft:agent:linuxDiskIOPressure/1.1 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
workerCount | Numero di processi del ruolo 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 dell'utilizzo elevato del disco. Ad esempio: /tmp/ . Se il parametro non è incluso, l'utilizzo elevato viene aggiunto al disco primario. |
virtualMachineScaleSetInstances | Array 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 elevato del disco quando vengono testati in una macchina virtuale Standard_D2s_v3
con archiviazione con ridondanza locale SSD Premium. Un file SizePerWorker di grandi dimensioni e un blockSize più piccolo contribuiscono a stressare 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 sistemi operativi 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. |
URN | urn:csci:microsoft:agent:stopService/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
serviceName | Nome del servizio Windows o del servizio di sistema Linux che si desidera arrestare. |
virtualMachineScaleSetInstances | Array 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 sistemi operativi 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. Si noti che questo errore si verifica quando viene usato in un processo di nome vuoto, se usato con un intervallo non specificato o quando non è possibile trovare il nome del processo di destinazione che si vuole terminare. |
Prerequisiti | Nessuno. |
URN | urn:csci:microsoft:agent:killProcess/1.0 |
Tipo di errore | Continuo. |
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 | Array 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"
}
]
}
Sospendere il processo
Proprietà | valore |
---|---|
Nome funzionalità | PauseProcess-1.0 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi supportati | Finestre |
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. |
URN | urn:csci:microsoft:agent:pauseProcess/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
processNames | Array JSON delimitato 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 | Array 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 sistemi operativi supportati | Finestre |
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. |
URN | urn:csci:microsoft:agent:timeChange/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
dateTime | Stringa DateTime in formato ISO8601. Se mancano valori YYYY-MM-DD , 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 orario <Z> , l'offset predefinito è il fuso orario locale. <Z> deve includere sempre un simbolo di segno (negativo o positivo). |
virtualMachineScaleSetInstances | Array 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"
}
]
}
Stressor stress-ng arbitrario
Proprietà | valore |
---|---|
Nome funzionalità | StressNg-1.0 |
Tipo di destinazione | Microsoft-Agent |
Tipi di sistemi operativi 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, utilizzando il sistema di gestione pacchetti predefinito, in diversi sistemi operativi, tra cui quelli basati su Debian (ad esempio Ubuntu), Red Hat Enterprise Linux e OpenSUSE. Per altre distribuzioni, incluso Azure Linux, è necessario installare stress-ng manualmente. Per altre informazioni, vedere il repository di progetti upstream. |
URN | urn:csci:microsoft:agent:stressNg/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
stressNgArguments | Uno o più argomenti da passare al processo di stress-ng. Per informazioni sui possibili argomenti 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
Arrestare il servizio app
Proprietà | valore |
---|---|
Nome funzionalità | Stop-1.0 |
Tipo di destinazione | Microsoft-AppService |
Descrizione | Arresta le applicazioni del 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. |
URN | 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à | DisableAutoscale |
Tipo di destinazione | Microsoft-AutoscaleSettings |
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. |
URN | urn:csci:microsoft:autoscalesettings:disableAutoscale/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
enableOnComplete | Booleano. Configura se la scalabilità automatica viene riabilitato 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",
}
]
}
AKS Chaos Mesh Network Chaos
Proprietà | valore |
---|---|
Nome funzionalità | NetworkChaos-2.2 |
Tipo di destinazione | Microsoft-AzureKubernetesServiceChaosMesh |
Tipi di sistemi operativi del pool di nodi supportati | Linux |
Descrizione | Causa un errore di rete disponibile tramite Chaos Mesh per l'esecuzione nel cluster del servizio Azure Kubernetes (AKS). 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. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2 |
Parametri (chiave, valore) | |
jsonSpec | Specifica Chaos Mesh in formato JSON che usa il tipo NetworkChaos. È possibile usare un convertitore YAML-to-JSON come Converti YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o evitare l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella proprietà jsonSpec . 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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"delay\",\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"delay\":{\"latency\":\"200ms\",\"correlation\":\"100\",\"jitter\":\"0ms\"}}}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh Pod Chaos
Proprietà | valore |
---|---|
Nome funzionalità | PodChaos-2.2 |
Tipo di destinazione | Microsoft-AzureKubernetesServiceChaosMesh |
Tipi di sistemi operativi 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. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.2 |
Parametri (chiave, valore) | |
jsonSpec | Specifica Chaos Mesh in formato JSON che usa il tipo PodChaos. È possibile usare un convertitore YAML-to-JSON come Converti YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o evitare l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella proprietà jsonSpec . 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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"pod-failure\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]}}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh Stress Chaos
Proprietà | valore |
---|---|
Nome funzionalità | StressChaos-2.2 |
Tipo di destinazione | Microsoft-AzureKubernetesServiceChaosMesh |
Tipi di sistemi operativi 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. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2 |
Parametri (chiave, valore) | |
jsonSpec | Specifica Chaos Mesh in formato JSON che usa il tipo StressChaos. È possibile usare un convertitore YAML-to-JSON come Converti YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o evitare l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella proprietà jsonSpec . 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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"stressors\":{\"cpu\":{\"workers\":1,\"load\":50},\"memory\":{\"workers\":4,\"size\":\"256MB\"}}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh IO Chaos
Proprietà | valore |
---|---|
Nome funzionalità | IOChaos-2.2 |
Tipo di destinazione | Microsoft-AzureKubernetesServiceChaosMesh |
Tipi di sistemi operativi del pool di nodi supportati | Linux |
Descrizione | Causa un errore IO 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 IO e errori di lettura/scrittura quando si usano chiamate di sistema I/O come open , read e write . |
Prerequisiti | Il cluster del servizio Azure Kubernetes deve avere Chaos Mesh distribuito. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.2 |
Parametri (chiave, valore) | |
jsonSpec | Specifica Chaos Mesh in formato JSON che usa il tipo IOChaos. È possibile usare un convertitore YAML-to-JSON come Converti YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o evitare l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella proprietà jsonSpec . 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.2",
"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"
}
]
}
AKS Chaos Mesh Time Chaos
Proprietà | valore |
---|---|
Nome funzionalità | TimeChaos-2.2 |
Tipo di destinazione | Microsoft-AzureKubernetesServiceChaosMesh |
Tipi di sistemi operativi 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. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.2 |
Parametri (chiave, valore) | |
jsonSpec | Specifica Chaos Mesh in formato JSON che usa il tipo TimeChaos. È possibile usare un convertitore YAML-to-JSON come Converti YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o evitare l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella proprietà jsonSpec . 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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"timeOffset\":\"-10m100ns\"}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh Kernel Chaos
Proprietà | valore |
---|---|
Nome funzionalità | KernelChaos-2.2 |
Tipo di destinazione | Microsoft-AzureKubernetesServiceChaosMesh |
Tipi di sistemi operativi del pool di nodi supportati | Linux |
Descrizione | Causa una schermata blu 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. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.2 |
Parametri (chiave, valore) | |
jsonSpec | Specifica Chaos Mesh in formato JSON che usa il tipo KernelChaos. È possibile usare un convertitore YAML-to-JSON come Converti YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o evitare l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella proprietà jsonSpec . 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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"failKernRequest\":{\"callchain\":[{\"funcname\":\"__x64_sys_mount\"}],\"failtype\":0}}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh HTTP Chaos
Proprietà | valore |
---|---|
Nome funzionalità | HTTPChaos-2.2 |
Tipo di destinazione | Microsoft-AzureKubernetesServiceChaosMesh |
Tipi di sistemi operativi 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. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.2 |
Parametri (chiave, valore) | |
jsonSpec | Specifica Chaos Mesh in formato JSON che usa il tipo HTTPChaos. È possibile usare un convertitore YAML-to-JSON come Converti YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o evitare l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella proprietà jsonSpec . 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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"target\":\"Request\",\"port\":80,\"method\":\"GET\",\"path\":\"/api\",\"abort\":true}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh DNS Chaos
Proprietà | valore |
---|---|
Nome funzionalità | DNSChaos-2.2 |
Tipo di destinazione | Microsoft-AzureKubernetesServiceChaosMesh |
Tipi di sistemi operativi 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. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.2 |
Parametri (chiave, valore) | |
jsonSpec | Specifica Chaos Mesh in formato JSON che usa il tipo DNSChaos. È possibile usare un convertitore YAML-to-JSON come Converti YAML in JSON per convertire Chaos Mesh YAML in JSON e minimizzarlo. Usare virgolette singole all'interno del codice JSON o evitare l'escape delle virgolette con un carattere barra rovesciata. Includere solo YAML nella proprietà jsonSpec . 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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"random\",\"mode\":\"all\",\"patterns\":[\"google.com\",\"chaos-mesh.*\",\"github.?om\"],\"selector\":{\"namespaces\":[\"default\"]}}"
}
],
"selectorid": "myResources"
}
]
}
Arresto di 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. |
URN | 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 |
URN | urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0 |
Tipo di errore | Discreto. |
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. |
URN | urn:csci:microsoft:cosmosDB:failover/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
readRegion | Area di lettura che deve essere promossa all'area di scrittura durante il failover, ad esempio East US 2 . |
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 di 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, per cui l'entità non tornerà automaticamente allo stato iniziale. |
Prerequisiti | Uno spazio dei nomi di Hub eventi di Azure con almeno un'entità hub eventi. |
URN | urn:csci:microsoft:eventHub:changeEventHubState/1.0 |
Tipo di errore | Discreto. |
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. |
URN | 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. |
URN | 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. |
URN | urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0 |
Tipo di errore | Discreto. |
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. |
URN | 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, SecurityRule-1.1 |
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:
|
Prerequisiti | Nessuno. |
URN | urn:csci:microsoft:networkSecurityGroup:securityRule/1.0, urn:csci:microsoft:networkSecurityGroup:securityRule/1.1 |
Tipo di errore | Continuo. |
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 un array delimitato da JSON di indirizzi IP in formato CIDR. Può anche essere un nome di tag del servizio per una regola in ingresso, ad esempio AppService . È anche possibile usare un asterisco * per individuare corrispondenze con tutti gli IP di origine. |
destinationAddresses | Stringa che rappresenta un array delimitato da JSON di indirizzi IP in formato CIDR. Può anche essere un nome di tag del servizio per una regola in uscita, ad esempio AppService . È anche possibile usare un asterisco * per individuare corrispondenze con tutti gli IP di destinazione. |
action | Tipo di accesso al gruppo di sicurezza. Deve essere Consenti o Nega. |
destinationPortRanges | Stringa che rappresenta un array delimitato da JSON di porte singole e/o intervalli di porte, ad esempio 80 o 1024-65535. |
sourcePortRanges | Stringa che rappresenta un array delimitato 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, la terminazione del processo, l'arresto temporaneamente del servizio o il riavvio della VM 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: seflushConnection
è abilitato, l'errore potrebbe causare un errore "FlushingNetworkSecurityGroupConnectionIsNotEnabled". Per evitare temporaneamente questo errore, disabilitare il parametroflushConnection
o usare l'errore della versione della regola di sicurezza del gruppo di sicurezza di rete 1.0.
Bus di servizio: modifica dello 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 del 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, per cui l'entità non tornerà automaticamente allo stato iniziale. |
Prerequisiti | Spazio dei nomi del Bus di servizio con almeno un'entità Coda. |
URN | urn:csci:microsoft:serviceBus:changeQueueState/1.0 |
Tipo di errore | Discreto. |
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 del Bus di servizio e 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, per cui l'entità non tornerà automaticamente allo stato iniziale. |
Prerequisiti | Spazio dei nomi del Bus di servizio con almeno un'entità Sottoscrizione. |
URN | urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0 |
Tipo di errore | Discreto. |
Parametri (chiave, valore) | |
desiredState | Stato desiderato per le sottoscrizioni di destinazione. Gli stati possibili sono Attivo e Disattivato. |
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 del 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, per cui l'entità non tornerà automaticamente allo stato iniziale. |
Prerequisiti | Spazio dei nomi del Bus di servizio con almeno un'entità Argomento. |
URN | urn:csci:microsoft:serviceBus:changeTopicState/1.0 |
Tipo di errore | Discreto. |
Parametri (chiave, valore) | |
desiredState | Stato desiderato per gli argomenti di destinazione. Gli stati possibili sono Attivo e Disattivato. |
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 VM
Proprietà | valore |
---|---|
Nome funzionalità | Redeploy-1.0 |
Tipo di destinazione | Microsoft-VirtualMachine |
Descrizione | Ridistribuisce una VM 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. |
URN | urn:csci:microsoft:virtualMachine:redeploy/1.0 |
Tipo di errore | Discreto. |
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 sistemi operativi supportati | Windows, Linux. |
Descrizione | Arresta una VM per la durata dell'errore. La riavvia alla fine dell'esperimento o se l'esperimento viene annullato. Sono supportate solo le VM di Azure Resource Manager. |
Prerequisiti | Nessuno. |
URN | urn:csci:microsoft:virtualMachine:shutdown/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
abruptShutdown | (Facoltativo) Valore booleano che indica se la VM 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 sistemi operativi supportati | Windows, Linux. |
Descrizione | Arresta o termina un'istanza del set di scalabilità di macchine virtuali durante l'errore e riavvia la VM alla fine della durata dell'errore o se l'esperimento viene annullato. |
Prerequisiti | Nessuno. |
URN | urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0 |
Tipo di errore | Continuo. |
Parametri (chiave, valore) | |
abruptShutdown | (Facoltativo) Valore booleano che indica se l'istanza del set di scalabilità di macchine virtuali deve essere arrestata normalmente o bruscamente (modo distruttivo). |
instances | Stringa che rappresenta un array delimitato 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 sistemi operativi supportati | Windows, Linux. |
Descrizione | Arresta o terminar un'istanza del set di scalabilità di macchine virtuali durante l'errore. Riavvia la VM alla fine della durata dell'errore o se l'esperimento viene annullato. Supporta la destinazione dinamica. |
Prerequisiti | Nessuno. |
URN | urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0 |
Tipo di errore | Continuo. |
filter | (Facoltativo) Disponibile solo 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:
|
Parametri (chiave, valore) | |
abruptShutdown | (Facoltativo) Valore booleano che indica se l'istanza del set di scalabilità di macchine virtuali deve essere arrestata normalmente o bruscamente (modo distruttivo). |
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 sistemi operativi 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 |
URN | 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 | È necessario creare un test di carico con un ID test di carico valido nelservizio Test di carico di Azure. |
URN | urn:csci:microsoft:azureLoadTest:start/1.0 |
Tipo di errore | Discreto. |
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 | È necessario creare un test di carico con un ID test di carico valido nelservizio Test di carico di Azure. |
URN | urn:csci:microsoft:azureLoadTest:stop/1.0 |
Tipo di errore | Discreto. |
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"
}
]
}