Freigeben über


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

In Azure Virtual Machines oder Virtual Machine Scale Set-Instanzen werden agent-basierte Fehler 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
Fenster Prozess pausieren Abhängigkeitsunterbrechung, Dienstunterbrechung
Windows1, Linux2 Netzwerktrennung Netzwerkunterbrechung
Windows1, Linux2 Netzwerkwartezeit Netzwerkleistungsbeeinträchtigung
Windows1, Linux2 Netzwerkpaketverlust Probleme mit der Netzwerkzuverlässigkeit
Windows, Linux2 Netzwerkisolation Netzwerkunterbrechung
Fenster DNS-Fehler Probleme bei der DNS-Auflösung
Fenster Netzwerkunterbrechung (über Firewall) Netzwerkunterbrechung
Windows, Linux Physischer Speicherdruck Speicherkapazitätsverlust, Ressourcendruck
Windows, Linux Beenden des Diensts Dienstunterbrechung/Neustart
Fenster Zeitumstellung Zeitsynchronisierungsprobleme
Fenster Virtueller Speicherdruck Speicherkapazitätsverlust, Ressourcendruck
Linux Willkürliche Stress-ng-Belastung Allgemeiner Systembelastungstest
Linux Linux DiskIO-Druck Datenträger-E/A-Leistungsbeeinträchtigung
Fenster DiskIO-Druck Datenträger-E/A-Leistungsbeeinträchtigung

1 Nur TCP/UDP-Pakete. 2 Nur ausgehender Netzwerkverkehr.

App-Dienst

Dieser Abschnitt gilt für den Microsoft.Web/sites-Ressourcentyp. Informieren Sie sich ausführlicher über App Service.

Fehlername Zutreffende Szenarios
App-Dienst beenden 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-Dienst

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 Verschlechterung/Druck der Festplatte
AKS Chaos Mesh Kernel-Chaos Kernelunterbrechung
AKS Chaos Mesh Netzwerk-Chaos Netzwerkunterbrechung
AKS Chaos Mesh Pod-Chaos Containerstörung
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 Verlust berechnen

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

Ereignis-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üsselspeicher (Key Vault)

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 Zertifikatsstörung
Key Vault: Inkrementieren der Zertifikatsversion Erhöhung 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)

Dienstbus

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 Berechnungsverlust/-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 Berechnungsverlust/-unterbrechung
VMSS-Herunterfahren (2.0) Verlust oder Unterbrechung der Rechenleistung (nach Verfügbarkeitszone)

Orchestrierungsaktionen

Diese Aktionen sind Bausteine zum Erstellen effektiver Experimente. Verwenden Sie diese in Kombination mit anderen Störungen, wie zum Beispiel dem Ausführen eines Auslastungstests, während gleichzeitig innerhalb einer Zone Compute-Instanzen heruntergefahren werden.

Aktionskategorie Fehlername
Laden Auslastungstest starten (Azure Load Testing)
Laden Auslastungstest beenden (Azure Load Testing)
Zeitverzögerung Verzögern

Details: Agent-basierende Fehler

Netzwerktrennung

Eigenschaft Wert
Name der Funktion NetworkDisconnect-1.2
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.
Urne urn:csci:microsoft:agent:networkDisconnect/1.2
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
ZielFilter Abgegrenztes JSON-Array von Paketfiltern, die festlegen, welche ausgehenden Pakete gezielt anvisiert werden sollen. Maximalwert 16.
inboundDestinationFilters Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche eingehenden Pakete verwendet werden sollen. Maximalwert 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
Adresse IP-Adresse oder Hostname (z. B. microsoft.com), die das Ziel darstellen.
SubnetMaske (Optional) Subnetzmaske, die sich auf den Adressbereich auswirken soll. Wenn nicht angegeben, wird 255.255.255.255 standardmäßig festgelegt.
portLow (Optional) Portnummer für den Beginn des Portbereichs.
portHigh (Optional) Portnummer des Endes des Portbereichs.

