Библиотека ошибок и действий Azure Chaos Studio

В этой статье перечислены ошибки, которые можно использовать в Chaos Studio, упорядоченные по соответствующему типу ресурса. Сведения о том, какие назначения ролей рекомендуется использовать для каждого типа ресурсов, см. в статье "Поддерживаемые типы ресурсов и назначения ролей" для Azure Chaos Studio.

Ошибки на основе агента

Ошибки на основе агента внедряются в экземпляры масштабируемого набора виртуальных машин Azure Виртуальные машины или виртуальных машин путем установки агента Chaos Studio. Найдите параметры сбоя непосредственной службы для этих ресурсов ниже в таблицах масштабируемого набора виртуальных машин и виртуальных машин.

Применимые типы ОС Имя сбоя Применимые сценарии
Windows, Linux Давление ЦП Потеря емкости вычислений, давление на ресурсы
Windows, Linux Процесс убийства Нарушение зависимостей
Windows, Linux Сетевое отключение Нарушение сети
Windows, Linux Задержка сети Снижение производительности сети
Windows, Linux Потеря сетевого пакета Проблемы с надежностью сети
Windows, Linux Давление физической памяти Потеря емкости памяти, давление на ресурсы
Windows, Linux Остановка службы Прерывание работы службы и перезапуск
Windows, Linux Изменение времени Проблемы с синхронизацией времени
Windows, Linux Давление виртуальной памяти Потеря емкости памяти, давление на ресурсы
Linux Произвольный стресс-ng Стрессор Общее системное стресс-тестирование
Linux Давление диска Linux Снижение производительности операций ввода-вывода диска
Windows Давление DiskIO Снижение производительности операций ввода-вывода диска
Windows Сбой DNS Проблемы с разрешением DNS.
Windows Сетевое отключение (через брандмауэр) Нарушение сети

Служба приложений

Этот раздел относится к типу Microsoft.Web/sites ресурса. Дополнительные сведения о Службе приложений

Имя сбоя Применимые сценарии
Остановка Служба приложений Сбои в работе служб

Параметры автомасштабирования

Этот раздел относится к типу Microsoft.Insights/autoscaleSettings ресурса. Дополнительные сведения об автомасштабировании Параметры.

Имя сбоя Применимые сценарии
Отключение автомасштабирования Потеря емкости вычислений (при использовании с завершением работы VMSS)

Служба Azure Kubernetes

Этот раздел относится к типу Microsoft.ContainerService/managedClusters ресурса. Дополнительные сведения о Служба Azure Kubernetes.

Имя сбоя Применимые сценарии
Хаос в сетке хаоса AKS Проблемы с разрешением DNS.
AKS Chaos Mesh HTTP Chaos Нарушение сети
Хаос в сетке хаоса AKS Снижение и давление диска
AKS Chaos Mesh Kernel Chaos Нарушение ядра
Хаос сети сетки AKS Нарушение сети
AKS Chaos Mesh Pod Chaos Нарушение контейнера
AKS Chaos Mesh Stress Chaos Системное стресс-тестирование
Хаос в формате AKS Chaos Mesh Проблемы с синхронизацией времени

Облачные службы (классическая версия)

Этот раздел относится к типу Microsoft.ClassicCompute/domainNames ресурса. Узнайте больше о Облачные службы (классической версии).

Имя сбоя Применимые сценарии
Завершение работы облачной службы Потеря вычислительных ресурсов

Кластеризованный кэш для Redis

Этот раздел относится к типу Microsoft.Cache/redis ресурса. Дополнительные сведения о кластеризованном кэше для Redis.

Имя сбоя Применимые сценарии
Кэш Azure для Redis (перезагрузка) Нарушение зависимостей (кэши)

Cosmos DB

Этот раздел относится к типу Microsoft.DocumentDB/databaseAccounts ресурса. Дополнительные сведения о Cosmos DB.

Имя сбоя Применимые сценарии
Отработка отказа Cosmos DB Отработка отказа базы данных

Event Hubs

Этот раздел относится к типу Microsoft.EventHub/namespaces ресурса. Дополнительные сведения о Центрах событий.

Имя сбоя Применимые сценарии
Изменение состояния концентратора событий Неправильное настройка и нарушение конфигурации инфраструктуры обмена сообщениями

Key Vault

Этот раздел относится к типу Microsoft.KeyVault/vaults ресурса. Дополнительные сведения о Key Vault.

Имя сбоя Применимые сценарии
Key Vault: запрет доступа Отказ в сертификате
Key Vault: отключение сертификата Нарушение сертификата
Key Vault: добавочная версия сертификата Увеличение версии сертификата
Key Vault: обновление политики сертификатов Изменения политики сертификатов и неправильные настройки

группы сетевой безопасности;

Этот раздел относится к типу Microsoft.Network/networkSecurityGroups ресурса. Дополнительные сведения о группах безопасности сети.

Имя сбоя Применимые сценарии
Правило безопасности NSG Нарушение сети (для многих служб Azure)

Cлужебная шина

Этот раздел относится к типу Microsoft.ServiceBus/namespaces ресурса. Дополнительные сведения о служебная шина.

Имя сбоя Применимые сценарии
Изменение состояния очереди Неправильное настройка и нарушение конфигурации инфраструктуры обмена сообщениями
Изменение состояния подписки Неправильное настройка и нарушение конфигурации инфраструктуры обмена сообщениями
Изменение состояния раздела Неправильное настройка и нарушение конфигурации инфраструктуры обмена сообщениями

Виртуальные машины (service-direct)

Этот раздел относится к типу Microsoft.Compute/virtualMachines ресурса. Дополнительные сведения о Виртуальные машины.

Имя сбоя Применимые сценарии
Повторное развертывание виртуальной машины Прерывание вычислений, события обслуживания
Завершение работы виртуальной машины Потеря вычислительных ресурсов и нарушение работы

Масштабируемый набор виртуальных машин

Этот раздел относится к типу Microsoft.Compute/virtualMachineScaleSets ресурса. Дополнительные сведения о Масштабируемые наборы виртуальных машин.

Имя сбоя Применимые сценарии
Завершение работы VMSS Потеря вычислительных ресурсов и нарушение работы
Завершение работы VMSS (2.0) Потеря и нарушение вычислений (по зоне доступности)

Действия оркестрации

Эти действия являются стандартными блоками для создания эффективных экспериментов. Используйте их в сочетании с другими сбоями, например запуск нагрузочного теста при параллельном завершении работы вычислительных экземпляров в зоне.

Категория действий Имя сбоя
Загрузка Запуск нагрузочного теста (нагрузочное тестирование Azure)
Загрузка Остановка нагрузочного теста (нагрузочное тестирование Azure)
Задержка времени Задержка

Сведения: ошибки на основе агента

Отключение сети

