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 edestinationFilters
). - 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:
|
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:
|
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 , read e 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
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
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:
|
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, AppService ad 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, AppService ad 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: seflushConnection
è abilitato, l'errore potrebbe causare un errore "FlushingNetworkSecurityGroup Connessione ionIsNotEnabled". Per evitare temporaneamente questo errore, disabilitare ilflushConnection
parametro o usare l'errore NSG Security Rule versione 1.0 .
bus di servizio: Modificare lo stato della coda
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
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
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:
|
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"
}
]
}