Azure Chaos Studio-Fehler- und Aktionsbibliothek
Dieser Artikel listet die Fehler auf, die Sie in Chaos Studio verwenden können, organisiert nach dem jeweiligen Ressourcentyp. Um zu verstehen, welche Rollenzuweisungen für jeden Ressourcentyp empfohlen werden, lesen Sie Unterstützte Ressourcentypen und Rollenzuweisungen für Azure Chaos Studio.
Agentbasierte Fehler
Agent-basierende Fehler werden in Azure Virtual Machines oder Instanzen einer VM-Skalierungsgruppe eingefügt, indem der Chaos Studio-Agent installiert wird. Suchen Sie die dienstspezifischen Fehleroptionen für diese Ressourcen weiter unten in den Tabellen VM und VM-Skalierungsgruppe.
Anwendbare Betriebssystemtypen | Fehlername | Zutreffende Szenarios |
---|---|---|
Windows, Linux | CPU-Druck | Berechnen von Kapazitätsverlusten, Ressourcendruck |
Windows, Linux | Beendigungsprozess | Abhängigkeitsunterbrechung |
Windows | Anhalten des Prozesses | Abhängigkeitsunterbrechung, Dienstunterbrechung |
Windows1, Linux2 | Netzwerktrennung | Netzwerkunterbrechung |
Windows1, Linux2 | Netzwerkwartezeit | Netzwerkleistungsbeeinträchtigung |
Windows1, Linux2 | Netzwerkpaketverlust | Probleme mit der Netzwerkzuverlässigkeit |
Windows, Linux2 | Netzwerkisolation | Netzwerkunterbrechung |
Windows | DNS-Fehler | Probleme bei der DNS-Auflösung |
Windows | Netzwerkunterbrechung (über Firewall) | Netzwerkunterbrechung |
Windows, Linux | Physischer Speicherdruck | Speicherkapazitätsverlust, Ressourcendruck |
Windows, Linux | Beenden des Diensts | Dienstunterbrechung/Neustart |
Windows | Zeitumstellung | Zeitsynchronisierungsprobleme |
Windows | Virtueller Speicherdruck | Speicherkapazitätsverlust, Ressourcendruck |
Linux | Willkürliche Stress-ng-Belastung | Allgemeiner Systembelastungstest |
Linux | Linux DiskIO-Druck | Datenträger-E/A-Leistungsbeeinträchtigung |
Windows | DiskIO-Druck | Datenträger-E/A-Leistungsbeeinträchtigung |
1 Nur TCP/UDP-Pakete. 2 Nur ausgehender Netzwerkdatenverkehr.
App Service
Dieser Abschnitt gilt für den Microsoft.Web/sites
-Ressourcentyp. Informieren Sie sich ausführlicher über App Service.
Fehlername | Zutreffende Szenarios |
---|---|
Beenden von App Service | Dienstunterbrechung |
Einstellungen für die automatische Skalierung
Dieser Abschnitt gilt für den Microsoft.Insights/autoscaleSettings
-Ressourcentyp. Weitere Informationen zu Autoskalierungseinstellungen.
Fehlername | Zutreffende Szenarios |
---|---|
Deaktivieren der automatischen Skalierung | Rechenkapazitätsverlust (bei Verwendung mit VMSS-Shutdown) |
Azure Kubernetes Service
Dieser Abschnitt gilt für den Microsoft.ContainerService/managedClusters
-Ressourcentyp. Erfahren Sie mehr über Azure Kubernetes Service.
Fehlername | Zutreffende Szenarios |
---|---|
AKS Chaos Mesh DNS-Chaos | Probleme bei der DNS-Auflösung |
AKS Chaos Mesh HTTP-Chaos | Netzwerkunterbrechung |
AKS Chaos Mesh E/A-Chaos | Beeinträchtigung/Druck des Datenträgers |
AKS Chaos Mesh Kernel-Chaos | Kernelunterbrechung |
AKS Chaos Mesh Netzwerk-Chaos | Netzwerkunterbrechung |
AKS Chaos Mesh Pod-Chaos | Containerunterbrechung |
AKS Chaos Mesh Stress-Chaos | Systembelastungstest |
AKS Chaos Mesh Zeit-Chaos | Zeitsynchronisierungsprobleme |
Cloud Services (Klassisch)
Dieser Abschnitt gilt für den Microsoft.ClassicCompute/domainNames
-Ressourcentyp. Erfahren Sie mehr über Cloud Services (Klassisch).
Fehlername | Zutreffende Szenarios |
---|---|
Herunterfahren des Clouddiensts | Computeverlust |
Geclusterter Cache für Redis
Dieser Abschnitt gilt für den Microsoft.Cache/redis
-Ressourcentyp. Erfahren Sie mehr über den geclusterten Cache für Redis.
Fehlername | Zutreffende Szenarios |
---|---|
Azure Cache for Redis (Neustart) | Abhängigkeitsunterbrechung (Caches) |
Cosmos DB
Dieser Abschnitt gilt für den Microsoft.DocumentDB/databaseAccounts
-Ressourcentyp. Erfahren Sie mehr über Cosmos DB.
Fehlername | Zutreffende Szenarios |
---|---|
Cosmos DB-Failover | Datenbankfailover |
Event Hubs
Dieser Abschnitt gilt für den Microsoft.EventHub/namespaces
-Ressourcentyp. Erfahren Sie mehr über Event Hubs.
Fehlername | Zutreffende Szenarios |
---|---|
Event Hub-Status ändern | Fehlkonfiguration/Unterbrechung der Messaginginfrastruktur |
Schlüsseltresor
Dieser Abschnitt gilt für den Microsoft.KeyVault/vaults
-Ressourcentyp. Informieren Sie sich ausführlicher über Key Vault.
Fehlername | Zutreffende Szenarios |
---|---|
Key Vault: Zugriff verweigern | Zertifikatsverweigerung |
Key Vault: Deaktivieren des Zertifikats | Zertifikatsunterbrechung |
Key Vault: Inkrementieren der Zertifikatsversion | Inkrement der Zertifikatsversion |
Key Vault: Aktualisieren der Zertifikatsrichtlinie | Änderungen/Fehlkonfigurationen der Zertifikatsrichtlinie |
Netzwerksicherheitsgruppen
Dieser Abschnitt gilt für den Microsoft.Network/networkSecurityGroups
-Ressourcentyp. Erfahren Sie mehr über Netzwerksicherheitsgruppen.
Fehlername | Zutreffende Szenarios |
---|---|
NSG-Sicherheitsregel | Netzwerkunterbrechung (für viele Azure-Dienste) |
Service Bus
Dieser Abschnitt gilt für den Microsoft.ServiceBus/namespaces
-Ressourcentyp. Erfahren Sie mehr über Service Bus.
Fehlername | Zutreffende Szenarios |
---|---|
Warteschlangenstatus ändern | Fehlkonfiguration/Unterbrechung der Messaginginfrastruktur |
Abonnementstatus ändern | Fehlkonfiguration/Unterbrechung der Messaginginfrastruktur |
Themenstatus ändern | Fehlkonfiguration/Unterbrechung der Messaginginfrastruktur |
Virtual Machines (dienstspezifisch)
Dieser Abschnitt gilt für den Microsoft.Compute/virtualMachines
-Ressourcentyp. Erfahren Sie mehr über Virtual Machines.
Fehlername | Zutreffende Szenarios |
---|---|
Erneute VM-Bereitstellung | Compute-Unterbrechung, Wartungsereignisse |
VM-Herunterfahren | Compute-Verlust/-Unterbrechung |
VM-Skalierungsgruppe
Dieser Abschnitt gilt für den Microsoft.Compute/virtualMachineScaleSets
-Ressourcentyp. Erfahren Sie mehr über Virtual Machine Scale Sets.
Fehlername | Zutreffende Szenarios |
---|---|
VMSS-Herunterfahren | Compute-Verlust/-Unterbrechung |
VMSS-Herunterfahren (2.0) | Compute-Verlust/-Unterbrechung (nach Verfügbarkeitszone) |
Orchestrierungsaktionen
Diese Aktionen sind Bausteine zum Erstellen effektiver Experimente. Verwenden Sie diese in Kombination mit anderen Fehlern, z. B. dem Ausführen eines Auslastungstests, während gleichzeitig Compute-Instanzen in einer Zone heruntergefahren werden.
Aktionskategorie | Fehlername |
---|---|
Einlesen | Auslastungstest starten (Azure Load Testing) |
Einlesen | Auslastungstest beenden (Azure Load Testing) |
Zeitverzögerung | Verzögern |
Details: Agent-basierende Fehler
Netzwerktrennung
Eigenschaft | Wert |
---|---|
Name der Funktion | NetworkDisconnect-1.1 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows, Linux (nur ausgehender Datenverkehr) |
Beschreibung | Blockiert den Netzwerkdatenverkehr für den angegebenen Portbereich und Netzwerkblock. Mindestens ein destinationFilter- oder inboundDestinationFilter-Array muss bereitgestellt werden. |
Voraussetzungen | Windows: Der Agent muss unter einem Administratorkonto ausgeführt werden, was standardmäßig geschieht, wenn er als VM-Erweiterung installiert ist. |
Linux: Das Paket tc (Datenverkehrskontrolle) wird für Netzwerkfehler verwendet. Wenn es noch nicht installiert ist, versucht der Agent automatisch, es über den Standard-Paket-Manager zu installieren. |
|
URN | urn:csci:microsoft:agent:networkDisconnect/1.1 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
ZielFilter | Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche ausgehenden Pakete verwendet werden sollen. Maximal 16. |
inboundDestinationFilters | Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche eingehenden Pakete verwendet werden sollen. Maximal 16. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Die Parameter destinationFilters und inboundDestinationFilters verwenden das folgende Array von Paketfiltern.
Eigenschaft | Wert |
---|---|
address | IP-Adresse, die den Beginn des IP-Bereichs angibt. |
SubnetMaske | Subnetzmaske für den IP-Adressbereich. |
portLow | (Optional) Portnummer für den Beginn des Portbereichs. |
portHigh | (Optional) Anschlussnummer des Endes des Anschlussbereichs. |
Beispiel-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"
}
]
}
Begrenzungen
- Die Agent-basierten Netzwerkfehler unterstützen derzeit nur IPv4-Adressen.
- Der Netzwerktrennungsfehler betrifft nur neue Verbindungen. Bestehende aktive Verbindungen bleiben weiterhin bestehen. Sie können den Dienst oder Prozess neu starten, um die Unterbrechung von Verbindungen zu erzwingen.
- Bei der Ausführung unter Windows funktioniert der Netzwerktrennungsfehler derzeit nur mit TCP- oder UDP-Paketen.
- Bei der Ausführung unter Linux kann sich dieser Fehler nur auf ausgehenden Datenverkehr und nicht auf eingehenden Datenverkehr auswirken. Der Fehler kann in Windows-Umgebungen sowohl eingehenden als auch ausgehenden Datenverkehr (über die
inboundDestinationFilters
- unddestinationFilters
-Parameter) beeinflussen.
Netzwerkunterbrechung (über Firewall)
Eigenschaft | Wert |
---|---|
Name der Funktion | NetworkDisconnectViaFirewall-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows |
Beschreibung | Wendet eine Windows-Firewallregel an, um ausgehenden Datenverkehr für den angegebenen Portbereich und den Netzwerkblock zu blockieren. |
Voraussetzungen | Der Agent muss als Administrator ausgeführt werden. Wenn der Agent als VM-Erweiterung installiert ist, wird er standardmäßig als Administrator ausgeführt. |
URN | urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
ZielFilter | Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche ausgehenden Pakete für die Fehlerinjektion verwendet werden sollen. |
address | IP-Adresse, die den Beginn des IP-Bereichs angibt. |
SubnetMaske | Subnetzmaske für den IP-Adressbereich. |
portLow | (Optional) Portnummer für den Beginn des Portbereichs. |
portHigh | (Optional) Anschlussnummer des Endes des Anschlussbereichs. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-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"
}
]
}
Begrenzungen
- Die Agent-basierten Netzwerkfehler unterstützen derzeit nur IPv4-Adressen.
- Dieser Fehler wirkt sich derzeit nur auf neue Verbindungen aus. Vorhandene aktive Verbindungen sind nicht betroffen. Sie können den Dienst oder Prozess neu starten, um die Unterbrechung von Verbindungen zu erzwingen.
- Dieser Fehler betrifft derzeit nur ausgehenden Datenverkehr.
Netzwerklatenz
Eigenschaft | Wert |
---|---|
Name der Funktion | NetworkLatency-1.1 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows, Linux (nur ausgehender Datenverkehr) |
Beschreibung | Erhöht die Netzwerklatenz für einen bestimmten Anschlussbereich und Netzwerkblock. Mindestens ein destinationFilter- oder inboundDestinationFilter-Array muss bereitgestellt werden. |
Voraussetzungen | Windows: Der Agent muss unter einem Administratorkonto ausgeführt werden, was standardmäßig geschieht, wenn er als VM-Erweiterung installiert ist. |
Linux: Das Paket tc (Datenverkehrskontrolle) wird für Netzwerkfehler verwendet. Wenn es noch nicht installiert ist, versucht der Agent automatisch, es über den Standard-Paket-Manager zu installieren. |
|
URN | urn:csci:microsoft:agent:networkLatency/1.1 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
LatenzInMillisekunden | Höhe der anzuwendenden Latenz in Millisekunden. |
ZielFilter | Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche ausgehenden Pakete verwendet werden sollen. Maximal 16. |
inboundDestinationFilters | Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche eingehenden Pakete verwendet werden sollen. Maximal 16. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Die Parameter destinationFilters und inboundDestinationFilters verwenden das folgende Array von Paketfiltern.
Eigenschaft | Wert |
---|---|
address | IP-Adresse, die den Beginn des IP-Bereichs angibt. |
SubnetMaske | Subnetzmaske für den IP-Adressbereich. |
portLow | (Optional) Portnummer für den Beginn des Portbereichs. |
portHigh | (Optional) Anschlussnummer des Endes des Anschlussbereichs. |
Beispiel-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"
}
]
}
Begrenzungen
- Die Agent-basierten Netzwerkfehler unterstützen derzeit nur IPv4-Adressen.
- Bei der Ausführung unter Linux kann sich der Netzwerklatenzfehler nur auf ausgehenden Datenverkehr und nicht auf eingehenden Datenverkehr auswirken. Der Fehler kann in Windows-Umgebungen sowohl eingehenden als auch ausgehenden Datenverkehr (über die
inboundDestinationFilters
- unddestinationFilters
-Parameter) beeinflussen. - Bei der Ausführung unter Windows funktioniert der Netzwerklatenzfehler derzeit nur mit TCP- oder UDP-Paketen.
- Dieser Fehler wirkt sich derzeit nur auf neue Verbindungen aus. Vorhandene aktive Verbindungen sind nicht betroffen. Sie können den Dienst oder Prozess neu starten, um die Unterbrechung von Verbindungen zu erzwingen.
Netzwerkpaketverlust
Eigenschaft | Wert |
---|---|
Name der Funktion | NetworkPacketLoss-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows, Linux (nur ausgehender Datenverkehr) |
Beschreibung | Führt Paketverluste für ausgehenden Datenverkehr mit einer bestimmten Rate ein, zwischen 0,0 (kein Paketverlust) und 1,0 (Verlust aller Pakete). Auf diese Weise können Szenarien wie Netzwerküberlastung oder Hardwareprobleme im Netzwerk simuliert werden. |
Voraussetzungen | Windows: Der Agent muss unter einem Administratorkonto ausgeführt werden, was standardmäßig geschieht, wenn er als VM-Erweiterung installiert ist. |
Linux: Das Paket tc (Datenverkehrskontrolle) wird für Netzwerkfehler verwendet. Wenn es noch nicht installiert ist, versucht der Agent automatisch, es über den Standard-Paket-Manager zu installieren. |
|
URN | urn:csci:microsoft:agent:networkPacketLoss/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
packetLossRate | Die Rate, mit der Pakete, die den Zielfiltern entsprechen, verloren gehen (0,0 bis 1,0). |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
ZielFilter | Durch Trennzeichen getrenntes JSON-Array von Paketfiltern (die Parameter sind im Folgenden beschrieben), die festlegen, welche ausgehenden Pakete für die Fehlerinjektion verwendet werden sollen. Es können maximal drei Filter angegeben werden. |
address | IP-Adresse, die den Beginn des IP-Bereichs angibt. |
SubnetMaske | Subnetzmaske für den IP-Adressbereich. |
portLow | (Optional) Portnummer für den Beginn des Portbereichs. |
portHigh | (Optional) Anschlussnummer des Endes des Anschlussbereichs. |
Beispiel-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"
}
]
}
Begrenzungen
- Die Agent-basierten Netzwerkfehler unterstützen derzeit nur IPv4-Adressen.
- Bei der Ausführung unter Windows funktioniert der Netzwerkpaketverlustfehler derzeit nur mit TCP- oder UDP-Paketen.
- Bei der Ausführung unter Linux kann sich dieser Fehler nur auf ausgehenden Datenverkehr und nicht auf eingehenden Datenverkehr auswirken. Der Fehler kann in Windows-Umgebungen sowohl eingehenden als auch ausgehenden Datenverkehr (über die
inboundDestinationFilters
- unddestinationFilters
-Parameter) beeinflussen. - Dieser Fehler wirkt sich derzeit nur auf neue Verbindungen aus. Vorhandene aktive Verbindungen sind nicht betroffen. Sie können den Dienst oder Prozess neu starten, um die Unterbrechung von Verbindungen zu erzwingen.
Netzwerkisolation
Eigenschaft | Wert |
---|---|
Name der Funktion | NetworkIsolation-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows, Linux (nur ausgehend) |
Beschreibung | Isolieren Sie den virtuellen Computer vollständig von Netzwerkverbindungen, indem Sie alle IP-basierten eingehenden (unter Windows) und ausgehenden Pakete (unter Windows und Linux) für die angegebene Dauer verwerfen. Am Ende dieser Dauer werden die Netzwerkverbindungen erneut aktiviert. Da der Agent vom Netzwerkdatenverkehr abhängt, kann diese Aktion nicht abgebrochen werden und wird während der angegebene Dauer ausgeführt. |
Voraussetzungen | Windows: Der Agent muss unter einem Administratorkonto ausgeführt werden, was standardmäßig geschieht, wenn er als VM-Erweiterung installiert ist. |
Linux: Das Paket tc (Datenverkehrskontrolle) wird für Netzwerkfehler verwendet. Wenn es noch nicht installiert ist, versucht der Agent automatisch, es über den Standard-Paket-Manager zu installieren. |
|
URN | urn:csci:microsoft:agent:networkIsolation/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für Virtual Machine Scale Sets im einheitlichen Orchestrierungsmodus, andernfalls optional. Weitere Informationen zu Instanz-IDs. |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkIsolation/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Begrenzungen
- Da der Agent vom Netzwerkdatenverkehr abhängt, kann diese Aktion nicht abgebrochen werden und wird während der angegebene Dauer ausgeführt. Verwenden Sie sie mit Vorsicht.
- Dieser Fehler wirkt sich derzeit nur auf neue Verbindungen aus. Vorhandene aktive Verbindungen sind nicht betroffen. Sie können den Dienst oder Prozess neu starten, um die Unterbrechung von Verbindungen zu erzwingen.
- Bei der Ausführung unter Linux kann sich dieser Fehler nur auf ausgehenden Datenverkehr und nicht auf eingehenden Datenverkehr auswirken. In Windows-Umgebungen kann sich der Fehler sowohl auf eingehenden als auch auf ausgehenden Datenverkehr auswirken.
DNS-Fehler
Eigenschaft | Wert |
---|---|
Name der Funktion | DNSFehler-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows |
Beschreibung | Ersetzt Antworten einer DNS-Suchanforderung durch einen angegebenen Fehlercode. Auf DNS-Suchanforderungen, die ersetzt werden, muss Folgendes zutreffen:
|
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:agent:dnsFailure/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
hosts | Begrenztes JSON-Array von Hostnamen, für die eine DNS Lookup Anforderung fehlschlagen soll. Diese Eigenschaft akzeptiert Platzhalter ( * ), jedoch nur für die erste Unterdomäne in einer Adresse, und die Gültigkeit ist auf die Unterdomäne beschränkt, für die sie angegeben werden. Beispiel:
|
dnsFailureReturnCode | DNS-Fehlercode, der an den Client für die fehlgeschlagene Lookup zurückgegeben wird (FormErr, ServFail, NXDomain, NotImp, Refused, XDomain, YXRRSet, NXRRSet, NotAuth, NotZone). Weitere Informationen zu DNS-Rückgabecodes finden Sie auf der IANA-Website. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-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"
}
]
}
Begrenzungen
- Der DNS-Fehler erfordert Windows 2019 RS5 oder neuer.
- Der DNS-Cache wird während der Dauer des Fehlers für die im Fehler definierten Hostnamen ignoriert.
CPU-Druck
Eigenschaft | Wert |
---|---|
Name der Funktion | CPUDruck-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows, Linux |
Beschreibung | Fügt CPU-Druck bis zum angegebenen Wert auf der VM hinzu, in die dieser Fehler während der Fehleraktion eingespeist wird. Der künstliche CPU-Druck wird am Ende der Laufzeit oder bei Abbruch des Experiments entfernt. Unter Windows wird der Leistungsindikator % Prozessor-Hilfsprogramm beim Starten eines Fehlers verwendet, um den aktuellen CPU-Prozentsatz zu ermitteln, der dann von dem im Fehler definierten pressureLevel subtrahiert wird, sodass % Prozessor-Hilfsprogramm ungefähr den pressureLevel erreicht, der in den Fehlerparametern definiert ist. |
Voraussetzungen | Linux: Das Hilfsprogramm stress-ng muss installiert werden. Dies erfolgt automatisch als Teil der Agenteninstallation unter Verwendung des Standard-Paket-Managers unter mehreren Betriebssystemen, darunter Debian-basierten (wie Ubuntu), Red Hat Enterprise Linux und openSUSE. Für andere Distributionen, einschließlich Azure Linux, müssen Sie stress-ng manuell installieren. Weitere Informationen finden Sie im Upstream-Projektrepository. |
Windows: Nichts. | |
URN | urn:csci:microsoft:agent:cpuPressure/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
DruckLevel | Ein Integer zwischen 1 und 95, der die CPU-Auslastung (in %) angibt, die auf die VM angewendet wird, in Form von % CPU-Auslastung. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-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"
}
]
}
Begrenzungen
Bekannte Probleme unter Linux:
- Der Belastungseffekt wird möglicherweise nicht korrekt abgeschlossen, wenn
AzureChaosAgent
unerwartet beendet wird.
Physischer Speicherdruck
Eigenschaft | Wert |
---|---|
Name der Funktion | Physischer Gedächtnisdruck-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows, Linux |
Beschreibung | Fügt auf der VM, auf der dieser Fehler eingeschleust wird, während der Fehleraktion physische Speicherauslastung bis zum angegebenen Wert hinzu. Der künstliche physische Gedächtnisdruck wird am Ende der Laufzeit oder bei Abbruch des Experiments aufgehoben. |
Voraussetzungen | Linux: Das Hilfsprogramm stress-ng muss installiert werden. Dies erfolgt automatisch als Teil der Agenteninstallation unter Verwendung des Standard-Paket-Managers unter mehreren Betriebssystemen, darunter Debian-basierten (wie Ubuntu), Red Hat Enterprise Linux und openSUSE. Für andere Distributionen, einschließlich Azure Linux, müssen Sie stress-ng manuell installieren. Weitere Informationen finden Sie im Upstream-Projektrepository. |
Windows: Nichts. | |
URN | urn:csci:microsoft:agent:physicalMemoryPressure/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
DruckLevel | Eine ganze Zahl zwischen 1 und 95, die die physische Speicherauslastung (%) angibt, die auf die VM angewendet wird. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-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"
}
]
}
Begrenzungen
Derzeit verringert der Windows-Agent die Speicherauslastung nicht, wenn andere Anwendungen ihre Speichernutzung erhöhen. Wenn die gesamte Speicherauslastung 100 % überschreitet, stürzt der Windows-Agent möglicherweise ab.
Virtueller Speicherdruck
Eigenschaft | Wert |
---|---|
Name der Funktion | Virtueller Speicherdruck-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows |
Beschreibung | Fügt auf der VM, auf der dieser Fehler eingeschleust wird, während der Fehleraktion virtuelle Speicherauslastung bis zum angegebenen Wert hinzu. Der künstliche virtuelle Speicherdruck wird am Ende der Laufzeit oder bei Abbruch des Experiments entfernt. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:agent:physicalMemoryPressure/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
DruckLevel | Eine ganze Zahl zwischen 1 und 95, die die physische Speicherauslastung (%) angibt, die auf die VM angewendet wird. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-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"
}
]
}
Datenträger-E/A-Druck
Eigenschaft | Wert |
---|---|
Name der Funktion | DiskIOPressure-1.1 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows |
Beschreibung | Verwendet das diskspd-Hilfsprogramm, um einer VM Datenträgerauslastung hinzuzufügen. Die Auslastung wird standardmäßig dem primären Datenträger oder dem mit dem Parameter targetTempDirectory angegebenen Datenträger hinzugefügt. Dieser Fehler kann auf fünf verschiedene Arten ausgeführt werden. Der künstliche Scheibendruck wird am Ende der Laufzeit oder bei Abbruch des Experiments entfernt. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:agent:diskIOPressure/1.1 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
DruckModus | Der voreingestellte Modus des Festplattendrucks, der dem primären Speicher der VM hinzugefügt wird. Hierbei muss es sich um einen der PressureModes in der folgenden Tabelle handeln. |
targetTempDirectory | (Optional) Das Verzeichnis, das zum Anwenden der Datenträgerauslastung verwendet werden soll. Beispiel: D:/Temp . Wenn der Parameter nicht angegeben ist, wird die Auslastung dem primären Datenträger hinzugefügt. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Druckmodi
DruckModus | Beschreibung |
---|---|
PremiumSpeicherP10IOPS | AnzahlThreads = 1 zufälligeBlockgrößeInKB = 64 zufälligeSaat = 10 AnzahlIOperThread = 25 GrößederBlöckeInKB = 8 GrößeSchreibPufferInKB = 64 dateiGrößeInGB = 2 percentOfWriteActions = 50 |
PremiumSpeicherP10Drosselung | AnzahlThreads = 2 zufälligeBlockgrößeInKB = 64 zufälligeSaat = 10 AnzahlIOperThread = 25 GrößederBlöckeInKB = 64 GrößeSchreibPufferInKB = 64 dateiGrößeInGB = 1 percentOfWriteActions = 50 |
PremiumSpeicherP50IOPS | AnzahlThreads = 32 zufälligeBlockgrößeInKB = 64 zufälligeSaat = 10 AnzahlIOperThread = 32 GrößederBlöckeInKB = 8 GrößeSchreibPufferInKB = 64 dateiGrößeInGB = 1 percentOfWriteActions = 50 |
PremiumSpeicherP50Drosselung | AnzahlThreads = 2 zufälligeBlockgrößeInKB = 1024 zufälligeSaat = 10 AnzahlIOperThread = 2 GrößederBlöckeInKB = 1024 GrößeSchreibPufferInKB = 1024 fileSizeInGB = 20 percentOfWriteActions = 50 |
Standard | AnzahlThreads = 2 zufälligeBlockgrößeInKB = 64 zufälligeSaat = 10 AnzahlIOperThread = 2 GrößederBlöckeInKB = 64 GrößeSchreibPufferInKB = 64 dateiGrößeInGB = 1 percentOfWriteActions = 50 |
Beispiel-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"
}
]
}
Linux-Datenträger-E/A-Druck
Eigenschaft | Wert |
---|---|
Name der Funktion | LinuxDiskIOPressure-1.1 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Linux |
Beschreibung | Mit Hilfe von Stress wird Druck auf die Scheibe ausgeübt. Es werden ein oder mehrere Arbeitsprozesse gestartet, die E/A-Prozesse mit temporären Dateien durchführen. Die Auslastung wird standardmäßig dem primären Datenträger oder dem mit dem Parameter targetTempDirectory angegebenen Datenträger hinzugefügt. Informationen zum Anwenden von Auslastung finden Sie im Artikel zu stress-ng. |
Voraussetzungen | Linux: Das Hilfsprogramm stress-ng muss installiert werden. Dies erfolgt automatisch als Teil der Agenteninstallation unter Verwendung des Standard-Paket-Managers unter mehreren Betriebssystemen, darunter Debian-basierten (wie Ubuntu), Red Hat Enterprise Linux und openSUSE. Für andere Distributionen, einschließlich Azure Linux, müssen Sie stress-ng manuell installieren. Weitere Informationen finden Sie im Upstream-Projektrepository. |
URN | urn:csci:microsoft:agent:linuxDiskIOPressure/1.1 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
ArbeiterZahl | Anzahl der auszuführenden Arbeitsprozesse. Wenn workerCount auf 0 festgelegt wird, werden so viele Workerprozesse erzeugt, wie es Prozessoren gibt. |
fileSizePerWorker | Größe der temporären Datei, für die ein Worker E/A-Vorgänge durchführt. Ganzzahl plus eine Einheit in Bytes (b), Kilobytes (k), Megabytes (m) oder Gigabytes (g) (z. B. 4m für 4 Megabytes und 256g für 256 Gigabytes). |
Blockgröße | Blockgröße, die für Datenträger-E/A-Vorgänge verwendet werden soll, größer als 1 Byte und kleiner als 4 Megabyte (Maximalwert ist 4095k ). Ganzzahl plus eine Einheit einer Einheit in Bytes, Kilobytes oder Megabytes (z. B. 512k für 512 Kilobytes). |
targetTempDirectory | (Optional) Das Verzeichnis, das zum Anwenden der Datenträgerauslastung verwendet werden soll. Beispiel: /tmp/ . Wenn der Parameter nicht angegeben ist, wird die Auslastung dem primären Datenträger hinzugefügt. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-JSON
Diese Beispielwerte erzeugten ca. 100 % Datenträgerdruck, wenn sie auf einer Standard_D2s_v3
-VM mit lokal redundantem SSD Premium-Speicher getestet wurden. Ein großer fileSizePerWorker und eine kleinere blockSize helfen dabei, den Datenträger vollständig zu 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"
}
]
}
Dienst beenden
Eigenschaft | Wert |
---|---|
Name der Funktion | StopService-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows, Linux |
Beschreibung | Hält einen Windows-Dienst oder einen Linux-systemd-Dienst während des Fehlers an. Startet den Dienst am Ende der angegebenen Dauer oder bei Abbruch des Experiments neu. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:agent:stressNg/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
serviceName | Name des Windows-Diensts oder Linux-systemd-Diensts, den Sie anhalten möchten. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-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"
}
]
}
Begrenzungen
- Windows: Anzeigenamen für Dienste werden nicht unterstützt. Verwenden Sie
sc.exe query
in der Eingabeaufforderung, um Dienstnamen zu untersuchen. - Linux: Außer systemd werden keine anderen Diensttypen (z. B. sysvinit) unterstützt.
Beendigungsprozess
Eigenschaft | Wert |
---|---|
Name der Funktion | KillProcess-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows, Linux |
Beschreibung | Beendet alle laufenden Instanzen eines Prozesses, der mit dem in den Fehlerparametern angegebenen Prozessnamen übereinstimmt. Innerhalb der für die Fault Action festgelegten Dauer wird ein Prozess auf der Grundlage des angegebenen Kill-Intervalls wiederholt beendet. Bei diesem Fehler handelt es sich um einen destruktiven Fehler, bei dem der Systemadministrator den Prozess manuell wiederherstellen müsste, wenn die Selbstheilung dafür konfiguriert ist. Beachten Sie, dass dieser Fehler auftritt, wenn er auf einen Prozess mit leerem Namen angewendet wird, wenn er mit einem nicht spezifizierten Intervall verwendet wird oder wenn wir den Namen des Zielprozesses, den wir beenden wollen, nicht finden können. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:agent:killProcess/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
ProzessName | Name eines Prozesses, der kontinuierlich beendet werden soll (ohne die Erweiterung „.exe“). Der Prozess muss beim Starten der Ausführung des Fehlers nicht ausgeführt werden. |
killIntervalInMilliseconds | Zeitspanne, die der Fehler zwischen aufeinanderfolgenden Beendigungsversuchen wartet (in Millisekunden). |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-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"
}
]
}
Anhalten des Prozesses
Eigenschaft | Wert |
---|---|
Name der Funktion | PauseProcess-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows |
Beschreibung | Hält die angegebenen Prozesse für die angegebene Dauer an. Wenn mehrere Prozesse mit demselben Namen vorhanden sind, hält dieser Fehler alle diese Prozesse an. Innerhalb der Dauer des Fehlers werden die Prozesse wiederholt im angegebenen Intervall angehalten. Am Ende der Dauer oder wenn das Experiment abgebrochen wird, werden die Prozesse fortgesetzt. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:agent:pauseProcess/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
processNames | Durch Trennzeichen getrenntes JSON-Array mit Prozessnamen, das definiert, welche Prozesse angehalten werden sollen. Der Maximalwert ist 4. Der Prozessname kann optional die Erweiterung „.exe“ enthalten. |
pauseIntervalInMilliseconds | Zeitspanne, die der Fehler zwischen aufeinanderfolgenden Anhalteversuchen wartet (in Millisekunden). |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-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"
}
]
}
Begrenzungen
Derzeit können maximal 4 Prozessnamen im Parameter processNames aufgeführt werden.
Zeitumstellung
Eigenschaft | Wert |
---|---|
Name der Funktion | TimeChange-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Windows |
Beschreibung | Ändert die Systemzeit der VM und setzt sie am Ende des Experiments oder bei Abbruch des Experiments zurück. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:agent:timeChange/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
dateTime | Eine DateTime-Zeichenkette im Format ISO8601. Sollten YYYY-MM-DD -Werte fehlen, werden sie standardmäßig auf den aktuellen Tag festgelegt, an dem das Experiment ausgeführt wird. Wenn die Werte Thh:mm:ss fehlen, ist der Standardwert 12:00:00 AM. Wenn eine zweistellige Jahreszahl angegeben wird (YY ), wird sie auf der Grundlage des aktuellen Jahrhunderts in eine vierstellige Jahreszahl (YYYY ) umgewandelt. Wenn die Zeitzone <Z> fehlt, ist der Standardoffset die lokale Zeitzone. <Z> muss immer ein Vorzeichensymbol (negativ oder positiv) enthalten. |
virtualMachineScaleSetInstances | Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs. |
Beispiel-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"
}
]
}
Willkürliche Stress-ng-Belastung
Eigenschaft | Wert |
---|---|
Name der Funktion | StressNg-1.0 |
Zieltyp | Microsoft-Agent |
Unterstützte Betriebssystemtypen | Linux |
Beschreibung | Führt einen beliebigen stress-ng-Befehl aus, indem Argumente direkt an stress-ng übergeben werden. Dies ist hilfreich, wenn einer der vordefinierten Fehler für stress-ng nicht Ihren Anforderungen entspricht. |
Voraussetzungen | Linux: Das Hilfsprogramm stress-ng muss installiert werden. Dies erfolgt automatisch als Teil der Agenteninstallation unter Verwendung des Standard-Paket-Managers unter mehreren Betriebssystemen, darunter Debian-basierten (wie Ubuntu), Red Hat Enterprise Linux und openSUSE. Für andere Distributionen, einschließlich Azure Linux, müssen Sie stress-ng manuell installieren. Weitere Informationen finden Sie im Upstream-Projektrepository. |
URN | urn:csci:microsoft:agent:stressNg/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
stressNgArgumente | Ein oder mehrere Argumente, die an den stress-ng-Prozess übergeben werden. Informationen zu den möglichen stress-ng-Argumenten finden Sie im Artikel zu stress-ng. HINWEIS: Schließen Sie das Argument „-t“ nicht ein, da es einen Fehler verursacht. Die Länge des Experiments wird direkt in der Benutzeroberfläche des Azure-Chaosexperiments definiert, NICHT in stressNgArguments. |
Beispiel-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: Dienstspezifische Fehler
Beenden von App Service
Eigenschaft | Wert |
---|---|
Name der Funktion | Stop-1.0 |
Zieltyp | Microsoft-AppService |
Beschreibung | Hält die als Ziel ausgewählten App Service-Anwendungen an und startet sie dann am Ende der Fehlerdauer neu. Diese Aktion gilt für Ressourcen vom Typ „Microsoft.Web/sites“, einschließlich App Service, API-Apps, mobile Apps und Azure Functions. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:appService:stop/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | Keine. |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:appService:stop/1.0",
"duration": "PT10M",
"parameters":[],
"selectorid": "myResources"
}
]
}
Deaktivieren der automatischen Skalierung
Eigenschaft | Wert |
---|---|
Name der Funktion | DisableAutoscale |
Zieltyp | Microsoft-AutoscaleSettings |
Beschreibung | Deaktiviert den Autoskalierungsdienst. Wenn die Autoskalierung deaktiviert ist, werden Ressourcen wie VM-Skalierungsgruppen, Web-Apps, Servicebus und andere Ressourcen nicht automatisch basierend auf der Auslastung der Anwendung hinzugefügt oder entfernt. |
Voraussetzungen | Für die autoScalesetting-Ressource, die für die Ressource aktiviert ist, muss das Onboarding in Chaos Studio durchgeführt werden. |
URN | urn:csci:microsoft:autoscalesettings:disableAutoscale/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
enableOnComplete | Boolesch. Konfiguriert, ob die automatische Skalierung nach Abschluss der Aktion erneut aktiviert wird. Der Standardwert ist true . |
Beispiel-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 Netzwerk-Chaos
Eigenschaft | Wert |
---|---|
Name der Funktion | NetworkChaos-2.2 |
Zieltyp | Microsoft-AzureKubernetesServiceChaosMesh |
Unterstützte Knotenpool-Betriebssystemtypen | Linux |
Beschreibung | Bewirkt, dass ein über Chaos Mesh verfügbarer Netzwerkfehler für Ihren Azure Kubernetes Service-Cluster (AKS) ausgeführt wird. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von Netzwerkausfällen, Verzögerungen, Duplizierungen, Verlusten und Beschädigungen. |
Voraussetzungen | Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2 |
Parameter (Schlüssel, Wert) | |
jsonSpec | Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „NetworkChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec -Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist. |
Beispiel-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
Eigenschaft | Wert |
---|---|
Name der Funktion | PodChaos-2.2 |
Zieltyp | Microsoft-AzureKubernetesServiceChaosMesh |
Unterstützte Knotenpool-Betriebssystemtypen | Linux |
Beschreibung | Bewirkt, dass ein über Chaos Mesh verfügbarer Pod-Fehler gegen Ihren AKS-Cluster läuft. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von Podfehlern oder Containerproblemen. |
Voraussetzungen | Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.2 |
Parameter (Schlüssel, Wert) | |
jsonSpec | Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „PodChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec -Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist. |
Beispiel-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
Eigenschaft | Wert |
---|---|
Name der Funktion | StressChaos-2.2 |
Zieltyp | Microsoft-AzureKubernetesServiceChaosMesh |
Unterstützte Knotenpool-Betriebssystemtypen | Linux |
Beschreibung | Bewirkt, dass ein über Chaos Mesh verfügbarer Stress-Fehler gegen Ihren AKS-Cluster läuft. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von Belastungsproblemen in einer Sammlung von Pods (z. B. hohe CPU- oder Speicherauslastung). |
Voraussetzungen | Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2 |
Parameter (Schlüssel, Wert) | |
jsonSpec | Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „StressChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec -Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist. |
Beispiel-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 E/A-Chaos
Eigenschaft | Wert |
---|---|
Name der Funktion | IOChaos-2.2 |
Zieltyp | Microsoft-AzureKubernetesServiceChaosMesh |
Unterstützte Knotenpool-Betriebssystemtypen | Linux |
Beschreibung | Bewirkt, dass ein über Chaos Mesh verfügbarer IO-Fehler gegen Ihren AKS-Cluster läuft. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von E/A-Verzögerungen und Lese-/Schreibfehlern bei der Verwendung von E/A-Systemaufrufen wie open , read und write . |
Voraussetzungen | Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.2 |
Parameter (Schlüssel, Wert) | |
jsonSpec | Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „IOChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec -Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist. |
Beispiel-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 Zeit-Chaos
Eigenschaft | Wert |
---|---|
Name der Funktion | TimeChaos-2.2 |
Zieltyp | Microsoft-AzureKubernetesServiceChaosMesh |
Unterstützte Knotenpool-Betriebssystemtypen | Linux |
Beschreibung | Verursacht mithilfe von Chaos Mesh eine Änderung der Systemuhr auf Ihrem AKS-Cluster. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von verteilten Systemen, die nicht mehr synchronisiert sind, einer fehlenden/falschen Schaltjahr-/Schaltsekundenlogik usw. |
Voraussetzungen | Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.2 |
Parameter (Schlüssel, Wert) | |
jsonSpec | Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „TimeChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec -Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist. |
Beispiel-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
Eigenschaft | Wert |
---|---|
Name der Funktion | KernelChaos-2.2 |
Zieltyp | Microsoft-AzureKubernetesServiceChaosMesh |
Unterstützte Knotenpool-Betriebssystemtypen | Linux |
Beschreibung | Bewirkt, dass ein über Chaos Mesh verfügbarer Kernel-Fehler gegen Ihren AKS-Cluster läuft. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von Fehlern auf der Linux-Kernel-Ebene (z. B. Bereitstellungsfehler oder kein zugeordneter Speicher). |
Voraussetzungen | Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.2 |
Parameter (Schlüssel, Wert) | |
jsonSpec | Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „KernelChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec -Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist. |
Beispiel-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
Eigenschaft | Wert |
---|---|
Name der Funktion | HTTPChaos-2.2 |
Zieltyp | Microsoft-AzureKubernetesServiceChaosMesh |
Unterstützte Knotenpool-Betriebssystemtypen | Linux |
Beschreibung | Bewirkt, dass ein über Chaos Mesh verfügbarer HTTP-Fehler für Ihren AKS-Cluster ausgeführt wird. Dies ist hilfreich für die Neuerstellung von Vorfällen aufgrund von Fehlern bei der Verarbeitung von HTTP-Anforderungen und -Antworten (z. B. verzögerte oder falsche Antworten). |
Voraussetzungen | Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.2 |
Parameter (Schlüssel, Wert) | |
jsonSpec | Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „HTTPChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec -Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist. |
Beispiel-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
Eigenschaft | Wert |
---|---|
Name der Funktion | DNSChaos-2.2 |
Zieltyp | Microsoft-AzureKubernetesServiceChaosMesh |
Unterstützte Knotenpool-Betriebssystemtypen | Linux |
Beschreibung | Bewirkt, dass ein über Chaos Mesh verfügbarer DNS-Fehler für Ihren AKS-Cluster ausgeführt wird. Dies ist hilfreich für die Neuerstellung von Vorfällen aufgrund von DNS-Fehlern. |
Voraussetzungen | Im AKS-Cluster muss Chaos Mesh bereitgestellt sein, und der DNS-Dienst muss installiert sein. |
URN | urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.2 |
Parameter (Schlüssel, Wert) | |
jsonSpec | Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „DNSChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec -Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist. |
Beispiel-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"
}
]
}
Herunterfahren von Cloud Services(Klassisch)
Eigenschaft | Wert |
---|---|
Name der Funktion | Herunterfahren-1.0 |
Zieltyp | Microsoft-DomainName |
Beschreibung | Hält eine Bereitstellung während des Fehlers an. Startet die Bereitstellung am Ende der Fehlerdauer oder bei Abbruch des Experiments neu. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:domainName:shutdown/1.0 |
Fehlertyp | Fortlaufend |
Parameter | Keine. |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:domainName:shutdown/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Azure Cache for Redis (Neustart)
Eigenschaft | Wert |
---|---|
Name der Funktion | Reboot-1.0 |
Zieltyp | Microsoft-AzureClusteredCacheForRedis |
Beschreibung | Veranlasst einen erzwungenen Neustart des Ziels, um einen kurzen Ausfall zu simulieren. |
Voraussetzungen | N/V |
URN | urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0 |
Fehlertyp | Diskret |
Parameter (Schlüssel, Wert) | |
rebootType | Die Knotentypen, für die die Neustartaktion durchgeführt werden soll, können als PrimaryNode, SecondaryNode oder AllNodes angegeben werden. |
shardid | Die ID des Shards, der neu gebootet werden soll. Dies gilt nur für Caches mit dem Premium-Tarif. |
Beispiel-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"
}
]
}
Begrenzungen
- Der Neustartfehler führt einen erzwungenen Neustart herbei, um eine bessere Simulation eines Ausfalls zu ermöglichen. Daher können Datenverluste auftreten.
- Der Neustartfehler ist ein diskreter Fehlertyp. Anders als bei Dauerfehlern handelt es sich um eine einmalige und somit kurze Aktion ohne Dauer.
Cosmos DB-Failover
Eigenschaft | Wert |
---|---|
Name der Funktion | Ausfallsicherung-1.0 |
Zieltyp | Microsoft-CosmosDB |
Beschreibung | Bewirkt, dass für ein Azure Cosmos DB-Konto mit einer einzelnen Schreibregion ein Failover zu einer angegebenen Leseregion ausgeführt wird, um einen Ausfall der Schreibregion zu simulieren. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:cosmosDB:failover/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
readRegion | Die Leseregion, die während des Failovers zu einer Schreibregion höher gestuft werden soll, z. B. East US 2 . |
Beispiel-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 ändern
Eigenschaft | Wert |
---|---|
Name der Funktion | ChangeEventHubState-1.0 |
Zieltyp | Microsoft-EventHub |
Beschreibung | Legt einzelne Event Hubs auf den gewünschten Zustand innerhalb eines Azure Event Hubs-Namespaces fest. Sie können bestimmte Event Hub-Namen beeinflussen oder „*“ verwenden, um alle Innerhalb des Namespaces zu beeinflussen. Mit dieser Aktion können Sie Ihre Messaginginfrastruktur im Hinblick auf Wartungs- oder Fehlerszenarien testen. Dies ist ein diskreter Fehler. Die Entität wird daher nicht automatisch auf den Anfangszustand zurückgesetzt. |
Voraussetzungen | Ein Azure Event Hubs-Namespace mit mindestens einer Event Hub-Entität. |
URN | urn:csci:microsoft:eventHub:changeEventHubState/1.0 |
Fehlertyp | Diskret |
Parameter (Schlüssel, Wert) | |
desiredState | Der gewünschte Zustand für die als Ziel ausgewählten Event Hubs. Die möglichen Zustände sind „Active“, „Disabled“ und „SendDisabled“. |
eventHubs | Eine durch Trennzeichen getrennte Liste der Event Hub-Namen im ausgewählten Namespace. Verwenden Sie das „*“, um alle Entitäten innerhalb des Namespace zu beeinflussen. |
Beispiel-JSON
{
"name": "Branch1",
"actions": [
{
"selectorId": "Selector1",
"type": "discrete",
"parameters": [
{
"key": "eventhubs",
"value": "[\"*\"]"
},
{
"key": "desiredState",
"value": "Disabled"
}
],
"name": "urn:csci:microsoft:eventHub:changeEventHubState/1.0"
}
]
}
Schlüsseltresor: Zugriff verweigern
Eigenschaft | Wert |
---|---|
Name der Funktion | DenyAccess-1.0 |
Zieltyp | Microsoft-KeyVault |
Beschreibung | Blockiert den gesamten Netzwerkzugriff auf einen Schlüsseltresor, indem die Netzwerkregeln für den Schlüsseltresor vorübergehend geändert werden. Diese Aktion verhindert, dass eine Anwendung, die vom Schlüsseltresor abhängig ist, auf Geheimnisse, Schlüssel und/oder Zertifikate zugreift. Wenn der Schlüsseltresor den Zugriff auf alle Netzwerke zulässt, wird diese Einstellung so geändert, dass nur der Zugriff aus ausgewählten Netzwerken zugelassen wird. Beim Start des Fehlers sind keine virtuellen Netzwerke in der Liste der zulässigen Netzwerke enthalten. Am Ende der Fehlerdauer wird allen Netzwerken der Zugriff erlaubt. Wenn der Schlüsseltresor nur den Zugriff aus ausgewählten Netzwerken zulässt, werden alle virtuellen Netzwerke in der Zulassungsliste beim Start des Fehlers entfernt. Sie werden am Ende der Fehlerdauer wiederhergestellt. |
Voraussetzungen | Für den Zielschlüsseltresor dürfen keine Firewallregeln festgelegt sein, und er darf es Azure-Diensten nicht erlauben, die Firewall zu umgehen. Wenn der Zielschlüsseltresor so konfiguriert ist, dass er nur den Zugriff aus ausgewählten Netzwerken zulässt, muss mindestens eine VNET-Regel (Regel für virtuelle Netzwerke) vorhanden sein. Der Schlüsseltresor darf sich nicht im Wiederherstellungsmodus befinden. |
URN | urn:csci:microsoft:keyVault:denyAccess/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | Keine. |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:keyvault:denyAccess/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Schlüsseltresor: Deaktivieren des Zertifikats
Eigenschaft | Wert |
---|---|
Name der Funktion | DisableCertificate-1.0 |
Zieltyp | Microsoft-KeyVault |
Beschreibung | Der Fehler deaktiviert das Zertifikat anhand von Zertifikateigenschaften für eine bestimmte Dauer (angegeben vom Benutzer). Er aktiviert das Zertifikat nach dieser Fehlerdauer. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:keyvault:disableCertificate/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
certificateName | Name des Azure Key Vault-Zertifikats, für das der Fehler ausgeführt wird. |
version | Zertifikatversion, die deaktiviert werden soll. Wenn die Version nicht angegeben ist, wird die aktuelle Version deaktiviert. |
Beispiel-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"
}
]
}
Schlüsseltresor: Inkrementieren der Zertifikatversion
Eigenschaft | Wert |
---|---|
Name der Funktion | IncrementCertificateVersion-1.0 |
Zieltyp | Microsoft-KeyVault |
Beschreibung | Generiert eine neue Zertifikatversion und einen Fingerabdruck mithilfe der Key Vault-Zertifikatclientbibliothek. Das aktuelle Zertifikat wird auf diese Version aktualisiert. Die Zertifikatversion wird nach der Fehlerdauer nicht wiederhergestellt. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0 |
Fehlertyp | Diskret |
Parameter (Schlüssel, Wert) | |
certificateName | Name des Azure Key Vault-Zertifikats, für das der Fehler ausgeführt wird. |
Beispiel-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"
}
]
}
Schlüsseltresor: Aktualisieren der Zertifikatrichtlinie
Eigenschaft | Wert |
---|---|
Name der Funktion | UpdateCertificatePolicy-1.0 |
Zieltyp | Microsoft-KeyVault |
Beschreibung | Zertifikatrichtlinien (z. B. Gültigkeitsdauer des Zertifikats, Zertifikattyp, Schlüsselgröße oder Schlüsseltyp) werden basierend auf Benutzereingaben aktualisiert und nach der Fehlerdauer wiederhergestellt. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
certificateName | Name des Azure Key Vault-Zertifikats, für das der Fehler ausgeführt wird. |
version | Zertifikatversion, die aktualisiert werden soll. Wenn die Version nicht angegeben ist, wird die aktuelle Version aktualisiert. |
enabled | Boolesch. Wert, der angibt, ob die neue Zertifikatversion aktiviert ist. |
validityInMonths | Gültigkeitsdauer des Zertifikats in Monaten. |
certificateTransparency | Gibt an, ob das Zertifikat bei der Erstellung in der Zertifikattransparenzliste veröffentlicht werden soll. |
certificateType | Zertifikattyp. |
contentType | Inhaltstyp des Zertifikats. Der Wert lautet beispielsweise „Pkcs12“, wenn das Zertifikat mit ASCII-PEM-codierte Bytes und unformatierte PFX-Bytes oder Privacy Enhanced Mail (PEM) enthält. Pkcs12 ist der vorausgesetzte Standardwert. |
keySize | Größe des RSA-Schlüssels: 2048, 3072 oder 4096. |
exportable | Boolesch. Wert, der angibt, ob der Zertifikatschlüssel aus dem Tresor oder dem sicheren Zertifikatspeicher exportiert werden kann. |
reuseKey | Boolesch. Wert, der angibt, ob der Zertifikatschlüssel beim Rotieren des Zertifikats wiederverwendet werden soll. |
keyType | Typ des Sicherungsschlüssels, der beim Ausstellen neuer Zertifikate generiert wird (z. B. RSA oder EC). |
Beispiel-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-Sicherheitsregel
Eigenschaft | Wert |
---|---|
Name der Funktion | SecurityRule-1.0, SecurityRule-1.1 |
Zieltyp | Microsoft-NetworkSecurityGroup |
Beschreibung | Ermöglicht die Bearbeitung oder Regelerstellung in einer vorhandenen Azure-Netzwerksicherheitsgruppe (NSG) oder einer Gruppe von Azure-NSGs, sofern die Regeldefinition sicherheitsgruppenübergreifend anwendbar ist. Dies ist hilfreich für folgende Szenarien:
|
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:networkSecurityGroup:securityRule/1.0, urn:csci:microsoft:networkSecurityGroup:securityRule/1.1 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
name | Ein eindeutiger Name für die Sicherheitsregel, die erstellt wird. Der Fehler schlägt fehl, wenn in der NSG bereits eine andere Regel mit demselben Namen vorhanden ist. Der Name muss mit einem Buchstaben oder einer Ziffer beginnen. Sie muss mit einem Buchstaben, einer Zahl oder einem Unterstrich enden. Der Name darf nur Buchstaben, Ziffern, Unterstriche, Punkte und Bindestriche enthalten. |
Protokoll | Protokoll für die Sicherheitsregel. Muss Any, TCP, UDP oder ICMP sein. |
sourceAddresses | Eine Zeichenfolge, die ein durch Trennzeichen getrenntes JSON-Array von CIDR-formatierten IP-Adressen darstellt. Hierbei kann es sich auch um einen Diensttagnamen für eine Eingangsregel handeln, z. B. AppService . Es kann auch ein Sternchen (* ) verwendet werden, um alle Quell-IPs abzugleichen. |
destinationAddresses | Eine Zeichenfolge, die ein durch Trennzeichen getrenntes JSON-Array von CIDR-formatierten IP-Adressen darstellt. Hierbei kann es sich auch um einen Diensttagnamen für eine Ausgangsregel handeln, z. B. AppService . Es kann auch ein Sternchen (* ) verwendet werden, um alle Ziel-IPs abzugleichen. |
action | Zugriffsart der Sicherheitsgruppe. Der Typ muss „Allow“ (Zulassen) oder „Deny“ (Verweigern) lauten. |
destinationPortRanges | Eine Zeichenfolge, die ein durch Trennzeichen getrenntes JSON-Array von einzelnen Ports und/oder Portbereichen darstellt, z. B. 80 oder 1024-65535. |
sourcePortRanges | Eine Zeichenfolge, die ein durch Trennzeichen getrenntes JSON-Array von einzelnen Ports und/oder Portbereichen darstellt, z. B. 80 oder 1024-65535. |
priority | Ein Wert zwischen 100 und 4096, der für alle Sicherheitsregeln innerhalb der NSG eindeutig ist. Der Fehler schlägt fehl, wenn in der NSG bereits eine andere Regel mit derselben Priorität vorhanden ist. |
Richtung | Richtung des Datenverkehrs, für den die Sicherheitsregel gilt. Muss entweder Inbound oder Outbound sein. |
Beispiel-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"
}
]
}
Begrenzungen
- Der Fehler kann nur auf vorhandene NSGs angewendet werden.
- Wenn eine NSG-Regel zum Verweigern von Datenverkehr angewendet wird, werden bestehende Verbindungen erst dann unterbrochen, wenn sie vier Minuten lang inaktiv (im Leerlauf) waren. Eine Abhilfe besteht darin, im selben Schritt einen weiteren Zweig hinzuzufügen, der einen Fehler verwendet, der bei Anwendung des NSG-Fehlers zum Abbruch bestehender Verbindungen führen würde. So würde beispielsweise das Beenden des Prozesses, das vorübergehende Anhalten des Dienstes oder der Neustart der VM dazu führen, dass die Verbindungen zurückgesetzt werden.
- Die Regeln werden zu Beginn der Aktion angewendet. Jede externe Änderung der Regel, die während der Dauer der Aktion vorgenommen wird, führt dazu, dass das Experiment fehlschlägt.
- Das Erstellen oder Ändern von Regeln für Anwendungssicherheitsgruppen wird nicht unterstützt.
- Die Prioritätswerte müssen für jeden anvisierten NSG eindeutig sein. Der Versuch, eine neue Regel zu erstellen, die denselben Prioritätswert wie eine andere Regel hat, führt dazu, dass das Experiment fehlschlägt.
- Der Fehler NSG-Sicherheitsregel Version 1.1 unterstützt einen zusätzlichen
flushConnection
-Parameter. Diese Funktionalität weist ein aktives bekanntes Problem auf: WennflushConnection
aktiviert ist, kann der Fehler zu einem „FlushingNetworkSecurityGroupConnectionIsNotEnabled“-Fehler führen. Um diesen Fehler vorübergehend zu vermeiden, deaktivieren Sie den ParameterflushConnection
, oder verwenden Sie den Fehler NSG-Sicherheitsregel, Version 1.0.
Servicebus: Ändern des Warteschlangenstatus
Eigenschaft | Wert |
---|---|
Name der Funktion | ChangeQueueState-1.0 |
Zieltyp | Microsoft-ServiceBus |
Beschreibung | Legt Warteschlangenentitäten innerhalb eines Service Bus-Namespace auf den gewünschten Zustand fest. Sie können diese Aktion auf bestimmte Entitätsnamen anwenden oder die Aktion durch die Verwendung eines Sternchens (*) auf alle Entitäten anwenden. Mit dieser Aktion können Sie Ihre Messaginginfrastruktur im Hinblick auf Wartungs- oder Fehlerszenarien testen. Dies ist ein diskreter Fehler. Die Entität wird daher nicht automatisch auf den Anfangszustand zurückgesetzt. |
Voraussetzungen | Ein Service Bus-Namespace mit mindestens einer Warteschlangenentität. |
URN | urn:csci:microsoft:serviceBus:changeQueueState/1.0 |
Fehlertyp | Diskret |
Parameter (Schlüssel, Wert) | |
desiredState | Der gewünschte Zustand für die als Ziel ausgewählten Warteschlangen. Die möglichen Zustände sind „Active“, „Disabled“, „SendDisabled“ und „ReceiveDisabled“. |
queues | Eine durch Trennzeichen getrennte Liste der Warteschlangennamen im ausgewählten Namespace. Verwenden Sie das Sternchen (*), um die Aktion auf alle Warteschlangen im Namespace anzuwenden. |
Beispiel-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"
}
]
}
Begrenzungen
- An diesen Fehler können maximal 1.000 Warteschlangenentitäten übergeben werden.
Service Bus: Ändern des Abonnementstatus
Eigenschaft | Wert |
---|---|
Name der Funktion | ChangeSubscriptionState-1.0 |
Zieltyp | Microsoft-ServiceBus |
Beschreibung | Legt Abonnemententitäten in einem Service Bus-Namespace und -Thema auf den gewünschten Zustand fest. Sie können diese Aktion auf bestimmte Entitätsnamen anwenden oder die Aktion durch die Verwendung eines Sternchens (*) auf alle Entitäten anwenden. Mit dieser Aktion können Sie Ihre Messaginginfrastruktur im Hinblick auf Wartungs- oder Fehlerszenarien testen. Dies ist ein diskreter Fehler. Die Entität wird daher nicht automatisch auf den Anfangszustand zurückgesetzt. |
Voraussetzungen | Ein Service Bus-Namespace mit mindestens einer Abonnemententität. |
URN | urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0 |
Fehlertyp | Diskret |
Parameter (Schlüssel, Wert) | |
desiredState | Der gewünschte Zustand für die als Ziel ausgewählten Abonnements. Die möglichen Zustände sind „Active“ und „Disabled“. |
topic | Das übergeordnete Thema, das mindestens ein Abonnement enthält, das betroffen sein soll. |
Abonnements | Eine durch Trennzeichen getrennte Liste der Abonnementnamen im ausgewählten Namespace. Verwenden Sie das Sternchen (*), um die Aktion auf alle Abonnements im Namespace anzuwenden. |
Beispiel-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"
}
]
}
Begrenzungen
- An diesen Fehler können maximal 1.000 Abonnemententitäten übergeben werden.
Service Bus: Ändern des Themastatus
Eigenschaft | Wert |
---|---|
Name der Funktion | ChangeTopicState-1.0 |
Zieltyp | Microsoft-ServiceBus |
Beschreibung | Legt die angegebenen Themaentitäten innerhalb eines Service Bus-Namespace auf den gewünschten Zustand fest. Sie können diese Aktion auf bestimmte Entitätsnamen anwenden oder die Aktion durch die Verwendung eines Sternchens (*) auf alle Entitäten anwenden. Mit dieser Aktion können Sie Ihre Messaginginfrastruktur im Hinblick auf Wartungs- oder Fehlerszenarien testen. Dies ist ein diskreter Fehler. Die Entität wird daher nicht automatisch auf den Anfangszustand zurückgesetzt. |
Voraussetzungen | Ein Service Bus-Namespace mit mindestens einer Themaentität. |
URN | urn:csci:microsoft:serviceBus:changeTopicState/1.0 |
Fehlertyp | Diskret |
Parameter (Schlüssel, Wert) | |
desiredState | Der gewünschte Zustand für die als Ziel ausgewählten Themen. Die möglichen Zustände sind „Active“ und „Disabled“. |
topics | Eine durch Trennzeichen getrennte Liste der Themennamen im ausgewählten Namespace. Verwenden Sie das Sternchen (*), um die Aktion auf alle Themen im Namespace anzuwenden. |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:serviceBus:changeTopicState/1.0",
"parameters":[
{
"key": "desiredState",
"value": "Disabled"
},
{
"key": "topics",
"value": "*"
}
],
"selectorid": "myServiceBusSelector"
}
]
}
Begrenzungen
- An diesen Fehler können maximal 1.000 Themaentitäten übergeben werden.
Erneute VM-Bereitstellung
Eigenschaft | Wert |
---|---|
Name der Funktion | Redeploy-1.0 |
Zieltyp | Microsoft-VirtualMachine |
Beschreibung | Stellt eine VM erneut bereit, indem sie heruntergefahren, in einen neuen Knoten in der Azure-Infrastruktur verschoben und wieder eingeschaltet wird. Auf diese Weise können Sie die Resilienz Ihrer Workload gegenüber Wartungsereignissen überprüfen. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:virtualMachine:redeploy/1.0 |
Fehlertyp | Diskret |
Parameter (Schlüssel, Wert) | Keine. |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:virtualMachine:redeploy/1.0",
"parameters":[],
"selectorid": "myResources"
}
]
}
Begrenzungen
- Der Vorgang zum erneuten Bereitstellen einer VM wird innerhalb eines Intervalls von zehn Stunden gedrosselt. Falls bei Ihrem Experiment ein Fehler aufgrund einer zu hohen Anzahl von Anforderungen zur erneuten Bereitstellung auftritt, warten Sie zehn Stunden, und wiederholen Sie das Experiment dann.
Herunterfahren einer VM
Eigenschaft | Wert |
---|---|
Name der Funktion | Herunterfahren-1.0 |
Zieltyp | Microsoft-VirtualMachine |
Unterstützte Betriebssystemtypen | Windows, Linux |
Beschreibung | Beendet eine VM für die Dauer des Fehlers. Startet die VM am Ende des Experiments oder bei Abbruch des Experiments neu. Es werden nur virtuelle Azure Resource Manager-Computer unterstützt. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:virtualMachine:shutdown/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
abruptesHerunterfahren | (Optional) Boolescher Wert, der angibt, ob die VM ordnungsgemäß oder abrupt (destruktiv) heruntergefahren werden soll. |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:virtualMachine:shutdown/1.0",
"parameters": [
{
"key": "abruptShutdown",
"value": "false"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
VMSS-Herunterfahren
Von diesem Fehler sind zwei Versionen verfügbar, die Sie verwenden können: Version 1.0 und Version 2.0. Der Hauptunterschied besteht darin, dass Sie mit Version 2.0 nach Verfügbarkeitszonen filtern und nur Instanzen in angegebenen Zonen herunterfahren können.
VMSS-Herunterfahren Version 1.0
Eigenschaft | Wert |
---|---|
Name der Funktion | Version 1.0 |
Zieltyp | Microsoft-VirtualMachineScaleSet |
Unterstützte Betriebssystemtypen | Windows, Linux |
Beschreibung | Fährt während des Fehlers eine VM-Skalierungsgruppeninstanz herunter oder beendet sie und startet die VM am Ende der Fehlerdauer oder bei Abbruch des Experiments neu. |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0 |
Fehlertyp | Fortlaufend |
Parameter (Schlüssel, Wert) | |
abruptesHerunterfahren | (Optional) Boolescher Wert, der angibt, ob die VM-Skalierungsgruppeninstanz ordnungsgemäß oder abrupt (destruktiv) heruntergefahren werden soll. |
instances | Eine Zeichenfolge, bei der es sich um ein durch Trennzeichen getrenntes Array von VM-Skalierungsgruppeninstanz-IDs handelt, auf die der Fehler angewendet wird. |
Beispiel-JSON für Version 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"
}
]
}
VMSS-Herunterfahren Version 2.0
Eigenschaft | Wert |
---|---|
Name der Funktion | Shutdown-2.0 |
Zieltyp | Microsoft-VirtualMachineScaleSet |
Unterstützte Betriebssystemtypen | Windows, Linux |
Beschreibung | Fährt während des Fehlers eine VM-Skalierungsgruppeninstanz herunter oder beendet sie. Startet die VM am Ende der Fehlerdauer oder bei Abbruch des Experiments neu. Unterstützt dynamische Adressierung (Targeting). |
Voraussetzungen | Keine. |
URN | urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0 |
Fehlertyp | Fortlaufend |
filter | (Optional) Verfügbar ab Version 2.0. Wird verwendet, um die Liste der Ziele in einem Selektor zu filtern. Unterstützt derzeit das Filtern nach einer Liste von Zonen. Der Filter wird nur auf VM-Skalierungsgruppenressourcen innerhalb einer Zone angewendet:
|
Parameter (Schlüssel, Wert) | |
abruptesHerunterfahren | (Optional) Boolescher Wert, der angibt, ob die VM-Skalierungsgruppeninstanz ordnungsgemäß oder abrupt (destruktiv) heruntergefahren werden soll. |
JSON-Beispielcodeausschnitte für Version 2.0
Die folgenden Codeschnipsel zeigen, wie Sie sowohl die dynamische Filterung als auch den Fehler „Shutdown 2.0“ (Herunterfahren) konfigurieren.
Konfigurieren eines Filters für die dynamische Adressierung (Targeting):
{
"type": "List",
"id": "myResources",
"targets": [
{
"id": "<targetResourceId>",
"type": "ChaosTarget"
}
],
"filter": {
"type": "Simple",
"parameters": {
"zones": [
"1"
]
}
}
}
Konfigurieren des Shutdown-Fehlers (Herunterfahren):
{
"name": "branchOne",
"actions": [
{
"name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0",
"type": "continuous",
"selectorId": "myResources",
"duration": "PT10M",
"parameters": [
{
"key": "abruptShutdown",
"value": "false"
}
]
}
]
}
Begrenzungen
Derzeit werden nur VM-Skalierungsgruppen unterstützt, die im Orchestrierungsmodus Einheitlich konfiguriert sind. Wenn Ihre VM-Skalierungsgruppe den Orchestrierungsmodus Flexibel verwendet, können Sie den Fehler zum Herunterfahren einer Azure Resource Manager-VM verwenden, um ausgewählte Instanzen herunterzufahren.
Details: Orchestrierungsaktionen
Verzögern
Eigenschaft | Wert |
---|---|
Fehleranbieter | N/V |
Unterstützte Betriebssystemtypen | N/V |
Beschreibung | Fügt eine Zeitverzögerung vor, zwischen oder nach anderen Experimentaktionen hinzu. Diese Aktion ist kein Fehler. Sie wird verwendet, um Aktionen innerhalb eines Experiments zu synchronisieren. Verwenden Sie diese Aktion, um darauf zu warten, dass sich die Auswirkungen eines Fehlers in einem Dienst bemerkbar machen, oder auf den Abschluss einer Aktivität außerhalb des Experiments zu warten. Ihr Experiment könnte z. B. warten, bis die Selbstheilung auftritt, bevor ein anderer Fehler eingefügt wird. |
Voraussetzungen | N/V |
URN | urn:csci:microsoft:chaosStudio:timedDelay/1.0 |
Duration | Die Dauer der Verzögerung im ISO 8601-Format (z. B. PT10M) |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "delay",
"name": "urn:csci:microsoft:chaosStudio:timedDelay/1.0",
"duration": "PT10M"
}
]
}
Auslastungstest starten (Azure Load Testing)
Eigenschaft | Wert |
---|---|
Name der Funktion | Start-1.0 |
Zieltyp | Microsoft-AzureLoadTest |
Beschreibung | Startet einen Auslastungstest (über Azure Load Testing) anhand der angegebenen Auslastungstest-ID. |
Voraussetzungen | Ein Auslastungstest mit einer gültigen Auslastungstest-ID muss im Azure Load Testing-Dienst erstellt werden. |
URN | urn:csci:microsoft:azureLoadTest:start/1.0 |
Fehlertyp | Diskret |
Parameter (Schlüssel, Wert) | |
testID | Die ID eines bestimmten Auslastungstests, der im Azure Load Testing-Dienst erstellt wurde. |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureLoadTest:start/1.0",
"parameters": [
{
"key": "testID",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}
Auslastungstest beenden (Azure Load Testing)
Eigenschaft | Wert |
---|---|
Name der Funktion | Stop-1.0 |
Zieltyp | Microsoft-AzureLoadTest |
Beschreibung | Hält einen Auslastungstest (über Azure Load Testing) anhand der angegebenen Auslastungstest-ID an. |
Voraussetzungen | Ein Auslastungstest mit einer gültigen Auslastungstest-ID muss im Azure Load Testing-Dienst erstellt werden. |
URN | urn:csci:microsoft:azureLoadTest:stop/1.0 |
Fehlertyp | Diskret |
Parameter (Schlüssel, Wert) | |
testID | Die ID eines bestimmten Auslastungstests, der im Azure Load Testing-Dienst erstellt wurde. |
Beispiel-JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureLoadTest:stop/1.0",
"parameters": [
{
"key": "testID",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}