Свойство Значение
Имя возможности NetworkDisconnect-1.1
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows, Linux.
Description Блокирует исходящий сетевой трафик для указанного диапазона портов и сетевого блока. Необходимо указать по крайней мере один массив destinationFilter или inboundDestinationFilter.
Необходимые компоненты Windows: агент должен запускаться от имени администратора, что происходит по умолчанию при установке в качестве расширения виртуальной машины.
Linux:tc пакет управления трафиком используется для сбоев сети. Если он еще не установлен, агент автоматически пытается установить его из диспетчера пакетов по умолчанию.
Urn urn:csci:microsoft:agent:networkDisconnect/1.1
Параметры (ключ, значение)
destinationFilters Массив JSON с разделителями пакетов фильтров, определяющих исходящие пакеты для целевого объекта. Не более 16.
inboundDestinationFilters Массив JSON с разделителями пакетов фильтров, определяющих, какие входящие пакеты должны быть целевыми. Не более 16.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Параметры destinationFilters и inboundDestinationFilters используют следующий массив фильтров пакетов.

Свойство Значение
address IP-адрес, указывающий начало диапазона IP-адресов.
SubnetMask Маска подсети для диапазона IP-адресов.
portLow (Необязательно) Номер порта начала диапазона портов.
portHigh (Необязательно) Номер порта конца диапазона портов.

Пример 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"
    }
  ]
}

Ограничения

  • Ошибки сети на основе агента в настоящее время поддерживают только IPv4-адреса.
  • Ошибка отключения сети влияет только на новые подключения. Существующие активные подключения продолжают сохраняться. Вы можете перезапустить службу или процесс, чтобы принудительно отключить подключения.
  • При запуске в Windows ошибка отключения сети в настоящее время работает только с пакетами TCP или UDP.

Сетевое отключение (через брандмауэр)

Свойство Значение
Имя возможности NetworkDisconnectViaFirewall-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows
Description Применяет правило брандмауэра Windows для блокировки исходящего трафика для указанного диапазона портов и сетевого блока.
Необходимые компоненты Агент должен запускаться от имени администратора. Если агент установлен в качестве расширения виртуальной машины, он запускается от имени администратора по умолчанию.
Urn urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0
Параметры (ключ, значение)
destinationFilters Массив JSON с разделителями пакетов фильтров, определяющих исходящие пакеты, предназначенные для внедрения ошибок.
address IP-адрес, указывающий начало диапазона IP-адресов.
SubnetMask Маска подсети для диапазона IP-адресов.
portLow (Необязательно) Номер порта начала диапазона портов.
portHigh (Необязательно) Номер порта конца диапазона портов.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Пример 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"
    }
  ]
}

Ограничения

  • Ошибки сети на основе агента в настоящее время поддерживают только IPv4-адреса.

Задержка сети

Свойство Значение
Имя возможности NetworkLatency-1.1
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows, Linux (только исходящий трафик)
Description Увеличивает задержку сети для указанного диапазона портов и сетевого блока. Необходимо указать по крайней мере один массив destinationFilter или inboundDestinationFilter.
Необходимые компоненты Windows: агент должен запускаться от имени администратора, что происходит по умолчанию при установке в качестве расширения виртуальной машины.
Linux:tc пакет управления трафиком используется для сбоев сети. Если он еще не установлен, агент автоматически пытается установить его из диспетчера пакетов по умолчанию.
Urn urn:csci:microsoft:agent:networkLatency/1.1
Параметры (ключ, значение)
задержкаInMilliseconds Объем задержки, применяемой в миллисекундах.
destinationFilters Массив JSON с разделителями пакетов фильтров, определяющих исходящие пакеты для целевого объекта. Не более 16.
inboundDestinationFilters Массив JSON с разделителями пакетов фильтров, определяющих, какие входящие пакеты должны быть целевыми. Не более 16.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Параметры destinationFilters и inboundDestinationFilters используют следующий массив фильтров пакетов.

Свойство Значение
address IP-адрес, указывающий начало диапазона IP-адресов.
SubnetMask Маска подсети для диапазона IP-адресов.
portLow (Необязательно) Номер порта начала диапазона портов.
portHigh (Необязательно) Номер порта конца диапазона портов.

Пример 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"
    }
  ]
}

Ограничения

  • Ошибки сети на основе агента в настоящее время поддерживают только IPv4-адреса.
  • При запуске в Linux ошибка задержки сети может повлиять только на исходящий трафик, а не входящий трафик. Ошибка может повлиять как на входящий, так и исходящий трафик в средах Windows (с помощью inboundDestinationFilters параметров).destinationFilters
  • При запуске в Windows ошибка задержки сети в настоящее время работает только с пакетами TCP или UDP.

Потеря сетевого пакета

Свойство Значение
Имя возможности NetworkPacketLoss-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows, Linux
Description В этой статье описывается потеря пакетов для исходящего трафика с указанной скоростью в диапазоне от 0,0 (без потерянных пакетов) до 1.0 (все пакеты потеряны). Это действие может помочь имитировать сценарии, такие как перегрузка сети или проблемы с сетевым оборудованием.
Необходимые компоненты Windows: агент должен запускаться от имени администратора, что происходит по умолчанию при установке в качестве расширения виртуальной машины.
Linux:tc пакет управления трафиком используется для сбоев сети. Если он еще не установлен, агент автоматически пытается установить его из диспетчера пакетов по умолчанию.
Urn urn:csci:microsoft:agent:networkPacketLoss/1.0
Параметры (ключ, значение)
packetLossRate Скорость потери пакетов, соответствующих целевым фильтрам, составляет от 0,0 до 1.0.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.
destinationFilters Массив JSON с разделителями фильтров пакетов (параметры ниже), определяющий, какие исходящие пакеты следует использовать для внедрения ошибок. Не более трех.
address IP-адрес, указывающий начало диапазона IP-адресов.
SubnetMask Маска подсети для диапазона IP-адресов.
portLow (Необязательно) Номер порта начала диапазона портов.
portHigh (Необязательно) Номер порта конца диапазона портов.

Пример 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"
    }
  ]
}

Ограничения

  • Ошибки сети на основе агента в настоящее время поддерживают только IPv4-адреса.
  • При запуске в Windows ошибка потери сетевого пакета в настоящее время работает только с пакетами TCP или UDP.

Сбой DNS

Свойство Значение
Имя возможности DnsFailure-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows
Description Заменяет ответы запроса на поиск DNS указанным кодом ошибки. Запросы подстановки DNS, которые заменяются, должны:
  • Происходит из виртуальной машины.
  • Совпадают с определенными параметрами сбоя.
Поиски DNS, которые не сделаны клиентом WINDOWS DNS, не влияют на эту ошибку.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:agent:dnsFailure/1.0
Параметры (ключ, значение)
Узлы Массив JSON с разделителями имен узлов, для которых не удалось выполнить запрос на поиск DNS.

Это свойство принимает дикие карта (*), но только для первого поддомена в адресе и применяется только к поддомену, для которого они указаны. Например:
  • *.microsoft.com поддерживается.
  • subdomain.*.microsoft не поддерживается.
  • *.microsoft.com не работает для нескольких поддоменов в адресе, например subdomain1.subdomain2.microsoft.com.
