Azure Chaos Studio-Fehler- und Aktionsbibliothek

Dieser Artikel listet die Fehler auf, die Sie in Chaos Studio verwenden können, organisiert nach dem jeweiligen Ressourcentyp. Um zu verstehen, welche Rollenzuweisungen für jeden Ressourcentyp empfohlen werden, lesen Sie Unterstützte Ressourcentypen und Rollenzuweisungen für Azure Chaos Studio.

Agentbasierte Fehler

Agent-basierende Fehler werden in Azure Virtual Machines oder Instanzen einer VM-Skalierungsgruppe eingefügt, indem der Chaos Studio-Agent installiert wird. Suchen Sie die dienstspezifischen Fehleroptionen für diese Ressourcen weiter unten in den Tabellen VM und VM-Skalierungsgruppe.

Anwendbare Betriebssystemtypen Fehlername Zutreffende Szenarios
Windows, Linux CPU-Druck Berechnen von Kapazitätsverlusten, Ressourcendruck
Windows, Linux Beendigungsprozess Abhängigkeitsunterbrechung
Windows, Linux Netzwerktrennung Netzwerkunterbrechung
Windows, Linux Netzwerkwartezeit Netzwerkleistungsbeeinträchtigung
Windows, Linux Netzwerkpaketverlust Probleme mit der Netzwerkzuverlässigkeit
Windows, Linux Physischer Speicherdruck Speicherkapazitätsverlust, Ressourcendruck
Windows, Linux Beenden des Diensts Dienstunterbrechung/Neustart
Windows, Linux Zeitumstellung Zeitsynchronisierungsprobleme
Windows, Linux Virtueller Speicherdruck Speicherkapazitätsverlust, Ressourcendruck
Linux Willkürliche Stress-ng-Belastung Allgemeiner Systembelastungstest
Linux Linux DiskIO-Druck Datenträger-E/A-Leistungsbeeinträchtigung
Windows DiskIO-Druck Datenträger-E/A-Leistungsbeeinträchtigung
Windows DNS-Fehler Probleme bei der DNS-Auflösung
Windows Netzwerkunterbrechung (über Firewall) Netzwerkunterbrechung

App Service

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

Fehlername Zutreffende Szenarios
Beenden von App Service Dienstunterbrechung

Einstellungen für die automatische Skalierung

Dieser Abschnitt gilt für den Microsoft.Insights/autoscaleSettings-Ressourcentyp. Weitere Informationen zu Autoskalierungseinstellungen.

Fehlername Zutreffende Szenarios
Deaktivieren der automatischen Skalierung Compute-Kapazitätsverlust (bei Verwendung mit VMSS-Herunterfahren)

Azure Kubernetes Service

Dieser Abschnitt gilt für den Microsoft.ContainerService/managedClusters-Ressourcentyp. Erfahren Sie mehr über Azure Kubernetes Service.

Fehlername Zutreffende Szenarios
AKS Chaos Mesh DNS-Chaos Probleme bei der DNS-Auflösung
AKS Chaos Mesh HTTP-Chaos Netzwerkunterbrechung
AKS Chaos Mesh E/A-Chaos Beeinträchtigung/Druck des Datenträgers
AKS Chaos Mesh Kernel-Chaos Kernelunterbrechung
AKS Chaos Mesh Netzwerk-Chaos Netzwerkunterbrechung
AKS Chaos Mesh Pod-Chaos Containerunterbrechung
AKS Chaos Mesh Stress-Chaos Systembelastungstest
AKS Chaos Mesh Zeit-Chaos Zeitsynchronisierungsprobleme

Cloud Services (Klassisch)

Dieser Abschnitt gilt für den Microsoft.ClassicCompute/domainNames-Ressourcentyp. Erfahren Sie mehr über Cloud Services (Klassisch).

Fehlername Zutreffende Szenarios
Herunterfahren des Clouddiensts Computeverlust

Geclusterter Cache für Redis

Dieser Abschnitt gilt für den Microsoft.Cache/redis-Ressourcentyp. Erfahren Sie mehr über den geclusterten Cache für Redis.

Fehlername Zutreffende Szenarios
Azure Cache for Redis (Neustart) Abhängigkeitsunterbrechung (Caches)

Cosmos DB

Dieser Abschnitt gilt für den Microsoft.DocumentDB/databaseAccounts-Ressourcentyp. Erfahren Sie mehr über Cosmos DB.

Fehlername Zutreffende Szenarios
Cosmos DB-Failover Datenbankfailover

Event Hubs

Dieser Abschnitt gilt für den Microsoft.EventHub/namespaces-Ressourcentyp. Erfahren Sie mehr über Event Hubs.

Fehlername Zutreffende Szenarios
Event Hub-Status ändern Fehlkonfiguration/Unterbrechung der Messaginginfrastruktur

Schlüsseltresor

Dieser Abschnitt gilt für den Microsoft.KeyVault/vaults-Ressourcentyp. Informieren Sie sich ausführlicher über Key Vault.

Fehlername Zutreffende Szenarios
Key Vault: Zugriff verweigern Zertifikatsverweigerung
Key Vault: Deaktivieren des Zertifikats Zertifikatsunterbrechung
Key Vault: Inkrementieren der Zertifikatsversion Inkrement der Zertifikatsversion
Key Vault: Aktualisieren der Zertifikatsrichtlinie Änderungen/Fehlkonfigurationen der Zertifikatsrichtlinie

Netzwerksicherheitsgruppen

Dieser Abschnitt gilt für den Microsoft.Network/networkSecurityGroups-Ressourcentyp. Erfahren Sie mehr über Netzwerksicherheitsgruppen.

Fehlername Zutreffende Szenarios
NSG-Sicherheitsregel Netzwerkunterbrechung (für viele Azure-Dienste)

Service Bus

Dieser Abschnitt gilt für den Microsoft.ServiceBus/namespaces-Ressourcentyp. Erfahren Sie mehr über Service Bus.

Fehlername Zutreffende Szenarios
Warteschlangenstatus ändern Fehlkonfiguration/Unterbrechung der Messaginginfrastruktur
Abonnementstatus ändern Fehlkonfiguration/Unterbrechung der Messaginginfrastruktur
Themenstatus ändern Fehlkonfiguration/Unterbrechung der Messaginginfrastruktur

Virtual Machines (dienstspezifisch)

Dieser Abschnitt gilt für den Microsoft.Compute/virtualMachines-Ressourcentyp. Erfahren Sie mehr über Virtual Machines.

Fehlername Zutreffende Szenarios
Erneute VM-Bereitstellung Compute-Unterbrechung, Wartungsereignisse
VM-Herunterfahren Compute-Verlust/-Unterbrechung

VM-Skalierungsgruppe

Dieser Abschnitt gilt für den Microsoft.Compute/virtualMachineScaleSets-Ressourcentyp. Erfahren Sie mehr über Virtual Machine Scale Sets.

Fehlername Zutreffende Szenarios
VMSS-Herunterfahren Compute-Verlust/-Unterbrechung
VMSS-Herunterfahren (2.0) Compute-Verlust/-Unterbrechung (nach Verfügbarkeitszone)

Orchestrierungsaktionen

Diese Aktionen sind Bausteine zum Erstellen effektiver Experimente. Verwenden Sie diese in Kombination mit anderen Fehlern, z. B. dem Ausführen eines Auslastungstests, während gleichzeitig Compute-Instanzen in einer Zone heruntergefahren werden.

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

Details: Agent-basierende Fehler

Netzwerktrennung

Eigenschaft Wert
Name der Funktion NetworkDisconnect-1.1
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows, Linux
Beschreibung Blockiert den ausgehenden Netzwerkverkehr für den angegebenen Portbereich und Netzwerkblock. Mindestens ein destinationFilter- oder inboundDestinationFilter-Array muss bereitgestellt werden.
Voraussetzungen Windows: Der Agent muss unter einem Administratorkonto ausgeführt werden, was standardmäßig geschieht, wenn er als VM-Erweiterung installiert ist.
Linux: Das Paket tc (Datenverkehrskontrolle) wird für Netzwerkfehler verwendet. Wenn es noch nicht installiert ist, versucht der Agent automatisch, es über den Standard-Paket-Manager zu installieren.
URN urn:csci:microsoft:agent:networkDisconnect/1.1
Parameter (Schlüssel, Wert)
ZielFilter Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche ausgehenden Pakete verwendet werden sollen. Maximal 16.
inboundDestinationFilters Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche eingehenden Pakete verwendet werden sollen. Maximal 16.
virtualMachineScaleSetInstances Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs.

