Résoudre les problèmes liés à Azure Chaos Studio

Lorsque vous utilisez Azure Chaos Studio, vous pouvez parfois rencontrer des problèmes. Cet article explique les problèmes courants, et indique la façon de les résoudre.

Conseils généraux de dépannage

Les sources suivantes sont utiles lors de la résolution de problèmes avec Chaos Studio :

  • Journal d’activité : le journal d’activité Azure a un enregistrement de toutes les opérations de création, de mise à jour et de suppression dans un abonnement. Ces enregistrements incluent des opérations de Chaos Studio telles que l’activation d’une cible ou de fonctionnalités, l’installation de l’agent et la création ou l’exécution d’une expérience. Les échecs dans le journal d’activité indiquent qu’une action de l’utilisateur essentielle à l’utilisation de Chaos Studio n’a peut-être pas pu se terminer. La plupart des erreurs de service-direct injectent également des erreurs en exécutant une opération Azure Resource Manager. Par conséquent, le journal d’activité a également l’enregistrement des erreurs qui ont été injectées pendant une expérimentation pour certaines erreurs de service-direct.
  • Détails de l’expérience : les détails de l’exécution de l’expérience affichent l’état et les erreurs d’une expérimentation individuelle. L’ouverture d’une erreur spécifique dans les détails de l’expérience présente les ressources qui ont échoué et les messages d’erreur relatifs à un échec. En savoir plus sur la façon d’accéder aux détails de l’expérience.
  • Journaux d’activité de l’agent : si vous utilisez une erreur basée sur un agent, vous devrez peut-être connecter RDP ou SSH à la machine virtuelle pour comprendre pourquoi l’agent n’a pas pu exécuter une erreur. Les instructions d’accès aux journaux de l’agent dépendent du système d’exploitation :
    • Agent de Windows Chaos : les journaux de l’agent sont dans le journal des événements Windows dans la catégorie Application avec la source AzureChaosAgent. L’agent ajoute une activité d’erreur et un contrôle d’intégrité normal (possibilité de s’authentifier auprès des événements du service de l’agent Chaos Studio) et de communiquer avec ce journal.
    • Agent Chaos de Linux : l’agent Linux utilise systemd pour gérer le processus de l’agent en tant que service Linux. Pour afficher le journal systemd de l’agent (événements consignés par le service d’agent), exécutez la commande journalctl -u azure-chaos-agent.
  • État de l’extension de machine virtuelle : si vous utilisez une erreur basée sur un agent, vérifiez que l’extension de machine virtuelle est installée et intègre. Dans le portail Azure, accédez à votre machine virtuelle et accédez à Extensions ou Extensions + applications. Sélectionnez l’extension ChaosAgent et recherchez les champs suivants :
    • État doit indiquer Approvisionnement réussi. Tout autre état indique que l’installation de l’agent a échoué. Vérifiez que vous répondez à toutes les configurations requises. Essayez de réinstaller l’agent.
    • État du gestionnaire doit indiquer Prêt. Tout autre état indique que l’agent est installé, mais ne peut pas se connecter à Chaos Studio. Vérifiez que vous répondez à toutes les exigences réseau et que l’identité managée affectée par l’utilisateur a été ajoutée à la machine virtuelle. Essayez de redémarrer.

Problèmes lors de l’ajout d’une ressource

Vous pouvez rencontrer les problèmes suivants lorsque vous ajoutez une ressource.

Les ressources ne s’affichent pas dans la liste des cibles dans le portail Azure

Si vous ne voyez pas les ressources que vous souhaitez activer dans la liste des cibles Chaos Studio, cela peut être dû à l’un des problèmes suivants :

L'activation des cibles ou des fonctionnalités échoue ou n'apparaît pas correctement dans la liste des cibles

