Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье перечислены ошибки, которые вы можете использовать в Chaos Studio, организованные по соответствующему типу ресурса. Сведения о том, какие назначения ролей рекомендуется использовать для каждого типа ресурсов, см. в статье "Поддерживаемые типы ресурсов и назначения ролей" для Azure Chaos Studio.
Отказы на основе агентов
Ошибки, вызванные агентом, внедряются в виртуальные машины Azure или экземпляры масштабируемого набора виртуальных машин путем установки агента Chaos Studio. Найдите параметры сбоя прямой службы для этих ресурсов ниже в таблицах виртуальных машин и масштабируемого набора виртуальных машин.
| Типы поддерживаемых операционных систем | Название неисправности | Применяемые сценарии |
|---|---|---|
| Windows, Linux | Давление ЦП | Потеря вычислительных мощностей, нагрузка на ресурсы |
| Windows, Linux | Процесс убийства | Нарушение зависимости |
| Виндоус | Приостановка процесса | Нарушение зависимости, сбой в услуге |
| Windows1, Linux2 | Сетевое отключение | Сбой в сети |
| Windows1, Linux2 | Задержка сети | Ухудшение сетевой производительности |
| Windows1, Linux2 | Потеря сетевого пакета | Проблемы надежности сети |
| Windows, Linux2 | Сетевая изоляция | Сбой в сети |
| Виндоус | Сбой DNS | проблемы с разрешением DNS |
| Виндоус | Сетевое отключение (через брандмауэр) | Сбой в сети |
| Windows, Linux | Давление физической памяти | Потеря емкости памяти, давление ресурсов |
| Windows, Linux | Остановка службы | Нарушение обслуживания/перезапуск |
| Виндоус | Изменение времени | Проблемы с синхронизацией времени |
| Виндоус | Давление виртуальной памяти | Потеря емкости памяти, давление ресурсов |
| Линукс | Произвольный стрессовый фактор | Общая стресс-тестирование системы |
| Линукс | Давление диска Linux | Ухудшение производительности ввода-вывода диска |
| Виндоус | Давление DiskIO | Ухудшение производительности ввода-вывода диска |
Только 1 пакет TCP/UDP. 2 Только исходящий сетевой трафик.
Служба приложений
Этот раздел применяется к ресурсу типа Microsoft.Web/sites.
Дополнительные сведения о службе приложений.
| Название неисправности | Применяемые сценарии |
|---|---|
| Остановка службы приложений | Перебои в работе сервиса |
Настройки Автомасштабирования
Этот раздел применяется к ресурсу типа Microsoft.Insights/autoscaleSettings.
Дополнительные сведения о параметрах автомасштабирования.
| Название неисправности | Применяемые сценарии |
|---|---|
| Отключение автомасштабирования | Потеря вычислительной мощности (при использовании с отключением набора масштабируемых виртуальных машин) |
Служба Azure Kubernetes
Этот раздел применяется к ресурсу типа Microsoft.ContainerService/managedClusters.
Дополнительные сведения о службе Azure Kubernetes.
| Название неисправности | Применяемые сценарии |
|---|---|
| AKS Chaos Mesh: хаос в DNS | проблемы с разрешением DNS |
| AKS Chaos Mesh HTTP Хаос | Сбой в сети |
| Хаос в сетке хаоса AKS | Деградация/давление диска |
| AKS Chaos Mesh Kernel Chaos | Сбой ядра |
| Хаос сети сетки AKS | Сбой в сети |
| AKS Chaos Mesh Pod Chaos | Нарушение работы контейнера |
| AKS Chaos Mesh стресс-хаос | Нагрузочное тестирование системы |
| AKS Chaos Mesh Временной Хаос | Проблемы с синхронизацией времени |
Облачные службы (классические)
Этот раздел применяется к ресурсу типа Microsoft.ClassicCompute/domainNames.
Узнайте больше об облачных службах (классической версии).
| Название неисправности | Применяемые сценарии |
|---|---|
| Завершение работы облачной службы | Потеря вычислительных ресурсов |
Кластеризованный кэш для Redis
Этот раздел применяется к ресурсу типа Microsoft.Cache/redis.
Дополнительные сведения о кластеризованном кэше для Redis.
| Название неисправности | Применяемые сценарии |
|---|---|
| Кэш Azure для Redis (перезагрузка) | Нарушение зависимости (кеши) |
База данных Cosmos DB
Этот раздел применяется к ресурсу типа Microsoft.DocumentDB/databaseAccounts.
Дополнительные сведения о Cosmos DB.
| Название неисправности | Применяемые сценарии |
|---|---|
| Отказоустойчивость Cosmos DB | Переключение при отказе базы данных |
Центры событий
Этот раздел применяется к ресурсу типа Microsoft.EventHub/namespaces.
Дополнительные сведения о Центрах событий.
| Название неисправности | Применяемые сценарии |
|---|---|
| Изменение состояния концентратора событий | Неправильная конфигурация/сбой в инфраструктуре обмена сообщениями |
Хранилище ключей
Этот раздел применяется к ресурсу типа Microsoft.KeyVault/vaults.
Дополнительные сведения о Key Vault.
| Название неисправности | Применяемые сценарии |
|---|---|
| Key Vault: запрет доступа | Отказ в выдаче сертификата |
| Key Vault: отключение сертификата | Нарушение сертификата |
| Key Vault: добавочная версия сертификата | Увеличение версии сертификата |
| Key Vault: обновление политики сертификатов | Изменения политики сертификатов/неправильные настройки |
Группы сетевой безопасности
Этот раздел применяется к ресурсу типа Microsoft.Network/networkSecurityGroups.
Дополнительные сведения о группах безопасности сети.
| Название неисправности | Применяемые сценарии |
|---|---|
| Правило безопасности NSG | Прерывание работы сети (для многих сервисов Azure) |
Сервис Бус
Этот раздел применяется к ресурсу типа Microsoft.ServiceBus/namespaces.
Дополнительные сведения о служебной шине.
| Название неисправности | Применяемые сценарии |
|---|---|
| Изменение состояния очереди | Неправильная конфигурация/сбой в инфраструктуре обмена сообщениями |
| Изменение состояния подписки | Неправильная конфигурация/сбой в инфраструктуре обмена сообщениями |
| Изменение состояния раздела | Неправильная конфигурация/сбой в инфраструктуре обмена сообщениями |
Виртуальные машины (служба-напрямую)
Этот раздел применяется к ресурсу типа Microsoft.Compute/virtualMachines.
Дополнительные сведения о виртуальных машинах.
| Название неисправности | Применяемые сценарии |
|---|---|
| Повторное развертывание виртуальной машины | Нарушение вычислений, мероприятия по обслуживанию |
| Завершение работы виртуальной машины | Вычисление потерь/нарушений |
Набор масштабируемых виртуальных машин
Этот раздел применяется к ресурсу типа Microsoft.Compute/virtualMachineScaleSets.
Дополнительные сведения о масштабируемых наборах виртуальных машин.
| Название неисправности | Применяемые сценарии |
|---|---|
| Завершение работы масштабируемого набора виртуальных машин | Вычисление потерь/нарушений |
| Завершение работы масштабируемого набора виртуальных машин (2.0) | Подсчитать потери/нарушения (по зонам доступности) |
Действия оркестрации
Эти действия являются стандартными блоками для создания эффективных экспериментов. Используйте их в сочетании с другими сбоями, например запуск нагрузочного теста при параллельном завершении работы вычислительных экземпляров в зоне.
| Категория действий | Название неисправности |
|---|---|
| Загрузка | Запуск нагрузочного теста (нагрузочное тестирование Azure) |
| Загрузка | Остановка нагрузочного теста (нагрузочное тестирование Azure) |
| Задержка времени | Задержка |
Сведения: ошибки, связанные с агентом
Сетевое отключение
| Собственность | Значение |
|---|---|
| Название возможности | ОтключениеСети-1.2 |
| Целевой тип | Microsoft-Agent |
| Поддерживаемые типы ОС | Windows, Linux (только исходящий трафик) |
| Описание | Блокирует сетевой трафик для указанного диапазона портов и сетевого блока. Необходимо указать по крайней мере один массив destinationFilter или inboundDestinationFilter. |
| Предпосылки | Виндоус: Агент должен запускаться от имени администратора, что происходит по умолчанию при установке в качестве расширения виртуальной машины. |
Линукс:tc Пакет управления трафиком используется для сбоев сети. Если он еще не установлен, то агент автоматически попытается установить его из стандартного менеджера пакетов. |
|
| урна | urn:csci:microsoft:agent:networkDisconnect/1.2 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| destinationFilters | Массив JSON с разделителями, содержащий фильтры пакетов, определяющие, какие исходящие пакеты следует нацеливать. Максимум 16. |
| фильтры пунктов назначения для входящего трафика | Массив JSON для фильтров пакетов, определяющий, на какие входящие пакеты следует нацеливаться. Максимум 16. |
| virtualMachineScaleSetInstances | Массив идентификаторов экземпляров, когда вы применяете этот сбой к набору виртуальных машин. Требуется для наборов масштабируемых виртуальных машин в режиме унифицированной оркестрации. Дополнительные сведения об идентификаторах экземпляров. |
Параметры destinationFilters и inboundDestinationFilters используют следующий массив фильтров пакетов.
| Собственность | Значение |
|---|---|
| адрес | IP-адрес или имя узла (например, microsoft.comдля целевого объекта). |
| маска подсети | (Необязательно) Маска подсети, применяемая к диапазону адресов. Если значение не указано, по умолчанию используется 255.255.255.255. |
| portLow | (Необязательно) Номер порта начала диапазона портов. |
| портВысокий | (Необязательно) Номер порта конца диапазона портов. |
Параметр address принимает либо IP-адрес в начале диапазона IP, либо имя хоста (например, microsoft.com). Если предоставлено имя хоста, DNS A-запись разрешается в соответствующий IP-адрес (или адреса), и применяется маска подсети по умолчанию 255.255.255.255. Соответствующая информация об IP извлекается только в начале сбоя. Поэтому, если соответствие между именем хоста и IP изменится во время эксперимента, сбой не сможет обнаружить это изменение.
Пример JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkDisconnect/1.2",
"parameters": [
{
"key": "destinationFilters",
"value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
},
{
"key": "inboundDestinationFilters",
"value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Ограничения
- В настоящее время ошибки сети на основе агентов поддерживают только адреса IPv4.
- Неисправность отключения сети влияет только на новые подключения. Существующие активные соединения продолжают сохраняться. Вы можете перезапустить службу или процесс, чтобы принудительно разорвать соединения.
- При запуске на Windows, сбой отключения сети в настоящее время работает только с пакетами TCP или UDP.
- Когда система работает на Linux, эта ошибка может влиять только на исходящий трафик, но не на входящий. Ошибка может повлиять как на входящий, так и исходящий трафик в средах Windows (с помощью
inboundDestinationFiltersпараметров).destinationFilters
Отключение сети (через межсетевой экран)
| Собственность | Значение |
|---|---|
| Название возможности | ОтключениеСетиЧерезБрандмауэр-1.1 |
| Целевой тип | Microsoft-Agent |
| Поддерживаемые типы ОС | Виндоус |
| Описание | Применяет правило Windows Firewall для блокировки исходящего трафика в указанном диапазоне портов и сетевом диапазоне. |
| Предпосылки | Агент должен работать с правами администратора. Если агент установлен как расширение виртуальной машины, он запускается с правами администратора по умолчанию. |
| урна | urn:csci:microsoft:агент:разрывСетиЧерезБрандмауэр/1.1 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| destinationFilters | Ограниценный массив JSON фильтров пакетов, определяющий, на какие исходящие пакеты необходимо воздействовать для внедрения ошибок. |
| адрес | IP-адрес, указывающий начало диапазона IP. |
| маска подсети | Маска подсети для диапазона IP-адресов. |
| portLow | (Необязательно) Номер порта начала диапазона портов. |
| портВысокий | (Необязательно) Номер порта конца диапазона портов. |
| virtualMachineScaleSetInstances | Массив идентификаторов экземпляров, когда вы применяете этот сбой к набору виртуальных машин. Требуется для наборов масштабируемых виртуальных машин в режиме унифицированной оркестрации. Дополнительные сведения об идентификаторах экземпляров. |
Пример JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.1",
"parameters": [
{
"key": "destinationFilters",
"value": "[ { \"Address\": \"23.45.229.97\", \"SubnetMask\": \"255.255.255.224\", \"PortLow\": \"5000\", \"PortHigh\": \"5200\" } ]"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Ограничения
- В настоящее время ошибки сети на основе агентов поддерживают только адреса IPv4.
- Эта неисправность в настоящее время влияет только на новые подключения. Существующие активные подключения не затронуты. Вы можете перезапустить службу или процесс, чтобы принудительно разорвать соединения.
- Эта ошибка влияет только на исходящий трафик в настоящее время.
Задержка в сети
| Собственность | Значение |
|---|---|
| Название возможности | NetworkLatency-1.2 |
| Целевой тип | Microsoft-Agent |
| Поддерживаемые типы ОС | Windows, Linux (только исходящий трафик) |
| Описание | Увеличивает задержку сети для указанного диапазона портов и сетевого блока. Необходимо указать по крайней мере один массив destinationFilter или inboundDestinationFilter. |
| Предпосылки | Виндоус: Агент должен запускаться от имени администратора, что происходит по умолчанию при установке в качестве расширения виртуальной машины. |
Линукс:tc Пакет управления трафиком используется для сбоев сети. Если он еще не установлен, то агент автоматически попытается установить его из стандартного менеджера пакетов. |
|
| урна | urn:csci:microsoft:agent:networkLatency/1.2 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| задержка в миллисекундах | Количество задержки, которое необходимо применить, в миллисекундах. |
| destinationFilters | Массив JSON с разделителями, содержащий фильтры пакетов, определяющие, какие исходящие пакеты следует нацеливать. Максимум 16. |
| фильтры пунктов назначения для входящего трафика | Массив JSON для фильтров пакетов, определяющий, на какие входящие пакеты следует нацеливаться. Максимум 16. |
| virtualMachineScaleSetInstances | Массив идентификаторов экземпляров, когда вы применяете этот сбой к набору виртуальных машин. Требуется для наборов масштабируемых виртуальных машин в режиме унифицированной оркестрации. Дополнительные сведения об идентификаторах экземпляров. |
Параметры destinationFilters и inboundDestinationFilters используют следующий массив фильтров пакетов.
| Собственность | Значение |
|---|---|
| адрес | IP-адрес или имя узла (например, microsoft.comдля целевого объекта). |
| маска подсети | (Необязательно) Маска подсети, применяемая к диапазону адресов. Если значение не указано, по умолчанию используется 255.255.255.255. |
| portLow | (Необязательно) Номер порта начала диапазона портов. |
| портВысокий | (Необязательно) Номер порта конца диапазона портов. |
Параметр address принимает либо IP-адрес в начале диапазона IP, либо имя хоста (например, microsoft.com). Если предоставлено имя хоста, DNS A-запись разрешается в соответствующий IP-адрес (или адреса), и применяется маска подсети по умолчанию 255.255.255.255. Соответствующая информация об IP извлекается только в начале сбоя. Поэтому, если соответствие между именем хоста и IP изменится во время эксперимента, сбой не сможет обнаружить это изменение.
Пример JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkLatency/1.2",
"parameters": [
{
"key": "destinationFilters",
"value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
},
{
"key": "inboundDestinationFilters",
"value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
},
{
"key": "latencyInMilliseconds",
"value": "100",
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Ограничения
- В настоящее время ошибки сети на основе агентов поддерживают только адреса IPv4.
- При запуске в Linux ошибка задержки сети может повлиять только на исходящий трафик, а не входящий трафик. Ошибка может повлиять как на входящий, так и исходящий трафик в средах Windows (с помощью
inboundDestinationFiltersпараметров).destinationFilters - При запуске на Windows ошибка задержки сети в настоящее время работает только с пакетами TCP или UDP.
- Эта неисправность в настоящее время влияет только на новые подключения. Существующие активные подключения не затронуты. Вы можете перезапустить службу или процесс, чтобы принудительно разорвать соединения.
Потеря сетевого пакета
| Собственность | Значение |
|---|---|
| Название возможности | NetworkPacketLoss-1.2 (Потеря Пакетов Сети-1.2) |
| Целевой тип | Microsoft-Agent |
| Поддерживаемые типы ОС | Windows, Linux (только исходящий трафик) |
| Описание | Вводит потерю пакетов для исходящего трафика с указанной скоростью, между 0.0 (без потерь пакетов) и 1.0 (все пакеты потеряны). Эта операция может помочь смоделировать сценарии, такие как перегрузка сети или проблемы с сетевым оборудованием. |
| Предпосылки | Виндоус: Агент должен запускаться от имени администратора, что происходит по умолчанию при установке в качестве расширения виртуальной машины. |
Линукс:tc Пакет управления трафиком используется для сбоев сети. Если он еще не установлен, то агент автоматически попытается установить его из стандартного менеджера пакетов. |
|
| урна | urn:csci:microsoft:agent:networkPacketLoss/1.2 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| уровень потери пакетов | Скорость потери пакетов, соответствующих целевым фильтрам, составляет от 0,0 до 1.0. |
| virtualMachineScaleSetInstances | Массив идентификаторов экземпляров, когда вы применяете этот сбой к набору виртуальных машин. Требуется для наборов масштабируемых виртуальных машин в режиме унифицированной оркестрации. Дополнительные сведения об идентификаторах экземпляров. |
| destinationFilters | Массив JSON с разделителями, содержащий фильтры пакетов (параметры ниже), который определяет, на какие исходящие пакеты следует ориентироваться для внедрения ошибок. Не более трех. |
| адрес | IP-адрес или имя узла (например, microsoft.comдля целевого объекта). |
| маска подсети | (Необязательно) Маска подсети, применяемая к диапазону адресов. Если значение не указано, по умолчанию используется 255.255.255.255. |
| portLow | (Необязательно) Номер порта начала диапазона портов. |
| портВысокий | (Необязательно) Номер порта конца диапазона портов. |
Параметр address принимает либо IP-адрес в начале диапазона IP, либо имя хоста (например, microsoft.com). Если предоставлено имя хоста, DNS A-запись разрешается в соответствующий IP-адрес (или адреса), и применяется маска подсети по умолчанию 255.255.255.255. Соответствующая информация об IP извлекается только в начале сбоя. Поэтому, если соответствие между именем хоста и IP изменится во время эксперимента, сбой не сможет обнаружить это изменение.
Пример JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkPacketLoss/1.2",
"parameters": [
{
"key": "destinationFilters",
"value": "[{\"address\":\"23.45.229.97\",\"subnetMask\":\"255.255.255.224\",\"portLow\":5000,\"portHigh\":5200}]"
},
{
"key": "packetLossRate",
"value": "0.5"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Ограничения
- В настоящее время ошибки сети на основе агентов поддерживают только адреса IPv4.
- При запуске в Windows, ошибка потери сетевых пакетов в настоящее время работает только с пакетами TCP или UDP.
- Когда система работает на Linux, эта ошибка может влиять только на исходящий трафик, но не на входящий. Ошибка может повлиять как на входящий, так и исходящий трафик в средах Windows (с помощью
inboundDestinationFiltersпараметров).destinationFilters - Эта неисправность в настоящее время влияет только на новые подключения. Существующие активные подключения не затронуты. Вы можете перезапустить службу или процесс, чтобы принудительно разорвать соединения.
Сетевая изоляция
| Собственность | Значение |
|---|---|
| Название возможности | NetworkIsolation-1.0 |
| Целевой тип | Microsoft-Agent |
| Поддерживаемые типы ОС | Windows, Linux (только исходящие) |
| Описание | Полностью изолируйте виртуальную машину от сетевых подключений, блокируя все входящие IP-пакеты (в Windows) и исходящие пакеты (в 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 |
| Поддерживаемые типы ОС | Виндоус |
| Описание | Заменяет ответы на запросы DNS с указанным кодом ошибки. Запросы поиска DNS, которые заменяются, должны:
|
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:agent:dnsFailure/1.0 (Ошибка DNS) |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| принимающие стороны | Разделённый запятыми JSON массив имён хостов для отказа в выполнении запроса на поиск в DNS. Это свойство принимает подстановочные знаки ( *), но только для первого поддомена в адресе и применяется только к тому поддомену, для которого они указаны. Рассмотрим пример.
|
| код возврата при сбое DNS | Код ошибки DNS, который будет возвращен клиенту при сбое поиска (FormErr, ServFail, NXDomain, NotImp, Refused, 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 |
| Описание | Добавляет давление на ЦП до указанного значения на виртуальной машине, где создается эта ошибка в ходе операции сбоя. Искусственная нагрузка на ЦП снимается по окончании длительности или если эксперимент отменяется. В Windows счетчик производительности служебной программы% процессора используется при сбое, чтобы определить текущий процент ЦП, который вычитается из pressureLevel определенного в ошибке, чтобы % служебная программа процессора достигла приблизительно pressureLevel определенного в параметрах сбоя. |
| Предпосылки | Linux: необходимо установить программу stress-ng . Установка выполняется автоматически в рамках установки агента с помощью диспетчера пакетов по умолчанию в нескольких операционных системах, включая Debian (например, Ubuntu), Red Hat Enterprise Linux и OpenSUSE. Для других дистрибутивов, включая Azure Linux, необходимо установить stress-ng вручную. Дополнительные сведения см. в репозитории вышестоящего проекта. |
| Windows: Нет. | |
| урна | urn:csci:microsoft:agent:cpuPressure/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| уровень давления | Целое число от 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 |
| Описание | Добавляет нагрузку на физическую память, до указанного значения, на виртуальную машину, где эта ошибка введена во время выполнения операции. Искусственное физическое давление на память снимается в конце срока или если эксперимент отменен. |
| Предпосылки | Linux: необходимо установить программу stress-ng . Установка выполняется автоматически в рамках установки агента с помощью диспетчера пакетов по умолчанию в нескольких операционных системах, включая Debian (например, Ubuntu), Red Hat Enterprise Linux и OpenSUSE. Для других дистрибутивов, включая Azure Linux, необходимо установить stress-ng вручную. Дополнительные сведения см. в репозитории вышестоящего проекта. |
| Windows: Нет. | |
| урна | urn:csci:microsoft:agent:physicalMemoryPressure/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| уровень давления | Целое число от 1 до 99, которое указывает, какое давление на физическую память (%) оказывается на виртуальную машину (VM). |
| 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 |
| Поддерживаемые типы ОС | Виндоус |
| Описание | Добавляет давление на виртуальную память до указанного значения на виртуальной машине, где этот сбой внедряется в течение выполнения сбоя. Искусственное давление на виртуальную память снимается в конце срока или если эксперимент отменяется. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:agent:virtualMemoryPressure/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| уровень давления | Целое число от 1 до 99, которое указывает, какое давление на физическую память (%) оказывается на виртуальную машину (VM). |
| 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 |
| Поддерживаемые типы ОС | Виндоус |
| Описание | Использует служебную программу diskspd для добавления давления диска на виртуальную машину. Давление по умолчанию добавляется на основной диск или диск, указанный с параметром targetTempDirectory. Этот сбой имеет пять различных режимов выполнения. Искусственное давление на диск снимается в конце срока или если эксперимент отменяется. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:agent:diskIOPressure/1.1 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| Режим давления | Предустановленный режим давления на диск для добавления в основное хранилище ВМ. Должно быть одним из PressureModes в следующей таблице. |
| targetTempDirectory | (Необязательно) Каталог, используемый для применения давления на диск. Например, D:/Temp. Если параметр не включен, давление добавляется к основному диску. |
| virtualMachineScaleSetInstances | Массив идентификаторов экземпляров, когда вы применяете этот сбой к набору виртуальных машин. Требуется для наборов масштабируемых виртуальных машин в режиме унифицированной оркестрации. Дополнительные сведения об идентификаторах экземпляров. |
Режимы давления
| Режим давления | Описание |
|---|---|
| Premium Storage P10 IOPS | numberOfThreads = 1 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 25 размерБлоковВКилоБайтах = 8 sizeOfWriteBufferInKB = 64 // размер буфера записи в КБ = 64 Размер файла в ГБ = 2 процентЗаписейДействий = 50 |
| PremiumStorageP10Throttling | numberOfThreads = 2 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 25 sizeOfBlocksInKB (размер блоков в КБ) = 64 sizeOfWriteBufferInKB = 64 // размер буфера записи в КБ = 64 Размер файла в ГБ = 1 процентЗаписейДействий = 50 |
| Премиум хранилище P50IOPS | numberOfThreads = 32 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 32 размерБлоковВКилоБайтах = 8 sizeOfWriteBufferInKB = 64 // размер буфера записи в КБ = 64 Размер файла в ГБ = 1 процентЗаписейДействий = 50 |
| Ограничение скорости PremiumStorageP50 | numberOfThreads = 2 randomBlockSizeInKB = 1024 randomSeed = 10 numberOfIOperThread = 2 sizeOfBlocksInKB = 1024 sizeOfWriteBufferInKB = 1024 размер файла в ГБ = 20 процентЗаписейДействий = 50 |
| По умолчанию | numberOfThreads = 2 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 2 sizeOfBlocksInKB (размер блоков в КБ) = 64 sizeOfWriteBufferInKB = 64 // размер буфера записи в КБ = 64 Размер файла в ГБ = 1 процентЗаписейДействий = 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 |
| Поддерживаемые типы ОС | Линукс |
| Описание | Использует stress-ng для создания нагрузки на диск. Один или несколько вспомогательных процессов запускаются для выполнения процессов ввода/вывода с временными файлами. Давление по умолчанию добавляется на основной диск или диск, указанный с параметром targetTempDirectory. Сведения о применении давления см. в статье stress-ng . |
| Предпосылки | Linux: необходимо установить программу stress-ng . Установка выполняется автоматически в рамках установки агента с помощью диспетчера пакетов по умолчанию в нескольких операционных системах, включая Debian (например, Ubuntu), Red Hat Enterprise Linux и OpenSUSE. Для других дистрибутивов, включая Azure Linux, необходимо установить stress-ng вручную. Дополнительные сведения см. в репозитории вышестоящего проекта. |
| урна | urn:csci:microsoft:agent:linuxDiskIOPressure/1.1 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| количествоРаботников | Количество выполняемых рабочих процессов. Параметр workerCount 0 создает столько рабочих процессов, сколько число процессоров. |
| размер файла на одного рабочего | Размер временного файла, с которым работник выполняет операции ввода-вывода. Целое число плюс единица измерения в байтах (b), килобайтах (k), мегабайтах (m) или гигабайтах (g) (например, 4m для 4 мегабайт и 256g для 256 гигабайт). |
| blockSize | Размер блока, используемого для операций ввода-вывода на диске, должен быть больше 1 байта и меньше 4 мегабайт (максимальное значение — 4095k). Целое число плюс единица в байтах, килобайтах или мегабайтах (например, 512k для 512 килобайт). |
| targetTempDirectory | (Необязательно) Каталог, используемый для применения давления на диск. Например, /tmp/. Если параметр не включен, давление добавляется к основному диску. |
| virtualMachineScaleSetInstances | Массив идентификаторов экземпляров, когда вы применяете этот сбой к набору виртуальных машин. Требуется для наборов масштабируемых виртуальных машин в режиме унифицированной оркестрации. Дополнительные сведения об идентификаторах экземпляров. |
Пример JSON
Эти образцы значений приводили к ~100% нагрузке на диск при тестировании на виртуальной машине с Premium SSD LRS. Большой размер файла на каждого рабочего и меньший размер блока помогают полностью нагрузить диск.
{
"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 |
| Описание | Останавливает службу Windows или системную службу Linux во время сбоя. Перезапускает его в конце срока действия или если эксперимент отменен. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:agent:stopService/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| название сервиса | Название службы Windows или службы Linux systemd, которую вы хотите остановить. |
| 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 |
| Описание | Убивает все запущенные экземпляры процесса, соответствующего имени процесса, отправленного в параметрах сбоя. В течение времени, установленного для действия при сбое, процесс повторно завершается на основе указанного интервала между завершениями. Эта ошибка является разрушительной, и системному администратору потребуется вручную восстановить процесс, если для него настроено самовосстановление. Обратите внимание, что эта ошибка произойдет, если она используется для процесса с пустым именем, с неопределенным интервалом или если мы не можем найти имя целевого процесса, который мы хотим завершить. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:agent:killProcess/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| ProcessName | Название процесса для постоянного удаления (без .exe). Процесс не обязательно должен работать, когда начинается выполнение сбоя. |
| интервал_убийства_в_миллисекундах | Время ожидания отказов между последующими попытками завершения работы в миллисекундах. |
| 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 |
| Поддерживаемые типы ОС | Виндоус |
| Описание | Приостанавливает указанные процессы на указанный срок. При наличии нескольких процессов с одинаковым именем эта ошибка приостанавливает все эти процессы. В течение длительности сбоя процессы приостановлены повторно с заданным интервалом. По завершении текущего периода или в случае отмены эксперимента процессы возобновятся. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:agent:pauseProcess/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| имена процессов | JSON массив имен процессов, определяющий, какие процессы должны быть приостановлены. Не более 4. Название процесса может необязательно включать расширение ".exe". |
| интервалПаузыВМиллисекундах | Время ожидания неисправности между последовательными попытками приостановки в миллисекундах. |
| 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 |
| Поддерживаемые типы ОС | Виндоус |
| Описание | Изменяет системное время виртуальной машины и сбрасывает время в конце эксперимента или если эксперимент отменен. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:agent:timeChange/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| Дата и время | Строка DateTime в формате ISO8601. Если значения YYYY-MM-DD отсутствуют, им присваиваются значения по умолчанию на текущий день при выполнении эксперимента. Если значения Thh:mm:ss отсутствуют, значение по умолчанию равно 12:00:00 AM. Если указан двузначный год (YY), он преобразуется в четырёхзначный год (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"
}
]
}
Произвольный стрессор-стрессор
| Собственность | Значение |
|---|---|
| Название возможности | StressNg-1.0 |
| Целевой тип | Microsoft-Agent |
| Поддерживаемые типы ОС | Линукс |
| Описание | Запускает любую команду stress-ng, передавая аргументы непосредственно в stress-ng. Полезно, когда один из предопределённых сбоев для stress-ng не подходит вашим требованиям. |
| Предпосылки | Linux: необходимо установить программу stress-ng . Установка выполняется автоматически в рамках установки агента с помощью диспетчера пакетов по умолчанию в нескольких операционных системах, включая Debian (например, Ubuntu), Red Hat Enterprise Linux и OpenSUSE. Для других дистрибутивов, включая Azure Linux, необходимо установить stress-ng вручную. Дополнительные сведения см. в репозитории вышестоящего проекта. |
| урна | urn:csci:microsoft:agent:stressNg/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| stressNgArguments | Один или несколько аргументов для передачи процессу stress-ng. С информацией о возможных аргументах stress-ng можно ознакомиться в статье stress-ng. ПРИМЕЧАНИЕ. Не включайте аргумент "-t", так как это приведет к ошибке. Длительность эксперимента определяется непосредственно в интерфейсе эксперимента Azure Chaos, а не в stressNgArguments. |
Пример 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 |
| Описание | Останавливает целевые приложения службы приложений, а затем перезапускает их в конце срока сбоя. Это действие применяется к ресурсам типа "Microsoft.Web/sites", включая App Service, API Apps, Mobile Apps и Azure Functions. |
| Предпосылки | Нет. |
| урна | 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-1.0 |
| Целевой тип | Microsoft-AutoscaleSettings |
| Описание | Отключает службу автомасштабирования. При отключении автомасштабирования ресурсы, такие как масштабируемые наборы виртуальных машин, веб-приложения, служебной шины и многое другое , не добавляются или не удаляются в зависимости от нагрузки приложения. |
| Предпосылки | Ресурс автонастройки масштаба, который активирован на ресурсе, должен быть подключен к Chaos Studio. |
| урна | urn:csci:microsoft:autoscalesettings:disableAutoscale/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| включитьПриЗавершении | Булевый. Настраивает, будет ли повторно включено автоматическое масштабирование после завершения действия. Значение по умолчанию true. |
Пример JSON
{
"name": "BranchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:autoscaleSetting:disableAutoscale/1.0",
"parameters": [
{
"key": "enableOnComplete",
"value": "true"
}
],
"duration": "PT2M",
"selectorId": "Selector1",
}
]
}
Ограничения
Пользовательские метрики Application Insights не поддерживаются
Ошибка отключения автомасштабирования в настоящее время выходит из строя, если целевая настройка автомасштабирования содержит правила, основанные на пользовательских метриках Application Insights.
При выполнении ошибки требуется возможность считывать определение пользовательской метрики в компоненте Application Insights (Microsoft.Insights/components/*действия уровня данных). Эти разрешения не являются частью области управляемого удостоверения этой ошибки, поэтому операция отклоняется во время выполнения программы.Обходной путь
Используйте стандартную метрику платформы (например, процент ЦП) или пользовательскую метрику на основе запросов Log Analytics вместо пользовательской метрики Application Insights. Кроме того, предоставьте управляемому удостоверению Chaos Studio необходимуюApplication Insights Component Contributorроль в ресурсе Application Insights и повторите ошибку.
AKS Chaos Mesh сеть Chaos
| Собственность | Значение |
|---|---|
| Название возможности | NetworkChaos-2.2 |
| Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
| Поддерживаемые типы ОС для пулов узлов | Линукс |
| Описание | Вызывает сбой сети, доступный через Chaos Mesh, чтобы применить его к вашему кластеру Azure Kubernetes Service (AKS). Полезно для воссоздания инцидентов AKS, которые возникают из-за сбоев сети, задержек, дублирования, потерь и повреждений. |
| Предпосылки | Кластер AKS должен иметь установленный Chaos Mesh. |
| урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2 |
| Параметры (ключ, значение) | |
| jsonSpec | Спецификация сетки хаоса в формате JSON, использующая тип NetworkChaos. Вы можете использовать преобразователь YAML-to-JSON, например Convert YAML To JSON, чтобы преобразовать YAML-файл Chaos Mesh в 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 |
| Поддерживаемые типы ОС для пулов узлов | Линукс |
| Описание | Вызывает сбой пода, доступный через Chaos Mesh, в вашем кластере AKS. Полезно для воссоздания инцидентов AKS, которые являются результатом сбоев в работе подов или проблем с контейнерами. |
| Предпосылки | Кластер AKS должен иметь установленный Chaos Mesh. |
| урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.2 |
| Параметры (ключ, значение) | |
| jsonSpec | Спецификация Chaos Mesh в формате JSON, использующая тип PodChaos. Вы можете использовать преобразователь YAML-to-JSON, например Convert YAML To JSON, чтобы преобразовать YAML-файл Chaos Mesh в 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 Стресс-Хаос
| Собственность | Значение |
|---|---|
| Название возможности | StressChaos-2.2 |
| Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
| Поддерживаемые типы ОС для пулов узлов | Линукс |
| Описание | Вызывает стрессовый сбой, предоставляемый Сеткой Хаоса, для вашего кластера AKS. Полезно для воссоздания инцидентов AKS из-за нагрузок на коллекцию подов, например, из-за высокого потребления CPU или памяти. |
| Предпосылки | Кластер AKS должен иметь установленный Chaos Mesh. |
| урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2 |
| Параметры (ключ, значение) | |
| jsonSpec | Спецификация Chaos Mesh в формате JSON, использующая тип StressChaos. Вы можете использовать преобразователь YAML-to-JSON, например Convert YAML To JSON, чтобы преобразовать YAML-файл Chaos Mesh в 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 Chaos Mesh: IO Chaos
| Собственность | Значение |
|---|---|
| Название возможности | IOChaos-2.2 |
| Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
| Поддерживаемые типы ОС для пулов узлов | Линукс |
| Описание | Вызывает сбой ввода-вывода, доступный через Сетку Хаоса для запуска в кластере AKS. Полезно для воссоздания инцидентов AKS из-за задержек ввода-вывода и ошибок чтения/записи при использовании системных вызовов ввода-вывода, таких как open, read, и write. |
| Предпосылки | Кластер AKS должен иметь установленный Chaos Mesh. |
| урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.2 |
| Параметры (ключ, значение) | |
| jsonSpec | Спецификация сетки хаоса в формате JSON, использующая тип IOChaos. Вы можете использовать преобразователь YAML-to-JSON, например Convert YAML To JSON, чтобы преобразовать YAML-файл Chaos Mesh в 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 |
| Поддерживаемые типы ОС для пулов узлов | Линукс |
| Описание | Вызывает изменение системных часов в кластере AKS с помощью Сетки Хаоса. Полезно для восстановления инцидентов AKS, возникающих из-за сбоя синхронизации в распределённых системах, отсутствия/неправильной логики високосного года/високосной секунды и других причин. |
| Предпосылки | Кластер AKS должен иметь установленный Chaos Mesh. |
| урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.2 |
| Параметры (ключ, значение) | |
| jsonSpec | Спецификация сетки хаоса в формате JSON, использующая тип TimeChaos. Вы можете использовать преобразователь YAML-to-JSON, например Convert YAML To JSON, чтобы преобразовать YAML-файл Chaos Mesh в 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 ядро Chaos
| Собственность | Значение |
|---|---|
| Название возможности | KernelChaos-2.2 |
| Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
| Поддерживаемые типы ОС для пулов узлов | Линукс |
| Описание | Вызывает ошибку ядра, обеспечиваемую через Chaos Mesh, для запуска в вашем кластере AKS. Полезно для восстановления инцидентов в AKS из-за ошибок уровня ядра Linux, таких как сбой монтирования или невыделение памяти. |
| Предпосылки | Кластер AKS должен иметь установленный Chaos Mesh. |
| урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.2 |
| Параметры (ключ, значение) | |
| jsonSpec | Спецификация сетки хаоса в формате JSON, использующая тип KernelChaos. Вы можете использовать преобразователь YAML-to-JSON, например Convert YAML To JSON, чтобы преобразовать YAML-файл Chaos Mesh в 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 Хаос
| Собственность | Значение |
|---|---|
| Название возможности | HTTPChaos-2.2 |
| Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
| Поддерживаемые типы ОС для пулов узлов | Линукс |
| Описание | Вызывает сбой HTTP, доступный через Chaos Mesh, для выполнения против вашего кластера AKS. Полезно для восстановления инцидентов из-за сбоев в обработке HTTP-запросов и ответов, таких как задержанные или неправильные ответы. |
| Предпосылки | Кластер AKS должен иметь установленный Chaos Mesh. |
| урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.2 |
| Параметры (ключ, значение) | |
| jsonSpec | Спецификация сетки хаоса в формате JSON, использующая тип HTTPChaos. Вы можете использовать преобразователь YAML-to-JSON, например Convert YAML To JSON, чтобы преобразовать YAML-файл Chaos Mesh в 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"
}
]
}
Хаос DNS в AKS Chaos Mesh
| Собственность | Значение |
|---|---|
| Название возможности | DNSChaos-2.2 |
| Целевой тип | Microsoft-AzureKubernetesServiceChaosMesh |
| Поддерживаемые типы ОС для пулов узлов | Линукс |
| Описание | Вызывает сбой DNS, доступный через Сетку Хаоса для запуска в кластере AKS. Полезно для повторного создания инцидентов из-за сбоя DNS. |
| Предпосылки | Кластер AKS должен иметь развернутый Chaos Mesh и установленную службу DNS. |
| урна | urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.2 |
| Параметры (ключ, значение) | |
| jsonSpec | Спецификация сетки хаоса в формате JSON, использующая тип DNSChaos. Вы можете использовать преобразователь YAML-to-JSON, например Convert YAML To JSON, чтобы преобразовать YAML-файл Chaos Mesh в 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 |
| Описание | Останавливает развертывание во время сбоя. Перезапускает развертывание после окончания сбоя или если эксперимент отменен. |
| Предпосылки | Нет. |
| урна | 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 Cache for Redis (Перезагрузка)
| Собственность | Значение |
|---|---|
| Название возможности | Перезагрузка-1.0 |
| Целевой тип | Microsoft-AzureClusteredCacheForRedis |
| Описание | Приводит к принудительной перезагрузке целевой системы для имитации кратковременного сбоя. |
| Предпосылки | Не применимо |
| урна | urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0 |
| Тип неисправности | Дискретный. |
| Параметры (ключ, значение) | |
| тип перезагрузки | Типы узлов, в которых выполняется действие перезагрузки, которые можно указать как 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 |
| Описание | Инициирует отказ учетной записи Azure Cosmos DB с единственным регионом записи на указанный регион для чтения, чтобы смоделировать сбой области записи. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:cosmosDB:failover/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| читатьРегион | Область чтения, которая должна быть преобразована в область записи во время переключения в случае отказа, например 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 |
| Описание | Устанавливает отдельные узлы событий в требуемое состояние в пределах пространства имен узлов событий Azure. Вы можете воздействовать на конкретные имена концентраторов событий или использовать *, чтобы воздействовать на все в пределах пространства имён. Это действие поможет протестировать инфраструктуру обмена сообщениями для сценариев обслуживания или сбоя. Это дискретная ошибка, поэтому сущность не будет возвращена в начальное состояние автоматически. |
| Предпосылки | Пространство имен Центров событий Azure с по крайней мере одной сущностью концентратора событий. |
| урна | urn:csci:microsoft:eventHub:changeEventHubState/1.0 |
| Тип неисправности | Дискретный. |
| Параметры (ключ, значение) | |
| желаемое_состояние | Требуемое состояние для целевых концентраторов событий. Возможные состояния - Активный, Отключённый и 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"
}
]
}
Хранилище ключей: запретить доступ
| Собственность | Значение |
|---|---|
| Название возможности | DenyAccess-1.0 |
| Целевой тип | Microsoft-KeyVault |
| Описание | Блокирует весь сетевой доступ к хранилищу ключей, временно изменяя правила сети хранилища ключей. Это действие предотвращает доступ приложения, зависящего от хранилища ключей, к секретам, ключам и/или сертификатам. Если хранилище ключей разрешает доступ ко всем сетям, этот параметр изменяется, чтобы разрешать доступ только от выбранных сетей. В списке разрешенных сетей на момент возникновения ошибки нет виртуальных сетей. Всем сетям разрешен доступ по окончании времени неисправности. Если для хранилища ключей установлена настройка, разрешающая доступ только из выбранных сетей, то все виртуальные сети из разрешенного списка удаляются в начале сбоя. Они восстанавливаются в конце периода сбоя. |
| Предпосылки | Целевое хранилище ключей не должно иметь никаких правил файервола и не должно быть настроено на разрешение сервисам 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 |
| Описание | Используя свойства сертификата, неисправность отключает сертификат на определенный срок (указанный пользователем). Он активирует сертификат после продолжительности сбоя. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:keyvault:отключитьСертификат/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| имя сертификата | Название сертификата 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 |
| Описание | Создает новую версию сертификата и отпечаток с помощью клиентской библиотеки сертификатов Key Vault. Текущий рабочий сертификат обновлён до этой версии. Версия сертификата не возвращается к предыдущему состоянию после завершения сбоя. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0 |
| Тип неисправности | Дискретный. |
| Параметры (ключ, значение) | |
| имя сертификата | Название сертификата 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"
}
]
}
Хранилище ключей: обновить политику сертификатов
| Собственность | Значение |
|---|---|
| Название возможности | ОбновлениеПолитикиСертификатов-1.0 |
| Целевой тип | Microsoft-KeyVault |
| Описание | Политики сертификатов (например, срок действия сертификата, тип сертификата, размер ключа или тип ключа) обновляются на основе ввода пользователем и отменяются после длительности сбоя. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| имя сертификата | Название сертификата Azure Key Vault, с которым связана неисправность. |
| версия | Версия сертификата, которую следует обновить. Если не указано, обновляется последняя версия. |
| включено | Булевый. Значение, которое указывает, включена ли новая версия сертификата. |
| срок действия в месяцах | Срок действия сертификата в месяцах. |
| прозрачность сертификатов | Указывает, следует ли публиковать сертификат в списке прозрачности сертификатов при его создании. |
| Тип сертификата | Тип сертификата. |
| Тип контента | Тип содержимого сертификата. Например, это Pkcs12, когда сертификат содержит необработанные байты PFX, или Pem, когда он содержит байты в кодировке ASCII PEM. Значение по умолчанию, предполагаемое здесь, - это Pkcs12. |
| РазмерКлюча | Размер ключа RSA: 2048, 3072 или 4096. |
| экспортируемый | Булевый. Значение, которое указывает, можно ли экспортировать ключ сертификата из хранилища или защищенного хранилища сертификатов. |
| ключ повторного использования | Булевый. Значение, указывающее, следует ли повторно использовать ключ сертификата при его обновлении. |
| типКлюча | Тип поддерживающего ключа, генерируемого при выпуске новых сертификатов, таких как 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 |
| Описание | Включает манипуляцию или создание правил в существующей группе безопасности сети Azure (NSG) или наборе групп безопасности Сети Azure, предполагая, что определение правила применимо для групп безопасности. Полезно для:
|
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:networkSecurityGroup:securityRule/1.0, urn:csci:microsoft:networkSecurityGroup:securityRule/1.1 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| имя | Уникальное имя для создаваемого правила безопасности. Ошибка возникает, если на NSG уже существует другое правило с тем же именем. Должно начинаться с буквы или номера. Должен заканчиваться буквой, цифрой или символом подчеркивания. Может содержать только буквы, цифры, подчеркивания, периоды или дефисы. |
| протокол | Протокол по правилу безопасности. Должно быть Any, TCP, UDP или ICMP. |
| исходные адреса | Строка, представляющая массив IP-адресов в формате CIDR, разделённых через JSON. Может также быть названием тега службы для входящего правила, например AppService. Звездочка * также может использоваться для сопоставления всех исходных IP-адресов. |
| адреса назначения | Строка, представляющая массив IP-адресов в формате CIDR, разделённых через JSON. Может также быть именем тега службы для правила на исходящий трафик, например AppService. Звёздочка * также может быть использована для сопоставления всех IP-адресов назначения. |
| действие | Тип доступа группы безопасности. Должно быть либо «Разрешить», либо «Запретить». |
| destinationPortRanges | Строка, представляющая массив, ограниченный JSON, состоящий из одиночных портов и/или диапазонов портов, например 80 или 1024-65535. |
| sourcePortRanges | Строка, представляющая массив, ограниченный JSON, состоящий из одиночных портов и/или диапазонов портов, например 80 или 1024-65535. |
| приоритет | Значение от 100 до 4096, уникальное для всех правил безопасности в NSG. Ошибка возникает, если другое правило с тем же приоритетом уже существует в группе безопасности сети. |
| направление | Направление трафика, на которое влияет правило безопасности. Должно быть либо вхожим, либо исходящим. |
Пример 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.
- Если правило NSG, предназначенное для запрета трафика, применяется, существующие подключения не будут нарушены до тех пор, пока они не будут бездействующими в течение 4 минут. Один из обходных путей — это добавить другую ветвь на том же этапе, которая использует ошибку, вызывающую разрыв существующих соединений при применении сбоя NSG. Например, завершение процесса, временная остановка службы или перезапуск виртуальной машины приведет к сбросу подключений.
- Правила применяются в начале действия. Любые внешние изменения правила во время действия вызывают сбой эксперимента.
- Создание или изменение правил группы безопасности приложений не поддерживается.
- Значения приоритета должны быть уникальными для каждой целевой группы безопасности сети (NSG). Попытка создать новое правило, которое имеет то же значение приоритета, что и другое, приводит к сбою эксперимента.
- Сбой правила безопасности NSG версии 1.1 поддерживает возможность использования дополнительного
flushConnectionпараметра. Эта функция имеет активную известную проблему: еслиflushConnectionвключена, ошибка может привести к ошибке "FlushingNetworkSecurityGroupConnectionIsNotEnabled". Чтобы избежать этой ошибки временно, отключитеflushConnectionпараметр или используйте правило безопасности NSG версии 1.0 .
Шина обслуживания: Изменить состояние очереди
| Собственность | Значение |
|---|---|
| Название возможности | ChangeQueueState-1.0 |
| Целевой тип | Microsoft-ServiceBus |
| Описание | Устанавливает сущности очереди в пространстве имен Сервисной шины в желаемое состояние. Вы можете влиять на определенные названия сущностей или использовать *, чтобы повлиять на все. Это действие поможет протестировать инфраструктуру обмена сообщениями для сценариев обслуживания или сбоя. Это дискретная ошибка, поэтому сущность не будет возвращена в начальное состояние автоматически. |
| Предпосылки | Пространство имен служебной шины с как минимум одной сущностью очереди. |
| урна | urn:csci:microsoft:serviceBus:changeQueueState/1.0 |
| Тип неисправности | Дискретный. |
| Параметры (ключ, значение) | |
| желаемое_состояние | Желаемое состояние целевых очередей. Возможные состояния: "Активен", "Отключен", "Отправка отключена" и "Прием отключен". |
| очереди | Список имен очередей в целевом пространстве имен, разделенный запятыми. Используйте "*", чтобы затронуть все очереди в пространстве имен. |
Пример 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 |
| Описание | Устанавливает сущности подписки в пространстве имен и теме Service Bus в требуемое состояние. Вы можете влиять на определенные названия сущностей или использовать *, чтобы повлиять на все. Это действие поможет протестировать инфраструктуру обмена сообщениями для сценариев обслуживания или сбоя. Это дискретная ошибка, поэтому сущность не будет возвращена в начальное состояние автоматически. |
| Предпосылки | Пространство имен Service Bus с по крайней мере одной сущностью подписки. |
| урна | urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0 |
| Тип неисправности | Дискретный. |
| Параметры (ключ, значение) | |
| желаемое_состояние | Желаемое состояние для целевых подписок. Возможные состояния — Активный и Отключённый. |
| тема | Родительский раздел, содержащий одну или несколько подписок, на которые нужно повлиять. |
| подписки; | Список имен подписок в целевом пространстве имен, разделенных запятыми. Используйте "*", чтобы затронуть все подписки в пределах пространства имен. |
Пример 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 |
| Описание | Устанавливает указанные сущности тем в пространстве имен Service Bus в нужное состояние. Вы можете влиять на определенные названия сущностей или использовать *, чтобы повлиять на все. Это действие поможет протестировать инфраструктуру обмена сообщениями для сценариев обслуживания или сбоя. Это дискретная ошибка, поэтому сущность не будет возвращена в начальное состояние автоматически. |
| Предпосылки | Пространство имен служебной шины с по крайней мере одной сущностью Topic. |
| урна | urn:csci:microsoft:serviceBus:changeTopicState/1.0 |
| Тип неисправности | Дискретный. |
| Параметры (ключ, значение) | |
| желаемое_состояние | Желаемое состояние для целевых тем. Возможные состояния — Активный и Отключённый. |
| темы | Список названий тем в целевом пространстве имен, разделённых запятыми. Используйте "*", чтобы затронуть все темы в пространстве имен. |
Пример 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 Virtual Machine |
| Описание | Переводит виртуальную машину, выключая ее, перемещая на новый узел в инфраструктуре 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 часов, прежде чем повторно запускать эксперимент.
- Ошибки расширения виртуальной машины, возникающие во время операции перезапуска, игнорируются. Это означает, что если виртуальная машина успешно перезапускается, но расширение виртуальной машины не загружается, ошибка будет считаться успешной. Игнорируемые ошибки расширения включают VMExtensionProvisioningError, VMExtensionProvisioningTimeout, VMExtensionManagementInternalError и VMExtensionHandlerNonTransientError.
Завершение работы виртуальной машины
| Собственность | Значение |
|---|---|
| Название возможности | Завершение работы-1.0 |
| Целевой тип | Microsoft Virtual Machine |
| Поддерживаемые типы ОС | Windows, Linux. |
| Описание | Отключает виртуальную машину на время сбоя. Перезапускает его в конце эксперимента или если эксперимент отменен. Поддерживаются только виртуальные машины Azure Resource Manager. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:virtualMachine:shutdown/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| внезапное завершение работы | (Необязательно) Логический тип, который указывает, следует ли завершить работу виртуальной машины плавно или резко (разрушительно). |
Пример JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:virtualMachine:shutdown/1.0",
"parameters": [
{
"key": "abruptShutdown",
"value": "false"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Ограничения
- Ошибки расширения виртуальной машины, возникающие во время операции перезапуска, игнорируются. Это означает, что если виртуальная машина успешно перезапускается, но расширение виртуальной машины не загружается, ошибка будет считаться успешной. Игнорируемые ошибки расширения включают VMExtensionProvisioningError, VMExtensionProvisioningTimeout, VMExtensionManagementInternalError и VMExtensionHandlerNonTransientError.
Завершение работы набора масштабируемых виртуальных машин
У этой неисправности есть две доступные версии, которые вы можете использовать: Версия 1.0 и Версия 2.0. Основное отличие заключается в том, что версия 2.0 позволяет фильтровать по зонам доступности, отключая экземпляры только в указанной зоне или зонах.
Выключение набора масштабирования виртуальных машин, версия 1.0
| Собственность | Значение |
|---|---|
| Название возможности | Завершение работы-1.0 |
| Целевой тип | Microsoft-VirtualMachineScaleSet |
| Поддерживаемые типы ОС | Windows, Linux. |
| Описание | Завершает работу или прекращает работу экземпляра масштабируемого набора виртуальных машин во время сбоя и перезапускает виртуальную машину в конце длительности сбоя или если тест отменен. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0 |
| Тип неисправности | Непрерывный. |
| Параметры (ключ, значение) | |
| внезапное завершение работы | (Необязательно) Логическое значение, указывающее, следует ли завершать работу экземпляра группы масштабирования виртуальной машины плавно или резко (разрушительно). |
| Экземпляры | Строка, представляющая собой массив с разделителями, содержащий идентификаторы экземпляров масштабируемого набора виртуальных машин, к которым применяется сбой. |
Пример 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"
}
]
}
Ограничения
- Ошибки расширения виртуальной машины, возникающие во время операции перезапуска, игнорируются. Это означает, что если экземпляры масштабируемого набора виртуальных машин успешно перезагружаются, но расширения виртуальных машин не загружаются, ошибка будет считаться успешной. Игнорируемые ошибки расширения включают VMExtensionProvisioningError, VMExtensionProvisioningTimeout, VMExtensionManagementInternalError и VMExtensionHandlerNonTransientError.
Версия 2.0: Выключение системы автоматического масштабирования виртуальных машин
| Собственность | Значение |
|---|---|
| Название возможности | Завершение работы-2.0 |
| Целевой тип | Microsoft-VirtualMachineScaleSet |
| Поддерживаемые типы ОС | Windows, Linux. |
| Описание | Завершает работу или убивает экземпляр масштабируемого набора виртуальных машин во время сбоя. Перезапускает виртуальную машину в конце длительности сбоя или отменяет эксперимент. Поддерживает динамическую целевую ориентацию. |
| Предпосылки | Нет. |
| урна | urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0 |
| Тип неисправности | Непрерывный. |
| фильтр | (Необязательно) Доступно начиная с версии 2.0. Используется для фильтрации списка целей в селекторе. В настоящее время поддерживается фильтрация по списку зон. Фильтр применяется только к ресурсам виртуальных машин с масштабируемым набором в пределах зоны.
|
| Параметры (ключ, значение) | |
| внезапное завершение работы | (Необязательно) Логическое значение, указывающее, следует ли завершать работу экземпляра группы масштабирования виртуальной машины плавно или резко (разрушительно). |
Примеры 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 для завершения работы выбранных экземпляров.
- Ошибки расширения виртуальной машины, возникающие во время операции перезапуска, игнорируются. Это означает, что если экземпляры масштабируемого набора виртуальных машин успешно перезагружаются, но расширения виртуальных машин не загружаются, ошибка будет считаться успешной. Игнорируемые ошибки расширения включают VMExtensionProvisioningError, VMExtensionProvisioningTimeout, VMExtensionManagementInternalError и VMExtensionHandlerNonTransientError.
Это важно
Ограничение: Сбой при завершении работы масштабируемого набора виртуальных машин может произойти, если целевой набор VMSS находится в состоянии обновления (например, при масштабировании или обновлениях ОС). Убедитесь, что набор масштабируемых виртуальных машин не находится в процессе активного обновления во время выполнения этого сбоя. Это известное ограничение платформы.
Подробности: действия по оркестрации
Задержка
| Собственность | Значение |
|---|---|
| Поставщик неисправностей | Не применимо |
| Поддерживаемые типы ОС | Не применимо |
| Описание | Добавляет задержку времени до, между или после других действий эксперимента. Это действие не является ошибкой и используется для синхронизации действий в эксперименте. Используйте это действие, чтобы дождаться, когда влияние неисправности проявится в сервисе, или подождать завершения действия за пределами эксперимента. Например, ваш эксперимент может ожидать автоматического восстановления перед внесением следующей ошибки. |
| Предпосылки | Не применимо |
| урна | 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 Load Testing)
| Собственность | Значение |
|---|---|
| Название возможности | Начало-1.0 |
| Целевой тип | Microsoft-AzureLoadTest |
| Описание | Запускает нагрузочный тест (из Azure Load Testing) на основе указанного идентификатора теста. |
| Предпосылки | Нагрузочный тест с допустимым идентификатором нагрузочного теста должен быть создан в службе Azure Load Testing. |
| урна | urn:csci:microsoft:azureLoadTest:start/1.0 |
| Тип неисправности | Дискретный. |
| Параметры (ключ, значение) | |
| testID | ID определенного нагрузочного теста, созданного в службе Azure Load Testing. |
Пример JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureLoadTest:start/1.0",
"parameters": [
{
"key": "testID",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}
Остановка тестирования нагрузки (Azure Load Testing)
| Собственность | Значение |
|---|---|
| Название возможности | Stop-1.0 |
| Целевой тип | Microsoft-AzureLoadTest |
| Описание | Останавливает нагрузочный тест (из Azure Load Testing) на основе предоставленного идентификатора нагрузочного теста. |
| Предпосылки | Нагрузочный тест с допустимым идентификатором нагрузочного теста должен быть создан в службе Azure Load Testing. |
| урна | urn:csci:microsoft:azureLoadTest:stop/1.0 |
| Тип неисправности | Дискретный. |
| Параметры (ключ, значение) | |
| testID | ID определенного нагрузочного теста, созданного в службе Azure Load Testing. |
Пример JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureLoadTest:stop/1.0",
"parameters": [
{
"key": "testID",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}