Projet Flash : utiliser Azure Resource Graph pour surveiller la disponibilité de la machine virtuelle Azure

Azure Resource Graph est une solution proposée par Flash. Flash est le nom interne d’un projet dédié à l’élaboration d’un mécanisme robuste, fiable et rapide destiné à permettre aux clients de surveiller l’intégrité des machines virtuelles.

Cet article traite de l’utilisation d’Azure Resource Graph pour surveiller la disponibilité des machines virtuelles Azure. Pour obtenir une vue d’ensemble générale des solutions Flash, consultez la vue d’ensemble de Flash.

Pour obtenir une documentation propre aux autres solutions proposées par Flash, choisissez parmi les articles suivants :

Azure Resource Graph : HealthResources

Cette fonctionnalité est actuellement disponible partout. Il est utile de mener des enquêtes à grande échelle. Il offre une expérience très conviviale pour la récupération d’informations avec son utilisation du langage de requête kusto (KQL). Il peut également servir de centre d'information sur les ressources et permet de retrouver facilement des données historiques.

En plus des états de disponibilité des machines virtuelles qui circulent déjà, nous avons publié des annotations de disponibilité de machine virtuelle dans Azure Resource Graph (ARG) pour une analyse détaillée de l’attribution des défaillances et des temps d’arrêt, ainsi que l’activation d’un mécanisme de suivi des modifications de 14 jours pour suivre les modifications historiques de la disponibilité des machines virtuelles pour le débogage rapide. Avec ces nouveaux ajouts, nous sommes ravis d'annoncer la disponibilité générale des informations sur la disponibilité des machines virtuelles dans l'ensemble de données HealthResources dans ARG ! Avec cette offre, les utilisateurs peuvent :

  • Interroger efficacement le dernier instantané de la disponibilité des machines virtuelles dans tous les abonnements Azure, en une seule fois et à faible latence, pour une surveillance périodique et à l'échelle de la flotte.
  • Évaluer précisément l’impact sur les contrats SLA métier à l’échelle de la flotte et déclencher rapidement des actions d’atténuation décisives, en réponse aux interruptions et au type de signature d’échec.
  • Configurer des tableaux de bord personnalisés pour superviser l’intégrité complète des applications en joignant les informations de disponibilité des machines virtuelles avec des métadonnées de ressources présentes dans ARG.
  • Suivez les modifications pertinentes dans la disponibilité des machines virtuelles sur une fenêtre propagée de 14 jours, à l’aide du mécanisme de suivi des modifications pour effectuer des investigations détaillées.

Exemples de requêtes

Bien démarrer

Les utilisateurs peuvent interroger ARG via PowerShell, API REST, Azure CLI ou même le Portail Microsoft Azure. Les étapes suivantes détaillent la façon dont les données sont accessibles à partir du Portail Microsoft Azure.

  1. Une fois sur le Portail Microsoft Azure, accédez à Resource Graph Explorer.

    Screenshot of the Azure Resource Graph Explorer landing page on the Azure portal.

  2. Sélectionnez l'onglet Tableau et cliquez (une seule fois) sur le tableau HealthResources pour récupérer le dernier instantané des informations sur la disponibilité des machines virtuelles (état de disponibilité et annotations sur l'état de santé).

    Screenshot of an Azure Resource Graph Explorer Window depicting the latest VM availability states and VM availability annotations in the Health Resources table.

Deux types d’événements sont renseignés dans la table HealthResources :

Snapshot of the type of events in the Health Resources table, as shown in Resource Graph Explorer on the Azure portal.

  • resourcehealth/availabilitystatuses

Cet événement indique l’état de disponibilité le plus récent d’une machine virtuelle, en fonction des contrôles d’intégrité effectués par la plateforme Azure sous-jacente. Les états de disponibilité que nous émettons actuellement pour les machines virtuelles sont :

  • Disponible : la machine virtuelle est opérationnelle comme prévu.
  • Indisponible : nous avons détecté des perturbations dans le fonctionnement normal de la machine virtuelle et, par conséquent, les applications ne fonctionneront pas comme prévu.
  • Inconnu : la plateforme ne peut pas détecter avec précision l’intégrité de la machine virtuelle. Les utilisateurs peuvent généralement vérifier en quelques minutes un état mis à jour.

Pour interroger le dernier état de disponibilité de la machine virtuelle, reportez-vous au champ des propriétés, qui contient les informations suivantes :

Exemple

{
 "targetResourceType": "Microsoft.Compute/virtualMachines",
 "previousAvailabilityState": "Available",
 "targetResourceId": "/subscriptions//resourceGroups//providers/Microsoft.Compute/virtualMachines/",
 "occurredTime": "2022-10-11T11:13:59.9570000Z",
 "availabilityState": "Unavailable"
 }

Description de la propriété

Propriété Description Catégorie d’intégrité des ressources correspondante (RHC)
targetResourceType Type de ressource pour laquelle les données d’intégrité circulent resourceType
targetResourceId ID de ressource resourceId
occurredTime Horodatage lorsque la plateforme émet l’état de disponibilité le plus récent eventTimestamp
previousAvailabilityState État de disponibilité précédent de la machine virtuelle previousHealthStatus
availabilityState État de disponibilité actuel de la machine virtuelle currentHealthStatus