Si vous voyez une erreur lorsque vous activez des cibles ou des fonctionnalités, procédez comme suit :

  1. Vérifiez que vous disposez des autorisations appropriées pour les ressources que vous ajoutez. L’activation d’une cible ou de fonctionnalités nécessite l’autorisation Microsoft.Chaos/* dans l’étendue de la ressource. Les rôles intégrés tels que Contributeur disposent d’une autorisation de lecture et d’écriture de caractères génériques, qui comprend l’autorisation sur toutes les opérations Microsoft.Chaos.
  2. Attendez quelques minutes que la liste cible et la liste de fonctionnalités soient mises à jour. Le portail Azure utilise Azure Resource Graph pour collecter des informations sur l’ajout de cibles et de fonctionnalités. La propagation de la mise à jour peut prendre jusqu’à cinq minutes.
  3. Si la ressource affiche toujours Non activé, essayez les étapes suivantes :
    1. Réessayez d’activer la ressource.
    2. Si l’activation des ressources échoue toujours, accédez au journal d’activité et recherchez l’opération de création cible ayant échoué pour afficher des informations détaillées sur l’erreur.
  4. Si la ressource affiche Activé, mais que les fonctionnalités d’ajout ont échoué, procédez comme suit :
    1. Sélectionnez Gérer les actions sur la ressource dans la liste des cibles. Vérifiez les fonctionnalités qui n’ont pas été cochées et sélectionnez Enregistrer.
    2. Si l’activation des fonctionnalités échoue toujours, visitez le journal d’activité et recherchez l’opération de création de cible ayant échoué pour afficher des informations détaillées sur l’erreur.

Problèmes de configuration requise

Certains problèmes sont dus à des conditions préalables manquantes.

Échec des erreurs basées sur un agent sur une machine virtuelle

Les erreurs basées sur un agent peuvent échouer pour diverses raisons liées à des conditions préalables manquantes :

  • Sur les machines virtuelles Linux, les erreurs Sollicitation du processeur, Sollicitation de la mémoire physique, Sollicitation des disques E/S et Contrainte Stress-ng arbitraire nécessitent l’installation de l’utilitaire stress-ng sur votre machine virtuelle. Pour plus d’informations sur l’installation de stress-ng, consultez les sections conditions préalables pour les erreurs.
  • Sur les machines virtuelles Linux ou Windows, l’identité gérée affectée par l’utilisateur fournie lors de l’activation de la cible basée sur l’agent doit également être ajoutée à la machine virtuelle.
  • Sur les machines virtuelles Linux ou Windows, l’identité managée affectée par le système pour l’expérience doit recevoir le rôle de lecteur sur la machine virtuelle. (Les rôles apparemment élevés comme le contributeur de machine virtuelle n’incluent pas l’opération */Read nécessaire pour que l’agent Chaos Studio puisse lire la ressource proxy cible de microsoft-agent sur la machine virtuelle.)

L’agent Chaos ne s’installe pas sur les groupes de machines virtuelles identiques

L’installation de l’agent Chaos sur des groupes de machines virtuelles identiques peut échouer sans afficher d’erreur si la stratégie de mise à niveau du groupe de machines virtuelles identiques est définie sur Manuel. Pour vérifier la stratégie de mise à niveau du groupe de machines virtuelles identiques :

  1. Connectez-vous au portail Azure.
  2. Sélectionnez Groupe de machines virtuelles identiques.
  3. Dans le volet gauche, sélectionnez Stratégie de mise à niveau.
  4. Vérifiez le mode de mise à niveau pour voir s’il est défini sur Manuel - Les instances existantes doivent être mises à niveau manuellement.

Si la stratégie de mise à niveau est définie sur Manuel, vous devez mettre à niveau vos instances de groupes de machines virtuelles identiques Azure afin que l’installation de l’agent Chaos puisse se terminer.

Mettre à niveau des instances à partir du portail Azure

Vous pouvez mettre à niveau vos instances de groupes de machines virtuelles identiques à partir du portail Azure :

  1. Connectez-vous au portail Azure.
  2. Sélectionnez Groupe de machines virtuelles identiques.
  3. Dans le volet gauche, sélectionnez Instances.
  4. Sélectionnez toutes les instances, puis Mettre à niveau.