Der address Parameter akzeptiert entweder die IP-Adresse am Anfang des IP-Bereichs oder einen Hostnamen (z. B. microsoft.com). Wenn ein Hostname angegeben wird, wird der DNS-A-Eintrag in eine entsprechende IP-Adresse (oder Adressen) aufgelöst und eine Standardsubnetzmaske von 255.255.255.255 angewendet. Die entsprechenden IP-Informationen werden nur zu Beginn des Fehlers abgerufen. Wenn sich die Zuordnung von Hostname zu IP während des Experiments ändert, erkennt der Fehler die Änderung also nicht.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkDisconnect/1.2",
      "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- und destinationFilters-Parameter) beeinflussen.

Netzwerkunterbrechung (über Firewall)

Eigenschaft Wert
Name der Funktion NetworkDisconnectViaFirewall-1.1
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Fenster
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.
Urne urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.1
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.
Adresse 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) Portnummer des Endes des Portbereichs.
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.1",
      "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.2
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.
Urne urn:csci:microsoft:agent:networkLatency/1.2
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
LatenzInMillisekunden Höhe der anzuwendenden Latenz in Millisekunden.
ZielFilter Abgegrenztes JSON-Array von Paketfiltern, die festlegen, welche ausgehenden Pakete gezielt anvisiert werden sollen. Maximalwert 16.
inboundDestinationFilters Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche eingehenden Pakete verwendet werden sollen. Maximalwert 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
Adresse IP-Adresse oder Hostname (z. B. microsoft.com), die das Ziel darstellen.
SubnetMaske (Optional) Subnetzmaske, die sich auf den Adressbereich auswirken soll. Wenn nicht angegeben, wird 255.255.255.255 standardmäßig festgelegt.
portLow (Optional) Portnummer für den Beginn des Portbereichs.
portHigh (Optional) Portnummer des Endes des Portbereichs.

Der address Parameter akzeptiert entweder die IP-Adresse am Anfang des IP-Bereichs oder einen Hostnamen (z. B. microsoft.com). Wenn ein Hostname angegeben wird, wird der DNS-A-Eintrag in eine entsprechende IP-Adresse (oder Adressen) aufgelöst und eine Standardsubnetzmaske von 255.255.255.255 angewendet. Die entsprechenden IP-Informationen werden nur zu Beginn des Fehlers abgerufen. Wenn sich die Zuordnung von Hostname zu IP während des Experiments ändert, erkennt der Fehler die Änderung also nicht.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkLatency/1.2",
      "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- und destinationFilters-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 PaketverlustImNetzwerk-1.2
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.
Urne urn:csci:microsoft:agent:networkPacketLoss/1.2
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Paketverlustquote 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.
Adresse IP-Adresse oder Hostname (z. B. microsoft.com), die das Ziel darstellen.
SubnetMaske (Optional) Subnetzmaske, die sich auf den Adressbereich auswirken soll. Wenn nicht angegeben, wird 255.255.255.255 standardmäßig festgelegt.
portLow (Optional) Portnummer für den Beginn des Portbereichs.
portHigh (Optional) Portnummer des Endes des Portbereichs.

Der address Parameter akzeptiert entweder die IP-Adresse am Anfang des IP-Bereichs oder einen Hostnamen (z. B. microsoft.com). Wenn ein Hostname angegeben wird, wird der DNS-A-Eintrag in eine entsprechende IP-Adresse (oder Adressen) aufgelöst und eine Standardsubnetzmaske von 255.255.255.255 angewendet. Die entsprechenden IP-Informationen werden nur zu Beginn des Fehlers abgerufen. Wenn sich die Zuordnung von Hostname zu IP während des Experiments ändert, erkennt der Fehler die Änderung also nicht.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkPacketLoss/1.2",
      "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- und destinationFilters-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.
Urne 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 Fenster
Beschreibung Ersetzt Antworten einer DNS-Suchanforderung durch einen angegebenen Fehlercode. Auf DNS-Suchanforderungen, die ersetzt werden, muss Folgendes zutreffen:
  • Sie müssen von der VM stammen.
  • Sie müssen mit den definierten Fehlerparametern übereinstimmen.