dnsFailureReturnCode Код ошибки DNS, возвращаемый клиенту для сбоя поиска (FormErr, ServFail, NXDomain, NotImp, NotImp, XDomain, YXRRSet, NXRRSet, NotAuth, NotZone). Дополнительные сведения о кодах возврата DNS см. на веб-сайте IANA.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Пример 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"
    }
  ]
}

Ограничения

  • Для сбоя DNS требуется Windows 2019 RS5 или более поздней версии.
  • Кэш DNS игнорируется во время сбоя имен узлов, определенных в ошибке.

Давление ЦП

Свойство Значение
Имя возможности CPUPressure-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows, Linux.
Description Добавляет давление ЦП до указанного значения на виртуальной машине, в которой эта ошибка внедряется во время действия сбоя. Искусственное давление ЦП удаляется в конце длительности или если эксперимент отменен. В Windows счетчик производительности служебной программы " % обработчика " используется при запуске сбоя для определения текущего процента ЦП, который вычитается из pressureLevel определенной в ошибке, чтобы служебная программа % обработчика достигла приблизительно pressureLevel определенного в параметрах сбоя.
Необходимые компоненты Linux: необходимо установить программу stress-ng . Установка выполняется автоматически в рамках установки агента с помощью диспетчера пакетов по умолчанию в нескольких операционных системах, включая Debian (например, Ubuntu), Red Hat Enterprise Linux и OpenSUSE. Для других дистрибутивов, включая Azure Linux, необходимо установить стресс-ng вручную. Дополнительные сведения см. в репозитории вышестоящий проекта.
Windows: Нет.
Urn urn:csci:microsoft:agent:cpuPressure/1.0
Параметры (ключ, значение)
pressureLevel Целое число от 1 до 99, указывающее, сколько давления ЦП (%) применяется к виртуальной машине с точки зрения % использования ЦП
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Пример 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"
    }
  ]
}

Ограничения

Известные проблемы в Linux:

  • Стресс-эффект может быть неправильно завершен, если AzureChaosAgent неожиданно убит.

Давление физической памяти

Свойство Значение
Имя возможности PhysicalMemoryPressure-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows, Linux.
Description Добавляет давление физической памяти до указанного значения на виртуальной машине, в которой эта ошибка внедряется во время действия сбоя. Давление искусственной физической памяти удаляется в конце длительности или если эксперимент отменен.
Необходимые компоненты Linux: необходимо установить программу stress-ng . Установка выполняется автоматически в рамках установки агента с помощью диспетчера пакетов по умолчанию в нескольких операционных системах, включая Debian (например, Ubuntu), Red Hat Enterprise Linux и OpenSUSE. Для других дистрибутивов, включая Azure Linux, необходимо установить стресс-ng вручную. Дополнительные сведения см. в репозитории вышестоящий проекта.
Windows: Нет.
Urn urn:csci:microsoft:agent:physicalMemoryPressure/1.0
Параметры (ключ, значение)
pressureLevel Целое число от 1 до 99, указывающее, сколько нагрузки физической памяти (%) применяется к виртуальной машине.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Пример 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"
    }
  ]
}

Ограничения

В настоящее время агент Windows не снижает нагрузку на память, когда другие приложения увеличивают использование памяти. Если общее использование памяти превышает 100%, агент Windows может завершиться сбоем.

Давление виртуальной памяти

Свойство Значение
Имя возможности VirtualMemoryPressure-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows
Description Добавляет давление виртуальной памяти до указанного значения на виртуальной машине, в которой эта ошибка внедряется во время действия сбоя. Давление искусственной виртуальной памяти удаляется в конце длительности или если эксперимент отменен.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:agent:virtualMemoryPressure/1.0
Параметры (ключ, значение)
pressureLevel Целое число от 1 до 99, указывающее, сколько нагрузки физической памяти (%) применяется к виртуальной машине.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Пример 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"
    }
  ]
}

Давление операций ввода-вывода на диск

Свойство Значение
Имя возможности DiskIOPressure-1.1
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows
Description Использует служебную программу diskspd для добавления давления диска на виртуальную машину. Давление добавляется к основному диску по умолчанию или диску, указанному с параметром targetTempDirectory. Эта ошибка имеет пять разных режимов выполнения. Давление искусственного диска удаляется в конце длительности или если эксперимент отменен.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:agent:diskIOPressure/1.1
Параметры (ключ, значение)
pressureMode Предустановленный режим давления на диск для добавления в основное хранилище виртуальной машины. Должен быть одним из приведенных PressureModes ниже таблиц.
targetTempDirectory (Необязательно) Каталог, используемый для применения давления на диск. Например, D:/Temp. Если параметр не включен, давление добавляется к основному диску.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Режимы давления

PressureMode Description
Премиум служба хранилища P10IOPS numberOfThreads = 1
randomBlockSizeIn КБ = 64
randomSeed = 10
numberOfIOperThread = 25
sizeOfBlocksIn КБ = 8
sizeOfWriteBufferIn КБ = 64
fileSizeInGB = 2
percentOfWriteActions = 50
Premium служба хранилища P10Throttling
numberOfThreads = 2
randomBlockSizeIn КБ = 64
randomSeed = 10
numberOfIOperThread = 25
sizeOfBlocksIn КБ = 64
sizeOfWriteBufferIn КБ = 64
fileSizeInGB = 1
percentOfWriteActions = 50
Премиум служба хранилища P50IOPS numberOfThreads = 32
randomBlockSizeIn КБ = 64
randomSeed = 10
numberOfIOperThread = 32
sizeOfBlocksIn КБ = 8
sizeOfWriteBufferIn КБ = 64
fileSizeInGB = 1
percentOfWriteActions = 50
Премиум служба хранилища P50Throttling numberOfThreads = 2
randomBlockSizeIn КБ = 1024
randomSeed = 10
numberOfIOperThread = 2
sizeOfBlocksIn КБ = 1024
sizeOfWriteBufferIn КБ = 1024
fileSizeInGB = 20
percentOfWriteActions = 50
По умолчанию. numberOfThreads = 2
randomBlockSizeIn КБ = 64
randomSeed = 10
numberOfIOperThread = 2
sizeOfBlocksIn КБ = 64
sizeOfWriteBufferIn КБ = 64
fileSizeInGB = 1
percentOfWriteActions = 50

Пример 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

