Устранение неполадок с Azure Chaos Studio

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

Общие советы по устранению неполадок

Следующие источники полезны при устранении неполадок с Chaos Studio.

  • Журнал действий. Журнал действий Azure содержит запись всех операций создания, обновления и удаления в подписке. К этим записям относятся операции Chaos Studio, такие как включение целевого объекта или возможностей, установка агента и создание или выполнение эксперимента. Сбои в журнале действий указывают на то, что действие пользователя, необходимое для использования Chaos Studio, может завершиться сбоем. Большинство ошибок с прямой службой также внедряют ошибки путем выполнения операции Azure Resource Manager, поэтому журнал действий также содержит запись ошибок, которые были внедрены во время эксперимента для некоторых ошибок с прямой службой.
  • Сведения о эксперименте. Сведения о выполнении эксперимента показывают состояние и ошибки отдельного выполнения эксперимента. Открытие определенной ошибки в сведениях о эксперименте показывает ресурсы, сбои и сообщения об ошибках для сбоя. Узнайте больше о том, как получить доступ к сведениям о эксперименте.
  • Журналы агента. Если вы используете сбой на основе агента, может потребоваться подключиться по RDP или SSH к виртуальной машине, чтобы понять, почему агент не смог выполнить сбой. Инструкции по доступу к журналам агента зависят от операционной системы:
    • Агент Chaos Windows: журналы агента находятся в журнале событий Windows в категории 'Приложение' с источником AzureChaosAgent. Агент добавляет действия сбоя и обычную проверку работоспособности (возможность проходить проверку подлинности и взаимодействовать со службой агента Chaos Studio) в этот журнал.
    • Агент Chaos Linux: агент Linux использует systemd для управления работой агента как службы Linux. Чтобы просмотреть системный журнал агента (события, зарегистрированные службой агента), выполните команду journalctl -u azure-chaos-agent.
  • Состояние расширения ВМ: если вы используете проблему, связанную с агентом, убедитесь, что расширение ВМ установлено и находится в рабочем состоянии. На портале Azure перейдите на виртуальную машину и перейдите к расширениям или расширениям и приложениям. ChaosAgent Выберите расширение и найдите следующие поля:
    • Состояние должно показать , что подготовка выполнена успешно. Любое другое состояние указывает, что агент не удалось установить. Убедитесь, что выполнены все требования к системе. Попробуйте переустановить агент.
    • Состояние обработчика должно быть Готово. Любое другое состояние указывает, что агент установлен, но не может подключиться к Chaos Studio. Убедитесь, что выполнены все требования к сети и что назначаемое пользователем управляемое удостоверение было добавлено на виртуальную машину. Попробуйте перезагрузить.

Проблемы при добавлении ресурса

При добавлении ресурса могут возникнуть следующие проблемы.

Ресурсы не отображаются в списке целевых объектов в портал Azure

Если вы не видите ресурсы, которые вы хотите включить в списке целевых объектов Chaos Studio, это может быть вызвано одной из следующих проблем:

Целевой объект или включение возможностей завершается ошибкой или не отображается правильно в целевом списке

