Библиотека ошибок и действий Azure Chaos Studio
В этой статье перечислены ошибки, которые можно использовать в Chaos Studio, упорядоченные по соответствующему типу ресурса. Сведения о том, какие назначения ролей рекомендуется использовать для каждого типа ресурсов, см. в статье "Поддерживаемые типы ресурсов и назначения ролей" для Azure Chaos Studio.
Ошибки на основе агента
Ошибки на основе агента внедряются в экземпляры масштабируемого набора виртуальных машин Azure Виртуальные машины или виртуальных машин путем установки агента Chaos Studio. Найдите параметры сбоя непосредственной службы для этих ресурсов ниже в таблицах масштабируемого набора виртуальных машин и виртуальных машин.
Применимые типы ОС | Имя сбоя | Применимые сценарии |
---|---|---|
Windows, Linux | Давление ЦП | Потеря емкости вычислений, давление на ресурсы |
Windows, Linux | Процесс убийства | Нарушение зависимостей |
Windows | Приостановка процесса | Нарушение зависимостей, нарушение работы службы |
Windows1, Linux2 | Сетевое отключение | Нарушение сети |
Windows1, Linux2 | Задержка сети | Снижение производительности сети |
Windows1, Linux2 | Потеря сетевого пакета | Проблемы с надежностью сети |
Windows, Linux2 | Сетевая изоляция | Нарушение сети |
Windows | Сбой DNS | Проблемы с разрешением DNS. |
Windows | Сетевое отключение (через брандмауэр) | Нарушение сети |
Windows, Linux | Давление физической памяти | Потеря емкости памяти, давление на ресурсы |
Windows, Linux | Остановка службы | Прерывание работы службы и перезапуск |
Windows | Изменение времени | Проблемы с синхронизацией времени |
Windows | Давление виртуальной памяти | Потеря емкости памяти, давление на ресурсы |
Linux | Произвольный стресс-ng Стрессор | Общее системное стресс-тестирование |
Linux | Давление диска Linux | Снижение производительности операций ввода-вывода диска |
Windows | Давление DiskIO | Снижение производительности операций ввода-вывода диска |
Только 1 пакеты TCP/UDP. Только исходящий сетевой трафик 2 .
Служба приложений
Этот раздел относится к типу Microsoft.Web/sites
ресурса. Дополнительные сведения о Службе приложений
Имя сбоя | Применимые сценарии |
---|---|
Остановка Служба приложений | Сбои в работе служб |
Параметры автомасштабирования
Этот раздел относится к типу Microsoft.Insights/autoscaleSettings
ресурса. Дополнительные сведения о параметрах автомасштабирования.
Имя сбоя | Применимые сценарии |
---|---|
Отключение автомасштабирования | Потеря емкости вычислений (при использовании с завершением работы масштабируемого набора виртуальных машин) |
Служба 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
ресурса. Дополнительные сведения о Масштабируемые наборы виртуальных машин.
Имя сбоя | Применимые сценарии |
---|---|
Завершение работы масштабируемого набора виртуальных машин | Потеря вычислительных ресурсов и нарушение работы |
Завершение работы масштабируемого набора виртуальных машин (2.0) | Потеря и нарушение вычислений (по зоне доступности) |
Действия оркестрации
Эти действия являются стандартными блоками для создания эффективных экспериментов. Используйте их в сочетании с другими сбоями, например запуск нагрузочного теста при параллельном завершении работы вычислительных экземпляров в зоне.
Категория действий | Имя сбоя |
---|---|
Загрузка | Запуск нагрузочного теста (нагрузочное тестирование Azure) |
Загрузка | Остановка нагрузочного теста (нагрузочное тестирование Azure) |
Задержка времени | Задержка |
Сведения: ошибки на основе агента
Отключение сети
Свойство | Значение |
---|---|
Имя возможности | NetworkDisconnect-1.1 |
Целевой тип | Microsoft-Agent |
Поддерживаемые типы ОС | Windows, Linux (только исходящий трафик) |
Description | Блокирует сетевой трафик для указанного диапазона портов и сетевого блока. Необходимо указать по крайней мере один массив destinationFilter или inboundDestinationFilter. |
Необходимые компоненты | Windows: агент должен запускаться от имени администратора, что происходит по умолчанию при установке в качестве расширения виртуальной машины. |
Linux: tc пакет управления трафиком используется для сбоев сети. Если он еще не установлен, агент автоматически пытается установить его из диспетчера пакетов по умолчанию. |
|
Урна | 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.
- При запуске в Linux эта ошибка может повлиять только на исходящий трафик, а не на входящий трафик. Ошибка может повлиять как на входящий, так и исходящий трафик в средах Windows (с помощью
inboundDestinationFilters
параметров).destinationFilters
Сетевое отключение (через брандмауэр)
Свойство | Значение |
---|---|
Имя возможности | NetworkDisconnectViaFirewall-1.0 |
Целевой тип | Microsoft-Agent |
Поддерживаемые типы ОС | Windows |
Description | Применяет правило брандмауэра Windows для блокировки исходящего трафика для указанного диапазона портов и сетевого блока. |
Необходимые компоненты | Агент должен запускаться от имени администратора. Если агент установлен в качестве расширения виртуальной машины, он запускается от имени администратора по умолчанию. |
Урна | 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: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: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.
- При запуске в Linux эта ошибка может повлиять только на исходящий трафик, а не на входящий трафик. Ошибка может повлиять как на входящий, так и исходящий трафик в средах Windows (с помощью
inboundDestinationFilters
параметров).destinationFilters
- Эта ошибка в настоящее время влияет только на новые подключения. Существующие активные подключения не затрагиваются. Вы можете перезапустить службу или процесс, чтобы принудительно отключить подключения.
Сетевая изоляция
Свойство | Значение |
---|---|
Имя возможности | NetworkIsolation-1.0 |
Целевой тип | Microsoft-Agent |
Поддерживаемые типы ОС | Windows, Linux (только исходящие) |
Description | Полностью изолируйте виртуальную машину от сетевых подключений, удаляя все входящий ip-адрес (в Windows) и исходящие пакеты (в Windows и Linux) в течение указанной длительности. В конце срока сетевые подключения будут повторно включены. Так как агент зависит от сетевого трафика, это действие не может быть отменено и будет выполняться до указанной длительности. |
Необходимые компоненты | Windows: агент должен запускаться от имени администратора, что происходит по умолчанию при установке в качестве расширения виртуальной машины. |
Linux: tc пакет управления трафиком используется для сбоев сети. Если он еще не установлен, агент автоматически пытается установить его из диспетчера пакетов по умолчанию. |
|
Урна | urn:csci:microsoft:agent:networkIsolation/1.0 |
Тип сбоя | Непрерывные — |
Параметры (ключ, значение) | |
virtualMachineScaleSetInstances | Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации, необязательно. Дополнительные сведения об идентификаторах экземпляров. |
Пример JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkIsolation/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Ограничения
- Так как агент зависит от сетевого трафика, это действие не может быть отменено и будет выполняться до указанной длительности. Следует использовать с осторожностью.
- Эта ошибка в настоящее время влияет только на новые подключения. Существующие активные подключения не затрагиваются. Вы можете перезапустить службу или процесс, чтобы принудительно отключить подключения.
- При запуске в Linux эта ошибка может повлиять только на исходящий трафик, а не на входящий трафик. Ошибка может повлиять как на входящий, так и исходящий трафик в средах Windows.
Сбой DNS
Свойство | Значение |
---|---|
Имя возможности | DnsFailure-1.0 |
Целевой тип | Microsoft-Agent |
Поддерживаемые типы ОС | Windows |
Description | Заменяет ответы запроса на поиск DNS указанным кодом ошибки. Запросы подстановки DNS, которые заменяются, должны:
|
Необходимые компоненты | Нет. |
Урна | urn:csci:microsoft:agent:dnsFailure/1.0 |
Тип сбоя | Непрерывные — |
Параметры (ключ, значение) | |
Узлы | Массив JSON с разделителями имен узлов, для которых не удалось выполнить запрос на поиск DNS. Это свойство принимает подстановочные знаки ( * ), но только для первого поддомена в адресе и применяется только к поддомену, для которого они указаны. Например:
|
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:csci:microsoft:agent:cpuPressure/1.0 |
Тип сбоя | Непрерывные — |
Параметры (ключ, значение) | |
pressureLevel | Целое число от 1 до 95, указывающее, сколько давления ЦП (%) применяется к виртуальной машине с точки зрения % использования ЦП |
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:csci:microsoft:agent:physicalMemoryPressure/1.0 |
Тип сбоя | Непрерывные — |
Параметры (ключ, значение) | |
pressureLevel | Целое число от 1 до 95, указывающее, сколько нагрузки физической памяти (%) применяется к виртуальной машине. |
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:csci:microsoft:agent:virtualMemoryPressure/1.0 |
Тип сбоя | Непрерывные — |
Параметры (ключ, значение) | |
pressureLevel | Целое число от 1 до 95, указывающее, сколько нагрузки физической памяти (%) применяется к виртуальной машине. |
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:csci:microsoft:agent:diskIOPressure/1.1 |
Тип сбоя | Непрерывные — |
Параметры (ключ, значение) | |
pressureMode | Предустановленный режим давления на диск для добавления в основное хранилище виртуальной машины. Должен быть одним из приведенных PressureModes ниже таблиц. |
targetTempDirectory | (Необязательно) Каталог, используемый для применения давления на диск. Например, D:/Temp . Если параметр не включен, давление добавляется к основному диску. |
virtualMachineScaleSetInstances | Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров. |
Режимы давления
PressureMode | Description |
---|---|
PremiumStorageP10IOPS | numberOfThreads = 1 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 25 sizeOfBlocksInKB = 8 sizeOfWriteBufferInKB = 64 fileSizeInGB = 2 percentOfWriteActions = 50 |
PremiumStorageP10Throttling | numberOfThreads = 2 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 25 sizeOfBlocksInKB = 64 sizeOfWriteBufferInKB = 64 fileSizeInGB = 1 percentOfWriteActions = 50 |
PremiumStorageP50IOPS | numberOfThreads = 32 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 32 sizeOfBlocksInKB = 8 sizeOfWriteBufferInKB = 64 fileSizeInGB = 1 percentOfWriteActions = 50 |
PremiumStorageP50Throttling | numberOfThreads = 2 randomBlockSizeInKB = 1024 randomSeed = 10 numberOfIOperThread = 2 sizeOfBlocksInKB = 1024 sizeOfWriteBufferInKB = 1024 fileSizeInGB = 20 percentOfWriteActions = 50 |
По умолчанию. | numberOfThreads = 2 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 2 sizeOfBlocksInKB = 64 sizeOfWriteBufferInKB = 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: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: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: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"
}
]
}
Приостановка процесса
Свойство | Значение |
---|---|
Имя возможности | PauseProcess-1.0 |
Целевой тип | Microsoft-Agent |
Поддерживаемые типы ОС | Windows |
Description | Приостанавливает (приостанавливает) указанные процессы в течение указанной длительности. При наличии нескольких процессов с одинаковым именем эта ошибка приостанавливает все эти процессы. В течение длительности сбоя процессы приостановлены повторно с заданным интервалом. В конце длительности или в случае отмены эксперимента процессы будут возобновляться. |
Необходимые компоненты | Нет. |
Урна | urn:csci:microsoft:agent:pauseProcess/1.0 |
Тип сбоя | Непрерывные — |
Параметры (ключ, значение) | |
ProcessNames | Массив JSON с разделителями имен процессов, определяющих, какие процессы должны быть приостановлены. Не более 4. При необходимости имя процесса может включать расширение ".exe". |
pauseIntervalInMilliseconds | Время ожидания сбоя между последовательными попытками приостановки в миллисекундах. |
virtualMachineScaleSetInstances | Массив идентификаторов экземпляров при применении этой ошибки к масштабируемой группе виртуальных машин. Требуется для масштабируемых наборов виртуальных машин в едином режиме оркестрации. Дополнительные сведения об идентификаторах экземпляров. |
Пример JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:pauseProcess/1.0",
"parameters": [
{
"key": "processNames",
"value": "[ \"test-0\", \"test-1.exe\" ]"
},
{
"key": "pauseIntervalInMilliseconds",
"value": "1000"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Ограничения
В настоящее время в параметре processNames можно указать не более 4 имен процессов.
Изменение времени
Свойство | Значение |
---|---|
Имя возможности | TimeChange-1.0 |
Целевой тип | Microsoft-Agent |
Поддерживаемые типы ОС | Windows |
Description | Изменяет системное время виртуальной машины и сбрасывает время в конце эксперимента или если эксперимент отменен. |
Необходимые компоненты | Нет. |
Урна | 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: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: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"
}
]
}
Отключение автомасштабирования
Свойство | Значение |
---|---|
Имя возможности | DisableAutoscale |
Целевой тип | Microsoft-AutoscaleSettings |
Description | Отключает службу автомасштабирования. При отключении автомасштабирования ресурсы, такие как масштабируемые наборы виртуальных машин, веб-приложения, служебной шины и многое другое , не добавляются или не удаляются в зависимости от нагрузки приложения. |
Необходимые компоненты | Ресурс автомасштабирования, включенный в ресурс, должен быть подключен к Chaos Studio. |
Урна | 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.2 |
Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
Поддерживаемые типы ОС пула узлов | Linux |
Description | Вызывает сбой сети, доступный через сетку Chaos, для запуска в кластере Служба Azure Kubernetes (AKS). Полезно для повторного создания инцидентов AKS, которые возникают из-за сбоев сети, задержек, дублирования, потери и повреждения. |
Необходимые компоненты | Кластер AKS должен развернуть сетку Chaos. |
Урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2 |
Параметры (ключ, значение) | |
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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"delay\",\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"delay\":{\"latency\":\"200ms\",\"correlation\":\"100\",\"jitter\":\"0ms\"}}}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh Pod Chaos
Свойство | Значение |
---|---|
Имя возможности | PodChaos-2.2 |
Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
Поддерживаемые типы ОС пула узлов | Linux |
Description | Вызывает сбой pod, доступный через Сетку Chaos, запущенную в кластере AKS. Полезно для повторного создания инцидентов AKS, которые являются результатом сбоев pod или проблем с контейнерами. |
Необходимые компоненты | Кластер AKS должен развернуть сетку Chaos. |
Урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.2 |
Параметры (ключ, значение) | |
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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"pod-failure\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]}}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh Stress Chaos
Свойство | Значение |
---|---|
Имя возможности | StressChaos-2.2 |
Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
Поддерживаемые типы ОС пула узлов | Linux |
Description | Вызывает сбой стресса, доступный через Сетку Хаоса для запуска в кластере AKS. Полезно для повторного создания инцидентов AKS из-за стресса над коллекцией модулей pod, например из-за высокого потребления ЦП или памяти. |
Необходимые компоненты | Кластер AKS должен развернуть сетку Chaos. |
Урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2 |
Параметры (ключ, значение) | |
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.2",
"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.2 |
Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
Поддерживаемые типы ОС пула узлов | Linux |
Description | Вызывает сбой ввода-вывода, доступный через Сетку Хаоса для запуска в кластере AKS. Полезно для повторного создания инцидентов AKS из-за задержек ввода-вывода и сбоев чтения и записи при использовании системных вызовов ввода-вывода, таких как open , read и write . |
Необходимые компоненты | Кластер AKS должен развернуть сетку Chaos. |
Урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.2 |
Параметры (ключ, значение) | |
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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"latency\",\"mode\":\"one\",\"selector\":{\"app\":\"etcd\"},\"volumePath\":\"\/var\/run\/etcd\",\"path\":\"\/var\/run\/etcd\/**\/*\",\"delay\":\"100ms\",\"percent\":50}"
}
],
"selectorid": "myResources"
}
]
}
Хаос в формате AKS Chaos Mesh
Свойство | Значение |
---|---|
Имя возможности | TimeChaos-2.2 |
Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
Поддерживаемые типы ОС пула узлов | Linux |
Description | Вызывает изменение системных часов в кластере AKS с помощью Сетки Хаоса. Полезно для повторного создания инцидентов AKS, которые возникают из-за падения синхронизации распределенных систем, отсутствия или неправильного високосного года/високосной логики и многого другого. |
Необходимые компоненты | Кластер AKS должен развернуть сетку Chaos. |
Урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.2 |
Параметры (ключ, значение) | |
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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"timeOffset\":\"-10m100ns\"}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh Kernel Chaos
Свойство | Значение |
---|---|
Имя возможности | KernelChaos-2.2 |
Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
Поддерживаемые типы ОС пула узлов | Linux |
Description | Вызывает сбой ядра, доступный через сетку Chaos, запущенную в кластере AKS. Полезно для повторного создания инцидентов AKS из-за ошибок на уровне ядра Linux, таких как сбой подключения или не выделенная память. |
Необходимые компоненты | Кластер AKS должен развернуть сетку Chaos. |
Урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.2 |
Параметры (ключ, значение) | |
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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"failKernRequest\":{\"callchain\":[{\"funcname\":\"__x64_sys_mount\"}],\"failtype\":0}}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh HTTP Chaos
Свойство | Значение |
---|---|
Имя возможности | HTTPChaos-2.2 |
Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
Поддерживаемые типы ОС пула узлов | Linux |
Description | Вызывает сбой HTTP, доступный через сетку Chaos, запущенную в кластере AKS. Полезно для повторного создания инцидентов из-за сбоев обработки HTTP-запросов и ответов, таких как задержка или неправильный ответ. |
Необходимые компоненты | Кластер AKS должен развернуть сетку Chaos. |
Урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.2 |
Параметры (ключ, значение) | |
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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"target\":\"Request\",\"port\":80,\"method\":\"GET\",\"path\":\"/api\",\"abort\":true}"
}
],
"selectorid": "myResources"
}
]
}
Хаос в сетке хаоса AKS
Свойство | Значение |
---|---|
Имя возможности | DNSChaos-2.2 |
Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
Поддерживаемые типы ОС пула узлов | Linux |
Description | Вызывает сбой DNS, доступный через Сетку Хаоса для запуска в кластере AKS. Полезно для повторного создания инцидентов из-за сбоев DNS. |
Необходимые компоненты | Кластер AKS должен развернуть сетку Chaos и установить службу DNS. |
Урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.2 |
Параметры (ключ, значение) | |
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.2",
"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: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: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: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: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: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: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: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: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, SecurityRule-1.1 |
Целевой тип | Microsoft-NetworkSecurityGroup |
Description | Включает манипуляцию или создание правил в существующей группе безопасности сети Azure (NSG) или наборе групп безопасности Сети Azure, предполагая, что определение правила применимо для групп безопасности. Полезно для:
|
Необходимые компоненты | Нет. |
Урна | urn:csci:microsoft:networkSecurityGroup:securityRule/1.0, urn:csci:microsoft:networkSecurityGroup:securityRule/1.1 |
Тип сбоя | Непрерывные — |
Параметры (ключ, значение) | |
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. Попытка создать новое правило, которое имеет то же значение приоритета, что и другое, приводит к сбою эксперимента.
- Ошибка правила безопасности NSG версии 1.1 поддерживает дополнительный
flushConnection
параметр. Эта функция имеет активную известную проблему: еслиflushConnection
включена, ошибка может привести к ошибке FlushingNetworkSecurityConnectionIsNotEnabled. Чтобы избежать этой ошибки временно, отключитеflushConnection
параметр или используйте правило безопасности NSG версии 1.0 .
служебная шина: изменение состояния очереди
Свойство | Значение |
---|---|
Имя возможности | ChangeQueueState-1.0 |
Целевой тип | Microsoft-ServiceBus |
Description | Задает сущности очереди в пространстве имен служебная шина требуемому состоянию. Вы можете повлиять на имена определенных сущностей или использовать "*", чтобы повлиять на все. Это действие поможет протестировать инфраструктуру обмена сообщениями для сценариев обслуживания или сбоя. Это дискретная ошибка, поэтому сущность не будет возвращена в начальное состояние автоматически. |
Необходимые компоненты | Пространство имен служебная шина по крайней мере с одной сущностью очереди. |
Урна | 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: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: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: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: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"
}
]
}
Завершение работы масштабируемого набора виртуальных машин
Эта ошибка содержит две доступные версии, которые можно использовать, версии 1.0 и версии 2.0. Основное различие заключается в том, что версия 2.0 позволяет фильтровать по зонам доступности, только закрывая экземпляры в указанной зоне или зонах.
Завершение работы масштабируемого набора виртуальных машин версии 1.0
Свойство | Значение |
---|---|
Имя возможности | Версия 1.0 |
Целевой тип | Microsoft-VirtualMachineScaleSet |
Поддерживаемые типы ОС | Windows, Linux. |
Description | Завершает работу или убивает экземпляр масштабируемого набора виртуальных машин во время сбоя и перезапускает виртуальную машину в конце длительности сбоя или если эксперимент отменен. |
Необходимые компоненты | Нет. |
Урна | 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"
}
]
}
Завершение работы масштабируемого набора виртуальных машин версии 2.0
Свойство | Значение |
---|---|
Имя возможности | Завершение работы-2.0 |
Целевой тип | Microsoft-VirtualMachineScaleSet |
Поддерживаемые типы ОС | Windows, Linux. |
Description | Завершает работу или убивает экземпляр масштабируемого набора виртуальных машин во время сбоя. Перезапускает виртуальную машину в конце длительности сбоя или отменяет эксперимент. Поддерживает динамическую целевую ориентацию. |
Необходимые компоненты | Нет. |
Урна | 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:csci:microsoft:chaosStudio:timedDelay/1.0 |
Duration | Длительность задержки в формате 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: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: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"
}
]
}