Свойство Значение
Имя возможности LinuxDiskIOPressure-1.1
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Linux
Description Использует стресс-ng для применения давления к диску. Один или несколько рабочих процессов создаются, выполняющие процессы ввода-вывода с временными файлами. Давление добавляется к основному диску по умолчанию или диску, указанному с параметром targetTempDirectory. Сведения о применении давления см. в статье stress-ng .
Необходимые компоненты Linux: необходимо установить программу stress-ng . Установка выполняется автоматически в рамках установки агента с помощью диспетчера пакетов по умолчанию в нескольких операционных системах, включая Debian (например, Ubuntu), Red Hat Enterprise Linux и OpenSUSE. Для других дистрибутивов, включая Azure Linux, необходимо установить стресс-ng вручную. Дополнительные сведения см. в репозитории вышестоящий проекта.
Urn urn:csci:microsoft:agent:linuxDiskIOPressure/1.1
Параметры (ключ, значение)
workerCount Количество выполняемых рабочих процессов. Параметр workerCount 0 создает столько рабочих процессов, сколько число процессоров.
fileSizePerWorker Размер временного файла, с которым работник выполняет операции ввода-вывода. Целое число плюс единица в байтах (b), килобайтах (k), мегабайтах (m) или гигабайтах (например, 4m для 4 мегабайт и 256g для 256 гигабайт).
blockSize Размер блока, используемый для операций ввода-вывода диска, больше 1 байта и менее 4 мегабайт (максимальное значение ).4095k Целое число плюс единица в байтах, килобайтах или мегабайтах (например, 512k для 512 килобайтов).
targetTempDirectory (Необязательно) Каталог, используемый для применения давления на диск. Например, /tmp/. Если параметр не включен, давление добавляется к основному диску.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Пример JSON

Эти примеры значений вызвали давление на диск ~100 % при тестировании на виртуальной Standard_D2s_v3 машине с ssd ssd уровня "Премиум" LRS. Большой файлSizePerWorker и меньший блокSize помогают полностью подчеркнуть диск.

{
  "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"
    }
  ]
}

Остановить службу

Свойство Значение
Имя возможности StopService-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows, Linux.
Description Останавливает службу Windows или системную службу Linux во время сбоя. Перезапускает его в конце длительности или если эксперимент отменен.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:agent:stopService/1.0
Параметры (ключ, значение)
serviceName Имя службы Windows или системной службы Linux, которую вы хотите остановить.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Пример 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"
    }
  ]
}

Ограничения

  • Windows: не поддерживаются отображаемые имена для служб. Используйте sc.exe query в командной строке для изучения имен служб.
  • Linux: другие типы служб, кроме системных, например sysvinit, не поддерживаются.

Процесс убийства

Свойство Значение
Имя возможности KillProcess-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows, Linux.
Description Убивает все запущенные экземпляры процесса, соответствующего имени процесса, отправленного в параметрах сбоя. В течение заданной длительности для действия сбоя процесс повторно убивается на основе указанного интервала убийства. Эта ошибка является разрушительным, когда системный администратор должен вручную восстановить процесс, если самовосстановление настроено для него.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:agent:killProcess/1.0
Параметры (ключ, значение)
ProcessName Имя процесса непрерывного убийства (без .exe). Процесс не должен выполняться при запуске сбоя.
killIntervalInMilliseconds Время ожидания сбоя между последовательными попытками убийства в миллисекундах.
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Пример 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"
    }
  ]
}

Изменение времени

Свойство Значение
Имя возможности TimeChange-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Windows
Description Изменяет системное время виртуальной машины и сбрасывает время в конце эксперимента или если эксперимент отменен.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:agent:timeChange/1.0
Параметры (ключ, значение)
dateTime Строка DateTime в формате ISO8601. Если YYYY-MM-DD отсутствуют значения, они по умолчанию используются в текущий день при выполнении эксперимента. Если отсутствуют значения Thh:mm:ss, значение по умолчанию — 12:00:00:00. Если предоставляется 2-значный год (YY), он преобразуется в 4-значный год (YYYY) на основе текущего века. Если часовой пояс <Z> отсутствует, смещение по умолчанию — это локальный часовой пояс. <Z> всегда должен включать символ знака (отрицательный или положительный).
virtualMachineScaleSetInstances Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров.

Пример 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"
    }
  ]
}

Произвольный стресс-ng Стрессор

Свойство Значение
Имя возможности StressNg-1.0
Целевой тип Microsoft-Agent
Поддерживаемые типы ОС Linux
Description Выполняет любую команду stress-ng, передав аргументы непосредственно в стресс-ng. Полезно, если одна из предопределенных ошибок для стресс-ng не соответствует вашим потребностям.
Необходимые компоненты Linux: необходимо установить программу stress-ng . Установка выполняется автоматически в рамках установки агента с помощью диспетчера пакетов по умолчанию в нескольких операционных системах, включая Debian (например, Ubuntu), Red Hat Enterprise Linux и OpenSUSE. Для других дистрибутивов, включая Azure Linux, необходимо установить стресс-ng вручную. Дополнительные сведения см. в репозитории вышестоящий проекта.
Urn urn:csci:microsoft:agent:stressNg/1.0
Параметры (ключ, значение)
stressNgArguments Один или несколько аргументов для передачи в процесс стресс-ng. Сведения о возможных аргументах стресс-ng см. в статье stress-ng . ПРИМЕЧАНИЕ. Не включайте аргумент "-t", так как это приведет к ошибке. Длина эксперимента определяется непосредственно в пользовательском интерфейсе эксперимента хаоса Azure, НО не в стрессОвыхArguments.

Пример 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"
    }
  ]
}

Сведения: сбои с прямой службой

Остановка Служба приложений

Свойство Значение
Имя возможности Stop-1.0
Целевой тип Microsoft-AppService
Description Останавливает целевые Служба приложений приложения, а затем перезапускает их в конце срока сбоя. Это действие применяется к ресурсам типа Microsoft.Web/sites, включая Служба приложений, приложения API, мобильные приложения и Функции Azure.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:appService:stop/1.0
Тип сбоя Непрерывные —
Параметры (ключ, значение) Нет.

Пример JSON

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

Отключение автомасштабирования

Свойство Значение
Имя возможности DisaleAutoscale
Целевой тип Microsoft-Autoscale Параметры
Description Отключает службу автомасштабирования. При отключении автомасштабирования ресурсы, такие как масштабируемые наборы виртуальных машин, веб-приложения, служебной шины и многое другое , не добавляются или не удаляются в зависимости от нагрузки приложения.
Необходимые компоненты Ресурс автомасштабирования, включенный в ресурс, должен быть подключен к Chaos Studio.
Urn urn:csci:microsoft:autoscalesettings:disableAutoscale/1.0
Тип сбоя Непрерывные —
Параметры (ключ, значение)
enableOnComplete Логическое значение. Указывает, повторно ли выполняется автоматическое масштабирование после завершения действия. По умолчанию — true.

Пример JSON

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

Хаос сети сетки AKS

Свойство Значение
Имя возможности NetworkChaos-2.1
Целевой тип Microsoft-AzureKubernetesServiceChaosMesh
Поддерживаемые типы ОС пула узлов Linux
Description Вызывает сбой сети, доступный через сетку Chaos, для запуска в кластере Служба Azure Kubernetes (AKS). Полезно для повторного создания инцидентов AKS, которые возникают из-за сбоев сети, задержек, дублирования, потери и повреждения.
Необходимые компоненты Кластер AKS должен развернуть сетку Chaos.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.1
Параметры (ключ, значение)
jsonSpec Спецификация сетки хаоса в формате JSON, использующая тип NetworkChaos. Вы можете использовать преобразователь YAML-to-JSON, например преобразовать YAML в JSON , чтобы преобразовать YAML-файл "Сетка хаоса" в JSON и свести его к минимуму. Используйте одинарные кавычки в формате JSON или экранируйте кавычки с символом обратной косой черты. Только включите YAML в jsonSpec свойство. Не включать такие сведения, как метаданные и вроде. Указание длительности в течение jsonSpec не требуется, но оно используется при наличии.