Если при включении целевых объектов или возможностей возникает ошибка, выполните следующие действия:

  1. Убедитесь, что у вас есть соответствующие разрешения для добавляемых ресурсов. Для включения целевого объекта или возможностей требуется разрешение Microsoft.Chaos/* в области ресурса. Встроенные роли, такие как участник, имеют разрешение на чтение и запись подстановочных знаков, включая разрешение на все операции Microsoft.Chaos.
  2. Подождите несколько минут, пока целевой объект и список возможностей будет обновлен. Портал Azure использует Azure Resource Graph для сбора информации о добавлении целевых объектов и возможностей. Распространение обновления может занять до пяти минут.
  3. Если ресурс по-прежнему отображает значение "Не включено", выполните следующие действия.
    1. Повторите попытку включения ресурса.
    2. Если включение ресурсов по-прежнему завершается ошибкой, перейдите в журнал действий и найдите сбой операции создания целевого объекта, чтобы просмотреть подробные сведения об ошибках.
  4. Если ресурс отображает Включен, но добавление возможностей не удалось, выполните следующие шаги.
    1. Выберите "Управление действиями " в ресурсе в списке целевых объектов. Проверьте все возможности, которые не были проверены, и нажмите кнопку "Сохранить".
    2. Если включение возможностей по-прежнему завершается сбоем, перейдите в журнал действий и найдите сбой операции создания целевого объекта, чтобы просмотреть подробные сведения об ошибке.

Проблемы с предварительными условиями

Некоторые проблемы возникают из-за отсутствия предварительных требований.

Сбои на основе агента на виртуальной машине

Ошибки на основе агента могут завершиться сбоем по различным причинам, связанным с отсутствием предварительных требований:

  • На виртуальных машинах Linux нагрузка ЦП, давление физической памяти, давление ввода-вывода диска и произвольные ошибки стресс-ng требуют установки служебной программы stress-ng на виртуальной машине. Дополнительные сведения о том, как установить stress-ng, см. в разделах о предварительных требованиях сбоя.
  • На виртуальных машинах Linux или Windows назначаемое пользователем управляемое удостоверение, предоставленное во время включения целевого объекта на основе агента, также должно быть добавлено на виртуальную машину.
  • На виртуальных машинах Linux или Windows назначаемое системой управляемое удостоверение для эксперимента должно быть предоставлено роль читателя на виртуальной машине. (Казалось бы, повышенные привилегии, такие как участник виртуальной машины, не включают операцию */Чтение, необходимую для агента Chaos Studio для чтения целевого прокси-ресурса microsoft-agent на виртуальной машине.)

Агент хаоса не будет устанавливаться в масштабируемых наборах виртуальных машин

Установка агента Chaos в масштабируемых наборах виртуальных машин может пройти без уведомления об ошибке, если политика обновления наборов установлена на вручную. Чтобы проверить политику обновления масштабируемого набора виртуальных машин:

  1. Войдите на портал Azure.
  2. Выберите масштабируемый набор виртуальных машин.
  3. На левой панели выберите "Обновить политику".
  4. Проверьте режим обновления, чтобы убедиться, что он установлен на Ручной - существующие экземпляры должны обновляться вручную.

Если для политики обновления задано значение "Вручную", необходимо обновить экземпляры масштабируемых наборов виртуальных машин Azure, чтобы завершить установку агента Chaos.

Обновление экземпляров из портал Azure

Вы можете обновить экземпляры Масштабируемые наборы виртуальных машин из портал Azure:

  1. Войдите на портал Azure.
  2. Выберите масштабируемый набор виртуальных машин.
  3. На левой панели выберите "Экземпляры".
  4. Выберите все экземпляры и нажмите кнопку "Обновить".

Обновление экземпляров с помощью Azure CLI

Вы можете обновить экземпляры Масштабируемые наборы виртуальных машин с помощью Azure CLI:

  • В Azure CLI используйте az vmss update-instances для обновления экземпляров вручную:

    az vmss update-instances --resource-group myResourceGroup --name myScaleSet --instance-ids {instanceIds}
    

Дополнительные сведения см. в статье "Обновление виртуальных машин до последней модели набора масштабирования".

Сбои сетки хаоса AKS

Служба Azure Kubernetes (AKS) Ошибка сетки Хаоса может завершиться сбоем по различным причинам, связанным с отсутствием предварительных требований:

  • Прежде чем использовать ошибки сетки хаоса, необходимо сначала установить в кластере AKS. Чтобы получить инструкции, смотрите руководство по сбоям Chaos Mesh в AKS.
  • Сетка Хаоса должна быть версии 2.0.4 или более поздней. Вы можете получить версию Сетки Хаоса, подключився к кластеру AKS и выполнив ее helm version chaos-mesh.
  • Сетка хаоса должна быть установлена с пространством chaos-testingимен. Другие имена пространств имен для Сетки Хаоса не поддерживаются.
  • Роль администратора кластера AKS должна быть назначена управляемому удостоверению, назначенному системой, для эксперимента хаоса.

Проблемы при создании или проектировании эксперимента

При создании или проектировании эксперимента могут возникнуть проблемы.

При добавлении ошибки ресурс не отображается в списке целевых ресурсов

