Aktivieren von Diagnoseprotokollen für Event Grid-Ressourcen

Dieser Artikel enthält detaillierte Anleitungen zum Aktivieren von Diagnoseeinstellungen für Event Grid-Ressourcen. Mit diesen Einstellungen können Sie Diagnoseinformationen erfassen und anzeigen, um damit Fehler zu beheben. In der folgenden Tabelle sind die Einstellungen aufgeführt, die für verschiedene Typen von Event Grid-Ressourcen verfügbar sind: benutzerdefinierte Themen, Systemthemen und Domänen.

Diagnoseeinstellung Event Grid-Themen Event Grid-Systemthemen Ereignisdomänen Event Grid-Partnernamepaces
DeliveryFailures Ja Ja Ja Nein
PublishFailures Ja Keine Ja Ja
DataPlaneRequests Ja Keine Ja Ja

Wichtig

Informationen zu Schemas für Übermittlungsfehler, Veröffentlichungsfehler und Anforderungen auf Datenebene finden Sie unter Diagnoseprotokolle.

Voraussetzungen

  • Eine bereitgestellte Event Grid-Ressource
  • Ein bereitgestelltes Ziel zum Erfassen von Diagnoseprotokollen:
    • Log Analytics-Arbeitsbereich
    • Speicherkonto
    • Event Hubs
    • Partnerlösung

Aktivieren von Diagnoseprotokollen für Event Grid-Themen und -Domänen

Hinweis

Das folgende Verfahren bietet eine ausführliche Anleitung zum Aktivieren von Diagnoseprotokollen für Themen. Schritte zum Aktivieren von Diagnoseprotokollen für eine Domäne sind sehr ähnlich. Navigieren Sie in Schritt 2 im Azure-Portal zur Event Grid-Domäne.

  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zum Event Grid-Thema, für das Sie Diagnoseprotokolleinstellungen aktivieren möchten.

    1. Suchen Sie oben in der Suchleiste nach Event Grid-Themen.

      Screenshot that shows the Azure portal with Event Grid topics in the search box.

    2. Wählen Sie in der Liste, für die Sie Diagnoseeinstellungen konfigurieren möchten, das Thema aus.

  3. Wählen Sie unter Überwachung im linken Menü die Option Diagnoseeinstellungen aus.

  4. Wählen Sie auf der Seite Diagnoseeinstellungen den Eintrag Diagnoseeinstellung hinzufügen aus.

    Screenshots showing the Diagnostic settings page of a custom topic.

  5. Geben Sie einen Namen für die Diagnoseeinstellung an.

  6. Wählen Sie den Eintrag allLogs im Abschnitt Protokolle aus.

    Screenshot that shows the Diagnostic setting page with All logs selected.

  7. Aktivieren Sie mindestens eines der Erfassungsziele für die Protokolle, und konfigurieren Sie diese dann, indem Sie eine zuvor erstellte Erfassungsressource auswählen.

    • Wenn Sie An Log Analytics senden auswählen, wählen Sie den Log Analytics-Arbeitsbereich aus.

      Screenshot that shows the Diagnostic settings page with Send to Log Analytics selected.

    • Wenn Sie In ein Speicherkonto archivieren auswählen, wählen Sie Speicherkonto - Konfigurieren aus, und wählen Sie dann das Speicherkonto in Ihrem Azure-Abonnement aus.

      Screenshot that shows the Diagnostic settings page with Archive to an Azure storage account checked and a storage account selected.

    • Wenn Sie An einen Event Hub streamen auswählen, wählen Sie Event Hub - Konfigurieren aus, und wählen Sie dann den Event Hubs-Namespace, den Event Hub und die Zugriffsrichtlinie aus.

      Screenshot that shows the

  8. Wählen Sie Speichern aus. Wählen Sie dann in der rechten oberen Ecke X aus, um die Seite zu schließen.

  9. Vergewissern Sie sich nun auf der Seite Diagnoseeinstellungen, dass ein neuer Eintrag in der Tabelle Diagnoseeinstellungen angezeigt wird.

    Screenshot that shows the

Sie können auch die Erfassung aller Metriken für das Thema aktivieren.