Пример 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

Свойство Значение
Имя возможности PodChaos-2.1
Целевой тип Microsoft-AzureKubernetesServiceChaosMesh
Поддерживаемые типы ОС пула узлов Linux
Description Вызывает сбой pod, доступный через Сетку Chaos, запущенную в кластере AKS. Полезно для повторного создания инцидентов AKS, которые являются результатом сбоев pod или проблем с контейнерами.
Необходимые компоненты Кластер AKS должен развернуть сетку Chaos.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.1
Параметры (ключ, значение)
jsonSpec Спецификация сетки в формате JSON, использующая тип PodChaos. Вы можете использовать преобразователь YAML-to-JSON, например преобразовать YAML в JSON , чтобы преобразовать YAML-файл "Сетка хаоса" в JSON и свести его к минимуму. Используйте одинарные кавычки в формате JSON или экранируйте кавычки с символом обратной косой черты. Только включите YAML в jsonSpec свойство. Не включать такие сведения, как метаданные и вроде. Указание длительности в течение jsonSpec не требуется, но оно используется при наличии.

Пример 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

Свойство Значение
Имя возможности StressChaos-2.1
Целевой тип Microsoft-AzureKubernetesServiceChaosMesh
Поддерживаемые типы ОС пула узлов Linux
Description Вызывает сбой стресса, доступный через Сетку Хаоса для запуска в кластере AKS. Полезно для повторного создания инцидентов AKS из-за стресса над коллекцией модулей pod, например из-за высокого потребления ЦП или памяти.
Необходимые компоненты Кластер AKS должен развернуть сетку Chaos.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.1
Параметры (ключ, значение)
jsonSpec Спецификация сетки в формате JSON, использующая тип StressChaos. Вы можете использовать преобразователь YAML-to-JSON, например преобразовать YAML в JSON , чтобы преобразовать YAML-файл "Сетка хаоса" в JSON и свести его к минимуму. Используйте одинарные кавычки в формате JSON или экранируйте кавычки с символом обратной косой черты. Только включите YAML в jsonSpec свойство. Не включать такие сведения, как метаданные и вроде. Указание длительности в течение jsonSpec не требуется, но оно используется при наличии.

Пример 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

Свойство Значение
Имя возможности IOChaos-2.1
Целевой тип Microsoft-AzureKubernetesServiceChaosMesh
Поддерживаемые типы ОС пула узлов Linux
Description Вызывает сбой ввода-вывода, доступный через Сетку Хаоса для запуска в кластере AKS. Полезно для повторного создания инцидентов AKS из-за задержек ввода-вывода и сбоев чтения и записи при использовании системных вызовов ввода-вывода, таких как open, readи write.
Необходимые компоненты Кластер AKS должен развернуть сетку Chaos.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.1
Параметры (ключ, значение)
jsonSpec Спецификация сетки хаоса в формате JSON, использующая тип IOChaos. Вы можете использовать преобразователь YAML-to-JSON, например преобразовать YAML в JSON , чтобы преобразовать YAML-файл "Сетка хаоса" в JSON и свести его к минимуму. Используйте одинарные кавычки в формате JSON или экранируйте кавычки с символом обратной косой черты. Только включите YAML в jsonSpec свойство. Не включать такие сведения, как метаданные и вроде. Указание длительности в течение jsonSpec не требуется, но оно используется при наличии.

Пример 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

Свойство Значение
Имя возможности TimeChaos-2.1
Целевой тип Microsoft-AzureKubernetesServiceChaosMesh
Поддерживаемые типы ОС пула узлов Linux
Description Вызывает изменение системных часов в кластере AKS с помощью Сетки Хаоса. Полезно для повторного создания инцидентов AKS, которые возникают из-за падения синхронизации распределенных систем, отсутствия или неправильного високосного года/високосной логики и многого другого.
Необходимые компоненты Кластер AKS должен развернуть сетку Chaos.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.1
Параметры (ключ, значение)
jsonSpec Спецификация сетки хаоса в формате JSON, использующая тип TimeChaos. Вы можете использовать преобразователь YAML-to-JSON, например преобразовать YAML в JSON , чтобы преобразовать YAML-файл "Сетка хаоса" в JSON и свести его к минимуму. Используйте одинарные кавычки в формате JSON или экранируйте кавычки с символом обратной косой черты. Только включите YAML в jsonSpec свойство. Не включать такие сведения, как метаданные и вроде. Указание длительности в течение jsonSpec не требуется, но оно используется при наличии.

Пример 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

Свойство Значение
Имя возможности KernelChaos-2.1
Целевой тип Microsoft-AzureKubernetesServiceChaosMesh
Поддерживаемые типы ОС пула узлов Linux
Description Вызывает сбой ядра, доступный через сетку Chaos, запущенную в кластере AKS. Полезно для повторного создания инцидентов AKS из-за ошибок на уровне ядра Linux, таких как сбой подключения или не выделенная память.
Необходимые компоненты Кластер AKS должен развернуть сетку Chaos.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.1
Параметры (ключ, значение)
jsonSpec Спецификация сетки хаоса в формате JSON, использующая тип KernelChaos. Вы можете использовать преобразователь YAML-to-JSON, например преобразовать YAML в JSON , чтобы преобразовать YAML-файл "Сетка хаоса" в JSON и свести его к минимуму. Используйте одинарные кавычки в формате JSON или экранируйте кавычки с символом обратной косой черты. Только включите YAML в jsonSpec свойство. Не включать такие сведения, как метаданные и вроде. Указание длительности в течение jsonSpec не требуется, но оно используется при наличии.

Пример 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

Свойство Значение
Имя возможности HTTPChaos-2.1
Целевой тип Microsoft-AzureKubernetesServiceChaosMesh
Поддерживаемые типы ОС пула узлов Linux
Description Вызывает сбой HTTP, доступный через сетку Chaos, запущенную в кластере AKS. Полезно для повторного создания инцидентов из-за сбоев обработки HTTP-запросов и ответов, таких как задержка или неправильный ответ.
Необходимые компоненты Кластер AKS должен развернуть сетку Chaos.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.1
Параметры (ключ, значение)
jsonSpec Спецификация сетки хаоса в формате JSON, использующая тип HTTPChaos. Вы можете использовать преобразователь YAML-to-JSON, например преобразовать YAML в JSON , чтобы преобразовать YAML-файл "Сетка хаоса" в JSON и свести его к минимуму. Используйте одинарные кавычки в формате JSON или экранируйте кавычки с символом обратной косой черты. Только включите YAML в jsonSpec свойство. Не включать такие сведения, как метаданные и вроде. Указание длительности в течение jsonSpec не требуется, но оно используется при наличии.

Пример 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