При добавлении неисправности, если вы не видите ресурс, который хотите использовать для неисправности, в списке целевых ресурсов, это может быть связано с одной из следующих причин:

  • Фильтр подписки настроен так, чтобы исключить ту подписку, в которой развернут ваш целевой ресурс. Выберите фильтр подписки и измените выбранные подписки.
  • Ресурс еще не добавлен. Перейдите в представление "Целевые объекты " и включите целевой объект. Затем закройте панель "Добавить ошибку" и снова откройте панель, чтобы увидеть обновленный целевой список.
  • Ресурс еще не включен для типа целевого объекта этой ошибки. Просмотрите библиотеку ошибок , чтобы узнать, какой тип целевого объекта используется для сбоя. Затем перейдите в представление "Целевые объекты " и включите этот тип целевого объекта. Тип основан на агенте для ошибок microsoft-agent или службы direct для всех остальных типов целевых объектов. Затем закройте панель "Добавить ошибку" и снова откройте панель, чтобы увидеть обновленный целевой список.
  • Ресурс пока не имеет возможности включить эту ошибку. Просмотрите библиотеку ошибок, чтобы просмотреть имя возможности для сбоя. Затем перейдите в представление "Целевые объекты " и выберите "Управление действиями " в целевом ресурсе. Установите флажок для функции, соответствующей ошибке, которую вы пытаетесь выбрать, и нажмите "Сохранить". Затем закройте панель "Добавить ошибку" и снова откройте панель, чтобы увидеть обновленный целевой список.
  • Ресурс был добавлен недавно и еще не появился в Resource Graph. Список целевых ресурсов запрашивается из Resource Graph. После включения нового целевого объекта может потребоваться до пяти минут для распространения обновления на Resource Graph. Подождите несколько минут, а затем снова откройте панель "Добавить ошибку".

При создании эксперимента возникает ошибка "Поставщик microsoft:agent требует управляемого удостоверения".

Эта ошибка возникает, когда агент не был развернут на виртуальной машине. Инструкции по установке см. в статье "Создание и запуск эксперимента, использующего ошибки на основе агента".

При создании эксперимента возникает ошибка "Тип носителя содержимого "NULL" не поддерживается. Поддерживается только application/json.

Эта ошибка может возникнуть, если вы создаете эксперимент с помощью шаблона Azure Resource Manager или REST API Chaos Studio. Ошибка указывает, что в определении эксперимента имеется неправильный формат JSON. Проверьте наличие ошибок синтаксиса, таких как несовпадение фигурных или квадратных скобок ({} и []). Для проверки используйте анализатор кода JSON, например Visual Studio Code.

Проблемы при выполнении эксперимента

При запуске эксперимента могут возникнуть проблемы.

Состояние выполнения моего эксперимента после запуска — "Сбой"

В списке экспериментов на портале Azure выберите имя эксперимента, чтобы просмотреть обзор эксперимента. В разделе "История" выберите "Сведения" рядом с неудачным запуском эксперимента, чтобы просмотреть подробную информацию об ошибке.

Снимок экрана: журнал экспериментов.

Кроме того, используйте REST API для получения сведений о выполнении эксперимента. Дополнительные сведения см. в примере статьи по REST API.

az rest --method post --url "https://management.azure.com/{experimentId}/executions/{executionDetailsId}/getExecutionDetails?api-version={apiVersion}" 

Ошибка на основе агента завершилась ошибкой "Убедитесь, что целевой объект добавлен правильно, а соответствующие разрешения на чтение предоставляются в msi эксперимента".

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

Чтобы устранить эту проблему, откройте виртуальную машину или масштабируемый набор виртуальных машин в портале Azure и перейдите к Identity. Откройте вкладку "Назначенный пользователем" и добавьте удостоверение, назначаемое пользователем, на виртуальную машину. После завершения может потребоваться перезагрузить виртуальную машину для подключения агента.

Ошибка на основе агента завершилась ошибкой "Агент уже выполняет другую задачу".

Эта ошибка произойдет при попытке одновременного выполнения нескольких ошибок агента. Сегодня агент поддерживает выполнение только одного сбоя агента в один раз и завершится ошибкой, если вы определите эксперимент, который выполняет несколько ошибок агента одновременно.

Эксперимент не начал или не завершился немедленно