Die Parameter destinationFilters und inboundDestinationFilters verwenden das folgende Array von Paketfiltern.

Eigenschaft Wert
address IP-Adresse, die den Beginn des IP-Bereichs angibt.
SubnetMaske Subnetzmaske für den IP-Adressbereich.
portLow (Optional) Portnummer für den Beginn des Portbereichs.
portHigh (Optional) Anschlussnummer des Endes des Anschlussbereichs.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkDisconnect/1.1",
      "parameters": [
        {
          "key": "destinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "inboundDestinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Begrenzungen

  • Die Agent-basierten Netzwerkfehler unterstützen derzeit nur IPv4-Adressen.
  • Der Netzwerktrennungsfehler betrifft nur neue Verbindungen. Bestehende aktive Verbindungen bleiben weiterhin bestehen. Sie können den Dienst oder Prozess neu starten, um die Unterbrechung von Verbindungen zu erzwingen.
  • Bei der Ausführung unter Windows funktioniert der Netzwerktrennungsfehler derzeit nur mit TCP- oder UDP-Paketen.

Netzwerkunterbrechung (über Firewall)

Eigenschaft Wert
Name der Funktion NetworkDisconnectViaFirewall-1.0
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows
Beschreibung Wendet eine Windows-Firewall-Regel an, um ausgehenden Datenverkehr für den angegebenen Portbereich und den Netzwerkblock zu blockieren.
Voraussetzungen Der Agent muss als Administrator ausgeführt werden. Wenn der Agent als VM-Erweiterung installiert ist, wird er standardmäßig als Administrator ausgeführt.
URN urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0
Parameter (Schlüssel, Wert)
ZielFilter Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche ausgehenden Pakete für die Fehlerinjektion verwendet werden sollen.
address IP-Adresse, die den Beginn des IP-Bereichs angibt.
SubnetMaske Subnetzmaske für den IP-Adressbereich.
portLow (Optional) Portnummer für den Beginn des Portbereichs.
portHigh (Optional) Anschlussnummer des Endes des Anschlussbereichs.
virtualMachineScaleSetInstances Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0",
      "parameters": [
        {
          "key": "destinationFilters",
          "value": "[ { \"Address\": \"23.45.229.97\", \"SubnetMask\": \"255.255.255.224\", \"PortLow\": \"5000\", \"PortHigh\": \"5200\" } ]"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Begrenzungen

  • Die Agent-basierten Netzwerkfehler unterstützen derzeit nur IPv4-Adressen.

Netzwerklatenz

Eigenschaft Wert
Name der Funktion NetworkLatency-1.1
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows, Linux (nur ausgehender Datenverkehr)
Beschreibung Erhöht die Netzwerklatenz für einen bestimmten Anschlussbereich und Netzwerkblock. Mindestens ein destinationFilter- oder inboundDestinationFilter-Array muss bereitgestellt werden.
Voraussetzungen Windows: Der Agent muss unter einem Administratorkonto ausgeführt werden, was standardmäßig geschieht, wenn er als VM-Erweiterung installiert ist.
Linux: Das Paket tc (Datenverkehrskontrolle) wird für Netzwerkfehler verwendet. Wenn es noch nicht installiert ist, versucht der Agent automatisch, es über den Standard-Paket-Manager zu installieren.
URN urn:csci:microsoft:agent:networkLatency/1.1
Parameter (Schlüssel, Wert)
LatenzInMillisekunden Höhe der anzuwendenden Latenz in Millisekunden.
ZielFilter Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche ausgehenden Pakete verwendet werden sollen. Maximal 16.
inboundDestinationFilters Durch Trennzeichen getrenntes JSON-Array von Paketfiltern, die festlegen, welche eingehenden Pakete verwendet werden sollen. Maximal 16.
virtualMachineScaleSetInstances Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs.

Die Parameter destinationFilters und inboundDestinationFilters verwenden das folgende Array von Paketfiltern.

Eigenschaft Wert
address IP-Adresse, die den Beginn des IP-Bereichs angibt.
SubnetMaske Subnetzmaske für den IP-Adressbereich.
portLow (Optional) Portnummer für den Beginn des Portbereichs.
portHigh (Optional) Anschlussnummer des Endes des Anschlussbereichs.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkLatency/1.1",
      "parameters": [
        {
          "key": "destinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "inboundDestinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "latencyInMilliseconds",
          "value": "100",
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Begrenzungen

  • Die Agent-basierten Netzwerkfehler unterstützen derzeit nur IPv4-Adressen.
  • Bei der Ausführung unter Linux kann sich der Netzwerklatenzfehler nur auf ausgehenden Datenverkehr und nicht auf eingehenden Datenverkehr auswirken. Der Fehler kann in Windows-Umgebungen sowohl eingehenden als auch ausgehenden Datenverkehr (über die inboundDestinationFilters- und destinationFilters-Parameter) beeinflussen.
  • Bei der Ausführung unter Windows funktioniert der Netzwerklatenzfehler derzeit nur mit TCP- oder UDP-Paketen.

Netzwerkpaketverlust

Eigenschaft Wert
Name der Funktion NetworkPacketLoss-1.0
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows, Linux
Beschreibung Führt Paketverluste für ausgehenden Datenverkehr mit einer bestimmten Rate ein, zwischen 0,0 (kein Paketverlust) und 1,0 (Verlust aller Pakete). Auf diese Weise können Szenarien wie Netzwerküberlastung oder Hardwareprobleme im Netzwerk simuliert werden.
Voraussetzungen Windows: Der Agent muss unter einem Administratorkonto ausgeführt werden, was standardmäßig geschieht, wenn er als VM-Erweiterung installiert ist.
Linux: Das Paket tc (Datenverkehrskontrolle) wird für Netzwerkfehler verwendet. Wenn es noch nicht installiert ist, versucht der Agent automatisch, es über den Standard-Paket-Manager zu installieren.
URN urn:csci:microsoft:agent:networkPacketLoss/1.0
Parameter (Schlüssel, Wert)
packetLossRate Die Rate, mit der Pakete, die den Zielfiltern entsprechen, verloren gehen (0,0 bis 1,0).
virtualMachineScaleSetInstances Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs.
ZielFilter Durch Trennzeichen getrenntes JSON-Array von Paketfiltern (die Parameter sind im Folgenden beschrieben), die festlegen, welche ausgehenden Pakete für die Fehlerinjektion verwendet werden sollen. Es können maximal drei Filter angegeben werden.
address IP-Adresse, die den Beginn des IP-Bereichs angibt.
SubnetMaske Subnetzmaske für den IP-Adressbereich.
portLow (Optional) Portnummer für den Beginn des Portbereichs.
portHigh (Optional) Anschlussnummer des Endes des Anschlussbereichs.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkPacketLoss/1.0",
      "parameters": [
            {
                "key": "destinationFilters",
                "value": "[{\"address\":\"23.45.229.97\",\"subnetMask\":\"255.255.255.224\",\"portLow\":5000,\"portHigh\":5200}]"
            },
            {
                "key": "packetLossRate",
                "value": "0.5"
            },
            {
                "key": "virtualMachineScaleSetInstances",
                "value": "[0,1,2]"
            }
        ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Begrenzungen

  • Die Agent-basierten Netzwerkfehler unterstützen derzeit nur IPv4-Adressen.
  • Bei der Ausführung unter Windows funktioniert der Netzwerkpaketverlustfehler derzeit nur mit TCP- oder UDP-Paketen.

DNS-Fehler

Eigenschaft Wert
Name der Funktion DNSFehler-1.0
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows
Beschreibung Ersetzt Antworten einer DNS-Suchanforderung durch einen angegebenen Fehlercode. Auf DNS-Suchanforderungen, die ersetzt werden, muss Folgendes zutreffen:
  • 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.
URN urn:csci:microsoft:agent:dnsFailure/1.0
Parameter (Schlüssel, Wert)
hosts Begrenztes JSON-Array von Hostnamen, für die eine DNS Lookup Anforderung fehlschlagen soll.

Diese Eigenschaft akzeptiert Platzhalter (*), jedoch nur für die erste Unterdomäne in einer Adresse, und die Gültigkeit ist auf die Unterdomäne beschränkt, für die sie angegeben werden. Beispiel:
  • *.microsoft.com wird unterstützt.
  • subdomain.*.microsoft wird nicht unterstützt.
  • Bei *.microsoft.com werden mehrere Unterdomänen in einer Adresse (z. B. unterdomaene1.unterdomaene2.microsoft.com) nicht berücksichtigt.
dnsFailureReturnCode DNS-Fehlercode, der an den Client für die fehlgeschlagene Lookup zurückgegeben wird (FormErr, ServFail, NXDomain, NotImp, Refused, XDomain, YXRRSet, NXRRSet, NotAuth, NotZone). Weitere Informationen zu DNS-Rückgabecodes finden Sie auf der IANA-Website.
virtualMachineScaleSetInstances Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:dnsFailure/1.0",
      "parameters": [
        {
          "key": "hosts",
          "value": "[ \"www.bing.com\", \"msdn.microsoft.com\" ]"
        },
        {
          "key": "dnsFailureReturnCode",
          "value": "ServFail"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Begrenzungen

  • Der DNS-Fehler erfordert Windows 2019 RS5 oder neuer.
  • Der DNS-Cache wird während der Dauer des Fehlers für die im Fehler definierten Hostnamen ignoriert.

CPU-Druck

Eigenschaft Wert
Name der Funktion CPUDruck-1.0
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows, Linux
Beschreibung Fügt CPU-Druck bis zum angegebenen Wert auf der VM hinzu, in die dieser Fehler während der Fehleraktion eingespeist wird. Der künstliche CPU-Druck wird am Ende der Laufzeit oder bei Abbruch des Experiments entfernt. Unter Windows wird der Leistungsindikator % Prozessor-Hilfsprogramm beim Starten eines Fehlers verwendet, um den aktuellen CPU-Prozentsatz zu ermitteln, der dann von dem im Fehler definierten pressureLevel subtrahiert wird, sodass % Prozessor-Hilfsprogramm ungefähr den pressureLevel erreicht, der in den Fehlerparametern definiert ist.
Voraussetzungen Linux: Das Hilfsprogramm stress-ng muss installiert werden. Dies erfolgt automatisch als Teil der Agenteninstallation unter Verwendung des Standard-Paket-Managers unter mehreren Betriebssystemen, darunter Debian-basierten (wie Ubuntu), Red Hat Enterprise Linux und openSUSE. Für andere Distributionen, einschließlich Azure Linux, müssen Sie stress-ng manuell installieren. Weitere Informationen finden Sie im Upstream-Projektrepository.
Windows: Nichts.
URN urn:csci:microsoft:agent:cpuPressure/1.0
Parameter (Schlüssel, Wert)
DruckLevel 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.
URN urn:csci:microsoft:agent:physicalMemoryPressure/1.0
Parameter (Schlüssel, Wert)
DruckLevel 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 Windows
Beschreibung Fügt auf der VM, auf der dieser Fehler eingeschleust wird, während der Fehleraktion virtuelle Speicherauslastung bis zum angegebenen Wert hinzu. Der künstliche virtuelle Speicherdruck wird am Ende der Laufzeit oder bei Abbruch des Experiments entfernt.
Voraussetzungen Keine.
URN urn:csci:microsoft:agent:physicalMemoryPressure/1.0
Parameter (Schlüssel, Wert)
DruckLevel 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 Windows
Beschreibung Verwendet das diskspd-Hilfsprogramm, um einer VM Datenträgerauslastung hinzuzufügen. Die Auslastung wird standardmäßig dem primären Datenträger oder dem mit dem Parameter targetTempDirectory angegebenen Datenträger hinzugefügt. Dieser Fehler kann auf fünf verschiedene Arten ausgeführt werden. Der künstliche Scheibendruck wird am Ende der Laufzeit oder bei Abbruch des Experiments entfernt.
Voraussetzungen Keine.
URN urn:csci:microsoft:agent:diskIOPressure/1.1
Parameter (Schlüssel, Wert)
DruckModus Der voreingestellte Modus des Festplattendrucks, der dem primären Speicher der VM hinzugefügt wird. Hierbei muss es sich um einen der PressureModes in der folgenden Tabelle handeln.
targetTempDirectory (Optional) Das Verzeichnis, das zum Anwenden der Datenträgerauslastung verwendet werden soll. Beispiel: D:/Temp. Wenn der Parameter nicht angegeben ist, wird die Auslastung dem primären Datenträger hinzugefügt.
virtualMachineScaleSetInstances Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs.

Druckmodi

DruckModus Beschreibung
PremiumSpeicherP10IOPS AnzahlThreads = 1
zufälligeBlockgrößeInKB = 64
zufälligeSaat = 10
AnzahlIOperThread = 25
GrößederBlöckeInKB = 8
GrößeSchreibPufferInKB = 64
dateiGrößeInGB = 2
percentOfWriteActions = 50
PremiumSpeicherP10Drosselung
AnzahlThreads = 2
zufälligeBlockgrößeInKB = 64
zufälligeSaat = 10
AnzahlIOperThread = 25
GrößederBlöckeInKB = 64
GrößeSchreibPufferInKB = 64
dateiGrößeInGB = 1
percentOfWriteActions = 50
PremiumSpeicherP50IOPS AnzahlThreads = 32
zufälligeBlockgrößeInKB = 64
zufälligeSaat = 10
AnzahlIOperThread = 32
GrößederBlöckeInKB = 8
GrößeSchreibPufferInKB = 64
dateiGrößeInGB = 1
percentOfWriteActions = 50
PremiumSpeicherP50Drosselung AnzahlThreads = 2
zufälligeBlockgrößeInKB = 1024
zufälligeSaat = 10
AnzahlIOperThread = 2
GrößederBlöckeInKB = 1024
GrößeSchreibPufferInKB = 1024
fileSizeInGB = 20
percentOfWriteActions = 50
Standard AnzahlThreads = 2
zufälligeBlockgrößeInKB = 64
zufälligeSaat = 10
AnzahlIOperThread = 2
GrößederBlöckeInKB = 64
GrößeSchreibPufferInKB = 64
dateiGrößeInGB = 1
percentOfWriteActions = 50

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:diskIOPressure/1.1",
      "parameters": [
        {
          "key": "pressureMode",
          "value": "PremiumStorageP10IOPS"
        },
        {
          "key": "targetTempDirectory",
          "value": "C:/temp/"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Linux-Datenträger-E/A-Druck

Eigenschaft Wert
Name der Funktion LinuxDiskIOPressure-1.1
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Linux
Beschreibung Mit Hilfe von Stress wird Druck auf die Scheibe ausgeübt. Es werden ein oder mehrere Arbeitsprozesse gestartet, die E/A-Prozesse mit temporären Dateien durchführen. Die Auslastung wird standardmäßig dem primären Datenträger oder dem mit dem Parameter targetTempDirectory angegebenen Datenträger hinzugefügt. Informationen zum Anwenden von Auslastung finden Sie im Artikel zu stress-ng.
Voraussetzungen Linux: Das Hilfsprogramm stress-ng muss installiert werden. Dies erfolgt automatisch als Teil der Agenteninstallation unter Verwendung des Standard-Paket-Managers unter mehreren Betriebssystemen, darunter Debian-basierten (wie Ubuntu), Red Hat Enterprise Linux und openSUSE. Für andere Distributionen, einschließlich Azure Linux, müssen Sie stress-ng manuell installieren. Weitere Informationen finden Sie im Upstream-Projektrepository.
URN urn:csci:microsoft:agent:linuxDiskIOPressure/1.1
Parameter (Schlüssel, Wert)
ArbeiterZahl Anzahl der auszuführenden Arbeitsprozesse. Wenn workerCount auf 0 festgelegt wird, werden so viele Workerprozesse erzeugt, wie es Prozessoren gibt.
fileSizePerWorker Größe der temporären Datei, für die ein Worker E/A-Vorgänge durchführt. Ganzzahl plus eine Einheit in Bytes (b), Kilobytes (k), Megabytes (m) oder Gigabytes (g) (z. B. 4m für 4 Megabytes und 256g für 256 Gigabytes).
Blockgröße Blockgröße, die für Datenträger-E/A-Vorgänge verwendet werden soll, größer als 1 Byte und kleiner als 4 Megabyte (Maximalwert ist 4095k). Ganzzahl plus eine Einheit einer Einheit in Bytes, Kilobytes oder Megabytes (z. B. 512k für 512 Kilobytes).
targetTempDirectory (Optional) Das Verzeichnis, das zum Anwenden der Datenträgerauslastung verwendet werden soll. Beispiel: /tmp/. Wenn der Parameter nicht angegeben ist, wird die Auslastung dem primären Datenträger hinzugefügt.
virtualMachineScaleSetInstances Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs.

Beispiel-JSON

Diese Beispielwerte erzeugten ca. 100 % Datenträgerdruck, wenn sie auf einer Standard_D2s_v3-VM mit lokal redundantem SSD Premium-Speicher getestet wurden. Ein großer fileSizePerWorker und eine kleinere blockSize helfen dabei, den Datenträger vollständig zu belasten.

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:linuxDiskIOPressure/1.1",
      "parameters": [
        {
          "key": "workerCount",
          "value": "4"
        },
        {
          "key": "fileSizePerWorker",
          "value": "2g"
        },
        {
          "key": "blockSize",
          "value": "64k"
        },
        {
          "key": "targetTempDirectory",
          "value": "/tmp/"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Dienst beenden

Eigenschaft Wert
Name der Funktion StopService-1.0
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows, Linux
Beschreibung Hält einen Windows-Dienst oder einen Linux-systemd-Dienst während des Fehlers an. Startet den Dienst am Ende der angegebenen Dauer oder bei Abbruch des Experiments neu.
Voraussetzungen Keine.
URN urn:csci:microsoft:agent:stressNg/1.0
Parameter (Schlüssel, Wert)
serviceName Name des Windows-Diensts oder Linux-systemd-Diensts, den Sie anhalten möchten.
virtualMachineScaleSetInstances Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:stopService/1.0",
      "parameters": [
        {
          "key": "serviceName",
          "value": "nvagent"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Begrenzungen

  • Windows: Anzeigenamen für Dienste werden nicht unterstützt. Verwenden Sie sc.exe query in der Eingabeaufforderung, um Dienstnamen zu untersuchen.
  • Linux: Außer systemd werden keine anderen Diensttypen (z. B. sysvinit) unterstützt.

Beendigungsprozess

Eigenschaft Wert
Name der Funktion KillProcess-1.0
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows, Linux
Beschreibung Beendet alle laufenden Instanzen eines Prozesses, der mit dem in den Fehlerparametern angegebenen Prozessnamen übereinstimmt. Innerhalb der für die Fault Action festgelegten Dauer wird ein Prozess auf der Grundlage des angegebenen Kill-Intervalls wiederholt beendet. Bei diesem Fehler handelt es sich um einen destruktiven Fehler, bei dem der Systemadministrator den Prozess manuell wiederherstellen müsste, wenn die Selbstheilung dafür konfiguriert ist.
Voraussetzungen Keine.
URN urn:csci:microsoft:agent:killProcess/1.0
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"
    }
  ]
}

Zeitumstellung

Eigenschaft Wert
Name der Funktion TimeChange-1.0
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Windows
Beschreibung Ändert die Systemzeit der VM und setzt sie am Ende des Experiments oder bei Abbruch des Experiments zurück.
Voraussetzungen Keine.
URN urn:csci:microsoft:agent:timeChange/1.0
Parameter (Schlüssel, Wert)
dateTime Eine DateTime-Zeichenkette im Format ISO8601. Sollten YYYY-MM-DD-Werte fehlen, werden sie standardmäßig auf den aktuellen Tag festgelegt, an dem das Experiment ausgeführt wird. Wenn die Werte Thh:mm:ss fehlen, ist der Standardwert 12:00:00 AM. Wenn eine zweistellige Jahreszahl angegeben wird (YY), wird sie auf der Grundlage des aktuellen Jahrhunderts in eine vierstellige Jahreszahl (YYYY) umgewandelt. Wenn die Zeitzone <Z> fehlt, ist der Standardoffset die lokale Zeitzone. <Z> muss immer ein Vorzeichensymbol (negativ oder positiv) enthalten.
virtualMachineScaleSetInstances Ein Array von Instanz-IDs, wenn Sie diesen Fehler auf eine VM-Skalierungsgruppe anwenden. Erforderlich für VM-Skalierungsgruppen im einheitlichen Orchestrierungsmodus. Weitere Informationen zu Instanz-IDs.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:timeChange/1.0",
      "parameters": [
        {
          "key": "dateTime",
          "value": "2038-01-01T03:14:07"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Willkürliche Stress-ng-Belastung

Eigenschaft Wert
Name der Funktion StressNg-1.0
Zieltyp Microsoft-Agent
Unterstützte Betriebssystemtypen Linux
Beschreibung Führt einen beliebigen stress-ng-Befehl aus, indem Argumente direkt an stress-ng übergeben werden. Dies ist hilfreich, wenn einer der vordefinierten Fehler für stress-ng nicht Ihren Anforderungen entspricht.
Voraussetzungen Linux: Das Hilfsprogramm stress-ng muss installiert werden. Dies erfolgt automatisch als Teil der Agenteninstallation unter Verwendung des Standard-Paket-Managers unter mehreren Betriebssystemen, darunter Debian-basierten (wie Ubuntu), Red Hat Enterprise Linux und openSUSE. Für andere Distributionen, einschließlich Azure Linux, müssen Sie stress-ng manuell installieren. Weitere Informationen finden Sie im Upstream-Projektrepository.
URN urn:csci:microsoft:agent:stressNg/1.0
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.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:stressNg/1.0",
      "parameters": [
        {
          "key": "stressNgArguments",
          "value": "--random 64"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Details: Dienstspezifische Fehler

Beenden von App Service

Eigenschaft Wert
Name der Funktion Stop-1.0
Zieltyp Microsoft-AppService
Beschreibung Hält die als Ziel ausgewählten App Service-Anwendungen an und startet sie dann am Ende der Fehlerdauer neu. Diese Aktion gilt für Ressourcen vom Typ „Microsoft.Web/sites“, einschließlich App Service, API-Apps, mobile Apps und Azure Functions.
Voraussetzungen Keine.
URN urn:csci:microsoft:appService:stop/1.0
Fehlertyp Fortlaufend
Parameter (Schlüssel, Wert) Keine.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:appService:stop/1.0",
      "duration": "PT10M",
      "parameters":[],
      "selectorid": "myResources"
    }
  ]
}

Deaktivieren der automatischen Skalierung

Eigenschaft Wert
Name der Funktion DisaleAutoscale
Zieltyp Microsoft-AutoscaleSettings
Beschreibung Deaktiviert den Autoskalierungsdienst. Wenn die Autoskalierung deaktiviert ist, werden Ressourcen wie VM-Skalierungsgruppen, Web-Apps, Servicebus und andere Ressourcen nicht automatisch basierend auf der Auslastung der Anwendung hinzugefügt oder entfernt.
Voraussetzungen Für die autoScalesetting-Ressource, die für die Ressource aktiviert ist, muss das Onboarding in Chaos Studio durchgeführt werden.
URN urn:csci:microsoft:autoscalesettings:disableAutoscale/1.0
Fehlertyp Fortlaufend
Parameter (Schlüssel, Wert)
enableOnComplete Boolesch. Konfiguriert, ob die automatische Skalierung nach Abschluss der Aktion erneut aktiviert wird. Der Standardwert ist true.

Beispiel-JSON

{
  "name": "BranchOne", 
  "actions": [ 
    { 
    "type": "continuous", 
    "name": "urn:csci:microsoft:autoscaleSetting:disableAutoscale/1.0", 
    "parameters": [ 
     { 
      "key": "enableOnComplete", 
      "value": "true" 
      }                 
  ],                                 
   "duration": "PT2M", 
   "selectorId": "Selector1",           
  } 
 ] 
} 

AKS Chaos Mesh Netzwerk-Chaos

Eigenschaft Wert
Name der Funktion NetzwerkChaos-2.1
Zieltyp Microsoft-AzureKubernetesServiceChaosMesh
Unterstützte Knotenpool-Betriebssystemtypen Linux
Beschreibung Bewirkt, dass ein über Chaos Mesh verfügbarer Netzwerkfehler für Ihren Azure Kubernetes Service-Cluster (AKS) ausgeführt wird. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von Netzwerkausfällen, Verzögerungen, Duplizierungen, Verlusten und Beschädigungen.
Voraussetzungen Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein.
URN urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.1
Parameter (Schlüssel, Wert)
jsonSpec Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „NetworkChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec-Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.1",
      "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.1
Zieltyp Microsoft-AzureKubernetesServiceChaosMesh
Unterstützte Knotenpool-Betriebssystemtypen Linux
Beschreibung Bewirkt, dass ein über Chaos Mesh verfügbarer Pod-Fehler gegen Ihren AKS-Cluster läuft. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von Podfehlern oder Containerproblemen.
Voraussetzungen Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein.
URN urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.1
Parameter (Schlüssel, Wert)
jsonSpec Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „PodChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec-Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.1",
      "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.1
Zieltyp Microsoft-AzureKubernetesServiceChaosMesh
Unterstützte Knotenpool-Betriebssystemtypen Linux
Beschreibung Bewirkt, dass ein über Chaos Mesh verfügbarer Stress-Fehler gegen Ihren AKS-Cluster läuft. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von Belastungsproblemen in einer Sammlung von Pods (z. B. hohe CPU- oder Speicherauslastung).
Voraussetzungen Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein.
URN urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.1
Parameter (Schlüssel, Wert)
jsonSpec Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „StressChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec-Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.1",
      "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.1
Zieltyp Microsoft-AzureKubernetesServiceChaosMesh
Unterstützte Knotenpool-Betriebssystemtypen Linux
Beschreibung Bewirkt, dass ein über Chaos Mesh verfügbarer IO-Fehler gegen Ihren AKS-Cluster läuft. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von E/A-Verzögerungen und Lese-/Schreibfehlern bei der Verwendung von E/A-Systemaufrufen wie open, read und write.
Voraussetzungen Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein.
URN urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.1
Parameter (Schlüssel, Wert)
jsonSpec Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „IOChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec-Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"latency\",\"mode\":\"one\",\"selector\":{\"app\":\"etcd\"},\"volumePath\":\"\/var\/run\/etcd\",\"path\":\"\/var\/run\/etcd\/**\/*\",\"delay\":\"100ms\",\"percent\":50}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

AKS Chaos Mesh Zeit-Chaos

Eigenschaft Wert
Name der Funktion TimeChaos-2.1
Zieltyp Microsoft-AzureKubernetesServiceChaosMesh
Unterstützte Knotenpool-Betriebssystemtypen Linux
Beschreibung Verursacht mithilfe von Chaos Mesh eine Änderung der Systemuhr auf Ihrem AKS-Cluster. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von verteilten Systemen, die nicht mehr synchronisiert sind, einer fehlenden/falschen Schaltjahr-/Schaltsekundenlogik usw.
Voraussetzungen Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein.
URN urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.1
Parameter (Schlüssel, Wert)
jsonSpec Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „TimeChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec-Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.1",
      "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.1
Zieltyp Microsoft-AzureKubernetesServiceChaosMesh
Unterstützte Knotenpool-Betriebssystemtypen Linux
Beschreibung Bewirkt, dass ein über Chaos Mesh verfügbarer Kernel-Fehler gegen Ihren AKS-Cluster läuft. Dies ist hilfreich für die Neuerstellung von AKS-Vorfällen aufgrund von Fehlern auf der Linux-Kernel-Ebene (z. B. Bereitstellungsfehler oder kein zugeordneter Speicher).
Voraussetzungen Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein.
URN urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.1
Parameter (Schlüssel, Wert)
jsonSpec Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „KernelChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec-Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.1",
      "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.1
Zieltyp Microsoft-AzureKubernetesServiceChaosMesh
Unterstützte Knotenpool-Betriebssystemtypen Linux
Beschreibung Bewirkt, dass ein über Chaos Mesh verfügbarer HTTP-Fehler für Ihren AKS-Cluster ausgeführt wird. Dies ist hilfreich für die Neuerstellung von Vorfällen aufgrund von Fehlern bei der Verarbeitung von HTTP-Anforderungen und -Antworten (z. B. verzögerte oder falsche Antworten).
Voraussetzungen Für den AKS-Cluster muss Chaos Mesh bereitgestellt sein.
URN urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.1
Parameter (Schlüssel, Wert)
jsonSpec Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „HTTPChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec-Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.1",
      "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.1
Zieltyp Microsoft-AzureKubernetesServiceChaosMesh
Unterstützte Knotenpool-Betriebssystemtypen Linux
Beschreibung Bewirkt, dass ein über Chaos Mesh verfügbarer DNS-Fehler für Ihren AKS-Cluster ausgeführt wird. Dies ist hilfreich für die Neuerstellung von Vorfällen aufgrund von DNS-Fehlern.
Voraussetzungen Im AKS-Cluster muss Chaos Mesh bereitgestellt sein, und der DNS-Dienst muss installiert sein.
URN urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.1
Parameter (Schlüssel, Wert)
jsonSpec Eine JSON-formatierte Chaos Mesh-Spezifikation mit dem kind-Wert „DNSChaos“. Sie können einen YAML-zu-JSON-Konverter wie Konvertieren von YAML in JSON verwenden, um Chaos-Mesh-YAML in JSON zu konvertieren und zu minimieren. Verwenden Sie einfache Anführungszeichen innerhalb des JSON-Codes, oder versehen Sie die Anführungszeichen mit einem umgekehrten Schrägstrich als Escapezeichen. Fügen Sie den YAML-Code nur unter der jsonSpec-Eigenschaft hinzu. Fügen Sie keine Informationen wie „metadata“ und „kind“ hinzu. Die Angabe der Dauer in jsonSpec ist nicht erforderlich, wird jedoch verwendet, sofern sie verfügbar ist.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"random\",\"mode\":\"all\",\"patterns\":[\"google.com\",\"chaos-mesh.*\",\"github.?om\"],\"selector\":{\"namespaces\":[\"default\"]}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Herunterfahren von Cloud Services(Klassisch)

Eigenschaft Wert
Name der Funktion Herunterfahren-1.0
Zieltyp Microsoft-DomainName
Beschreibung Hält eine Bereitstellung während des Fehlers an. Startet die Bereitstellung am Ende der Fehlerdauer oder bei Abbruch des Experiments neu.
Voraussetzungen Keine.
URN urn:csci:microsoft:domainName:shutdown/1.0
Fehlertyp Fortlaufend
Parameter Keine.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:domainName:shutdown/1.0",
      "parameters": [],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Azure Cache for Redis (Neustart)

Eigenschaft Wert
Name der Funktion Reboot-1.0
Zieltyp Microsoft-AzureClusteredCacheForRedis
Beschreibung Veranlasst einen erzwungenen Neustart des Ziels, um einen kurzen Ausfall zu simulieren.
Voraussetzungen N/V
URN urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0
Fehlertyp Diskret
Parameter (Schlüssel, Wert)
rebootType Die Knotentypen, für die die Neustartaktion durchgeführt werden soll, können als PrimaryNode, SecondaryNode oder AllNodes angegeben werden.
shardid Die ID des Shards, der neu gebootet werden soll. Dies gilt nur für Caches mit dem Premium-Tarif.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0",
      "parameters": [
        {
          "key": "RebootType",
          "value": "AllNodes"
        },
        {
          "key": "ShardId",
          "value": "0"
        }
      ],
      "selectorid": "myResources"
    }
  ]
}

Begrenzungen

  • Der Neustartfehler führt einen erzwungenen Neustart herbei, um eine bessere Simulation eines Ausfalls zu ermöglichen. Daher können Datenverluste auftreten.
  • Der Neustartfehler ist ein diskreter Fehlertyp. Anders als bei Dauerfehlern handelt es sich um eine einmalige und somit kurze Aktion ohne Dauer.

Cosmos DB-Failover

Eigenschaft Wert
Name der Funktion Ausfallsicherung-1.0
Zieltyp Microsoft-CosmosDB
Beschreibung Bewirkt, dass für ein Azure Cosmos DB-Konto mit einer einzelnen Schreibregion ein Failover zu einer angegebenen Leseregion ausgeführt wird, um einen Ausfall der Schreibregion zu simulieren.
Voraussetzungen Keine.
URN urn:csci:microsoft:cosmosDB:failover/1.0
Parameter (Schlüssel, Wert)
readRegion Die Leseregion, die während des Failovers zu einer Schreibregion höher gestuft werden soll, z. B. East US 2.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:cosmosDB:failover/1.0",
      "parameters": [
        {
          "key": "readRegion",
          "value": "West US 2"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Event Hub-Status ändern

Eigenschaft Wert
Name der Funktion ChangeEventHubState-1.0
Zieltyp Microsoft-EventHub
Beschreibung Legt einzelne Event Hubs auf den gewünschten Zustand innerhalb eines Azure Event Hubs-Namespaces fest. Sie können bestimmte Event Hub-Namen beeinflussen oder „*“ verwenden, um alle Innerhalb des Namespaces zu beeinflussen. Mit dieser Aktion können Sie Ihre Messaginginfrastruktur im Hinblick auf Wartungs- oder Fehlerszenarien testen. Dies ist ein diskreter Fehler. Die Entität wird daher nicht automatisch auf den Anfangszustand zurückgesetzt.
Voraussetzungen Ein Azure Event Hubs-Namespace mit mindestens einer Event Hub-Entität.
URN urn:csci:microsoft:eventHub:changeEventHubState/1.0
Fehlertyp Diskret
Parameter (Schlüssel, Wert)
desiredState Der gewünschte Zustand für die als Ziel ausgewählten Event Hubs. Die möglichen Zustände sind „Active“, „Disabled“ und „SendDisabled“.
eventHubs Eine durch Trennzeichen getrennte Liste der Event Hub-Namen im ausgewählten Namespace. Verwenden Sie das „*“, um alle Entitäten innerhalb des Namespace zu beeinflussen.

Beispiel-JSON

{
  "name": "Branch1",
    "actions": [
        {
            "selectorId": "Selector1",
            "type": "discrete",
            "parameters": [
                {
                    "key": "eventhubs",
                    "value": "[\"*\"]"
                },
                {
                    "key": "desiredState",
                    "value": "Disabled"
                }
            ],
            "name": "urn:csci:microsoft:eventHub:changeEventHubState/1.0"
        }
    ]
}

Schlüsseltresor: Zugriff verweigern

Eigenschaft Wert
Name der Funktion DenyAccess-1.0
Zieltyp Microsoft-KeyVault
Beschreibung Blockiert den gesamten Netzwerkzugriff auf einen Schlüsseltresor, indem die Netzwerkregeln für den Schlüsseltresor vorübergehend geändert werden. Diese Aktion verhindert, dass eine Anwendung, die vom Schlüsseltresor abhängig ist, auf Geheimnisse, Schlüssel und/oder Zertifikate zugreift. Wenn der Schlüsseltresor den Zugriff auf alle Netzwerke zulässt, wird diese Einstellung so geändert, dass nur der Zugriff aus ausgewählten Netzwerken zugelassen wird. Beim Start des Fehlers sind keine virtuellen Netzwerke in der Liste der zulässigen Netzwerke enthalten. Am Ende der Fehlerdauer wird allen Netzwerken der Zugriff erlaubt. Wenn der Schlüsseltresor nur den Zugriff aus ausgewählten Netzwerken zulässt, werden alle virtuellen Netzwerke in der Zulassungsliste beim Start des Fehlers entfernt. Sie werden am Ende der Fehlerdauer wiederhergestellt.
Voraussetzungen Für den Zielschlüsseltresor dürfen keine Firewallregeln festgelegt sein, und er darf es Azure-Diensten nicht erlauben, die Firewall zu umgehen. Wenn der Zielschlüsseltresor so konfiguriert ist, dass er nur den Zugriff aus ausgewählten Netzwerken zulässt, muss mindestens eine VNET-Regel (Regel für virtuelle Netzwerke) vorhanden sein. Der Schlüsseltresor darf sich nicht im Wiederherstellungsmodus befinden.
URN urn:csci:microsoft:keyVault:denyAccess/1.0
Fehlertyp Fortlaufend
Parameter (Schlüssel, Wert) Keine.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:keyvault:denyAccess/1.0",
      "parameters": [],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Schlüsseltresor: Deaktivieren des Zertifikats

Eigenschaft Wert
Name der Funktion DisableCertificate-1.0
Zieltyp Microsoft-KeyVault
Beschreibung Der Fehler deaktiviert das Zertifikat anhand von Zertifikateigenschaften für eine bestimmte Dauer (angegeben vom Benutzer). Er aktiviert das Zertifikat nach dieser Fehlerdauer.
Voraussetzungen Keine.
URN urn:csci:microsoft:keyvault:disableCertificate/1.0
Fehlertyp Fortlaufend
Parameter (Schlüssel, Wert)
certificateName Name des Azure Key Vault-Zertifikats, für das der Fehler ausgeführt wird.
version Zertifikatversion, die deaktiviert werden soll. Wenn die Version nicht angegeben ist, wird die aktuelle Version deaktiviert.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:keyvault:disableCertificate/1.0",
      "parameters": [
        {
            "key": "certificateName",
            "value": "<name of AKV certificate>"
        },
        {
            "key": "version",
            "value": "<certificate version>"
        }

],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Schlüsseltresor: Inkrementieren der Zertifikatversion

Eigenschaft Wert
Name der Funktion IncrementCertificateVersion-1.0
Zieltyp Microsoft-KeyVault
Beschreibung Generiert eine neue Zertifikatversion und einen Fingerabdruck mithilfe der Key Vault-Zertifikatclientbibliothek. Das aktuelle Zertifikat wird auf diese Version aktualisiert. Die Zertifikatversion wird nach der Fehlerdauer nicht wiederhergestellt.
Voraussetzungen Keine.
URN urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0
Fehlertyp Diskret
Parameter (Schlüssel, Wert)
certificateName Name des Azure Key Vault-Zertifikats, für das der Fehler ausgeführt wird.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0",
      "parameters": [
        {
            "key": "certificateName",
            "value": "<name of AKV certificate>"
        }
    ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Schlüsseltresor: Aktualisieren der Zertifikatrichtlinie

Eigenschaft Wert
Name der Funktion UpdateCertificatePolicy-1.0
Zieltyp Microsoft-KeyVault
Beschreibung Zertifikatrichtlinien (z. B. Gültigkeitsdauer des Zertifikats, Zertifikattyp, Schlüsselgröße oder Schlüsseltyp) werden basierend auf Benutzereingaben aktualisiert und nach der Fehlerdauer wiederhergestellt.
Voraussetzungen Keine.
URN urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0
Fehlertyp Fortlaufend
Parameter (Schlüssel, Wert)
certificateName Name des Azure Key Vault-Zertifikats, für das der Fehler ausgeführt wird.
version Zertifikatversion, die aktualisiert werden soll. Wenn die Version nicht angegeben ist, wird die aktuelle Version aktualisiert.
enabled Boolesch. Wert, der angibt, ob die neue Zertifikatversion aktiviert ist.
validityInMonths Gültigkeitsdauer des Zertifikats in Monaten.
certificateTransparency Gibt an, ob das Zertifikat bei der Erstellung in der Zertifikattransparenzliste veröffentlicht werden soll.
certificateType Zertifikattyp.
contentType Inhaltstyp des Zertifikats. Der Wert lautet beispielsweise „Pkcs12“, wenn das Zertifikat mit ASCII-PEM-codierte Bytes und unformatierte PFX-Bytes oder Privacy Enhanced Mail (PEM) enthält. Pkcs12 ist der vorausgesetzte Standardwert.
keySize Größe des RSA-Schlüssels: 2048, 3072 oder 4096.
exportable Boolesch. Wert, der angibt, ob der Zertifikatschlüssel aus dem Tresor oder dem sicheren Zertifikatspeicher exportiert werden kann.
reuseKey Boolesch. Wert, der angibt, ob der Zertifikatschlüssel beim Rotieren des Zertifikats wiederverwendet werden soll.
keyType Typ des Sicherungsschlüssels, der beim Ausstellen neuer Zertifikate generiert wird (z. B. RSA oder EC).

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0",
      "parameters": [
        {
            "key": "certificateName",
            "value": "<name of AKV certificate>"
        },
        {
            "key": "version",
            "value": "<certificate version>"
        },
        {
            "key": "enabled",
            "value": "True"
        },
        {
            "key": "validityInMonths",
            "value": "12"
        },
        {
            "key": "certificateTransparency",
            "value": "True"
        },
        {
            "key": "certificateType",
            "value": "<certificate type>"
        },
        {
            "key": "contentType",
            "value": "Pem"
        },
        {
            "key": "keySize",
            "value": "4096"
        },
                {
            "key": "exportable",
            "value": "True"
        },
        {
            "key": "reuseKey",
            "value": "False"
        },
        {
            "key": "keyType",
            "value": "RSA"
        }

     ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

NSG-Sicherheitsregel

Eigenschaft Wert
Name der Funktion SicherheitsRegel-1.0
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.
URN urn:csci:microsoft:networkSecurityGroup:securityRule/1.0
Parameter (Schlüssel, Wert)
name Ein eindeutiger Name für die Sicherheitsregel, die erstellt wird. Der Fehler schlägt fehl, wenn in der NSG bereits eine andere Regel mit demselben Namen vorhanden ist. Der Name muss mit einem Buchstaben oder einer Ziffer beginnen. Sie muss mit einem Buchstaben, einer Zahl oder einem Unterstrich enden. Der Name darf nur Buchstaben, Ziffern, Unterstriche, Punkte und Bindestriche enthalten.
Protokoll Protokoll für die Sicherheitsregel. Muss Any, TCP, UDP oder ICMP sein.
sourceAddresses Eine Zeichenfolge, die ein durch Trennzeichen getrenntes JSON-Array von CIDR-formatierten IP-Adressen darstellt. Hierbei kann es sich auch um einen Diensttagnamen für eine Eingangsregel handeln, z. B. AppService. Es kann auch ein Sternchen (*) verwendet werden, um alle Quell-IPs abzugleichen.
destinationAddresses Eine Zeichenfolge, die ein durch Trennzeichen getrenntes JSON-Array von CIDR-formatierten IP-Adressen darstellt. Hierbei kann es sich auch um einen Diensttagnamen für eine Ausgangsregel handeln, z. B. AppService. Es kann auch ein Sternchen (*) verwendet werden, um alle Ziel-IPs abzugleichen.
action Zugriffsart der Sicherheitsgruppe. Der Typ muss „Allow“ (Zulassen) oder „Deny“ (Verweigern) lauten.
destinationPortRanges Eine Zeichenfolge, die ein durch Trennzeichen getrenntes JSON-Array von einzelnen Ports und/oder Portbereichen darstellt, z. B. 80 oder 1024-65535.
sourcePortRanges Eine Zeichenfolge, die ein durch Trennzeichen getrenntes JSON-Array von einzelnen Ports und/oder Portbereichen darstellt, z. B. 80 oder 1024-65535.
priority Ein Wert zwischen 100 und 4096, der für alle Sicherheitsregeln innerhalb der NSG eindeutig ist. Der Fehler schlägt fehl, wenn in der NSG bereits eine andere Regel mit derselben Priorität vorhanden ist.
Richtung Richtung des Datenverkehrs, für den die Sicherheitsregel gilt. Muss entweder Inbound oder Outbound sein.

Beispiel-JSON

{ 
  "name": "branchOne", 
  "actions": [ 
    { 
      "type": "continuous", 
      "name": "urn:csci:microsoft:networkSecurityGroup:securityRule/1.0", 
      "parameters": [ 
          { 
              "key": "name", 
              "value": "Block_SingleHost_to_Networks" 

          }, 
          { 
              "key": "protocol", 
              "value": "Any" 
          }, 
          { 
              "key": "sourceAddresses", 
              "value": "[\"10.1.1.128/32\"]"
          }, 
          { 
              "key": "destinationAddresses", 
              "value": "[\"10.20.0.0/16\",\"10.30.0.0/16\"]"
          }, 
          { 
              "key": "access", 
              "value": "Deny" 
          }, 
          { 
              "key": "destinationPortRanges", 
              "value": "[\"80-8080\"]"
          }, 
          { 
              "key": "sourcePortRanges", 
              "value": "[\"*\"]"
          }, 
          { 
              "key": "priority", 
              "value": "100" 
          }, 
          { 
              "key": "direction", 
              "value": "Outbound" 
          } 
      ], 
      "duration": "PT10M", 
      "selectorid": "myResources" 
    } 
  ] 
} 

Begrenzungen

  • Der Fehler kann nur auf vorhandene NSGs angewendet werden.
  • Wenn eine NSG-Regel zum Verweigern von Datenverkehr angewendet wird, werden bestehende Verbindungen erst dann unterbrochen, wenn sie vier Minuten lang inaktiv (im Leerlauf) waren. Eine Abhilfe besteht darin, im selben Schritt einen weiteren Zweig hinzuzufügen, der einen Fehler verwendet, der bei Anwendung des NSG-Fehlers zum Abbruch bestehender Verbindungen führen würde. So würde beispielsweise das Beenden des Prozesses, das vorübergehende Anhalten des Dienstes oder der Neustart der VM dazu führen, dass die Verbindungen zurückgesetzt werden.
  • Die Regeln werden zu Beginn der Aktion angewendet. Jede externe Änderung der Regel, die während der Dauer der Aktion vorgenommen wird, führt dazu, dass das Experiment fehlschlägt.
  • Das Erstellen oder Ändern von Regeln für Anwendungssicherheitsgruppen wird nicht unterstützt.
  • Die Prioritätswerte müssen für jeden anvisierten NSG eindeutig sein. Der Versuch, eine neue Regel zu erstellen, die denselben Prioritätswert wie eine andere Regel hat, führt dazu, dass das Experiment fehlschlägt.

Servicebus: Ändern des Warteschlangenstatus

Eigenschaft Wert
Name der Funktion ChangeQueueState-1.0
Zieltyp Microsoft-ServiceBus
Beschreibung Legt Warteschlangenentitäten innerhalb eines Service Bus-Namespace auf den gewünschten Zustand fest. Sie können diese Aktion auf bestimmte Entitätsnamen anwenden oder die Aktion durch die Verwendung eines Sternchens (*) auf alle Entitäten anwenden. Mit dieser Aktion können Sie Ihre Messaginginfrastruktur im Hinblick auf Wartungs- oder Fehlerszenarien testen. Dies ist ein diskreter Fehler. Die Entität wird daher nicht automatisch auf den Anfangszustand zurückgesetzt.
Voraussetzungen Ein Service Bus-Namespace mit mindestens einer Warteschlangenentität.
URN urn:csci:microsoft:serviceBus:changeQueueState/1.0
Fehlertyp Diskret
Parameter (Schlüssel, Wert)
desiredState Der gewünschte Zustand für die als Ziel ausgewählten Warteschlangen. Die möglichen Zustände sind „Active“, „Disabled“, „SendDisabled“ und „ReceiveDisabled“.
queues Eine durch Trennzeichen getrennte Liste der Warteschlangennamen im ausgewählten Namespace. Verwenden Sie das Sternchen (*), um die Aktion auf alle Warteschlangen im Namespace anzuwenden.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:serviceBus:changeQueueState/1.0",
      "parameters":[
          {
            "key": "desiredState",
            "value": "Disabled"
          },
          {
            "key": "queues",
            "value": "samplequeue1,samplequeue2"
          }
      ],
      "selectorid": "myServiceBusSelector"
    }
  ]
}

Begrenzungen

  • An diesen Fehler können maximal 1.000 Warteschlangenentitäten übergeben werden.

Service Bus: Ändern des Abonnementstatus

Eigenschaft Wert
Name der Funktion ChangeSubscriptionState-1.0
Zieltyp Microsoft-ServiceBus
Beschreibung Legt Abonnemententitäten in einem Service Bus-Namespace und -Thema auf den gewünschten Zustand fest. Sie können diese Aktion auf bestimmte Entitätsnamen anwenden oder die Aktion durch die Verwendung eines Sternchens (*) auf alle Entitäten anwenden. Mit dieser Aktion können Sie Ihre Messaginginfrastruktur im Hinblick auf Wartungs- oder Fehlerszenarien testen. Dies ist ein diskreter Fehler. Die Entität wird daher nicht automatisch auf den Anfangszustand zurückgesetzt.
Voraussetzungen Ein Service Bus-Namespace mit mindestens einer Abonnemententität.
URN urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0
Fehlertyp Diskret
Parameter (Schlüssel, Wert)
desiredState Der gewünschte Zustand für die als Ziel ausgewählten Abonnements. Die möglichen Zustände sind „Active“ und „Disabled“.
topic Das übergeordnete Thema, das mindestens ein Abonnement enthält, das betroffen sein soll.
Abonnements Eine durch Trennzeichen getrennte Liste der Abonnementnamen im ausgewählten Namespace. Verwenden Sie das Sternchen (*), um die Aktion auf alle Abonnements im Namespace anzuwenden.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0",
      "parameters":[
          {
            "key": "desiredState",
            "value": "Disabled"
          },
          {
            "key": "topic",
            "value": "topic01"
          },
          {
            "key": "subscriptions",
            "value": "*"
          }
      ],
      "selectorid": "myServiceBusSelector"
    }
  ]
}

Begrenzungen

  • An diesen Fehler können maximal 1.000 Abonnemententitäten übergeben werden.

Service Bus: Ändern des Themastatus

Eigenschaft Wert
Name der Funktion ChangeTopicState-1.0
Zieltyp Microsoft-ServiceBus
Beschreibung Legt die angegebenen Themaentitäten innerhalb eines Service Bus-Namespace auf den gewünschten Zustand fest. Sie können diese Aktion auf bestimmte Entitätsnamen anwenden oder die Aktion durch die Verwendung eines Sternchens (*) auf alle Entitäten anwenden. Mit dieser Aktion können Sie Ihre Messaginginfrastruktur im Hinblick auf Wartungs- oder Fehlerszenarien testen. Dies ist ein diskreter Fehler. Die Entität wird daher nicht automatisch auf den Anfangszustand zurückgesetzt.
Voraussetzungen Ein Service Bus-Namespace mit mindestens einer Themaentität.
URN urn:csci:microsoft:serviceBus:changeTopicState/1.0
Fehlertyp Diskret
Parameter (Schlüssel, Wert)
desiredState Der gewünschte Zustand für die als Ziel ausgewählten Themen. Die möglichen Zustände sind „Active“ und „Disabled“.
topics Eine durch Trennzeichen getrennte Liste der Themennamen im ausgewählten Namespace. Verwenden Sie das Sternchen (*), um die Aktion auf alle Themen im Namespace anzuwenden.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:serviceBus:changeTopicState/1.0",
      "parameters":[
          {
            "key": "desiredState",
            "value": "Disabled"
          },
          {
            "key": "topics",
            "value": "*"
          }
      ],
      "selectorid": "myServiceBusSelector"
    }
  ]
}

Begrenzungen

  • An diesen Fehler können maximal 1.000 Themaentitäten übergeben werden.

Erneute VM-Bereitstellung

Eigenschaft Wert
Name der Funktion Redeploy-1.0
Zieltyp Microsoft-VirtualMachine
Beschreibung Stellt eine VM erneut bereit, indem sie heruntergefahren, in einen neuen Knoten in der Azure-Infrastruktur verschoben und wieder eingeschaltet wird. Auf diese Weise können Sie die Resilienz Ihrer Workload gegenüber Wartungsereignissen überprüfen.
Voraussetzungen Keine.
URN urn:csci:microsoft:virtualMachine:redeploy/1.0
Fehlertyp Diskret
Parameter (Schlüssel, Wert) Keine.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:virtualMachine:redeploy/1.0",
      "parameters":[],
      "selectorid": "myResources"
    }
  ]
}

Begrenzungen

  • Der Vorgang zum erneuten Bereitstellen einer VM wird innerhalb eines Intervalls von zehn Stunden gedrosselt. Falls bei Ihrem Experiment ein Fehler aufgrund einer zu hohen Anzahl von Anforderungen zur erneuten Bereitstellung auftritt, warten Sie zehn Stunden, und wiederholen Sie das Experiment dann.

Herunterfahren virtueller Computer

Eigenschaft Wert
Name der Funktion Herunterfahren-1.0
Zieltyp Microsoft-VirtualMachine
Unterstützte Betriebssystemtypen Windows, Linux
Beschreibung Beendet eine VM für die Dauer des Fehlers. Startet die VM am Ende des Experiments oder bei Abbruch des Experiments neu. Es werden nur virtuelle Azure Resource Manager-Computer unterstützt.
Voraussetzungen Keine.
URN urn:csci:microsoft:virtualMachine:shutdown/1.0
Parameter (Schlüssel, Wert)
abruptesHerunterfahren (Optional) Boolescher Wert, der angibt, ob die VM ordnungsgemäß oder abrupt (destruktiv) heruntergefahren werden soll.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0",
      "parameters": [
        {
          "key": "abruptShutdown",
          "value": "false"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

VMSS-Herunterfahren

Von diesem Fehler sind zwei Versionen verfügbar, die Sie verwenden können: Version 1.0 und Version 2.0. Der Hauptunterschied besteht darin, dass Sie mit Version 2.0 nach Verfügbarkeitszonen filtern und nur Instanzen in angegebenen Zonen herunterfahren können.

VMSS-Herunterfahren Version 1.0

Eigenschaft Wert
Name der Funktion Version 1.0
Zieltyp Microsoft-VirtualMachineScaleSet
Unterstützte Betriebssystemtypen Windows, Linux
Beschreibung Fährt während des Fehlers eine VM-Skalierungsgruppeninstanz herunter oder beendet sie und startet die VM am Ende der Fehlerdauer oder bei Abbruch des Experiments neu.
Voraussetzungen Keine.
URN urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0
Parameter (Schlüssel, Wert)
abruptesHerunterfahren (Optional) Boolescher Wert, der angibt, ob die VM-Skalierungsgruppeninstanz ordnungsgemäß oder abrupt (destruktiv) heruntergefahren werden soll.
instances Eine Zeichenfolge, bei der es sich um ein durch Trennzeichen getrenntes Array von VM-Skalierungsgruppeninstanz-IDs handelt, auf die der Fehler angewendet wird.
Beispiel-JSON für Version 1.0
{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0",
      "parameters": [
        {
          "key": "abruptShutdown",
          "value": "true"
        },
        {
          "key": "instances",
          "value": "[\"1\",\"3\"]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

VMSS-Herunterfahren Version 2.0

Eigenschaft Wert
Name der Funktion Shutdown-2.0
Zieltyp Microsoft-VirtualMachineScaleSet
Unterstützte Betriebssystemtypen Windows, Linux
Beschreibung Fährt während des Fehlers eine VM-Skalierungsgruppeninstanz herunter oder beendet sie. Startet die VM am Ende der Fehlerdauer oder bei Abbruch des Experiments neu. Unterstützt dynamische Adressierung (Targeting).
Voraussetzungen Keine.
URN urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0
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 „Shutdown 2.0“ (Herunterfahren) konfigurieren.

Konfigurieren eines Filters für die dynamische Adressierung (Targeting):

{
  "type": "List",
  "id": "myResources",
  "targets": [
    {
      "id": "<targetResourceId>",
      "type": "ChaosTarget"
    }
  ],
  "filter": {
    "type": "Simple",
    "parameters": {
      "zones": [
        "1"
      ]
    }
  }
}

Konfigurieren des Shutdown-Fehlers (Herunterfahren):

{
  "name": "branchOne",
  "actions": [
    {
      "name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0",
      "type": "continuous",
      "selectorId": "myResources",
      "duration": "PT10M",
      "parameters": [
        {
          "key": "abruptShutdown",
          "value": "false"
        }
      ]
    }
  ]
}

Begrenzungen

Derzeit werden nur VM-Skalierungsgruppen unterstützt, die im Orchestrierungsmodus Einheitlich konfiguriert sind. Wenn Ihre VM-Skalierungsgruppe den Orchestrierungsmodus Flexibel verwendet, können Sie den Fehler zum Herunterfahren einer Azure Resource Manager-VM verwenden, um ausgewählte Instanzen herunterzufahren.

Details: Orchestrierungsaktionen

Verzögern

Eigenschaft Wert
Fehleranbieter N/V
Unterstützte Betriebssystemtypen N/V
Beschreibung Fügt eine Zeitverzögerung vor, zwischen oder nach anderen Experimentaktionen hinzu. Diese Aktion ist kein Fehler. Sie wird verwendet, um Aktionen innerhalb eines Experiments zu synchronisieren. Verwenden Sie diese Aktion, um darauf zu warten, dass sich die Auswirkungen eines Fehlers in einem Dienst bemerkbar machen, oder auf den Abschluss einer Aktivität außerhalb des Experiments zu warten. Ihr Experiment könnte z. B. warten, bis die Selbstheilung auftritt, bevor ein anderer Fehler eingefügt wird.
Voraussetzungen N/V
URN urn:csci:microsoft:chaosStudio:timedDelay/1.0
Duration Die Dauer der Verzögerung im ISO 8601-Format (z. B. PT10M)

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [ 
    {
      "type": "delay",
      "name": "urn:csci:microsoft:chaosStudio:timedDelay/1.0",
      "duration": "PT10M"
    }
  ] 
}

Auslastungstest starten (Azure Load Testing)

Eigenschaft Wert
Name der Funktion Start-1.0
Zieltyp Microsoft-AzureLoadTest
Beschreibung Startet einen Auslastungstest (über Azure Load Testing) anhand der angegebenen Auslastungstest-ID.
Voraussetzungen Ein Auslastungstest mit einer gültigen Auslastungstest-ID muss im Azure Load Testing-Dienst erstellt werden.
URN urn:csci:microsoft:azureLoadTest:start/1.0
Fehlertyp Diskret
Parameter (Schlüssel, Wert)
testID Die ID eines bestimmten Auslastungstests, der im Azure Load Testing-Dienst erstellt wurde.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:azureLoadTest:start/1.0",
      "parameters": [
        {
            "key": "testID",
            "value": "0"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Auslastungstest beenden (Azure Load Testing)

Eigenschaft Wert
Name der Funktion Stop-1.0
Zieltyp Microsoft-AzureLoadTest
Beschreibung Hält einen Auslastungstest (über Azure Load Testing) anhand der angegebenen Auslastungstest-ID an.
Voraussetzungen Ein Auslastungstest mit einer gültigen Auslastungstest-ID muss im Azure Load Testing-Dienst erstellt werden.
URN urn:csci:microsoft:azureLoadTest:stop/1.0
Fehlertyp Diskret
Parameter (Schlüssel, Wert)
testID Die ID eines bestimmten Auslastungstests, der im Azure Load Testing-Dienst erstellt wurde.

Beispiel-JSON

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:azureLoadTest:stop/1.0",
      "parameters": [
        {
            "key": "testID",
            "value": "0"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}