Свойство Значение
Имя возможности DNSChaos-2.1
Целевой тип Microsoft-AzureKubernetesServiceChaosMesh
Поддерживаемые типы ОС пула узлов Linux
Description Вызывает сбой DNS, доступный через Сетку Хаоса для запуска в кластере AKS. Полезно для повторного создания инцидентов из-за сбоев DNS.
Необходимые компоненты Кластер AKS должен развернуть сетку Chaos и установить службу DNS.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.1
Параметры (ключ, значение)
jsonSpec Спецификация сетки хаоса в формате JSON, использующая тип DNSChaos. Вы можете использовать преобразователь YAML-to-JSON, например преобразовать YAML в JSON , чтобы преобразовать YAML-файл "Сетка хаоса" в JSON и свести его к минимуму. Используйте одинарные кавычки в формате JSON или экранируйте кавычки с символом обратной косой черты. Только включите YAML в jsonSpec свойство. Не включать такие сведения, как метаданные и вроде. Указание длительности в течение jsonSpec не требуется, но оно используется при наличии.

Пример 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"
    }
  ]
}

завершение работы Облачные службы (классическая модель)

Свойство Значение
Имя возможности Завершение работы-1.0
Целевой тип Microsoft-DomainName
Description Останавливает развертывание во время сбоя. Перезапускает развертывание в конце длительности сбоя или отменяет эксперимент.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:domainName:shutdown/1.0
Тип сбоя Непрерывные —
Параметры Нет.

Пример JSON

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

Кэш Azure для Redis (перезагрузка)

Свойство Значение
Имя возможности Перезагрузка-1.0
Целевой тип Microsoft-AzureClusteredCacheForRedis
Description Вызывает операцию принудительной перезагрузки в целевом объекте для имитации краткого сбоя.
Необходимые компоненты Н/П
Urn urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0
Тип сбоя Дискретных.
Параметры (ключ, значение)
rebootType Типы узлов, в которых выполняется действие перезагрузки, которые можно указать как PrimaryNode, SecondaryNode или AllNodes.
shardId Идентификатор сегмента, который необходимо перезагрузить. Относится только к кэшам уровня "Премиум".

Пример 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"
    }
  ]
}

Ограничения

  • Ошибка перезагрузки приводит к более эффективной имитации события сбоя принудительной перезагрузки, что означает, что может возникнуть потеря данных.
  • Ошибка перезагрузки — это дискретный тип сбоя. В отличие от непрерывных сбоев, это однократное действие и не имеет длительности.

Отработка отказа Cosmos DB

Свойство Значение
Имя возможности Отработка отказа-1.0
Целевой тип Microsoft-CosmosDB
Description Вызывает отработку отказа учетной записи Azure Cosmos DB с одним регионом записи в указанный регион чтения, чтобы имитировать сбой области записи.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:cosmosDB:failover/1.0
Параметры (ключ, значение)
readRegion Область чтения, которая должна быть повышена до области записи во время отработки отказа, например East US 2.

Пример 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"
    }
  ]
}

Изменение состояния концентратора событий

Свойство Значение
Имя возможности ChangeEventHubState-1.0
Целевой тип Microsoft-EventHub
Description Задает для отдельных центров событий требуемое состояние в пространстве имен Центры событий Azure. Вы можете повлиять на определенные имена концентраторов событий или использовать "*", чтобы повлиять на все в пространстве имен. Это действие поможет протестировать инфраструктуру обмена сообщениями для сценариев обслуживания или сбоя. Это дискретная ошибка, поэтому сущность не будет возвращена в начальное состояние автоматически.
Необходимые компоненты Пространство имен Центры событий Azure с по крайней мере одной сущностью концентратора событий.
Urn urn:csci:microsoft:eventHub:changeEventHubState/1.0
Тип сбоя Дискретных.
Параметры (ключ, значение)
DesiredState Требуемое состояние для целевых центров событий. Возможные состояния: "Активный", "Отключено" и "SendDisabled".
eventHubs Разделенный запятыми список имен концентратора событий в целевом пространстве имен. Используйте "*", чтобы повлиять на все сущности в пространстве имен.

Пример 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: запрет доступа

Свойство Значение
Имя возможности DenyAccess-1.0
Целевой тип Microsoft-KeyVault
Description Блокирует весь сетевой доступ к хранилищу ключей, временно изменяя правила сети хранилища ключей. Это действие предотвращает доступ к секретам, ключам и сертификатам приложения, зависящим от хранилища ключей. Если хранилище ключей разрешает доступ ко всем сетям, этот параметр изменяется, чтобы разрешить доступ только из выбранных сетей. Виртуальные сети не находятся в списке разрешенных в начале сбоя. Все сети разрешены в конце срока сбоя. Если для хранилища ключей задано разрешение доступа только из выбранных сетей, все виртуальные сети в списке разрешенных удаляются в начале сбоя. Они восстанавливаются в конце срока сбоя.
Необходимые компоненты Целевое хранилище ключей не может иметь правил брандмауэра и не должно быть задано, чтобы службы Azure могли обойти брандмауэр. Если для целевого хранилища ключей задано разрешение доступа только из выбранных сетей, должно быть по крайней мере одно правило виртуальной сети. Хранилище ключей не может находиться в режиме восстановления.
Urn urn:csci:microsoft:keyVault:denyAccess/1.0
Тип сбоя Непрерывные —
Параметры (ключ, значение) Нет.

Пример JSON

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

Key Vault: отключение сертификата

Свойство Значение
Имя возможности DisableCertificate-1.0
Целевой тип Microsoft-KeyVault
Description При использовании свойств сертификата ошибка отключает сертификат в течение определенной длительности (предоставленного пользователем). Он включает сертификат после этой длительности сбоя.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:keyvault:disableCertificate/1.0
Тип сбоя Непрерывные —
Параметры (ключ, значение)
certificateName Имя сертификата Azure Key Vault, на котором выполняется ошибка.
версия Версия сертификата, которая должна быть отключена. Если не указано, последняя версия отключена.

Пример 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: добавочная версия сертификата

Свойство Значение
Имя возможности IncrementCertificateVersion-1.0
Целевой тип Microsoft-KeyVault
Description Создает новую версию сертификата и отпечаток с помощью клиентской библиотеки сертификатов Key Vault. Текущий рабочий сертификат обновляется до этой версии. Версия сертификата не отменить изменения после длительности сбоя.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0
Тип сбоя Дискретных.
Параметры (ключ, значение)
certificateName Имя сертификата Azure Key Vault, на котором выполняется ошибка.

Пример 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: обновление политики сертификатов