После запуска эксперимента может появиться сообщение об ошибке, например: The long-running operation has failed. InternalServerError. The target resource(s) could not be resolved. Error Code: OperationFailedException Обычно это означает, что удостоверение эксперимента не имеет необходимых разрешений.

Чтобы устранить эту ошибку, убедитесь, что назначаемое системой или назначаемое пользователем управляемое удостоверение эксперимента имеет разрешение на все ресурсы эксперимента. Дополнительные сведения о разрешениях см. здесь: разрешения и безопасность в Azure Chaos Studio. Например, если эксперимент предназначен для виртуальной машины, перейдите на страницу удостоверений виртуальной машины и назначьте роль "Участник виртуальной машины" управляемому удостоверению эксперимента.

Сбой эксперимента с сеткой хаоса AKS

Существует несколько распространенных ошибок, которые могут возникнуть при использовании ошибок сетки хаоса AKS.

Сообщение об ошибке Предлагаемое действие
Получение статических учетных данных запрещено, так как для этого кластера задано отключение локальных учетных записей. Ошибки Сетки хаоса AKS могут использовать локальные учетные записи Kubernetes или проверку подлинности Microsoft Entra начиная с версии 2.2. Узнайте, как перенести эксперименты здесь: использование проверки подлинности Microsoft Entra с ошибками Chaos Studio AKS.
Не удалось запустить эксперимент "Сетка хаоса", так как указанная конфигурация была недопустимой Убедитесь, что содержит jsonSpec все обязательные поля.
Версия Сетки Хаоса "x.x.x" в настоящее время не поддерживается в Студии Хаоса Проверьте установленную версию на странице совместимости версий Azure Chaos Studio и отправьте запрос на функцию , если требуемая версия не указана.

При выполнении эксперимента с внедрением виртуальной сети возникает ошибка "InvalidResourceReference"

При выполнении эксперимента может возникнуть сбой, сопровождающийся сообщением "Resource /subscriptions/.../providers/Microsoft.Network/virtualNetworks/... referenced by resource /subscriptions/.../providers/Microsoft.Network/privateEndpoints/... was not found. Please make sure that the referenced resource exists, and that both resources are in the same region" в подробностях выполнения эксперимента.

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

Чтобы устранить эту проблему, убедитесь, что эксперимент создан в той же подписке, что и виртуальная сеть. Вам потребуется повторно создать эксперимент в подходящей подписке. Дополнительные сведения об этом ограничении см. в статье Интеграция внедрения виртуальной сети с Chaos Studio.

Почему в журналах аудита AKS отображается пользователь masterclient?

Причина: При запуске сбоев Chaos Mesh в вашем кластере AKS, даже при использовании проверки подлинности Microsoft Entra ID, вы можете увидеть пользователя masterclient в журналах аудита сервера API. Этот пользователь является встроенной учетной записью локального администратора для кластера. Это поведение ожидается в кластерах AKS, не отключающих локальные учетные записи явным образом.

Решение: Если политика безопасности вашей организации требует, чтобы все действия были связаны с определенной личностью Entra ID в журналах, необходимо отключить локальные учетные записи в кластере AKS. Это заставляет все проверки подлинности проходить через поставщика идентификатора Microsoft Entra ID. Инструкции см. в документации AKS. Отключение локальных учетных записей с интеграцией Microsoft Entra, управляемой AKS.

Проблемы при настройке управляемого удостоверения

При попытке добавить управляемое удостоверение, назначаемое системой, назначаемое пользователем, в существующий эксперимент не удается сохранить.

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

При запуске эксперимента, настроенного для автоматического создания и назначения настраиваемой роли, возникает ошибка "Не удалось устранить целевые ресурсы. ErrorCode: AccessDenied. Целевые ресурсы:"

Если флажок "Настраиваемые разрешения ролей" выбран для эксперимента, Chaos Studio создает и назначает пользовательскую роль с необходимыми разрешениями для удостоверения эксперимента. Однако это зависит от следующих ограничений назначения ролей и определений ролей:

  • Каждая подписка Azure имеет ограничение в 4000 назначений ролей.
  • Каждый клиент Microsoft Entra имеет ограничение в 5000 определений ролей (или 2000 определений ролей для Azure в Китае).

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