Consultez la section HealthResources de la documentation des exemples de requêtes pour obtenir la liste des requêtes de démarrage afin d’explorer davantage ces données.

  • resourcehealth/resourceannotations (NOUVELLEMENT AJOUTÉ)

Cet événement contextualise toutes les modifications apportées à la disponibilité des machines virtuelles, en détaillant les attributs d’échec nécessaires pour aider les utilisateurs à examiner et à atténuer l’interruption si nécessaire. Consultez la liste complète des annotations de disponibilité des machines virtuelles émises par la plateforme. Ces annotations peuvent être classées dans trois compartiments :

  • Annotations de temps d’arrêt : ces annotations sont émises lorsque la plateforme détecte la disponibilité des machines virtuelles en transition vers Indisponible. (Par exemple, lors d’incidents inattendus de l’hôte, opérations de réparation de redémarrage).
  • Annotations d’information : ces annotations sont émises pendant les activités du plan de contrôle sans impact sur la disponibilité des machines virtuelles. (Telles que l’allocation, l’arrêt, la suppression ou le démarrage de machines virtuelles). En règle générale, aucune autre action du client n’est requise en réponse.
  • Annotations dégradées : ces annotations sont émises lorsque la disponibilité de la machine virtuelle est détectée comme étant à risque. (Par exemple, les modèles de prédiction d’échec prédisent un composant matériel détérioré qui peut entraîner le redémarrage de la machine virtuelle à tout moment). Nous conseillons vivement aux utilisateurs de redéployer avant l’échéance spécifiée dans le message d’annotation, pour éviter toute perte de données ou temps d’arrêt imprévu. Vous pouvez recevoir une alerte dans les jeux d'échelle de la machine virtuelle Azure ou dans le journal d'activité dans l'un des scénarios suivants :

Pour interroger les annotations de disponibilité de la machine virtuelle associées à une ressource, le cas échéant, reportez-vous au champ des propriétés, qui contient les détails suivants :

Exemple

{
 "targetResourceType": "Microsoft.Compute/virtualMachines", "targetResourceId": "/subscriptions//resourceGroups//providers/Microsoft.Compute/virtualMachines/",
 "annotationName": "VirtualMachineHostRebootedForRepair",
 "occurredTime": "2022-09-25T20:21:37.5280000Z",
 "category": "Unplanned",
 "summary": "We're sorry, your virtual machine isn't available because an unexpected failure on the host server. Azure has begun the auto-recovery process and is currently rebooting the host server. No further action is required from you at this time. The virtual machine will be back online after the reboot completes.",
 "context": "Platform Initiated",
 "reason": "Unexpected host failure"
 }

Description de la propriété

Propriété Description RHC correspondant
targetResourceType Type de ressource pour laquelle les données d’intégrité circulent resourceType
targetResourceId ID de ressource resourceId
occurredTime Horodatage lorsque l’état de disponibilité le plus récent est émis par la plateforme eventTimestamp
annotationName Nom de l’annotation émise eventName
reason Brève vue d’ensemble de l’impact sur la disponibilité observé par le client title
category Indique si l’activité de plateforme qui a déclenché l’annotation a été une maintenance planifiée ou une réparation non planifiée. Ce champ ne s’applique pas aux événements lancés par le client ou la machine virtuelle. Valeurs possibles : planifiées, non planifié, non applicable, nul category
contexte Indique si l’activité qui a déclenché l’annotation est due à un utilisateur ou à un processus autorisé (initié par le client), à la plateforme Azure (lancée par la plateforme) ou en raison de l’activité dans le système d’exploitation invité qui a entraîné un impact sur la disponibilité (lancée par la machine virtuelle). Valeurs possibles : initiée par la plateforme, initiée par l’utilisateur, initiée par une machine virtuelle, non applicable, nul contexte
résumé Déclaration détaillant la cause de l’émission d’annotations, ainsi que les étapes de correction que les utilisateurs peuvent prendre résumé

Consultez la section HealthResources de la documentation des exemples de requêtes pour obtenir la liste des requêtes de démarrage afin d’explorer davantage ces données.

Nous avons prévu de nombreuses améliorations pour les métadonnées d'annotation qui apparaissent dans l'ensemble de données HealthResources. Ces enrichissements permettent aux utilisateurs d'accéder à des attributs de défaillance plus riches afin de préparer de manière décisive une réponse à une perturbation. Parallèlement, nous visons à étendre la durée de l'historique à un minimum de 30 jours afin que les utilisateurs puissent suivre de manière exhaustive les changements survenus dans la disponibilité des machines virtuelles.

Étapes suivantes

Pour en savoir plus sur les solutions proposées, passez à l'article de solution correspondant :

Pour une présentation générale de la façon de surveiller les machines virtuelles Azure, consultez Surveiller les machines virtuelles Azure et la référence sur la surveillance des machines virtuelles Azure.