Свойство Значение
Имя возможности UpdateCertificatePolicy-1.0
Целевой тип Microsoft-KeyVault
Description Политики сертификатов (например, срок действия сертификата, тип сертификата, размер ключа или тип ключа) обновляются на основе ввода пользователем и отменить изменения после длительности сбоя.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0
Тип сбоя Непрерывные —
Параметры (ключ, значение)
certificateName Имя сертификата Azure Key Vault, на котором выполняется ошибка.
версия Версия сертификата, которая должна быть обновлена. Если не указано, обновляется последняя версия.
включена Логическое значение. Значение, указывающее, включена ли новая версия сертификата.
validityInMonths Срок действия сертификата в месяцы.
certificateTransparency Указывает, следует ли публиковать сертификат в списке прозрачности сертификата при создании.
certificateType Тип сертификата.
contentType Тип контента сертификата. Например, это Pkcs12, когда сертификат содержит необработанные PFX-байты или Pem, если он содержит байты в кодировке ASCII PEM. Pkcs12 — это предполагаемое значение по умолчанию.
keySize Размер ключа RSA: 2048, 3072 или 4096.
Экспортируемый Логическое значение. Значение, указывающее, экспортируется ли ключ сертификата из хранилища или защищенного хранилища сертификатов.
повторное использованиеKey Логическое значение. Значение, указывающее, следует ли повторно использовать ключ сертификата при смене сертификата.
keyType Тип резервного ключа, созданного при выпуске новых сертификатов, таких как RSA или EC.

Пример 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

Свойство Значение
Имя возможности SecurityRule-1.0
Целевой тип Microsoft-NetworkSecurityGroup
Description Включает манипуляцию или создание правил в существующей группе безопасности сети Azure (NSG) или наборе групп безопасности Сети Azure, предполагая, что определение правила применимо для групп безопасности. Полезно для:
  • Имитация сбоя нижней или межрегионной зависимости или независимости между регионами.
  • Имитация события, которое, как ожидается, активирует логику для принудительной отработки отказа службы.
  • Имитация события, которое, как ожидается, активирует действие из службы мониторинга или управления состоянием.
  • Использование в качестве альтернативы для блокировки или разрешения сетевого трафика, в котором невозможно развернуть агент Chaos.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:networkSecurityGroup:securityRule/1.0
Параметры (ключ, значение)
name Уникальное имя созданного правила безопасности. Ошибка завершается ошибкой, если другое правило уже существует в группе безопасности сети с тем же именем. Должно начинаться с буквы или номера. Последний символ — буква, цифра или символ подчеркивания. Может содержать только буквы, цифры, подчеркивания, периоды или дефисы.
protocol Протокол для правила безопасности. Должен быть любой, TCP, UDP или ICMP.
sourceAddresses Строка, представляющая массив IP-адресов с разделителями JSON с разделителями CIDR. Может также быть именем тега службы для правила входящего трафика, например AppService. Звездочка * также может использоваться для сопоставления всех исходных IP-адресов.
destinationAddresses Строка, представляющая массив IP-адресов с разделителями JSON с разделителями CIDR. Также может быть именем тега службы для правила исходящего трафика, например AppService. Звездочка * также может использоваться для сопоставления всех IP-адресов назначения.
действие Тип доступа к группе безопасности. Должно быть разрешено или запрещено.
destinationPortRanges Строка, представляющая массив с разделителями JSON для отдельных портов и (или) диапазонов портов, таких как 80 или 1024-65535.
sourcePortRanges Строка, представляющая массив с разделителями JSON для отдельных портов и (или) диапазонов портов, таких как 80 или 1024-65535.
priority Значение от 100 до 4096, уникальное для всех правил безопасности в NSG. Ошибка завершается ошибкой, если другое правило уже существует в группе безопасности сети с тем же приоритетом.
direction Направление трафика, затронутого правилом безопасности. Должен быть входящий или исходящий трафик.

Пример 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" 
    } 
  ] 
} 

Ограничения

  • Ошибка может применяться только к существующей группе безопасности сети.
  • Если правило NSG, предназначенное для запрета трафика, применяется, существующие подключения не будут нарушены до тех пор, пока они не будут бездействующими в течение 4 минут. Одно из обходных решений заключается в добавлении другой ветви на том же шаге, где используется ошибка, которая приведет к разрыву существующих подключений при применении ошибки NSG. Например, убийство процесса, временное остановка службы или перезапуск виртуальной машины приведет к сбросу подключений.
  • Правила применяются в начале действия. Любые внешние изменения правила во время действия вызывают сбой эксперимента.
  • Создание или изменение правил группы безопасности приложений не поддерживается.
  • Значения приоритета должны быть уникальными для каждого целевого объекта NSG. Попытка создать новое правило, которое имеет то же значение приоритета, что и другое, приводит к сбою эксперимента.

служебная шина: изменение состояния очереди

Свойство Значение
Имя возможности ChangeQueueState-1.0
Целевой тип Microsoft-ServiceBus
Description Задает сущности очереди в пространстве имен служебная шина требуемому состоянию. Вы можете повлиять на имена определенных сущностей или использовать "*", чтобы повлиять на все. Это действие поможет протестировать инфраструктуру обмена сообщениями для сценариев обслуживания или сбоя. Это дискретная ошибка, поэтому сущность не будет возвращена в начальное состояние автоматически.
Необходимые компоненты Пространство имен служебная шина по крайней мере с одной сущностью очереди.
Urn urn:csci:microsoft:serviceBus:changeQueueState/1.0
Тип сбоя Дискретных.
Параметры (ключ, значение)
DesiredState Требуемое состояние целевых очередей. Возможные состояния: "Активный", "Отключено", "SendDisabled" и "ReceiveDisabled".
очереди Разделенный запятыми список имен очередей в целевом пространстве имен. Используйте "*", чтобы повлиять на все очереди в пространстве имен.

Пример 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"
    }
  ]
}

Ограничения

  • В эту ошибку можно передать не более 1000 сущностей очереди.

служебная шина. Изменение состояния подписки

Свойство Значение
Имя возможности ChangeSubscriptionState-1.0
Целевой тип Microsoft-ServiceBus
Description Задает сущности подписки в пространстве имен служебная шина и разделе в нужное состояние. Вы можете повлиять на имена определенных сущностей или использовать "*", чтобы повлиять на все. Это действие поможет протестировать инфраструктуру обмена сообщениями для сценариев обслуживания или сбоя. Это дискретная ошибка, поэтому сущность не будет возвращена в начальное состояние автоматически.
Необходимые компоненты Пространство имен служебная шина с по крайней мере одной сущностью подписки.
Urn urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0
Тип сбоя Дискретных.
Параметры (ключ, значение)
DesiredState Требуемое состояние для целевых подписок. Возможные состояния являются активными и отключенными.
topic Родительский раздел, содержащий одну или несколько подписок, которые необходимо повлиять.
подписки; Разделенный запятыми список имен подписок в целевом пространстве имен. Используйте "*", чтобы повлиять на все подписки в пространстве имен.

Пример 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"
    }
  ]
}

Ограничения

  • В эту ошибку можно передать не более 1000 сущностей подписки.

служебная шина: изменение состояния раздела