Aktivieren von Diagnoseprotokollen für Event Grid-Systemthemen

  1. Melden Sie sich beim Azure-Portal an.
  2. Navigieren Sie zum Systemthema, für das Sie Diagnoseprotokolleinstellungen aktivieren möchten.
    1. Suchen Sie oben in der Suchleiste nach Event Grid-Systemthemen. Search for system topics
    2. Wählen Sie das Systemthema aus, für das Sie Diagnoseeinstellungen konfigurieren möchten. Select system topic
  3. Wählen Sie im linken Menü Diagnoseeinstellungen unter Überwachung aus, und wählen Sie dann Diagnoseeinstellung hinzufügen aus. Add diagnostic settings - button
  4. Geben Sie einen Namen für die Diagnoseeinstellung an.
  5. Wählen Sie den Eintrag allLogs im Abschnitt Protokolle aus. Select delivery failures
  6. Aktivieren Sie mindestens eines der Erfassungsziele für die Protokolle, und konfigurieren Sie diese dann, indem Sie eine zuvor erstellte Erfassungsressource auswählen.
    • Wenn Sie An Log Analytics senden auswählen, wählen Sie den Log Analytics-Arbeitsbereich aus. Send to Log Analytics
    • Wenn Sie In ein Speicherkonto archivieren auswählen, wählen Sie Speicherkonto - Konfigurieren aus, und wählen Sie dann das Speicherkonto in Ihrem Azure-Abonnement aus. Archive to an Azure storage account
    • Wenn Sie An einen Event Hub streamen auswählen, wählen Sie Event Hub – Konfigurieren aus, und wählen Sie dann den Event Hubs-Namespace, den Event Hub und die Zugriffsrichtlinie aus. Stream to an event hub
  7. Wählen Sie Speichern aus. Wählen Sie dann in der rechten oberen Ecke X aus, um die Seite zu schließen.
  8. Vergewissern Sie sich nun auf der Seite Diagnoseeinstellungen, dass ein neuer Eintrag in der Tabelle Diagnoseeinstellungen angezeigt wird. Diagnostic setting in the list

Sie können auch die Erfassung aller Metriken für das Systemthema aktivieren. System topic - enable all metrics

Anzeigen von Diagnoseprotokollen in Azure Storage

  1. Nachdem Sie ein Speicherkonto als Erfassungsziel aktiviert haben, beginnt Event Grid mit der Ausgabe von Diagnoseprotokollen. Es sollten im Speicherkonto neue Container mit den Namen insights-logs-deliveryfailures und insights-logs-publishfailures angezeigt werden.

    Storage - containers for diagnostic logs

  2. Wenn Sie durch einen der Container navigieren, gelangen Sie zu einem Blob im JSON-Format. Die Datei enthält Protokolleinträge entweder für einen Zustellungs- oder Veröffentlichungsfehler. Der Navigationspfad stellt die Ressourcen-ID des Event Grid-Themas und den Zeitstempel (auf Minutenebene) dar, wann die Protokolleinträge ausgegeben wurden. Die Blob/JSON-Datei, die heruntergeladen werden kann, hält sich letztlich an das im nächsten Abschnitt beschriebene Schema.

    JSON file in the storage

  3. Sie sollten den Inhalt in der JSON-Datei ähnlich wie im folgenden Beispiel sehen:

    {
        "time": "2019-11-01T00:17:13.4389048Z",
        "resourceId": "/SUBSCRIPTIONS/SAMPLE-SUBSCTIPTION-ID /RESOURCEGROUPS/SAMPLE-RESOURCEGROUP-NAME/PROVIDERS/MICROSOFT.EVENTGRID/TOPICS/SAMPLE-TOPIC-NAME ",
        "eventSubscriptionName": "SAMPLEDESTINATION",
        "category": "DeliveryFailures",
        "operationName": "Deliver",
        "message": "Message:outcome=NotFound, latencyInMs=2635, id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx, systemId=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, state=FilteredFailingDelivery, deliveryTime=11/1/2019 12:17:10 AM, deliveryCount=0, probationCount=0, deliverySchema=EventGridEvent, eventSubscriptionDeliverySchema=EventGridEvent, fields=InputEvent, EventSubscriptionId, DeliveryTime, State, Id, DeliverySchema, LastDeliveryAttemptTime, SystemId, fieldCount=, requestExpiration=1/1/0001 12:00:00 AM, delivered=False publishTime=11/1/2019 12:17:10 AM, eventTime=11/1/2019 12:17:09 AM, eventType=Type, deliveryTime=11/1/2019 12:17:10 AM, filteringState=FilteredWithRpc, inputSchema=EventGridEvent, publisher=DIAGNOSTICLOGSTEST-EASTUS.EASTUS-1.EVENTGRID.AZURE.NET, size=363, fields=Id, PublishTime, SerializedBody, EventType, Topic, Subject, FilteringHashCode, SystemId, Publisher, FilteringTopic, TopicCategory, DataVersion, MetadataVersion, InputSchema, EventTime, fieldCount=15, url=sb://diagnosticlogstesting-eastus.servicebus.windows.net/, deliveryResponse=NotFound: The messaging entity 'sb://diagnosticlogstesting-eastus.servicebus.windows.net/eh-diagnosticlogstest' could not be found. TrackingId:c98c5af6-11f0-400b-8f56-c605662fb849_G14, SystemTracker:diagnosticlogstesting-eastus.servicebus.windows.net:eh-diagnosticlogstest, Timestamp:2019-11-01T00:17:13, referenceId: ac141738a9a54451b12b4cc31a10dedc_G14:"
    }
    