DNS-Lookups, die nicht vom Windows-DNS-Client stammen, sind von diesem Fehler nicht betroffen.
Voraussetzungen Keine.
Urne urn:csci:microsoft:agent:dnsFailure/1.0
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Gastgeber 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:
  • *.microsoft.com wird unterstützt.
  • subdomain.*.microsoft wird nicht unterstützt.
  • *.microsoft.com funktioniert nicht für mehrere Unterdomänen in einer Adresse, wie subdomain1.subdomain2.microsoft.com.
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.
Urne urn:csci:microsoft:agent:cpuPressure/1.0
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Druckstufe Ein Integer zwischen 1 und 99, 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.
Urne urn:csci:microsoft:agent:physicalMemoryPressure/1.0
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Druckstufe Eine ganze Zahl zwischen 1 und 99, 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 Fenster
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.
Urne urn:csci:microsoft:agent:physicalMemoryPressure/1.0
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Druckstufe Eine ganze Zahl zwischen 1 und 99, 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 Fenster
Beschreibung Verwendet das diskspd-Hilfsprogramm, um einer VM Datenträgerauslastung hinzuzufügen. Der Druck wird standardmäßig auf den primären Datenträger oder den Datenträger, der mit dem Parameter targetTempDirectory angegeben ist, ausgeübt. 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.
Urne 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 enthalten ist, wird Druck 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 AnzahlDerThreads = 1
randomBlockSizeInKB = 64
randomSeed = 10
AnzahlIOperThread = 25
GrößederBlöckeInKB = 8
GrößeDesSchreibpuffersInKB = 64
dateiGrößeInGB = 2
percentOfWriteActions = 50
PremiumSpeicherP10Drosselung
Anzahl Threads = 2
randomBlockSizeInKB = 64
randomSeed = 10
AnzahlIOperThread = 25
GrößederBlöckeInKB = 64
GrößeDesSchreibpuffersInKB = 64
dateiGrößeInGB = 1
percentOfWriteActions = 50
PremiumSpeicherP50IOPS Anzahl Threads = 32
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 32
GrößederBlöckeInKB = 8
GrößeDesSchreibpuffersInKB = 64
dateiGrößeInGB = 1
percentOfWriteActions = 50
PremiumSpeicherP50Drosselung Anzahl Threads = 2
zufälligeBlockgrößeInKB = 1024
randomSeed = 10
numberOfIOperThread = 2
GrößederBlöckeInKB = 1024
GrößeDesSchreibbuffersInKB = 1024
DateigrößeInGB = 20
percentOfWriteActions = 50
Standard Anzahl Threads = 2
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 2
GrößederBlöckeInKB = 64
GrößeDesSchreibpuffersInKB = 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. Der Druck wird standardmäßig auf den primären Datenträger oder den Datenträger, der mit dem Parameter targetTempDirectory angegeben ist, ausgeübt. Informationen dazu, wie Druck angewendet wird, 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.
Urne urn:csci:microsoft:agent:linuxDiskIOPressure/1.1
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Mitarbeiteranzahl Anzahl der auszuführenden Arbeitsprozesse. Wenn workerCount auf 0 festgelegt wird, werden so viele Workerprozesse erzeugt, wie es Prozessoren gibt.
DateigrößeProArbeiter 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 enthalten ist, wird Druck 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"
    }
  ]
}

Beenden des Diensts

Eigenschaft Wert
Name der Funktion StopService-1.0
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows, Linux
Beschreibung Stoppt einen Windows-Dienst oder einen Linux-systemd-Dienst bei einer Störung. Startet es am Ende der Dauer oder bei Abbruch des Experiments neu.
Voraussetzungen Keine.
Urne urn:csci:microsoft:agent:stressNg/1.0
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Dienstname 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 Fehleraktion festgelegten Dauer wird ein Prozess basierend auf dem angegebenen Kill-Intervall immer wieder 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.
Urne 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 Fenster
Beschreibung Unterbricht (pausiert) die angegebenen Prozesse für die angegebene Dauer. Wenn mehrere Prozesse mit demselben Namen vorhanden sind, führt dieser Fehler dazu, dass alle diese Prozesse angehalten werden. 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.
Urne urn:csci:microsoft:agent:pauseProcess/1.0
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Prozessnamen 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.
PauseintervallInMillisekunden 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 Fenster
Beschreibung Ändert die Systemzeit der VM und setzt sie am Ende des Experiments oder bei Abbruch des Experiments zurück.
Voraussetzungen Keine.
Urne urn:csci:microsoft:agent:timeChange/1.0
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Datum und Uhrzeit Eine Datums- und Zeitzeichenkette 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.
Urne 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

