Notifications des ressources Azure : Événements de ressources d’intégrité dans Azure Event Grid (préversion)

La rubrique système HealthResources fournit des informations d’intégrité précises, fiables et complètes, ce qui permet de mieux comprendre les différents problèmes de service impactant vos ressources Azure, notamment les machines virtuelles à instance unique, les groupes de machines virtuelles identiques et les machines virtuelles de groupes de machines virtuelles identiques. Les ressources d’intégrité proposent deux types d’événements pour la consommation : AvailabilityStatusChanged et ResourceAnnotated.

Cet article fournit les propriétés et le schéma des événements de ressources d’intégrité de notifications des ressources Azure. Pour une présentation générale des schémas d’événements, consultez Schéma d’événements Azure Event Grid. En outre, vous trouverez des exemples d’événements générés et un lien vers un article connexe sur la création d’une rubrique système pour ce type de rubrique.

Types d’événement

Les ressources d’intégrité proposent deux types d’événements pour la consommation :

Type d'événement Description
Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged Déclenché lors d’un changement de l’état de disponibilité d’une machine virtuelle à instance unique, d’un groupe de machines virtuelles identiques ou d’une machine virtuelle dans un groupe de machines virtuelles identiques.

Ces informations fournissent des informations sur toutes les fois que vos machines virtuelles, machines virtuelles dans des groupes de machines virtuelles identiques ou groupes de machines virtuelles identiques n’ont pas été disponibles en raison de problèmes de service Azure. Pour plus d’informations sur les différents états d’intégrité, consultez Vue d’ensemble d’Azure Resource Health - Azure Service Health.

Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated Déclenché lorsque l’intégrité d’une machine virtuelle à instance unique, d’un groupe de machines virtuelles identiques ou d’une machine virtuelle dans un groupe de machines virtuelles identiques est affectée par les dérangements qui impactent la disponibilité. La plateforme émet un contexte quant à la raison pour laquelle l’interruption s’est produite pour vous aider à répondre de manière appropriée.

Ces informations vous aident à déduire l’état de disponibilité de vos ressources en fournissant des informations cruciales sur les raisons et les causes des changements de disponibilité. À l’aide de ces données, vous pouvez prendre des mesures d’atténuation plus rapides et plus ciblées. Pour plus d’informations sur les différentes annotations émises, consultez Annotations d’intégrité des machines virtuelles Resource Health.

Contrôle d’accès en fonction du rôle

Actuellement, ces événements sont exclusivement émis dans l’étendue de l’abonnement Azure. Cela implique que l’entité qui crée l’abonnement aux événements pour un type de rubrique donné reçoit des notifications dans l’ensemble de cet abonnement Azure. Pour des raisons de sécurité, il est impératif de restreindre la possibilité de créer des abonnements aux événements sur cette rubrique aux principaux disposant d’un accès en lecture sur l’ensemble de l’abonnement Azure. Pour accéder aux données via cette rubrique système, en plus des autorisations génériques requises par Event Grid, l’autorisation spécifique de notifications des ressources Azure suivante est nécessaire : Microsoft.ResourceNotifications/systemTopics/subscribeToHealthResources/action.

Schémas d’événements

Voici le schéma :

{
    "id": string,
    "topic": string,
    "subject": string,
    "data": {
        "resourceInfo": {
            "id": string,
            "name": string,
            "type": string,
            "properties": { 
                <<Different for AvailabilityStatusChanged event and ResourceAnnotated event>>            
            }
        },
        "operationalInfo":{
			"resourceEventTime": date-time
		},
        "apiVersion": string 
    }, 
    "eventType": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged | Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
    "dataVersion": string, 
    "metadataVersion": string, 
    "eventTime": string 
}

Un événement contient les données générales suivantes :

Propriété Type Description
id String Identificateur unique de l’événement
topic String Abonnement Azure pour lequel cette rubrique système est en cours de création
subject String Chemin défini par l’éditeur vers la ressource de base sur laquelle cet événement est émis.
data Objet Contient les données d’événement spécifiques au fournisseur de ressources. Pour plus d’informations, voir le tableau suivant.
eventType String Type d’événement inscrit de ce type de rubrique système
dataVersion String Version du schéma de l’objet de données
metadataVersion String Version du schéma des métadonnées de l’événement
eventTime String
Format : 2022-11-07T18:43:09.2894075Z
Heure à laquelle l’événement est généré selon l’heure UTC du fournisseur

L’objet data dispose des propriétés suivantes :

Propriété Type Description
resourceInfo Objet Données spécifiques à la ressource. Pour plus d’informations, voir le tableau suivant.
apiVersion String La version d’API des propriétés de la ressource.
operationalInfo Objet Détails des informations opérationnelles relatives à la ressource.

L’objet resourceInfo dispose des propriétés suivantes :

Propriété Type Description
id String Chemin de l’objet de l’événement, défini par le serveur de publication
name String Ce champ indique l’ID d’événement. Il prend toujours la valeur de la dernière section du champ id.
type String Type de l’événement en cours d’émission. Dans ce contexte, c’est Microsoft.ResourceHealth/AvailabilityStatuses ou Microsoft.ResourceHealth/ResourceAnnotated.
properties Objet Charge utile de la ressource. Pour plus d’informations, voir le tableau suivant.

L’objet operationalInfo dispose des propriétés suivantes :

Propriété Type Description
resourceEventTime Date et heure La date et l’heure de la mise à jour de la ressource.

Le properties dans l’objet data est différent pour les événements AvailabilityStatusChanged et ResourceAnnotated.