Свойство Значение
Имя возможности ChangeTopicState-1.0
Целевой тип Microsoft-ServiceBus
Description Задает указанные сущности раздела в пространстве имен служебная шина требуемому состоянию. Вы можете повлиять на имена определенных сущностей или использовать "*", чтобы повлиять на все. Это действие поможет протестировать инфраструктуру обмена сообщениями для сценариев обслуживания или сбоя. Это дискретная ошибка, поэтому сущность не будет возвращена в начальное состояние автоматически.
Необходимые компоненты Пространство имен служебная шина с по крайней мере одной сущностью Topic.
Urn urn:csci:microsoft:serviceBus:changeTopicState/1.0
Тип сбоя Дискретных.
Параметры (ключ, значение)
DesiredState Требуемое состояние для целевых тем. Возможные состояния являются активными и отключенными.
topics Разделенный запятыми список имен разделов в целевом пространстве имен. Используйте "*", чтобы повлиять на все разделы в пространстве имен.

Пример JSON

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

Ограничения

  • В эту ошибку можно передать не более 1000 сущностей раздела.

Повторное развертывание виртуальной машины

Свойство Значение
Имя возможности Повторное развертывание-1.0
Целевой тип Microsoft-VirtualMachine
Description Повторно разверните виртуальную машину, заключив ее, переместив ее на новый узел в инфраструктуре Azure и переключив ее обратно. Это помогает проверить устойчивость рабочей нагрузки к событиям обслуживания.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:virtualMachine:повторное развертывание/1.0
Тип сбоя Дискретных.
Параметры (ключ, значение) Нет.

Пример JSON

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

Ограничения

  • Операция повторного развертывания виртуальной машины регулируется в течение 10 часов. Если эксперимент завершается ошибкой "Слишком много запросов повторного развертывания", подождите 10 часов, чтобы повторить эксперимент.

Завершение работы виртуальной машины

Свойство Значение
Имя возможности Завершение работы-1.0
Целевой тип Microsoft-VirtualMachine
Поддерживаемые типы ОС Windows, Linux.
Description Завершает работу виртуальной машины в течение длительности сбоя. Перезапускает его в конце эксперимента или если эксперимент отменен. Поддерживаются только виртуальные машины Azure Resource Manager.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:virtualMachine:shutdown/1.0
Параметры (ключ, значение)
abruptShutdown (Необязательно) Логическое значение, указывающее, следует ли завершить работу виртуальной машины корректно или резко (разрушительно).

Пример JSON

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

Завершение работы VMSS

Эта ошибка содержит две доступные версии, которые можно использовать, версии 1.0 и версии 2.0. Основное различие заключается в том, что версия 2.0 позволяет фильтровать по зонам доступности, только закрывая экземпляры в указанной зоне или зонах.

Завершение работы VMSS версии 1.0

Свойство Значение
Имя возможности Версия 1.0
Целевой тип Microsoft-VirtualMachineScaleSet
Поддерживаемые типы ОС Windows, Linux.
Description Завершает работу или убивает экземпляр масштабируемого набора виртуальных машин во время сбоя и перезапускает виртуальную машину в конце длительности сбоя или если эксперимент отменен.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0
Параметры (ключ, значение)
abruptShutdown (Необязательно) Логическое значение, указывающее, следует ли завершить работу экземпляра масштабируемого набора виртуальных машин корректно или внезапно (деструктивно).
Экземпляры Строка с разделителями массив идентификаторов экземпляров масштабируемого набора виртуальных машин, к которым применяется ошибка.
Пример JSON версии 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 версии 2.0

Свойство Значение
Имя возможности Завершение работы-2.0
Целевой тип Microsoft-VirtualMachineScaleSet
Поддерживаемые типы ОС Windows, Linux.
Description Завершает работу или убивает экземпляр масштабируемого набора виртуальных машин во время сбоя. Перезапускает виртуальную машину в конце длительности сбоя или отменяет эксперимент. Поддерживает динамическую целевую ориентацию.
Необходимые компоненты Нет.
Urn urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0
filter (Необязательно) Доступно начиная с версии 2.0. Используется для фильтрации списка целевых объектов в селекторе. В настоящее время поддерживает фильтрацию по списку зон. Фильтр применяется только к ресурсам масштабируемого набора виртуальных машин в пределах зоны:
  • Если фильтр не указан, эта ошибка завершает работу всех экземпляров в масштабируемом наборе виртуальных машин.
  • Эксперимент предназначен для всех экземпляров масштабируемого набора виртуальных машин в указанных зонах.
  • Если фильтр не приводит к целевым объектам, эксперимент завершается ошибкой.
Параметры (ключ, значение)
abruptShutdown (Необязательно) Логическое значение, указывающее, следует ли завершить работу экземпляра масштабируемого набора виртуальных машин корректно или внезапно (деструктивно).
Пример фрагментов JSON версии 2.0

В следующих фрагментах кода показано, как настроить динамическое фильтрацию и сбой завершения работы 2.0.

Настройте фильтр для динамической целевой настройки:

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

Настройте ошибку завершения работы:

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

Ограничения

В настоящее время поддерживаются только масштабируемые наборы виртуальных машин, настроенные в режиме универсальной оркестрации. Если масштабируемый набор виртуальных машин использует гибкую оркестрацию, можно использовать сбой завершения работы виртуальной машины Azure Resource Manager, чтобы завершить работу выбранных экземпляров.

Сведения: действия оркестрации

Задержка

Свойство Значение
Поставщик ошибок Н/П
Поддерживаемые типы ОС Н/П
Description Добавляет задержку времени до, между или после других действий эксперимента. Это действие не является ошибкой и используется для синхронизации действий в эксперименте. Используйте это действие, чтобы дождаться появления сбоя в службе или ожидать завершения действия вне эксперимента. Например, эксперимент может ждать автоматического обработки перед внедрением другого сбоя.
Необходимые компоненты Н/П
Urn urn:csci:microsoft:chaosStudio:timedDelay/1.0
Длительность Длительность задержки в формате ISO 8601 (например, PT10M).

Пример JSON

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

Запуск нагрузочного теста (нагрузочное тестирование Azure)

Свойство Значение
Имя возможности Начало-1.0
Целевой тип Microsoft-AzureLoadTest
Description Запускает нагрузочный тест (из Нагрузочного тестирования Azure) на основе предоставленного идентификатора нагрузочного теста.
Необходимые компоненты Нагрузочный тест с допустимым идентификатором нагрузочного теста должен быть создан в службе Azure Load Testing.
Urn urn:csci:microsoft:azureLoadTest:start/1.0
Тип сбоя Дискретных.
Параметры (ключ, значение)
testID Идентификатор определенного нагрузочного теста, созданного в службе нагрузочного тестирования Azure.

Пример JSON

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

Остановка нагрузочного теста (нагрузочное тестирование Azure)

Свойство Значение
Имя возможности Stop-1.0
Целевой тип Microsoft-AzureLoadTest
Description Останавливает нагрузочный тест (из Нагрузочного тестирования Azure) на основе предоставленного идентификатора нагрузочного теста.
Необходимые компоненты Нагрузочный тест с допустимым идентификатором нагрузочного теста должен быть создан в службе Azure Load Testing.
Urn urn:csci:microsoft:azureLoadTest:stop/1.0
Тип сбоя Дискретных.
Параметры (ключ, значение)
testID Идентификатор определенного нагрузочного теста, созданного в службе нагрузочного тестирования Azure.

Пример JSON

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