App-Dienst stoppen

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.
Urne 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-1.0
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.
Urne 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",           
  } 
 ] 
} 

Begrenzungen

Benutzerdefinierte Metriken für Application Insights werden nicht unterstützt.

Der Fehler "Autoskalen deaktivieren" schlägt zurzeit fehl, wenn die Einstellung für die automatische Zielskalierung Regeln basierend auf benutzerdefinierten Metriken von Application Insights enthält.
Das Ausführen des Fehlers erfordert die Möglichkeit, die benutzerdefinierte Metrikdefinition in der Application Insights-Komponente (Microsoft.Insights/components/*-Datenebenenaktionen) zu lesen. Diese Berechtigungen sind nicht Teil des verwalteten Identitätsbereichs des Fehlers, sodass der Vorgang zur Laufzeit abgelehnt wird.

Problemumgehung
Verwenden Sie eine Standardplattformmetrik (z. B. CPU-Prozentsatz) oder eine benutzerdefinierte Log Analytics-Metrik anstelle einer benutzerdefinierten Application Insights-Metrik. Gewähren Sie alternativ der vom Chaos Studio verwalteten Identität die erforderliche Application Insights Component Contributor Rolle in der Application Insights-Ressource, und wiederholen Sie den Fehler.

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.
Urne 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 „Metadaten“ und „Art“ 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.
Urne 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 „Metadaten“ und „Art“ 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.
Urne 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 „Metadaten“ und „Art“ 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.
Urne 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 „Metadaten“ und „Art“ 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.
Urne 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 „Metadaten“ und „Art“ 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. Hilfreich für die Rekonstruktion von AKS-Vorfällen aufgrund von Fehlern auf der Linux-Kernel-Ebene, wie zum Beispiel das Fehlschlagen eines Mountvorgangs oder nicht zugewiesener Speicher.
Voraussetzungen Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein.
Urne urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.2
Parameter (Schlüssel, Wert)
jsonSpec Eine JSON-formatierte Chaos Mesh-Spezifikation, die den KernelChaos-Typ verwendet. 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 „Metadaten“ und „Art“ 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.
Urne 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 „Metadaten“ und „Art“ 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.
Urne urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.2
Parameter (Schlüssel, Wert)
jsonSpec Eine Chaos Mesh-Spezifikation im JSON-Format, die den Typ DNSChaos verwendet. 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 „Metadaten“ und „Art“ 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"
    }
  ]
}

Abschaltung der 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.
Urne 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 Azure Cluster-Cache für Redis
Beschreibung Veranlasst einen erzwungenen Neustart des Ziels, um einen kurzen Ausfall zu simulieren.
Voraussetzungen
Urne urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0
Fehlertyp Diskret.
Parameter (Schlüssel, Wert)
Neustarttyp 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.
Urne 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 Ereignishubnamen 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.
Urne urn:csci:microsoft:eventHub:changeEventHubState/1.0
Fehlertyp Diskret.
Parameter (Schlüssel, Wert)
gewünschterZustand 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"
        }
    ]
}

Key Vault: 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 den Zugriff nur aus ausgewählten Netzwerken zulässt, werden alle virtuellen Netzwerke in der Erlaubnisliste zu Beginn der Störung 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.
Urne 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"
    }
  ]
}

Key Vault: Zertifikat deaktivieren

Eigenschaft Wert
Name der Funktion ZertifikatDeaktivieren-1.0
Zieltyp Microsoft-KeyVault
Beschreibung Der Fehler deaktiviert das Zertifikat anhand von Zertifikateigenschaften für eine bestimmte Dauer (angegeben vom Benutzer). Es aktiviert das Zertifikat nach diesem Fehlerzeitraum.
Voraussetzungen Keine.
Urne urn:csci:microsoft:keyvault:disableCertificate/1.0
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Zertifikatsname 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"
    }
  ]
}

Key Vault: Erhöhen 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 Zertifikatsversion wird nach der Dauer des Fehlers nicht wiederhergestellt.
Voraussetzungen Keine.
Urne urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0
Fehlertyp Diskret.
Parameter (Schlüssel, Wert)
Zertifikatsname 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"
    }
  ]
}

Key Vault: Aktualisierung 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.
Urne urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0
Fehlertyp Fortlaufend.
Parameter (Schlüssel, Wert)
Zertifikatsname 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.
aktiviert Boolesch. Wert, der angibt, ob die neue Zertifikatversion aktiviert ist.
GültigkeitInMonaten Gültigkeitsdauer des Zertifikats in Monaten.
certificateTransparency Gibt an, ob das Zertifikat bei der Erstellung in der Zertifikattransparenzliste veröffentlicht werden soll.
Zertifikatstyp Zertifikattyp.
Inhaltstyp Inhaltstyp des Zertifikats. Der Wert lautet beispielsweise „Pkcs12“, wenn das Zertifikat unformatierte PFX-Bytes enthält, oder „Pem“, wenn es ASCII-PEM-codierte Bytes enthält. Pkcs12 ist der vorausgesetzte Standardwert.
keySize Größe des RSA-Schlüssels: 2048, 3072 oder 4096.
exportierbar 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.
Schlüsseltyp 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:
  • Simulieren eines Ausfalls einer nachgelagerten oder regionsübergreifenden Abhängigkeit/Nichtabhängigkeit
  • Simulieren eines Ereignisses, von dem erwartet wird, dass es eine Logik zum Erzwingen eines Dienstfailovers auslöst
  • Simulieren eines Ereignisses, von dem erwartet wird, dass es eine Aktion eines Überwachungs- oder Zustandsüberwachungsdiensts auslöst
  • Verwendung als Alternative zum Blockieren oder Zulassen von Netzwerkdatenverkehr, wenn Chaos Agent nicht bereitgestellt werden kann
Voraussetzungen Keine.
Urne 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. Darf nur Buchstaben, Ziffern, Unterstriche, Punkte oder Bindestriche enthalten.
Protokoll Protokoll für die Sicherheitsregel. Muss Any, TCP, UDP oder ICMP sein.
Quelladressen 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.
Zieladressen Eine Zeichenfolge, die ein durch Trennzeichen getrenntes JSON-Array von CIDR-formatierten IP-Adressen darstellt. Hierbei kann es sich auch um einen Servicetag-Name für eine ausgehende Regel handeln, z. B. AppService. Es kann auch ein Sternchen (*) verwendet werden, um alle Ziel-IPs abzugleichen.
action Art des Zugriffs der Sicherheitsgruppe. Der Wert 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.
Priorität 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.
direction 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 in der NSG-Sicherheitsregel Version 1.1 unterstützt einen zusätzlichen flushConnection-Parameter. Diese Funktionalität weist ein aktives bekanntes Problem auf: Wenn flushConnection aktiviert ist, kann der Fehler zu einem „FlushingNetworkSecurityGroupConnectionIsNotEnabled“-Fehler führen. Um diesen Fehler vorübergehend zu vermeiden, deaktivieren Sie den Parameter flushConnection oder verwenden Sie die NSG-Sicherheitsregel in der 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 bestimmte Entitätsnamen beeinflussen oder verwenden * , um alle 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 Service Bus-Namespace mit mindestens einer Warteschlangenentität.
Urne urn:csci:microsoft:serviceBus:changeQueueState/1.0
Fehlertyp Diskret.
Parameter (Schlüssel, Wert)
gewünschterZustand Der gewünschte Zustand für die als Ziel ausgewählten Warteschlangen. Die möglichen Zustände sind „Aktiv“, „Deaktiviert“, „Senden deaktiviert“ und „Empfang deaktiviert“.
queues Eine durch Kommata getrennte Liste der Warteschlangennamen im ausgewählten Namespace. Verwenden Sie "*", um alle Warteschlangen im Namespace zu beeinflussen.

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 bestimmte Entitätsnamen beeinflussen oder verwenden * , um alle 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 Service Bus-Namespace mit mindestens einer Abonnemententität.
Urne urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0
Fehlertyp Diskret.
Parameter (Schlüssel, Wert)
gewünschterZustand Der gewünschte Zustand für die als Ziel ausgewählten Abonnements. Die möglichen Zustände sind „Aktiv“ und „Deaktiviert“.
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 "*", um alle Abonnements im Namespace zu beeinflussen.

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 Topic-Entitäten innerhalb eines Service Bus-Namespace auf die gewünschte Konfiguration fest. Sie können bestimmte Entitätsnamen beeinflussen oder verwenden * , um alle 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 Service Bus-Namespace mit mindestens einer Themaentität.
Urne urn:csci:microsoft:serviceBus:changeTopicState/1.0
Fehlertyp Diskret.
Parameter (Schlüssel, Wert)
gewünschterZustand Der gewünschte Zustand für die als Ziel ausgewählten Themen. Die möglichen Zustände sind „Aktiv“ und „Deaktiviert“.
topics Eine durch Trennzeichen getrennte Liste der Themennamen im ausgewählten Namespace. Verwenden Sie "*", um alle Themen im Namespace zu beeinflussen.

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-virtuelle Maschine
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.
Urne 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.
  • Fehler bei der VM-Erweiterung, die während des Neustartvorgangs auftreten, werden ignoriert. Dies bedeutet, dass der virtuelle Computer erfolgreich neu gestartet wird, aber eine VM-Erweiterung nicht geladen werden kann, wird der Fehler als erfolgreich betrachtet. Ignorierte Erweiterungsfehler sind VMExtensionProvisioningError, VMExtensionProvisioningTimeout, VMExtensionManagementInternalError und VMExtensionHandlerNonTransientError.

Herunterfahren einer VM

Eigenschaft Wert
Name der Funktion Herunterfahren-1.0
Zieltyp Microsoft-virtuelle Maschine
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.
Urne 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"
    }
  ]
}

Begrenzungen

  • Fehler bei der VM-Erweiterung, die während des Neustartvorgangs auftreten, werden ignoriert. Dies bedeutet, dass der virtuelle Computer erfolgreich neu gestartet wird, aber eine VM-Erweiterung nicht geladen werden kann, wird der Fehler als erfolgreich betrachtet. Ignorierte Erweiterungsfehler sind VMExtensionProvisioningError, VMExtensionProvisioningTimeout, VMExtensionManagementInternalError und VMExtensionHandlerNonTransientError.

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 Herunterfahren-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.
Urne 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.
Beispiele 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"
    }
  ]
}
Begrenzungen
  • Fehler bei der VM-Erweiterung, die während des Neustartvorgangs auftreten, werden ignoriert. Dies bedeutet, wenn die VM-Skalierungsinstanzen erfolgreich neu gestartet werden, aber VM-Erweiterungen nicht geladen werden, wird der Fehler als erfolgreich angesehen. Ignorierte Erweiterungsfehler sind VMExtensionProvisioningError, VMExtensionProvisioningTimeout, VMExtensionManagementInternalError und VMExtensionHandlerNonTransientError.

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.
Urne 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:
  • Wenn kein Filter angegeben ist, fährt dieser Fehler alle Instanzen in der VM-Skalierungsgruppe herunter.
  • Das Experiment zielt auf alle VM-Skalierungsgruppeninstanzen in den angegebenen Zonen ab.
  • Wenn ein Filter keine Ziele liefert, schlägt das Experiment fehl.
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 von „Shutdown 2.0“ 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.
  • Fehler bei der VM-Erweiterung, die während des Neustartvorgangs auftreten, werden ignoriert. Dies bedeutet, wenn die VM-Skalierungsinstanzen erfolgreich neu gestartet werden, aber VM-Erweiterungen nicht geladen werden, wird der Fehler als erfolgreich angesehen. Ignorierte Erweiterungsfehler sind VMExtensionProvisioningError, VMExtensionProvisioningTimeout, VMExtensionManagementInternalError und VMExtensionHandlerNonTransientError.

Von Bedeutung

Einschränkung: Der Herunterfahrfehler des Skalierungsgruppensets für virtuelle Computer kann auftreten, wenn sich die Ziel-Skalierungsgruppe in einem Aktualisierungszustand befindet (z. B. während der Skalierung oder Betriebssystemupdates). Stellen Sie sicher, dass Ihr VMSS beim Ausführen dieses Fehlers nicht aktiv aktualisiert wird. Dies ist eine bekannte Plattformeinschränkung.

Details: Orchestrierungsaktionen

Verzögerung

Eigenschaft Wert
Störungsanbieter
Unterstützte Betriebssystemtypen
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
Urne 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.
Urne 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.
Urne 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"
    }
  ]
}