Mettre à niveau des instances avec Azure CLI

Vous pouvez mettre à niveau vos instances de groupes de machines virtuelles identiques avec Azure CLI :

  • À partir d’Azure CLI, utilisez az vmss update-instances pour mettre à niveau manuellement vos instances :

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

Pour plus d’informations, consultez Mettre à jour les machines virtuelles avec le dernier modèle de groupe identique.

Échec des erreurs AKS Chaos Mesh

Les erreurs d’Azure Kubernetes Service (AKS) Chaos Mesh peuvent échouer pour diverses raisons liées à des conditions préalables manquantes :

  • Vous devez d’abord installer Chaos Mesh sur le cluster AKS avant d’utiliser les erreurs AKS Chaos Mesh. Pour obtenir des instructions, consultez le tutoriel sur les erreurs Chaos Mesh sur AKS.
  • Chaos Mesh doit être de version 2.0.4 ou supérieure. Vous pouvez récupérer la version de Chaos Mesh en vous connectant à votre cluster AKS et en exécutant helm version chaos-mesh.
  • Chaos Mesh doit être installé avec l’espace de noms chaos-testing. Les autres noms d’espaces de noms pour Chaos Mesh ne sont pas pris en charge.
  • Le rôle d’administrateur de cluster AKS doit être affecté à l’identité managée affectée par le système pour l’expérimentation chaos.

Problèmes lors de la création ou de la conception d’une expérience

Vous pouvez rencontrer des problèmes lorsque vous créez ou concevez une expérience.

Lorsque j’ajoute une erreur, ma ressource ne s’affiche pas dans la liste des ressources cibles

Lorsque vous ajoutez une erreur, si vous ne voyez pas la ressource que vous souhaitez cibler avec une erreur dans la liste Ressources cibles, cela peut être dû à l’un des problèmes suivants :

  • Le filtre Abonnement est défini pour exclure l’abonnement dans lequel votre cible est déployée. Sélectionnez le filtre d’abonnement et modifiez les abonnements sélectionnés.
  • La ressource n’a pas encore été ajoutée. Accédez à la vue Cibles et activez la cible. Fermez ensuite le volet Ajouter une erreur et rouvrez-le pour afficher une liste cible mise à jour.
  • La ressource n’a pas encore été activée pour le type de cible de cette erreur. Consultez la bibliothèque d’erreurs pour voir quel type de cible est utilisé pour l’erreur. Accédez ensuite à la vue Cibles et activez ce type de cible. Le type est soit basé sur un agent pour les erreurs de type microsoft-agent, soit direct-service pour tous les autres types de cibles. Fermez ensuite le volet Ajouter une erreur et rouvrez-le pour afficher une liste cible mise à jour.
  • La ressource n’a pas encore la capacité de cette erreur activée. Consultez la bibliothèque d’erreurs pour afficher le nom de la fonctionnalité pour l’erreur. Accédez ensuite à la vue Cibles, puis sélectionnez Gérer les actions sur la ressource cible. Cochez la case correspondant à l’erreur que vous essayez d’exécuter et sélectionnez Enregistrer. Fermez ensuite le volet Ajouter une erreur et rouvrez-le pour afficher une liste cible mise à jour.
  • La ressource a été récemment ajoutée et n’est pas encore apparue dans Resource Graph. La liste Ressources cibles est interrogée à partir de Resource Graph. Une fois qu’une nouvelle cible est activée, la propagation de la mise à jour vers Resource Graph peut prendre jusqu’à cinq minutes. Patientez quelques minutes, puis rouvrez le volet Ajouter une erreur.

Lorsque je crée une expérience, j’obtiens l’erreur « Le fournisseur microsoft:agent nécessite une identité managée »

Cette erreur se produit lorsque l’agent n’a pas été déployé sur votre machine virtuelle. Pour obtenir des instructions d’installation, consultez Créer et exécuter une expérience qui utilise des erreurs basées sur des agents.

