Fout- en actiebibliotheek van Azure Chaos Studio
In dit artikel worden de fouten vermeld die u kunt gebruiken in Chaos Studio, georganiseerd op basis van het toepasselijke resourcetype. Als u wilt weten welke roltoewijzingen worden aanbevolen voor elk resourcetype, raadpleegt u Ondersteunde resourcetypen en roltoewijzingen voor Azure Chaos Studio.
Fouten op basis van agents
Fouten op basis van agents worden geïnjecteerd in virtuele Azure-machines of instanties van virtuele-machineschaalsets door de Chaos Studio-agent te installeren. Zoek de service-directe foutopties voor deze resources hieronder in de tabellen Virtuele machine en virtuele-machineschaalset .
Toepasselijke typen besturingssystemen | Foutnaam | Toepasselijke scenario's |
---|---|---|
Windows, Linux | CPU-druk | Rekencapaciteitsverlies, resourcedruk |
Windows, Linux | Proces beëindigen | Onderbreking van afhankelijkheden |
Windows | Proces onderbreken | Onderbreking van afhankelijkheden, serviceonderbreking |
Windows1, Linux2 | Netwerkverbinding verbreken | Netwerkonderbreking |
Windows1, Linux2 | Netwerklatentie | Degradatie van netwerkprestaties |
Windows1, Linux2 | Netwerkpakketverlies | Problemen met netwerkbetrouwbaarheid |
Windows, Linux2 | Netwerkisolatie | Netwerkonderbreking |
Windows | DNS-fout | Problemen met DNS-resolutie |
Windows | Netwerkverbinding verbreken (via firewall) | Netwerkonderbreking |
Windows, Linux | Fysieke geheugendruk | Geheugencapaciteitsverlies, resourcedruk |
Windows, Linux | Service stoppen | Serviceonderbreking/opnieuw opstarten |
Windows | Tijdswijziging | Problemen met tijdsynchronisatie |
Windows | Druk op virtueel geheugen | Geheugencapaciteitsverlies, resourcedruk |
Linux | Willekeurige stress-ng stressor | Algemene systeemspanningstests |
Linux | Linux DiskIO-druk | Schijf-I/O-prestatievermindering |
Windows | DiskIO-druk | Schijf-I/O-prestatievermindering |
Alleen 1 TCP/UDP-pakketten. 2 Alleen uitgaand netwerkverkeer.
App Service
Deze sectie is van toepassing op het Microsoft.Web/sites
resourcetype. Meer informatie over App Service.
Foutnaam | Toepasselijke scenario's |
---|---|
App Service stoppen | Serviceonderbreking |
Instellingen voor automatisch schalen
Deze sectie is van toepassing op het Microsoft.Insights/autoscaleSettings
resourcetype. Meer informatie over instellingen voor automatisch schalen.
Foutnaam | Toepasselijke scenario's |
---|---|
Automatische schaalaanpassing uitschakelen | Verlies van rekencapaciteit (bij gebruik bij afsluiten van virtuele-machineschaalset) |
Azure Kubernetes Service
Deze sectie is van toepassing op het Microsoft.ContainerService/managedClusters
resourcetype. Meer informatie over Azure Kubernetes Service.
Foutnaam | Toepasselijke scenario's |
---|---|
AKS Chaos Mesh DNS Chaos | Problemen met DNS-resolutie |
AKS Chaos Mesh HTTP Chaos | Netwerkonderbreking |
AKS Chaos Mesh IO Chaos | Schijfdegradatie/druk |
AKS Chaos Mesh Kernel Chaos | Kernelonderbreking |
AKS Chaos Mesh Network Chaos | Netwerkonderbreking |
AKS Chaos Mesh Pod Chaos | Containeronderbreking |
AKS Chaos Mesh Stress Chaos | Systeemspanningstests |
AKS Chaos Mesh Time Chaos | Problemen met tijdsynchronisatie |
Cloud Services (klassiek)
Deze sectie is van toepassing op het Microsoft.ClassicCompute/domainNames
resourcetype. Meer informatie over Cloud Services (klassiek).
Foutnaam | Toepasselijke scenario's |
---|---|
Cloudservice afsluiten | Rekenverlies |
Geclusterde cache voor Redis
Deze sectie is van toepassing op het Microsoft.Cache/redis
resourcetype. Meer informatie over geclusterde cache voor Redis.
Foutnaam | Toepasselijke scenario's |
---|---|
Azure Cache voor Redis (opnieuw opstarten) | Onderbreking van afhankelijkheden (caches) |
Cosmos DB
Deze sectie is van toepassing op het Microsoft.DocumentDB/databaseAccounts
resourcetype. Meer informatie over Cosmos DB.
Foutnaam | Toepasselijke scenario's |
---|---|
Cosmos DB-failover | Databasefailover |
Event Hubs
Deze sectie is van toepassing op het Microsoft.EventHub/namespaces
resourcetype. Meer informatie over Event Hubs.
Foutnaam | Toepasselijke scenario's |
---|---|
Event Hub-status wijzigen | Onjuiste configuratie/onderbreking van berichteninfrastructuur |
Key Vault
Deze sectie is van toepassing op het Microsoft.KeyVault/vaults
resourcetype. Meer informatie over Key Vault.
Foutnaam | Toepasselijke scenario's |
---|---|
Key Vault: Toegang weigeren | Certificaatontkenning |
Key Vault: Certificaat uitschakelen | Certificaatonderbreking |
Key Vault: certificaatversie verhogen | Incrementele certificaatversie |
Key Vault: Certificaatbeleid bijwerken | Wijzigingen/onjuiste configuraties van certificaatbeleid |
Netwerkbeveiligingsgroepen
Deze sectie is van toepassing op het Microsoft.Network/networkSecurityGroups
resourcetype. Meer informatie over netwerkbeveiligingsgroepen.
Foutnaam | Toepasselijke scenario's |
---|---|
NSG-beveiligingsregel | Netwerkonderbreking (voor veel Azure-services) |
Service Bus
Deze sectie is van toepassing op het Microsoft.ServiceBus/namespaces
resourcetype. Meer informatie over Service Bus.
Foutnaam | Toepasselijke scenario's |
---|---|
Status van wachtrij wijzigen | Onjuiste configuratie/onderbreking van berichteninfrastructuur |
Abonnementsstatus wijzigen | Onjuiste configuratie/onderbreking van berichteninfrastructuur |
Onderwerpstatus wijzigen | Onjuiste configuratie/onderbreking van berichteninfrastructuur |
Virtuele machines (service-direct)
Deze sectie is van toepassing op het Microsoft.Compute/virtualMachines
resourcetype. Meer informatie over virtuele machines.
Foutnaam | Toepasselijke scenario's |
---|---|
VM opnieuw implementeren | Rekenonderbreking, onderhoudsevenementen |
VM afsluiten | Rekenverlies/onderbreking |
Schaalset voor virtuele machines
Deze sectie is van toepassing op het Microsoft.Compute/virtualMachineScaleSets
resourcetype. Meer informatie over virtuele-machineschaalsets.
Foutnaam | Toepasselijke scenario's |
---|---|
Virtuele-machineschaalset afsluiten | Rekenverlies/onderbreking |
Virtuele-machineschaalset afsluiten (2.0) | Rekenverlies/onderbreking (per beschikbaarheidszone) |
Indelingsacties
Deze acties zijn bouwstenen voor het maken van effectieve experimenten. Gebruik deze in combinatie met andere fouten, zoals het uitvoeren van een belastingstest tijdens het parallel afsluiten van rekenprocessen in een zone.
Actiecategorie | Foutnaam |
---|---|
Laden | Belastingstest starten (Azure Load Testing) |
Laden | Belastingstest stoppen (Azure Load Testing) |
Tijdsvertraging | Uitstellen |
Details: Fouten op basis van agents
Netwerkverbinding verbreken
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | NetworkDisconnect-1.1 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows, Linux (alleen uitgaand verkeer) |
Beschrijving | Hiermee blokkeert u netwerkverkeer voor het opgegeven poortbereik en netwerkblok. Er moet ten minste één destinationFilter- of inboundDestinationFilter-matrix worden opgegeven. |
Vereisten | Windows: De agent moet worden uitgevoerd als beheerder, wat standaard gebeurt als deze is geïnstalleerd als een VM-extensie. |
Linux: Het tc pakket (Traffic Control) wordt gebruikt voor netwerkfouten. Als deze nog niet is geïnstalleerd, probeert de agent deze automatisch te installeren vanuit de standaardpakketbeheerder. |
|
Urn | urn:csci:microsoft:agent:networkDisconnect/1.1 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
destinationFilters | Gescheiden JSON-matrix van pakketfilters waarmee wordt gedefinieerd welke uitgaande pakketten moeten worden gericht. Maximaal 16. |
inboundDestinationFilters | Gescheiden JSON-matrix van pakketfilters waarmee wordt gedefinieerd welke binnenkomende pakketten moeten worden gericht. Maximaal 16. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
De parameters destinationFilters en inboundDestinationFilters gebruiken de volgende matrix van pakketfilters .
Eigenschappen | Weergegeven als |
---|---|
adres | IP-adres dat het begin van het IP-bereik aangeeft. |
subnetMask | Subnetmasker voor het IP-adresbereik. |
portLow | (Optioneel) Poortnummer van het begin van het poortbereik. |
portHigh | (Optioneel) Poortnummer van het einde van het poortbereik. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
- De netwerkfouten op basis van agents ondersteunen momenteel alleen IPv4-adressen.
- De fout bij het verbreken van de netwerkverbinding is alleen van invloed op nieuwe verbindingen. Bestaande actieve verbindingen blijven behouden. U kunt de service of het proces opnieuw starten om te forceren dat verbindingen worden verbroken.
- Wanneer de verbinding met Windows wordt uitgevoerd, werkt de netwerkverbinding momenteel alleen met TCP- of UDP-pakketten.
- Wanneer u linux gebruikt, kan deze fout alleen van invloed zijn op uitgaand verkeer, niet op inkomend verkeer. De fout kan van invloed zijn op zowel inkomend als uitgaand verkeer in Windows-omgevingen (via de
inboundDestinationFilters
endestinationFilters
parameters).
Netwerkverbinding verbreken (via firewall)
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | NetworkDisconnectViaFirewall-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows |
Beschrijving | Hiermee past u een Windows Firewall-regel toe om uitgaand verkeer voor het opgegeven poortbereik en netwerkblok te blokkeren. |
Vereisten | Agent moet worden uitgevoerd als beheerder. Als de agent is geïnstalleerd als een VM-extensie, wordt deze standaard uitgevoerd als beheerder. |
Urn | urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
destinationFilters | Gescheiden JSON-matrix van pakketfilters die definiëren welke uitgaande pakketten moeten worden gericht op foutinjectie. |
adres | IP-adres dat het begin van het IP-bereik aangeeft. |
subnetMask | Subnetmasker voor het IP-adresbereik. |
portLow | (Optioneel) Poortnummer van het begin van het poortbereik. |
portHigh | (Optioneel) Poortnummer van het einde van het poortbereik. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
- De netwerkfouten op basis van agents ondersteunen momenteel alleen IPv4-adressen.
- Deze fout is momenteel alleen van invloed op nieuwe verbindingen. Bestaande actieve verbindingen worden niet beïnvloed. U kunt de service of het proces opnieuw starten om te forceren dat verbindingen worden verbroken.
Netwerklatentie
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | NetworkLatency-1.1 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows, Linux (alleen uitgaand verkeer) |
Beschrijving | Verhoogt de netwerklatentie voor een opgegeven poortbereik en netwerkblok. Er moet ten minste één destinationFilter- of inboundDestinationFilter-matrix worden opgegeven. |
Vereisten | Windows: De agent moet worden uitgevoerd als beheerder, wat standaard gebeurt als deze is geïnstalleerd als een VM-extensie. |
Linux: Het tc pakket (Traffic Control) wordt gebruikt voor netwerkfouten. Als deze nog niet is geïnstalleerd, probeert de agent deze automatisch te installeren vanuit de standaardpakketbeheerder. |
|
Urn | urn:csci:microsoft:agent:networkLatency/1.1 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
latentieInMilliseconden | De hoeveelheid latentie die moet worden toegepast in milliseconden. |
destinationFilters | Gescheiden JSON-matrix van pakketfilters waarmee wordt gedefinieerd welke uitgaande pakketten moeten worden gericht. Maximaal 16. |
inboundDestinationFilters | Gescheiden JSON-matrix van pakketfilters waarmee wordt gedefinieerd welke binnenkomende pakketten moeten worden gericht. Maximaal 16. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
De parameters destinationFilters en inboundDestinationFilters gebruiken de volgende matrix van pakketfilters .
Eigenschappen | Weergegeven als |
---|---|
adres | IP-adres dat het begin van het IP-bereik aangeeft. |
subnetMask | Subnetmasker voor het IP-adresbereik. |
portLow | (Optioneel) Poortnummer van het begin van het poortbereik. |
portHigh | (Optioneel) Poortnummer van het einde van het poortbereik. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
- De netwerkfouten op basis van agents ondersteunen momenteel alleen IPv4-adressen.
- Wanneer de netwerklatentie op Linux wordt uitgevoerd, kan de fout met netwerklatentie alleen van invloed zijn op uitgaand verkeer, niet op inkomend verkeer. De fout kan van invloed zijn op zowel inkomend als uitgaand verkeer in Windows-omgevingen (via de
inboundDestinationFilters
endestinationFilters
parameters). - Bij uitvoering in Windows werkt de netwerklatentiefout momenteel alleen met TCP- of UDP-pakketten.
- Deze fout is momenteel alleen van invloed op nieuwe verbindingen. Bestaande actieve verbindingen worden niet beïnvloed. U kunt de service of het proces opnieuw starten om te forceren dat verbindingen worden verbroken.
Netwerkpakketverlies
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | NetworkPacketLoss-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows, Linux (alleen uitgaand verkeer) |
Beschrijving | Introduceert pakketverlies voor uitgaand verkeer met een opgegeven snelheid, tussen 0,0 (geen pakketten verloren) en 1,0 (alle pakketten verloren). Deze actie kan helpen bij het simuleren van scenario's zoals problemen met netwerkcongestie of netwerkhardware. |
Vereisten | Windows: De agent moet worden uitgevoerd als beheerder, wat standaard gebeurt als deze is geïnstalleerd als een VM-extensie. |
Linux: Het tc pakket (Traffic Control) wordt gebruikt voor netwerkfouten. Als deze nog niet is geïnstalleerd, probeert de agent deze automatisch te installeren vanuit de standaardpakketbeheerder. |
|
Urn | urn:csci:microsoft:agent:networkPacketLoss/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
packetLossRate | De snelheid waarmee pakketten die overeenkomen met de doelfilters gaan verloren, variërend van 0,0 tot 1,0. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
destinationFilters | Gescheiden JSON-matrix van pakketfilters (parameters hieronder) die bepalen welke uitgaande pakketten moeten worden gericht op foutinjectie. Maximaal drie. |
adres | IP-adres dat het begin van het IP-bereik aangeeft. |
subnetMask | Subnetmasker voor het IP-adresbereik. |
portLow | (Optioneel) Poortnummer van het begin van het poortbereik. |
portHigh | (Optioneel) Poortnummer van het einde van het poortbereik. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
- De netwerkfouten op basis van agents ondersteunen momenteel alleen IPv4-adressen.
- Wanneer windows wordt uitgevoerd, werkt de fout met netwerkpakketverlies momenteel alleen met TCP- of UDP-pakketten.
- Wanneer u linux gebruikt, kan deze fout alleen van invloed zijn op uitgaand verkeer, niet op inkomend verkeer. De fout kan van invloed zijn op zowel inkomend als uitgaand verkeer in Windows-omgevingen (via de
inboundDestinationFilters
endestinationFilters
parameters). - Deze fout is momenteel alleen van invloed op nieuwe verbindingen. Bestaande actieve verbindingen worden niet beïnvloed. U kunt de service of het proces opnieuw starten om te forceren dat verbindingen worden verbroken.
Netwerkisolatie
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | NetworkIsolation-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows, Linux (alleen uitgaand) |
Beschrijving | De virtuele machine volledig isoleren van netwerkverbindingen door alle op IP gebaseerde inkomende pakketten (op Windows) en uitgaande pakketten (op Windows en Linux) voor de opgegeven duur te verwijderen. Aan het einde van de duur worden netwerkverbindingen opnieuw ingeschakeld. Omdat de agent afhankelijk is van netwerkverkeer, kan deze actie niet worden geannuleerd en wordt deze uitgevoerd op de opgegeven duur. |
Vereisten | Windows: De agent moet worden uitgevoerd als beheerder, wat standaard gebeurt als deze is geïnstalleerd als een VM-extensie. |
Linux: Het tc pakket (Traffic Control) wordt gebruikt voor netwerkfouten. Als deze nog niet is geïnstalleerd, probeert de agent deze automatisch te installeren vanuit de standaardpakketbeheerder. |
|
Urn | urn:csci:microsoft:agent:networkIsolation/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus, anders optioneel. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkIsolation/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Beperkingen
- Omdat de agent afhankelijk is van netwerkverkeer, kan deze actie niet worden geannuleerd en wordt deze uitgevoerd op de opgegeven duur. Wees voorzichtig.
- Deze fout is momenteel alleen van invloed op nieuwe verbindingen. Bestaande actieve verbindingen worden niet beïnvloed. U kunt de service of het proces opnieuw starten om te forceren dat verbindingen worden verbroken.
- Wanneer u linux gebruikt, kan deze fout alleen van invloed zijn op uitgaand verkeer, niet op inkomend verkeer. De fout kan van invloed zijn op zowel inkomend als uitgaand verkeer in Windows-omgevingen.
DNS-fout
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | DnsFailure-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows |
Beschrijving | Vervangt antwoorden van DNS-zoekopdrachten door een opgegeven foutcode. DNS-opzoekaanvragen die worden vervangen, moeten:
|
Vereisten | Geen. |
Urn | urn:csci:microsoft:agent:dnsFailure/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
hosts | De gescheiden JSON-matrix met hostnamen waarvoor de DNS-zoekaanvraag niet kan worden uitgevoerd. Deze eigenschap accepteert jokertekens ( * ), maar alleen voor het eerste subdomein in een adres en is alleen van toepassing op het subdomein waarvoor ze zijn opgegeven. Voorbeeld:
|
dnsFailureReturnCode | DNS-foutcode die moet worden geretourneerd naar de client voor de opzoekfout (FormErr, ServFail, NXDomain, NotImp, Refused, XDomain, YXRRSet, NXRRSet, NotAuth, NotZone). Zie de IANA-website voor meer informatie over DNS-retourcodes. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
- Voor de DNS-fout is Windows 2019 RS5 of hoger vereist.
- DNS-cache wordt genegeerd tijdens de duur van de fout voor de hostnamen die in de fout zijn gedefinieerd.
CPU-druk
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | CPUPressure-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows, Linux |
Beschrijving | Voegt CPU-druk toe, tot aan de opgegeven waarde, op de VM waarop deze fout wordt geïnjecteerd tijdens de foutactie. De kunstmatige CPU-druk wordt aan het einde van de duur verwijderd of als het experiment wordt geannuleerd. In Windows wordt het prestatiemeteritem %Processor Utility gebruikt bij het begin van de fout om het huidige CPU-percentage te bepalen, dat wordt afgetrokken van de pressureLevel gedefinieerde fout, zodat % Processor Utility ongeveer de pressureLevel gedefinieerde in de foutparameters raakt. |
Vereisten | Linux: Het hulpprogramma stress-ng moet worden geïnstalleerd. De installatie vindt automatisch plaats als onderdeel van de agentinstallatie, met behulp van de standaardpakketbeheerder, op verschillende besturingssystemen, waaronder Debian (zoals Ubuntu), Red Hat Enterprise Linux en OpenSUSE. Voor andere distributies, waaronder Azure Linux, moet u stress-ng handmatig installeren. Zie de upstream-projectopslagplaats voor meer informatie. |
Windows: Geen. | |
Urn | urn:csci:microsoft:agent:cpuPressure/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
pressureLevel | Een geheel getal tussen 1 en 95 dat aangeeft hoeveel CPU-druk (%) op de VM wordt toegepast in termen van percentage CPU-gebruik |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
Bekende problemen in Linux:
- Het stresseffect wordt mogelijk niet correct beëindigd als
AzureChaosAgent
onverwacht wordt gedood.
Fysieke geheugendruk
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | PhysicalMemoryPressure-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows, Linux |
Beschrijving | Voegt fysieke geheugenbelasting toe, tot aan de opgegeven waarde, op de VM waar deze fout wordt geïnjecteerd tijdens de foutactie. De kunstmatige fysieke geheugenbelasting wordt aan het einde van de duur verwijderd of als het experiment wordt geannuleerd. |
Vereisten | Linux: Het hulpprogramma stress-ng moet worden geïnstalleerd. De installatie vindt automatisch plaats als onderdeel van de agentinstallatie, met behulp van de standaardpakketbeheerder, op verschillende besturingssystemen, waaronder Debian (zoals Ubuntu), Red Hat Enterprise Linux en OpenSUSE. Voor andere distributies, waaronder Azure Linux, moet u stress-ng handmatig installeren. Zie de upstream-projectopslagplaats voor meer informatie. |
Windows: Geen. | |
Urn | urn:csci:microsoft:agent:physicalMemoryPressure/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
pressureLevel | Een geheel getal tussen 1 en 95 dat aangeeft hoeveel fysieke geheugenbelasting (%) op de VIRTUELE machine wordt toegepast. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
Op dit moment vermindert de Windows-agent de geheugenbelasting niet wanneer andere toepassingen hun geheugengebruik verhogen. Als het totale geheugengebruik hoger is dan 100%, loopt de Windows-agent mogelijk vast.
Druk op virtueel geheugen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | VirtualMemoryPressure-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows |
Beschrijving | Hiermee wordt de belasting van het virtuele geheugen, tot aan de opgegeven waarde, toegevoegd op de VIRTUELE machine waarop deze fout wordt geïnjecteerd tijdens de foutactie. De belasting van het kunstmatige virtuele geheugen wordt aan het einde van de duur verwijderd of als het experiment wordt geannuleerd. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:agent:virtualMemoryPressure/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
pressureLevel | Een geheel getal tussen 1 en 95 dat aangeeft hoeveel fysieke geheugenbelasting (%) op de VIRTUELE machine wordt toegepast. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"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"
}
]
}
Schijf-I/O-druk
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | DiskIOPressure-1.1 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows |
Beschrijving | Gebruikt het hulpprogramma diskspd om schijfdruk toe te voegen aan een virtuele machine. De druk wordt standaard toegevoegd aan de primaire schijf of de schijf die is opgegeven met de parameter targetTempDirectory. Deze fout heeft vijf verschillende uitvoeringsmodi. De kunstmatige schijfdruk wordt aan het einde van de duur verwijderd of als het experiment wordt geannuleerd. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:agent:diskIOPressure/1.1 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
pressureMode | De vooraf ingestelde schijfdrukmodus die moet worden toegevoegd aan de primaire opslag van de virtuele machine. Moet een van de PressureModes volgende tabel zijn. |
targetTempDirectory | (Optioneel) De map die moet worden gebruikt voor het toepassen van schijfdruk. Bijvoorbeeld: D:/Temp . Als de parameter niet is opgenomen, wordt de druk toegevoegd aan de primaire schijf. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Drukmodi
PressureMode | Beschrijving |
---|---|
PremiumStorageP10IOPS | numberOfThreads = 1 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 25 sizeOfBlocksInKB = 8 sizeOfWriteBufferInKB = 64 fileSizeInGB = 2 percentOfWriteActions = 50 |
PremiumStorageP10 Beperking | 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 |
PremiumStorageP50 Beperking | numberOfThreads = 2 randomBlockSizeInKB = 1024 randomSeed = 10 numberOfIOperThread = 2 sizeOfBlocksInKB = 1024 sizeOfWriteBufferInKB = 1024 fileSizeInGB = 20 percentOfWriteActions = 50 |
Standaardinstelling | numberOfThreads = 2 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 2 sizeOfBlocksInKB = 64 sizeOfWriteBufferInKB = 64 fileSizeInGB = 1 percentOfWriteActions = 50 |
Voorbeeld-JSON
{
"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"
}
]
}
Io-druk voor Linux-schijf
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | LinuxDiskIOPressure-1.1 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Linux |
Beschrijving | Gebruikt stress-ng om druk op de schijf toe te passen. Een of meer werkprocessen worden voortgebracht die I/O-processen uitvoeren met tijdelijke bestanden. De druk wordt standaard toegevoegd aan de primaire schijf of de schijf die is opgegeven met de parameter targetTempDirectory. Zie het artikel stress-ng voor informatie over hoe druk wordt toegepast. |
Vereisten | Linux: Het hulpprogramma stress-ng moet worden geïnstalleerd. De installatie vindt automatisch plaats als onderdeel van de agentinstallatie, met behulp van de standaardpakketbeheerder, op verschillende besturingssystemen, waaronder Debian (zoals Ubuntu), Red Hat Enterprise Linux en OpenSUSE. Voor andere distributies, waaronder Azure Linux, moet u stress-ng handmatig installeren. Zie de upstream-projectopslagplaats voor meer informatie. |
Urn | urn:csci:microsoft:agent:linuxDiskIOPressure/1.1 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
workerCount | Aantal werkprocessen dat moet worden uitgevoerd. Als u instelt workerCount op 0, worden er zoveel werkprocessen gegenereerd als er een aantal processors is. |
fileSizePerWorker | Grootte van het tijdelijke bestand waarop een werkrol I/O-bewerkingen uitvoert. Geheel getal plus een eenheid in bytes (b), kilobytes (k), megabytes (m) of gigabytes (g) (bijvoorbeeld 4m voor 4 megabytes en 256g voor 256 gigabytes). |
blockSize | Blokgrootte die moet worden gebruikt voor schijf-I/O-bewerkingen, groter dan 1 byte en kleiner dan 4 megabytes (maximumwaarde is 4095k ). Geheel getal plus een eenheid in bytes, kilobytes of megabytes (bijvoorbeeld 512k voor 512 kilobytes). |
targetTempDirectory | (Optioneel) De map die moet worden gebruikt voor het toepassen van schijfdruk. Bijvoorbeeld: /tmp/ . Als de parameter niet is opgenomen, wordt de druk toegevoegd aan de primaire schijf. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
Deze voorbeeldwaarden produceren ~100% schijfdruk bij een test op een Standard_D2s_v3
virtuele machine met Premium SSD LRS. Een grote fileSizePerWorker en kleinere blockSize helpen de schijf volledig te belasten.
{
"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"
}
]
}
Service stoppen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | StopService-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows, Linux |
Beschrijving | Hiermee stopt u een Windows-service of een linux-systeemservice tijdens de fout. Start het opnieuw op aan het einde van de duur of als het experiment wordt geannuleerd. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:agent:stopService/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
serviceName | Naam van de Windows-service of linux-systeemservice die u wilt stoppen. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
- Windows: Weergavenamen voor services worden niet ondersteund. Gebruik
sc.exe query
deze opdrachtprompt om servicenamen te verkennen. - Linux: Andere servicetypen, zoals sysvinit, worden niet ondersteund.
Proces beëindigen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | KillProcess-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows, Linux |
Beschrijving | Hiermee worden alle actieve exemplaren van een proces verwijderd die overeenkomen met de procesnaam die in de foutparameters is verzonden. Binnen de duur die is ingesteld voor de foutactie, wordt een proces herhaaldelijk gedood op basis van de waarde van het opgegeven kill-interval. Deze fout is een destructieve fout waarbij de systeembeheerder het proces handmatig moet herstellen als zelfherstel is geconfigureerd. Houd er rekening mee dat deze fout optreedt wanneer deze fout wordt gebruikt voor een leeg naamproces, wanneer deze wordt gebruikt met een niet-opgegeven interval, of wanneer we de naam van het doelproces niet kunnen vinden die we willen beëindigen. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:agent:killProcess/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
processName | Naam van een proces om continu te doden (zonder de .exe). Het proces hoeft niet te worden uitgevoerd wanneer de fout wordt uitgevoerd. |
killIntervalInMilliseconds | De hoeveelheid tijd die de fout wacht tussen opeenvolgende killpogingen in milliseconden. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"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"
}
]
}
Proces onderbreken
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | PauseProcess-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows |
Beschrijving | Onderbreekt (onderbreekt) de opgegeven processen voor de opgegeven duur. Als er meerdere processen met dezelfde naam zijn, onderbreekt deze fout al deze processen. Binnen de duur van de fout worden de processen herhaaldelijk onderbroken met het opgegeven interval. Aan het einde van de duur of als het experiment wordt geannuleerd, worden de processen hervat. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:agent:pauseProcess/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
processNames | Gescheiden JSON-matrix van procesnamen die definiëren welke processen moeten worden onderbroken. Maximaal 4. De procesnaam kan eventueel de extensie '.exe' bevatten. |
pauseIntervalInMilliseconds | De hoeveelheid tijd die de fout wacht tussen opeenvolgende onderbrekingspogingen, in milliseconden. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
Op dit moment kunnen maximaal vier procesnamen worden vermeld in de parameter processNames.
Tijdswijziging
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | TimeChange-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Windows |
Beschrijving | Hiermee wijzigt u de systeemtijd van de virtuele machine en stelt u het tijdstip aan het einde van het experiment opnieuw in of wordt het experiment geannuleerd. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:agent:timeChange/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
dateTime | Een Datum/tijd-tekenreeks in ISO8601-indeling. Als YYYY-MM-DD er waarden ontbreken, worden deze standaard ingesteld op de huidige dag wanneer het experiment wordt uitgevoerd. Als de waarden Thh:mm:ss ontbreken, is de standaardwaarde 12:00:00 am. Als er een jaar van 2 cijfers wordt opgegeven (YY ), wordt het geconverteerd naar een jaar van 4 cijfers (YYYY ) op basis van de huidige eeuw. Als de tijdzone <Z> ontbreekt, is de standaard offset de lokale tijdzone. <Z> moet altijd een tekensymbool (negatief of positief) bevatten. |
virtualMachineScaleSetInstances | Een matrix met exemplaar-id's wanneer u deze fout toepast op een virtuele-machineschaalset. Vereist voor virtuele-machineschaalsets in uniforme indelingsmodus. Meer informatie over exemplaar-id's. |
Voorbeeld-JSON
{
"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"
}
]
}
Willekeurige stress-ng stressor
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | StressNg-1.0 |
Doeltype | Microsoft-Agent |
Ondersteunde typen besturingssystemen | Linux |
Beschrijving | Voert elke opdracht stress-ng uit door argumenten rechtstreeks door te geven aan stress-ng. Handig wanneer een van de vooraf gedefinieerde fouten voor stress-ng niet aan uw behoeften voldoet. |
Vereisten | Linux: Het hulpprogramma stress-ng moet worden geïnstalleerd. De installatie vindt automatisch plaats als onderdeel van de agentinstallatie, met behulp van de standaardpakketbeheerder, op verschillende besturingssystemen, waaronder Debian (zoals Ubuntu), Red Hat Enterprise Linux en OpenSUSE. Voor andere distributies, waaronder Azure Linux, moet u stress-ng handmatig installeren. Zie de upstream-projectopslagplaats voor meer informatie. |
Urn | urn:csci:microsoft:agent:stressNg/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
stressNgArguments | Een of meer argumenten die moeten worden doorgegeven aan het stress-ng-proces. Zie het artikel stress-ng voor informatie over mogelijke stress-ng-argumenten . OPMERKING: Neem het argument '-t' niet op, omdat dit een fout veroorzaakt. De lengte van het experiment wordt rechtstreeks gedefinieerd in de ui van het Azure chaos-experiment, NIET in de stressNgArguments. |
Voorbeeld-JSON
{
"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"
}
]
}
Details: Service-directe fouten
App Service stoppen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Stop-1.0 |
Doeltype | Microsoft-AppService |
Beschrijving | Stopt de beoogde App Service-toepassingen en start ze vervolgens opnieuw op aan het einde van de foutduur. Deze actie is van toepassing op resources van het type Microsoft.Web/sites, waaronder App Service, API Apps, Mobile Apps en Azure Functions. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:appService:stop/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | Geen. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:appService:stop/1.0",
"duration": "PT10M",
"parameters":[],
"selectorid": "myResources"
}
]
}
Automatische schaalaanpassing uitschakelen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | DisableAutoscale |
Doeltype | Microsoft-AutoscaleSettings |
Beschrijving | Hiermee schakelt u de service voor automatisch schalen uit. Wanneer automatisch schalen is uitgeschakeld, worden resources zoals virtuele-machineschaalsets, web-apps, servicebus en meer niet automatisch toegevoegd of verwijderd op basis van de belasting van de toepassing. |
Vereisten | De resource voor automatisch schalen die is ingeschakeld voor de resource, moet worden geïmplementeerd in Chaos Studio. |
Urn | urn:csci:microsoft:autoscalesettings:disableAutoscale/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
enableOnComplete | Booleaans. Hiermee configureert u of automatisch schalen opnieuw kan worden uitgevoerd nadat de actie is uitgevoerd. Standaard is true . |
Voorbeeld-JSON
{
"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
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | NetworkChaos-2.2 |
Doeltype | Microsoft-AzureKubernetesServiceChaosMesh |
Ondersteunde typen knooppuntgroepen | Linux |
Beschrijving | Zorgt ervoor dat een netwerkfout die beschikbaar is via Chaos Mesh , wordt uitgevoerd op uw AKS-cluster (Azure Kubernetes Service). Handig voor het opnieuw maken van AKS-incidenten die het gevolg zijn van netwerkstoringen, vertragingen, duplicaties, verlies en beschadiging. |
Vereisten | Het AKS-cluster moet Chaos Mesh hebben geïmplementeerd. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2 |
Parameters (sleutel, waarde) | |
jsonSpec | Een JSON-indeling chaos mesh-specificatie die gebruikmaakt van het soort NetworkChaos. U kunt een YAML-naar-JSON-conversieprogramma zoals YAML converteren naar JSON gebruiken om de Chaos Mesh YAML te converteren naar JSON en deze te minificeren. Gebruik enkele aanhalingstekens in de JSON of escape de aanhalingstekens met een backslash-teken. Neem alleen de YAML op onder de jsonSpec eigenschap. Neem geen informatie op, zoals metagegevens en soort. Het opgeven van de duur binnen de jsonSpec is niet nodig, maar wordt gebruikt indien beschikbaar. |
Voorbeeld-JSON
{
"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
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | PodChaos-2.2 |
Doeltype | Microsoft-AzureKubernetesServiceChaosMesh |
Ondersteunde typen knooppuntgroepen | Linux |
Beschrijving | Hiermee wordt een podfout veroorzaakt die beschikbaar is via Chaos Mesh om te worden uitgevoerd op uw AKS-cluster. Handig voor het opnieuw maken van AKS-incidenten die het gevolg zijn van podfouten of containerproblemen. |
Vereisten | Het AKS-cluster moet Chaos Mesh hebben geïmplementeerd. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.2 |
Parameters (sleutel, waarde) | |
jsonSpec | Een JSON-geformatteerde Chaos Mesh-specificatie die gebruikmaakt van het type PodChaos. U kunt een YAML-naar-JSON-conversieprogramma zoals YAML converteren naar JSON gebruiken om de Chaos Mesh YAML te converteren naar JSON en deze te minificeren. Gebruik enkele aanhalingstekens in de JSON of escape de aanhalingstekens met een backslash-teken. Neem alleen de YAML op onder de jsonSpec eigenschap. Neem geen informatie op, zoals metagegevens en soort. Het opgeven van de duur binnen de jsonSpec is niet nodig, maar wordt gebruikt indien beschikbaar. |
Voorbeeld-JSON
{
"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
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | StressChaos-2.2 |
Doeltype | Microsoft-AzureKubernetesServiceChaosMesh |
Ondersteunde typen knooppuntgroepen | Linux |
Beschrijving | Veroorzaakt een stressfout die beschikbaar is via Chaos Mesh om te worden uitgevoerd op uw AKS-cluster. Handig voor het opnieuw maken van AKS-incidenten vanwege stress bij een verzameling pods, bijvoorbeeld vanwege een hoog CPU- of geheugenverbruik. |
Vereisten | Het AKS-cluster moet Chaos Mesh hebben geïmplementeerd. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2 |
Parameters (sleutel, waarde) | |
jsonSpec | Een JSON-geformatteerde Chaos Mesh-specificatie die gebruikmaakt van het type StressChaos. U kunt een YAML-naar-JSON-conversieprogramma zoals YAML converteren naar JSON gebruiken om de Chaos Mesh YAML te converteren naar JSON en deze te minificeren. Gebruik enkele aanhalingstekens in de JSON of escape de aanhalingstekens met een backslash-teken. Neem alleen de YAML op onder de jsonSpec eigenschap. Neem geen informatie op, zoals metagegevens en soort. Het opgeven van de duur binnen de jsonSpec is niet nodig, maar wordt gebruikt indien beschikbaar. |
Voorbeeld-JSON
{
"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
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | IOChaos-2.2 |
Doeltype | Microsoft-AzureKubernetesServiceChaosMesh |
Ondersteunde typen knooppuntgroepen | Linux |
Beschrijving | Zorgt ervoor dat een IO-fout die beschikbaar is via Chaos Mesh , wordt uitgevoerd op uw AKS-cluster. Handig voor het opnieuw maken van AKS-incidenten vanwege I/O-vertragingen en lees-/schrijffouten wanneer u I/O-systeemoproepen zoals open , read en write . |
Vereisten | Het AKS-cluster moet Chaos Mesh hebben geïmplementeerd. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.2 |
Parameters (sleutel, waarde) | |
jsonSpec | Een chaos mesh-specificatie met JSON-indeling die gebruikmaakt van het IOChaos-type. U kunt een YAML-naar-JSON-conversieprogramma zoals YAML converteren naar JSON gebruiken om de Chaos Mesh YAML te converteren naar JSON en deze te minificeren. Gebruik enkele aanhalingstekens in de JSON of escape de aanhalingstekens met een backslash-teken. Neem alleen de YAML op onder de jsonSpec eigenschap. Neem geen informatie op, zoals metagegevens en soort. Het opgeven van de duur binnen de jsonSpec is niet nodig, maar wordt gebruikt indien beschikbaar. |
Voorbeeld-JSON
{
"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
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | TimeChaos-2.2 |
Doeltype | Microsoft-AzureKubernetesServiceChaosMesh |
Ondersteunde typen knooppuntgroepen | Linux |
Beschrijving | Veroorzaakt een wijziging in de systeemklok op uw AKS-cluster met behulp van Chaos Mesh. Handig voor het opnieuw maken van AKS-incidenten die het gevolg zijn van gedistribueerde systemen die niet meer worden gesynchroniseerd, ontbrekende/onjuiste schrikkeljaar-/tweede logica en meer. |
Vereisten | Het AKS-cluster moet Chaos Mesh hebben geïmplementeerd. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.2 |
Parameters (sleutel, waarde) | |
jsonSpec | Een JSON-indeling chaos mesh-specificatie die gebruikmaakt van het type TimeChaos. U kunt een YAML-naar-JSON-conversieprogramma zoals YAML converteren naar JSON gebruiken om de Chaos Mesh YAML te converteren naar JSON en deze te minificeren. Gebruik enkele aanhalingstekens in de JSON of escape de aanhalingstekens met een backslash-teken. Neem alleen de YAML op onder de jsonSpec eigenschap. Neem geen informatie op, zoals metagegevens en soort. Het opgeven van de duur binnen de jsonSpec is niet nodig, maar wordt gebruikt indien beschikbaar. |
Voorbeeld-JSON
{
"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
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | KernelChaos-2.2 |
Doeltype | Microsoft-AzureKubernetesServiceChaosMesh |
Ondersteunde typen knooppuntgroepen | Linux |
Beschrijving | Veroorzaakt een kernelfout die beschikbaar is via Chaos Mesh om te worden uitgevoerd op uw AKS-cluster. Handig voor het opnieuw maken van AKS-incidenten vanwege fouten op Linux-kernelniveau, zoals een koppelingsfout of geheugen dat niet wordt toegewezen. |
Vereisten | Het AKS-cluster moet Chaos Mesh hebben geïmplementeerd. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.2 |
Parameters (sleutel, waarde) | |
jsonSpec | Een JSON-indeling chaos mesh-specificatie die gebruikmaakt van het type KernelChaos. U kunt een YAML-naar-JSON-conversieprogramma zoals YAML converteren naar JSON gebruiken om de Chaos Mesh YAML te converteren naar JSON en deze te minificeren. Gebruik enkele aanhalingstekens in de JSON of escape de aanhalingstekens met een backslash-teken. Neem alleen de YAML op onder de jsonSpec eigenschap. Neem geen informatie op, zoals metagegevens en soort. Het opgeven van de duur binnen de jsonSpec is niet nodig, maar wordt gebruikt indien beschikbaar. |
Voorbeeld-JSON
{
"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
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | HTTPChaos-2.2 |
Doeltype | Microsoft-AzureKubernetesServiceChaosMesh |
Ondersteunde typen knooppuntgroepen | Linux |
Beschrijving | Zorgt ervoor dat een HTTP-fout die beschikbaar is via Chaos Mesh , wordt uitgevoerd op uw AKS-cluster. Handig voor het opnieuw maken van incidenten vanwege HTTP-aanvraag- en antwoordverwerkingsfouten, zoals vertraagde of onjuiste antwoorden. |
Vereisten | Het AKS-cluster moet Chaos Mesh hebben geïmplementeerd. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.2 |
Parameters (sleutel, waarde) | |
jsonSpec | Een JSON-indeling chaos mesh-specificatie die gebruikmaakt van het type HTTPChaos. U kunt een YAML-naar-JSON-conversieprogramma zoals YAML converteren naar JSON gebruiken om de Chaos Mesh YAML te converteren naar JSON en deze te minificeren. Gebruik enkele aanhalingstekens in de JSON of escape de aanhalingstekens met een backslash-teken. Neem alleen de YAML op onder de jsonSpec eigenschap. Neem geen informatie op, zoals metagegevens en soort. Het opgeven van de duur binnen de jsonSpec is niet nodig, maar wordt gebruikt indien beschikbaar. |
Voorbeeld-JSON
{
"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
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | DNSChaos-2.2 |
Doeltype | Microsoft-AzureKubernetesServiceChaosMesh |
Ondersteunde typen knooppuntgroepen | Linux |
Beschrijving | Hiermee wordt een DNS-fout die beschikbaar is via Chaos Mesh , uitgevoerd op uw AKS-cluster. Handig voor het opnieuw maken van incidenten vanwege DNS-fouten. |
Vereisten | Het AKS-cluster moet Chaos Mesh hebben geïmplementeerd en de DNS-service moet worden geïnstalleerd. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.2 |
Parameters (sleutel, waarde) | |
jsonSpec | Een JSON-indeling chaos mesh-specificatie die gebruikmaakt van het type DNSChaos. U kunt een YAML-naar-JSON-conversieprogramma zoals YAML converteren naar JSON gebruiken om de Chaos Mesh YAML te converteren naar JSON en deze te minificeren. Gebruik enkele aanhalingstekens in de JSON of escape de aanhalingstekens met een backslash-teken. Neem alleen de YAML op onder de jsonSpec eigenschap. Neem geen informatie op, zoals metagegevens en soort. Het opgeven van de duur binnen de jsonSpec is niet nodig, maar wordt gebruikt indien beschikbaar. |
Voorbeeld-JSON
{
"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"
}
]
}
Cloud Services (klassiek) afsluiten
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Shutdown-1.0 |
Doeltype | Microsoft-DomainName |
Beschrijving | Stopt een implementatie tijdens de fout. Start de implementatie aan het einde van de foutduur opnieuw of als het experiment is geannuleerd. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:domainName:shutdown/1.0 |
Fouttype | Doorlopend. |
Parameters | Geen. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:domainName:shutdown/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Azure Cache voor Redis (opnieuw opstarten)
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Reboot-1.0 |
Doeltype | Microsoft-AzureClusteredCacheForRedis |
Beschrijving | Zorgt ervoor dat een geforceerde herstartbewerking op het doel plaatsvindt om een korte storing te simuleren. |
Vereisten | N.v.t. |
Urn | urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0 |
Fouttype | Discreet. |
Parameters (sleutel, waarde) | |
rebootType | De knooppunttypen waarop de actie voor opnieuw opstarten moet worden uitgevoerd, die kunnen worden opgegeven als PrimaryNode, SecondaryNode of AllNodes. |
shardId | De id van de shard die opnieuw moet worden opgestart. Alleen relevant voor Caches in de Premium-laag. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0",
"parameters": [
{
"key": "RebootType",
"value": "AllNodes"
},
{
"key": "ShardId",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}
Beperkingen
- De fout bij opnieuw opstarten zorgt ervoor dat een geforceerde herstart een storingsgebeurtenis beter simuleert, wat betekent dat er mogelijk gegevensverlies optreedt.
- De fout bij opnieuw opstarten is een discreet fouttype. In tegenstelling tot doorlopende fouten is het een eenmalige actie en heeft deze geen duur.
Cosmos DB-failover
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Failover-1.0 |
Doeltype | Microsoft-CosmosDB |
Beschrijving | Zorgt ervoor dat een Azure Cosmos DB-account met één schrijfregio een failover naar een opgegeven leesregio uitvoert om een storing in een schrijfregio te simuleren. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:cosmosDB:failover/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
readRegion | De leesregio die moet worden gepromoveerd naar de schrijfregio tijdens de failover, East US 2 bijvoorbeeld. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:cosmosDB:failover/1.0",
"parameters": [
{
"key": "readRegion",
"value": "West US 2"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Event Hub-status wijzigen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | ChangeEventHubState-1.0 |
Doeltype | Microsoft-EventHub |
Beschrijving | Hiermee stelt u afzonderlijke Event Hubs in op de gewenste status binnen een Azure Event Hubs-naamruimte. U kunt invloed hebben op specifieke Event Hub-namen of *gebruiken om alles binnen de naamruimte te beïnvloeden. Met deze actie kunt u uw berichteninfrastructuur testen voor onderhouds- of foutscenario's. Dit is een discrete fout, zodat de entiteit niet automatisch wordt geretourneerd naar de beginstatus. |
Vereisten | Een Azure Event Hubs-naamruimte met ten minste één Event Hub-entiteit. |
Urn | urn:csci:microsoft:eventHub:changeEventHubState/1.0 |
Fouttype | Discreet. |
Parameters (sleutel, waarde) | |
desiredState | De gewenste status voor de beoogde Event Hubs. De mogelijke statussen zijn Actief, Uitgeschakeld en SendDisabled. |
eventHubs | Een door komma's gescheiden lijst met de event hub-namen binnen de doelnaamruimte. Gebruik *om van invloed te zijn op alle entiteiten in de naamruimte. |
Voorbeeld-JSON
{
"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: Toegang weigeren
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | DenyAccess-1.0 |
Doeltype | Microsoft-KeyVault |
Beschrijving | Hiermee blokkeert u alle netwerktoegang tot een sleutelkluis door de netwerkregels van de sleutelkluis tijdelijk te wijzigen. Met deze actie voorkomt u dat een toepassing die afhankelijk is van de sleutelkluis toegang heeft tot geheimen, sleutels en/of certificaten. Als de sleutelkluis toegang tot alle netwerken toestaat, wordt deze instelling gewijzigd zodat alleen toegang vanuit geselecteerde netwerken wordt toegestaan. Er staan geen virtuele netwerken in de lijst met toegestane netwerken aan het begin van de fout. Alle netwerken zijn toegang toegestaan aan het einde van de foutduur. Als de sleutelkluis is ingesteld om alleen toegang vanuit geselecteerde netwerken toe te staan, worden virtuele netwerken in de lijst met toegestane netwerken verwijderd aan het begin van de fout. Ze worden aan het einde van de foutduur hersteld. |
Vereisten | De doelsleutelkluis kan geen firewallregels hebben en mag niet worden ingesteld om Azure-services toe te staan de firewall te omzeilen. Als de doelsleutelkluis is ingesteld om alleen toegang vanuit geselecteerde netwerken toe te staan, moet er ten minste één regel voor het virtuele netwerk zijn. De sleutelkluis kan zich niet in de herstelmodus bevinden. |
Urn | urn:csci:microsoft:keyVault:denyAccess/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | Geen. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:keyvault:denyAccess/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Key Vault: Certificaat uitschakelen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | DisableCertificate-1.0 |
Doeltype | Microsoft-KeyVault |
Beschrijving | Door certificaateigenschappen te gebruiken, wordt het certificaat voor een specifieke duur uitgeschakeld (geleverd door de gebruiker). Het certificaat wordt ingeschakeld na deze foutduur. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:keyvault:disableCertificate/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
certificateName | De naam van het Azure Key Vault-certificaat waarop de fout wordt uitgevoerd. |
version | Certificaatversie die moet worden uitgeschakeld. Als dit niet is opgegeven, is de nieuwste versie uitgeschakeld. |
Voorbeeld-JSON
{
"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: certificaatversie verhogen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | IncrementCertificateVersion-1.0 |
Doeltype | Microsoft-KeyVault |
Beschrijving | Genereert een nieuwe certificaatversie en vingerafdruk met behulp van de Key Vault-clientbibliotheek voor certificaten. Het huidige werkende certificaat wordt bijgewerkt naar deze versie. De certificaatversie wordt niet teruggezet na de foutduur. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0 |
Fouttype | Discreet. |
Parameters (sleutel, waarde) | |
certificateName | De naam van het Azure Key Vault-certificaat waarop de fout wordt uitgevoerd. |
Voorbeeld-JSON
{
"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"
}
]
}
Key Vault: Certificaatbeleid bijwerken
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | UpdateCertificatePolicy-1.0 |
Doeltype | Microsoft-KeyVault |
Beschrijving | Certificaatbeleidsregels (bijvoorbeeld geldigheidsperiode van certificaat, certificaattype, sleutelgrootte of sleuteltype) worden bijgewerkt op basis van gebruikersinvoer en worden na de duur van de fout teruggezet. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
certificateName | De naam van het Azure Key Vault-certificaat waarop de fout wordt uitgevoerd. |
version | Certificaatversie die moet worden bijgewerkt. Als dit niet is opgegeven, wordt de nieuwste versie bijgewerkt. |
enabled | Booleaans. Waarde die aangeeft of de nieuwe certificaatversie is ingeschakeld. |
geldigheidInMonths | Geldigheidsperiode van het certificaat in maanden. |
certificateTransparency | Geeft aan of het certificaat moet worden gepubliceerd naar de transparantielijst van het certificaat wanneer het is gemaakt. |
certificateType | Certificaattype. |
contentType | Inhoudstype van het certificaat. Het is bijvoorbeeld Pkcs12 wanneer het certificaat onbewerkte PFX-bytes of Pem bevat wanneer het ASCII PEM gecodeerde bytes bevat. Pkcs12 is de standaardwaarde die wordt aangenomen. |
keySize | Grootte van de RSA-sleutel: 2048, 3072 of 4096. |
Exporteerbaar | Booleaans. Waarde die aangeeft of de certificaatsleutel kan worden geëxporteerd vanuit de kluis of het beveiligde certificaatarchief. |
reuseKey | Booleaans. Waarde die aangeeft of de certificaatsleutel opnieuw moet worden gebruikt wanneer het certificaat wordt gedraaid. |
keyType | Type back-upsleutel die wordt gegenereerd wanneer nieuwe certificaten worden uitgegeven, zoals RSA of EC. |
Voorbeeld-JSON
{
"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"
}
]
}
NSG-beveiligingsregel
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | SecurityRule-1.0, SecurityRule-1.1 |
Doeltype | Microsoft-NetworkSecurityGroup |
Beschrijving | Maakt manipulatie of het maken van regels mogelijk in een bestaande Azure-netwerkbeveiligingsgroep (NSG) of set Azure NSG's, ervan uitgaande dat de regeldefinitie van toepassing is op beveiligingsgroepen. Handig voor:
|
Vereisten | Geen. |
Urn | urn:csci:microsoft:networkSecurityGroup:securityRule/1.0, urn:csci:microsoft:networkSecurityGroup:securityRule/1.1 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
naam | Een unieke naam voor de beveiligingsregel die wordt gemaakt. De fout mislukt als er al een andere regel bestaat op de NSG met dezelfde naam. Moet beginnen met een letter of cijfer. Moet eindigen op een letter, cijfer of onderstrepingsteken. Mag alleen letters, cijfers, onderstrepingstekens, punten of afbreekstreepjes bevatten. |
protocol | Protocol voor de beveiligingsregel. Moet Any, TCP, UDP of ICMP zijn. |
sourceAddresses | Een tekenreeks die een door JSON gescheiden matrix met DOOR CIDR opgemaakte IP-adressen vertegenwoordigt. Kan ook een servicetagnaam zijn voor een binnenkomende regel, AppService bijvoorbeeld. Een sterretje * kan ook worden gebruikt om alle bron-IP-adressen te vinden. |
destinationAddresses | Een tekenreeks die een door JSON gescheiden matrix met DOOR CIDR opgemaakte IP-adressen vertegenwoordigt. Kan ook een servicetagnaam zijn voor een uitgaande regel, AppService bijvoorbeeld. Een sterretje * kan ook worden gebruikt om alle doel-IP-adressen te vinden. |
action | Toegangstype beveiligingsgroep. Moet toestaan of weigeren zijn. |
destinationPortRanges | Een tekenreeks die een door JSON gescheiden matrix van enkele poorten en/of poortbereiken vertegenwoordigt, zoals 80 of 1024-65535. |
sourcePortRanges | Een tekenreeks die een door JSON gescheiden matrix van enkele poorten en/of poortbereiken vertegenwoordigt, zoals 80 of 1024-65535. |
priority | Een waarde tussen 100 en 4096 die uniek is voor alle beveiligingsregels binnen de NSG. De fout mislukt als er al een andere regel bestaat op de NSG met dezelfde prioriteit. |
richting | Richting van het verkeer dat wordt beïnvloed door de beveiligingsregel. Moet binnenkomend of uitgaand zijn. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
- De fout kan alleen worden toegepast op een bestaande NSG.
- Wanneer een NSG-regel die bedoeld is om verkeer te weigeren wordt toegepast, worden bestaande verbindingen pas verbroken nadat ze vier minuten inactief zijn geweest. Een tijdelijke oplossing is het toevoegen van een andere vertakking in dezelfde stap die gebruikmaakt van een fout waardoor bestaande verbindingen worden verbroken wanneer de NSG-fout wordt toegepast. Als u bijvoorbeeld het proces stopt, de service tijdelijk stopt of de VIRTUELE machine opnieuw opstart, worden verbindingen opnieuw ingesteld.
- Regels worden toegepast aan het begin van de actie. Eventuele externe wijzigingen in de regel tijdens de duur van de actie zorgen ervoor dat het experiment mislukt.
- Het maken of wijzigen van regels voor toepassingsbeveiligingsgroepen wordt niet ondersteund.
- Prioriteitswaarden moeten uniek zijn voor elke beoogde NSG. Als u probeert een nieuwe regel te maken die dezelfde prioriteitswaarde heeft als een andere regel, mislukt het experiment.
- De NSG-beveiligingsregel versie 1.1-fout ondersteunt een extra
flushConnection
parameter. Deze functionaliteit heeft een actief bekend probleem: alsflushConnection
deze is ingeschakeld, kan de fout leiden tot de fout FlushingNetworkSecurityGroupConnectionIsNotEnabled. Als u deze fout tijdelijk wilt voorkomen, schakelt u deflushConnection
parameter uit of gebruikt u de fout NSG-beveiligingsregel versie 1.0 .
Service Bus: Status van wachtrij wijzigen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | ChangeQueueState-1.0 |
Doeltype | Microsoft-ServiceBus |
Beschrijving | Stelt wachtrijentiteiten in een Service Bus-naamruimte in op de gewenste status. U kunt invloed hebben op specifieke entiteitsnamen of '*' gebruiken om alles te beïnvloeden. Met deze actie kunt u uw berichteninfrastructuur testen voor onderhouds- of foutscenario's. Dit is een discrete fout, zodat de entiteit niet automatisch wordt geretourneerd naar de beginstatus. |
Vereisten | Een Service Bus-naamruimte met ten minste één wachtrijentiteit. |
Urn | urn:csci:microsoft:serviceBus:changeQueueState/1.0 |
Fouttype | Discreet. |
Parameters (sleutel, waarde) | |
desiredState | De gewenste status voor de doelwachtrijen. De mogelijke statussen zijn Actief, Uitgeschakeld, SendDisabled en ReceiveDisabled. |
wachtrijen | Een door komma's gescheiden lijst met wachtrijnamen binnen de doelnaamruimte. Gebruik *om alle wachtrijen in de naamruimte te beïnvloeden. |
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
- Er kunnen maximaal 1000 wachtrijentiteiten worden doorgegeven aan deze fout.
Service Bus: Abonnementsstatus wijzigen
Voorbeeld-JSON
{
"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"
}
]
}
Beperkingen
- Er kunnen maximaal 1000 abonnementsentiteiten worden doorgegeven aan deze fout.
Service Bus: Onderwerpstatus wijzigen
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | ChangeTopicState-1.0 |
Doeltype | Microsoft-ServiceBus |
Beschrijving | Hiermee stelt u de opgegeven onderwerpentiteiten in een Service Bus-naamruimte in op de gewenste status. U kunt invloed hebben op specifieke entiteitsnamen of '*' gebruiken om alles te beïnvloeden. Met deze actie kunt u uw berichteninfrastructuur testen voor onderhouds- of foutscenario's. Dit is een discrete fout, zodat de entiteit niet automatisch wordt geretourneerd naar de beginstatus. |
Vereisten | Een Service Bus-naamruimte met ten minste één onderwerpentiteit. |
Urn | urn:csci:microsoft:serviceBus:changeTopicState/1.0 |
Fouttype | Discreet. |
Parameters (sleutel, waarde) | |
desiredState | De gewenste status voor de beoogde onderwerpen. De mogelijke statussen zijn Actief en Uitgeschakeld. |
Onderwerpen | Een door komma's gescheiden lijst met onderwerpnamen binnen de doelnaamruimte. Gebruik *om alle onderwerpen in de naamruimte te beïnvloeden. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:serviceBus:changeTopicState/1.0",
"parameters":[
{
"key": "desiredState",
"value": "Disabled"
},
{
"key": "topics",
"value": "*"
}
],
"selectorid": "myServiceBusSelector"
}
]
}
Beperkingen
- Er kunnen maximaal 1000 onderwerpentiteiten worden doorgegeven aan deze fout.
VM opnieuw implementeren
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Opnieuw implementeren-1.0 |
Doeltype | Microsoft-VirtualMachine |
Beschrijving | Implementeer een VIRTUELE machine opnieuw door deze uit te schakelen, naar een nieuw knooppunt in de Azure-infrastructuur te verplaatsen en weer in te schakelen. Dit helpt bij het valideren van de tolerantie van uw workload voor onderhoudsevenementen. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:virtualMachine:redeploy/1.0 |
Fouttype | Discreet. |
Parameters (sleutel, waarde) | Geen. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:virtualMachine:redeploy/1.0",
"parameters":[],
"selectorid": "myResources"
}
]
}
Beperkingen
- De herploybewerking van de virtuele machine wordt beperkt binnen een interval van 10 uur. Als uw experiment mislukt met de fout 'Te veel opnieuw implementeren-aanvragen', wacht u 10 uur om het experiment opnieuw uit te voeren.
Afsluiten van virtuele machine
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Shutdown-1.0 |
Doeltype | Microsoft-VirtualMachine |
Ondersteunde typen besturingssystemen | Windows, Linux. |
Beschrijving | Hiermee wordt een VIRTUELE machine afgesloten voor de duur van de fout. Start het opnieuw op aan het einde van het experiment of als het experiment wordt geannuleerd. Alleen Azure Resource Manager-VM's worden ondersteund. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:virtualMachine:shutdown/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
abruptShutdown | (Optioneel) Booleaanse waarde die aangeeft of de VIRTUELE machine correct of plotseling moet worden afgesloten (destructief). |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:virtualMachine:shutdown/1.0",
"parameters": [
{
"key": "abruptShutdown",
"value": "false"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Virtuele-machineschaalset afsluiten
Deze fout heeft twee beschikbare versies die u kunt gebruiken, versie 1.0 en versie 2.0. Het belangrijkste verschil is dat u met versie 2.0 kunt filteren op beschikbaarheidszones, waarbij alleen instanties binnen een opgegeven zone of zones worden afgesloten.
Virtuele-machineschaalset versie 1.0 afsluiten
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Versie 1.0 |
Doeltype | Microsoft-VirtualMachineScaleSet |
Ondersteunde typen besturingssystemen | Windows, Linux. |
Beschrijving | Sluit of beëindigt een exemplaar van een virtuele-machineschaalset tijdens de fout en start de VM opnieuw op aan het einde van de foutduur of als het experiment wordt geannuleerd. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0 |
Fouttype | Doorlopend. |
Parameters (sleutel, waarde) | |
abruptShutdown | (Optioneel) Booleaanse waarde die aangeeft of het exemplaar van de virtuele-machineschaalset correct of plotseling moet worden afgesloten (destructief). |
instanties | Een tekenreeks die een gescheiden matrix is van instantie-id's van virtuele-machineschaalsets waarop de fout wordt toegepast. |
JSON-voorbeeldversie 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"
}
]
}
Virtuele-machineschaalset afsluiten versie 2.0
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Shutdown-2.0 |
Doeltype | Microsoft-VirtualMachineScaleSet |
Ondersteunde typen besturingssystemen | Windows, Linux. |
Beschrijving | Hiermee wordt een exemplaar van een virtuele-machineschaalset afgesloten of uitgeschakeld tijdens de fout. Start de VM opnieuw op aan het einde van de foutduur of als het experiment is geannuleerd. Ondersteunt dynamische targeting. |
Vereisten | Geen. |
Urn | urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0 |
Fouttype | Doorlopend. |
filter | (Optioneel) Beschikbaar vanaf versie 2.0. Wordt gebruikt om de lijst met doelen in een selector te filteren. Ondersteunt momenteel filteren op een lijst met zones. Het filter wordt alleen toegepast op resources van virtuele-machineschaalsets binnen een zone:
|
Parameters (sleutel, waarde) | |
abruptShutdown | (Optioneel) Booleaanse waarde die aangeeft of het exemplaar van de virtuele-machineschaalset correct of plotseling moet worden afgesloten (destructief). |
JSON-voorbeeldfragmenten van versie 2.0
De volgende codefragmenten laten zien hoe u zowel dynamische filtering als de afsluitfout 2.0 configureert.
Configureer een filter voor dynamische targeting:
{
"type": "List",
"id": "myResources",
"targets": [
{
"id": "<targetResourceId>",
"type": "ChaosTarget"
}
],
"filter": {
"type": "Simple",
"parameters": {
"zones": [
"1"
]
}
}
}
Configureer de afsluitfout:
{
"name": "branchOne",
"actions": [
{
"name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0",
"type": "continuous",
"selectorId": "myResources",
"duration": "PT10M",
"parameters": [
{
"key": "abruptShutdown",
"value": "false"
}
]
}
]
}
Beperkingen
Momenteel worden alleen virtuele-machineschaalsets die zijn geconfigureerd met de uniformindelingsmodus ondersteund. Als uw virtuele-machineschaalset flexibele indeling gebruikt, kunt u de afsluitfout van de virtuele Machine van Azure Resource Manager gebruiken om geselecteerde exemplaren af te sluiten.
Details: Indelingsacties
Vertraging
Eigenschappen | Weergegeven als |
---|---|
Foutprovider | N.v.t. |
Ondersteunde typen besturingssystemen | N.v.t. |
Beschrijving | Hiermee voegt u een tijdsvertraging toe voor, tussen of na andere experimentacties. Deze actie is geen fout en wordt gebruikt om acties binnen een experiment te synchroniseren. Gebruik deze actie om te wachten tot de impact van een fout in een service wordt weergegeven of wacht tot een activiteit buiten het experiment is voltooid. Uw experiment kan bijvoorbeeld wachten tot automatischehealing plaatsvindt voordat er een andere fout wordt geïnjecteerd. |
Vereisten | N.v.t. |
Urn | urn:csci:microsoft:chaosStudio:timedDelay/1.0 |
Duur | De duur van de vertraging in ISO 8601-indeling (bijvoorbeeld PT10M). |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "delay",
"name": "urn:csci:microsoft:chaosStudio:timedDelay/1.0",
"duration": "PT10M"
}
]
}
Belastingstest starten (Azure Load Testing)
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Start-1.0 |
Doeltype | Microsoft-AzureLoadTest |
Beschrijving | Start een belastingstest (van Azure Load Testing) op basis van de opgegeven belastingtest-id. |
Vereisten | Er moet een belastingstest met een geldige belastingtest-id worden gemaakt in de Azure Load Testing-service. |
Urn | urn:csci:microsoft:azureLoadTest:start/1.0 |
Fouttype | Discreet. |
Parameters (sleutel, waarde) | |
testID | De id van een specifieke belastingstest die is gemaakt in de Azure Load Testing-service. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureLoadTest:start/1.0",
"parameters": [
{
"key": "testID",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}
Belastingstest stoppen (Azure Load Testing)
Eigenschappen | Weergegeven als |
---|---|
Naam van mogelijkheid | Stop-1.0 |
Doeltype | Microsoft-AzureLoadTest |
Beschrijving | Hiermee stopt u een belastingstest (van Azure Load Testing) op basis van de opgegeven belastingtest-id. |
Vereisten | Er moet een belastingstest met een geldige belastingtest-id worden gemaakt in de Azure Load Testing-service. |
Urn | urn:csci:microsoft:azureLoadTest:stop/1.0 |
Fouttype | Discreet. |
Parameters (sleutel, waarde) | |
testID | De id van een specifieke belastingstest die is gemaakt in de Azure Load Testing-service. |
Voorbeeld-JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureLoadTest:stop/1.0",
"parameters": [
{
"key": "testID",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}