Propriétés de l’événement AvailabilityStatusChanged

            "properties": {
                "targetResourceId": string,
                "targetResourceType": string,
                "occurredTime": string,
                "previousAvailabilityState": string,
                "availabilityState": string
            }

Pour l’événement AvailabilityStatusChanged, l’objet properties dispose des propriétés suivantes :

Propriété Type Description
targetResourceId String La ressource de base pour laquelle les informations de disponibilité sont émises.
targetResourceType String Le type de la ressource de base.
occurredTime String L’heure à laquelle cet événement réel a été émis.
previousAvailabilityState String État de disponibilité précédent.
availabilityState String État de disponibilité actuel. Pour obtenir la liste des valeurs, consultez États de disponibilité - Obtenir par ressource - API REST (Azure Resource Health).

Propriétés de l’événement ResourceAnnotated

            "properties": {
                "targetResourceId": string,
                "targetResourceType": string,
                "occurredTime": string,
                "annotationName": string,
                "reason": string,
                "summary": string,
                "context": string,
                "category": string,
            }

Pour l’événement ResourceAnnotated, l’objet properties dispose des propriétés suivantes :

Propriété Type Description
targetResourceId String La ressource de base pour laquelle les informations d’annotation sont émises.
targetResourceType String Le type de la ressource de base.
occurredTime String Horodatage lorsque l’annotation a été émise par la plateforme Azure en réponse à un événement ayant une influence sur la disponibilité.
annotationName String Nom de l’annotation. Pour obtenir la liste des annotations et les descriptions correspondantes, consultez Annotations d’intégrité des machines virtuelles Resource Health - Azure Service Health.
reason String Brève déclaration sur la raison pour laquelle la disponibilité des ressources a changé ou a été influencée.
summary String Instruction détaillée sur l’activité et la cause de modification ou d’influence de la disponibilité des ressources.
context String Détermine si la disponibilité des ressources a été influencée en raison d’une activité causée par Azure ou par l’utilisateur.
category String Détermine si la disponibilité des ressources a été influencée en raison d’une activité planifiée ou non planifiée. Cette propriété s’applique uniquement aux événements Platform-Initiated.

Exemples d'événements

Événement AvailabilityStatusChanged

{
  "id": "1fb6fa94-d965-4306-abeq-4810f0774e97",
  "topic": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
  "data": {
    "resourceInfo": {
      "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}/providers/Microsoft.ResourceHealth/availabilityStatuses/{event-id}",
      "name": "{event-id}",
      "type": "Microsoft.ResourceHealth/availabilityStatuses",
      "properties": {
        "targetResourceId": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
        "targetResourceType": "Microsoft.Compute/virtualMachines",
        "occurredTime": "2023-07-24T19:20:37.9245071Z",
        "previousAvailabilityState": "Unavailable",
        "availabilityState": "Available"
      }
    },
    "operationalInfo": {
      "resourceEventTime": "2023-07-24T19:20:37.9245071Z"
    },
    "apiVersion": "2023-12-01"
  },
  "eventType": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged",
  "dataVersion": "1",
  "metadataVersion": "1",
  "eventTime": "2023-07-24T19:20:37.9245071Z"
}

Événement ResourceAnnotated

{
  "id": "8945cf9b-e220-496e-ab4f-f3a239318995",
  "topic": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
  "data": {
    "resourceInfo": {
      "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}/providers/Microsoft.ResourceHealth/resourceAnnotations/{event-id}",
      "name": "{event-id}",
      "type": "Microsoft.ResourceHealth/resourceAnnotations",
      "properties": {
        "targetResourceId": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
        "targetResourceType": "Microsoft.Compute/virtualMachines",
        "occurredTime": "2023-07-24T19:20:37.9245071Z",
        "annotationName": "VirtualMachineDeallocationInitiated",
        "reason": "Stopping and deallocating",
        "summary": "This virtual machine is stopped and deallocated as requested by an authorized user or process.",
        "context": "Customer Initiated",
        "category": "Not Applicable"
      }
    },
    "operationalInfo": {
      "resourceEventTime": "2023-07-24T19:20:37.9245071Z"
    },
    "apiVersion": "2022-08-01"
  },
  "eventType": "Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
  "dataVersion": "1",
  "metadataVersion": "1",
  "eventTime": "2023-07-24T19:20:37.9245071Z"
}

Nous contacter

Si vous avez des questions ou des commentaires sur cette fonctionnalité, n’hésitez pas à nous contacter à arnsupport@microsoft.com.

Pour obtenir des commentaires spécifiques sur un événement donné, fournissez les informations suivantes :

Pour les événements manquants :

  • Nom du type de la rubrique système
  • Timestamp approximatif au format UTC de l’exécution de l’opération
  • ID de la ressource de base pour laquelle la notification a été générée
  • Accédez à votre ressource dans le portail Microsoft Azure et sélectionnez la vue JSON en haut à droite. L’ID de la ressource est le premier champ de la page de vue JSON.
  • Type d’événement attendu
  • Opération exécutée (par exemple, machine virtuelle démarrée ou arrêtée, compte de stockage créé, etc.)
  • Description du problème rencontré (par exemple, machine virtuelle démarrée et aucun événement Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged généré)
  • Si possible, indiquez l’ID de corrélation de l’opération exécutée

Pour un événement qui a été retardé ou dont le contenu est inattendu

  • Nom du type de la rubrique système
  • Contenu entier de la notification sans data.resourceInfo.properties
  • Description du problème rencontré et valeurs de champ impactées

Vérifiez que vous ne fournissez aucune information d’identification de l’utilisateur final quand vous partagez ces données.

Étapes suivantes

Consultez S’inscrire aux notifications des ressources Azure - Événements de ressources d’intégrité.