Lorsque je crée une expérience, j’obtiens l’erreur « Le type de média de contenu « null » n’est pas pris en charge. Seul application/xml est pris en charge. »

Vous pouvez rencontrer cette erreur si vous créez votre expérience à l’aide d’un modèle Azure Resource Manager ou de l’API REST de Chaos Studio. L’erreur indique qu’il existe un JSON mal formé dans votre définition d’expérimentation. Vérifiez si vous avez des erreurs de syntaxe, telles que des accolades ou des crochets incompatibles ({} et []). Pour vérifier, utilisez un linter JSON comme Visual Studio Code.

Problèmes lors de l’exécution d’une expérience

Vous pouvez rencontrer des problèmes lors de l’exécution d’une expérience.

L’état d’exécution de mon expérience après le démarrage est « Échec »

Dans la liste Expériences du portail Azure, sélectionnez le nom de l’expérience pour afficher la Vue d’ensemble de l’expérience. Dans la section Historique, sélectionnez Détails en regard de l’exécution de l’expérimentation en échec pour afficher des informations détaillées sur l’erreur.

Capture d’écran montrant l’historique des expériences.

Mon erreur basée sur l’agent a échoué avec l’erreur « Vérifier que la cible est correctement ajoutée et que les autorisations de lecture appropriées sont fournies à l’expérience msi »

Cette erreur peut se produire si vous avez ajouté l’agent à l’aide du portail Azure, qui a un problème connu. L’activation d’une cible basée sur un agent n’affecte pas l’identité managée affectée par l’utilisateur à la machine virtuelle ou au groupe de machines virtuelles identiques.

Pour résoudre ce problème, accédez à la machine virtuelle ou au groupe de machines virtuelles identiques dans le portail Azure et accédez à Identité. Ouvrez l’onglet Utilisateur affecté et ajoutez votre identité affectée par l’utilisateur à la machine virtuelle. Une fois que vous avez terminé, vous devrez peut-être redémarrer la machine virtuelle pour que l’agent se connecte.

Mon erreur basée sur l'agent a échoué avec l'erreur « L'agent effectue déjà une autre tâche »

Cette erreur se produit si vous essayez d’exécuter plusieurs erreurs d’agent en même temps. Aujourd’hui, l’agent prend uniquement en charge l’exécution d’une seule erreur d’agent à la fois et échoue si vous définissez une expérience qui exécute plusieurs erreurs d’agent en même temps.

Problèmes lors de la configuration d’une identité managée

Lorsque j’essaie d’ajouter une identité managée affectée par le système ou par l’utilisateur à mon expérience existante, la sauvegarde échoue.

Si vous essayez d’ajouter une identité managée affectée par l’utilisateur ou affectée par le système à une expérience qui a déjà une identité managée qui lui est attribuée, l’expérience ne peut pas être déployée. Vous devez supprimer l’identité managée affectée par l’utilisateur ou par le système sur l’expérience souhaitée d’abord avant d’ajouter votre identité managée souhaitée.

Lorsque j’exécute une expérience configurée pour créer et attribuer automatiquement un rôle personnalisé, j’obtiens l’erreur « Impossible de résoudre la ou les ressources cibles. ErrorCode : AccessDenied. Ressource(s) cible(s) : »

Lorsque la case « Autorisations de rôle personnalisé » est cochée pour une expérience, Chaos Studio crée et affecte un rôle personnalisé avec les autorisations nécessaires à l’identité de l’expérience. Toutefois, cela est soumis aux limites d’attribution de rôle et de définition de rôle suivantes :

  • Chaque abonnement Azure a une limite de 4 000 attributions de rôles.
  • Chaque locataire Microsoft Entra a une limite de 5 000 définitions de rôles (ou 2000 définitions de rôle pour Azure en Chine).

Lorsque l’une de ces limites a été atteinte, cette erreur se produit. Pour contourner ce problème, accordez des autorisations à l’identité d’expérience manuellement.