Azure-Ressourcenbenachrichtigungen: Integritätsressourcenereignisse in Azure Event Grid (Vorschau)

Das Thema „HealthResources“-System bietet genaue, zuverlässige und umfassende Integritätsinformationen, sodass tiefere Kenntnisse der verschiedenen Dienstprobleme, die sich auf Ihre Azure-Ressourcen auswirken, nämlich einzelne virtuelle Computer (VMs), VMS-Skalierungsgruppen für virtuelle Computer und Skalierungsgruppen für virtuelle Computer. Health Resources bietet zwei Ereignistypen für den Verbrauch: AvailabilityStatusChanged und ResourceAnnotated.

Dieser Artikel enthält die Eigenschaften und das Schema für Azure Resource Notifications Health Resources-Ereignisse. Eine Einführung in Ereignisschemas im Allgemeinen finden Sie unter Azure Event Grid-Ereignisschema. Darüber hinaus finden Sie Beispiele für generierte Ereignisse und einen Link zu einem verwandten Artikel zum Erstellen eines Systemthemas für diesen Thementyp.

Ereignistypen

Integritätsressourcen bieten zwei Ereignistypen für den Verbrauch:

Ereignistyp Beschreibung
Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged Wird ausgelöst, wenn sich der Verfügbarkeitsstatus einer einzelnen Instanz-VM, eines Skalierungssatzes eines virtuellen Computers oder einer VM in einer VM-Skalierungsgruppe ändert.

Diese Informationen bieten Einblicke in die Zeiten, in denen Ihre einzelnen Instanz-VMs, VMs in VM-Skalierungssätzen oder VM-Skalierungssätzen selbst aufgrund von Azure-Dienstproblemen nicht verfügbar waren. Weitere Informationen zu den verschiedenen Integritätsstatus finden Sie in der Azure Resource Health-Übersicht – Azure Service Health.

Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated Wird ausgelöst, wenn die Integrität eines virtuellen Computers, eines VM-Skalierungssatzes oder einer VM in einem Skalierungssatz für virtuelle Computer beeinträchtigt wird, durch die Verfügbarkeit beeinträchtigt wird. Die Plattform gibt Kontext aus, warum die Unterbrechung aufgetreten ist, um Sie bei der entsprechenden Reaktion zu unterstützen.

Anhand dieser Informationen können Sie den Verfügbarkeitsstatus Ihrer Ressourcen ableiten, indem sie wichtige Informationen zu den Gründen und Ursachen für Änderungen an der Verfügbarkeit bereitstellen. Mithilfe dieser Daten können Sie schnellere und gezieltere Abhilfemaßnahmen ergreifen. Weitere Informationen zu den verschiedenen ausgegebenen Anmerkungen finden Sie unter Integritätsanmerkungen zu Resource Health-VMs.

Rollenbasierte Zugriffssteuerung

Derzeit werden diese Ereignisse ausschließlich im Azure-Abonnementbereich ausgegeben. Es bedeutet, dass die Entität, die das Ereignisabonnement für diesen Thementyp erstellt, Benachrichtigungen über dieses Azure-Abonnement empfängt. Aus Sicherheitsgründen müssen Sie die Möglichkeit zum Erstellen von Ereignisabonnements in diesem Thema auf Prinzipale mit Lesezugriff über das gesamte Azure-Abonnement beschränken. Für den Zugriff auf Daten über dieses Systemthema ist zusätzlich zu den generischen Berechtigungen, die von Event Grid benötigt werden, die folgende spezifische Azure Resource Notifications-Berechtigung erforderlich: Microsoft.ResourceNotifications/systemTopics/subscribeToHealthResources/action.

Ereignisschemata

Das folgende Schema wird verwendet:

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

Ein Ereignis weist die folgenden Daten auf oberster Ebene aus:

Eigenschaft Typ Beschreibung
id String Eindeutiger Bezeichner der Veranstaltung
source String Das Azure-Abonnement, für das dieses Systemthema erstellt wird.
subject String Publisher hat den Pfad zur Basisressource definiert, für die dieses Ereignis ausgegeben wird.
type String Registrierter Ereignistyp dieses Systemthematyps
time String
Format: 2022-11-07T18:43:09.2894075Z
Die Zeit, in der das Ereignis generiert wird, basierend auf der UTC-Zeitangabe des Anbieters.
data Object Enthält die für den Ressourcenanbieter spezifischen Ereignisdaten. Weitere Informationen finden Sie in der nächsten Tabelle.
specversion String Version der CloudEvents-Schemaspezifikation.

Das data-Objekt weist die folgenden Eigenschaften auf:

Eigenschaft Typ Beschreibung
resourceInfo Object Daten, die für die Ressource spezifisch sind. Weitere Informationen finden Sie in der nächsten Tabelle.
apiVersion String Die API-Version der Ressourceneigenschaften.
operationalInfo Object Details der betriebstechnischen Informationen zur Ressource.

Das resourceInfo-Objekt weist die folgenden Eigenschaften auf:

Eigenschaft Typ Beschreibung
id String Vom Herausgeber definierter Pfad zum Ereignisbetreff
name String Dieses Feld gibt die Ereignis-ID an. Es verwendet immer den Wert des letzten Abschnitts des id Felds.
type String Der Ereignistyp, der ausgegeben wird. In diesem Zusammenhang ist es entweder Microsoft.ResourceHealth/AvailabilityStatuses oder Microsoft.ResourceHealth/ResourceAnnotated.
properties Object Payload der Ressource. Weitere Informationen finden Sie in der nächsten Tabelle.