Verwenden von Azure Resource Manager-Vorlagen

Hier finden Sie eine exemplarische Azure Resource Manager-Vorlage zum Aktivieren von Diagnoseeinstellungen für ein Event Grid-Thema. Wenn Sie diese Beispielvorlage bereitstellen, werden die folgenden Ressourcen erstellt:

  • Ein Event Grid-Thema
  • Ein Log Analytics-Arbeitsbereich

Anschließend wird eine Diagnoseeinstellung für das Thema erstellt, um Diagnoseinformationen an den Log Analytics-Arbeitsbereich zu senden.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "topic_name": {
            "defaultValue": "spegrid0917topic",
            "type": "String"
        },
        "log_analytics_workspace_name": {
            "defaultValue": "splogaw0625",
            "type": "String"
        },
        "location": {
            "defaultValue": "eastus",
            "type": "String"
        },
        "sku": {
            "defaultValue": "Free",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.EventGrid/topics",
            "apiVersion": "2020-10-15-preview",
            "name": "[parameters('topic_name')]",
            "location": "[parameters('location')]",
            "sku": {
                "name": "Basic"
            },
            "kind": "Azure",
            "identity": {
                "type": "None"
            },
            "properties": {
                "inputSchema": "EventGridSchema",
                "publicNetworkAccess": "Enabled"
            }
        },
        {
            "apiVersion": "2017-03-15-preview",
            "name": "[parameters('log_analytics_workspace_name')]",
            "location": "[parameters('location')]",
            "type": "Microsoft.OperationalInsights/workspaces",
            "properties": {
                "sku": {
                    "name": "[parameters('sku')]"
                }
            }
        },
        {
            "type": "Microsoft.EventGrid/topics/providers/diagnosticSettings",
            "apiVersion": "2017-05-01-preview",
            "name": "[concat(parameters('topic_name'), '/', 'Microsoft.Insights/', parameters('log_analytics_workspace_name'))]",
            "location": "[parameters('location')]",
            "dependsOn": [
                "[resourceId('Microsoft.EventGrid/topics', parameters('topic_name'))]",
                "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('log_analytics_workspace_name'))]"
            ],
            "properties": {
                "workspaceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('log_analytics_workspace_name'))]",
                "metrics": [
                    {
                        "category": "AllMetrics",
                        "enabled": true
                    }
                ],
                "logs": [
                    {
                        "category": "DeliveryFailures",
                        "enabled": true
                    },
                    {
                        "category": "PublishFailures",
                        "enabled": true
                    }
                ]
            }
        }
    ]
}

Aktivieren von Diagnoseprotokollen für Überwachungsablaufverfolgungen

Event Grid kann Überwachungsablaufverfolgungen für Vorgänge auf Datenebene veröffentlichen. Um das Feature zu aktivieren, wählen Sie im Abschnitt Kategoriegruppen die Option Überwachung oder im Abschnitt Kategorien die Option DataPlaneRequests aus.

Mit der Überwachungsablaufverfolgung können Sie sicherstellen, dass der Datenzugriff nur für autorisierte Zwecke zulässig ist. Dabei werden Informationen zur Sicherheitskontrolle gesammelt, z. B. Ressourcenname, Vorgangstyp, Netzwerkzugriff, Ebene, Region und mehr. Weitere Informationen zum Aktivieren der Diagnoseeinstellung finden Sie unter Diagnoseprotokolle in Event Grid-Themen und -Domänen. Screenshot that shows the Diagnostic settings page with Audit selected.

Wichtig

Weitere Informationen zum DataPlaneRequests-Schema finden Sie unter Diagnoseprotokolle.

Nächste Schritte

Informationen zum Protokollschema und andere konzeptionelle Informationen zu Diagnoseprotokollen für Themen oder Domänen finden Sie unter Diagnoseprotokolle.