Das operationalInfo-Objekt weist die folgenden Eigenschaften auf:

Eigenschaft Typ BESCHREIBUNG
resourceEventTime DateTime Datum und Uhrzeit der Aktualisierung der Ressource.

Das properties Innerhalb des data Objekts unterscheidet sich um AvailabilityStatusChanged und ResourceAnnotated Ereignisse.

Eigenschaften für das AvailabilityStatusChanged-Ereignis

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

Für das AvailabilityStatusChanged Ereignis weist das properties Objekt die folgenden Eigenschaften auf:

Eigenschaft Typ Beschreibung
targetResourceId String Die Basisressource, für die die Verfügbarkeitsinformationen ausgegeben werden.
targetResourceType String Der Typ der Basisressource.
occurredTime String Der Zeitpunkt, zu dem dieses tatsächliche Ereignis ausgegeben wurde.
previousAvailabilityState String Vorheriger Verfügbarkeitsstatus.
availabilityState String Aktueller Verfügbarkeitsstatus. Die Liste der Werte finden Sie unter Verfügbarkeitsstatus – Get By Resource – REST API (Azure Resource Health).

Eigenschaften für das ResourceAnnotated-Ereignis

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

Für das ResourceAnnotated Ereignis weist das properties Objekt die folgenden Eigenschaften auf:

Eigenschaft Typ Beschreibung
targetResourceId String Die Basisressource, für die die Anmerkungsinformationen ausgegeben werden.
targetResourceType String Der Typ der Basisressource.
occurredTime String Zeitstempel, als die Anmerkung von der Azure-Plattform als Reaktion auf das verfügbarkeitsbeeinflusste Ereignis ausgegeben wurde.
annotationName String Der Name des Annotation-Objekts. Die Liste der Anmerkungen und die entsprechenden Beschreibungen finden Sie unter Integritätsanmerkungen zu Resource Health-VMs – Azure Service Health.
reason String Kurze Aussage darüber, warum sich die Ressourcenverfügbarkeit geändert oder beeinflusst hat.
summary String Detaillierte Erklärung zur Aktivität und Ursache für die Änderung oder Beeinflussung der Ressourcenverfügbarkeit.
context String Bestimmt, ob die Ressourcenverfügbarkeit aufgrund von Azure oder durch den Benutzer verursachten Aktivitäten beeinflusst wurde.
category String Bestimmt, ob die Ressourcenverfügbarkeit aufgrund geplanter oder ungeplanter Aktivitäten beeinflusst wurde. Diese Eigenschaft kann nur mit Platform-Initiated Ereignissen verwendet werden.

Beispielereignisse

AvailabilityStatusChanged Ereignis

Das folgende Beispiel zeigt das Schema eines Ereignisses aufgrund eines geänderten Schlüssel-Wert-Paars:

{
  "id": "1fb6fa94-d965-4306-abeq-4810f0774e97",
  "source": "/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"
  },
  "type": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged",
  "specversion": "1.0",
  "time": "2023-07-24T19:20:37.9245071Z"
}

ResourceAnnotated-Ereignis

Das folgende Beispiel zeigt das Schema eines Ereignisses aufgrund eines geänderten Schlüssel-Wert-Paars:

{
  "id": "8945cf9b-e220-496e-ab4f-f3a239318995",
  "source": "/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"
  },
  "type": "Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
  "specversion": "1.0",
  "time": "2023-07-24T19:20:37.9245071Z"
}

Kontakt

Wenn Sie Fragen oder Feedback zu diesem Feature haben, zögern Sie nicht, uns unter arnsupport@microsoft.com zu kontaktieren.

Um Ihnen besser mit spezifischem Feedback zu einem bestimmten Ereignis zu helfen, geben Sie die folgenden Informationen an:

Für fehlende Ereignisse:

  • Name des Systemthematyps
  • Ungefährer Zeitstempel in UTC, zu dem der Vorgang ausgeführt wurde
  • Basisressourcen-ID, für die die Benachrichtigung generiert wurde
  • Navigieren Sie im Azure-Portal zu Ihrer Ressource, und wählen Sie die JSON-Ansicht ganz rechts aus. Die Ressourcen-ID ist das erste Feld auf der JSON-Ansichtsseite.
  • Erwarteter Ereignistyp
  • Vorgang ausgeführt (z. B. VM gestartet oder beendet, Speicherkonto erstellt usw.)
  • Beschreibung des aufgetretenen Problems (z. B. VM gestartet und kein Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged-Ereignis generiert)
  • Geben Sie nach Möglichkeit die Korrelations-ID des ausgeführten Vorgangs an.

Für ein Ereignis, das verzögert wurde oder unerwartete Inhalte aufweist

  • Name des Systemthematyps
  • Vollständiger Inhalt der Benachrichtigung ohne data.resourceInfo.properties
  • Beschreibung des aufgetretenen Problems und die betroffenen Feldwerte

Stellen Sie sicher, dass Sie keine personenbezogenen Informationen zu den Endbenutzer*innen einschließen, wenn Sie diese Daten freigeben.

Nächste Schritte

Siehe Abonnieren von Azure-Ressourcenbenachrichtigungen – Ereignisse für Integritätsressourcen.