Aktivieren von Diagnoseprotokollen für Event Grid-Ressourcen

Dieser Artikel enthält detaillierte Anleitungen zum Aktivieren von Diagnoseeinstellungen für Event Grid-Ressourcen. Diagnoseeinstellungen erfassen Informationen über Veröffentlichungs- und Auslieferungsfehler, damit Sie Probleme mit Ihren Event Grid-Ressourcen diagnostizieren und beheben können. Die folgende Tabelle zeigt die verfügbaren Einstellungen für verschiedene Arten von Event Grid-Ressourcen: benutzerdefinierte Themen, Systemthemen und Domänen.

Diagnoseeinstellung Event Grid-Themen Event Grid-Systemthemen Ereignisdomänen Event Grid-Partnernamespaces
DeliveryFailures Ja Ja Ja Nein
PublishFailures Ja Nein Ja Ja
DataPlaneRequests Ja Nein 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. Die Schritte zur Aktivierung von Diagnoseprotokollen für eine Domäne sind ä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 des Azure-Portals mit Event Grid-Systemthemen im Suchfeld.

    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 die Option Diagnoseeinstellung hinzufügen aus.

    Screenshot, der die Seite zu den Diagnoseeinstellungen eines benutzerdefinierten Themas zeigt.

  5. Geben Sie einen Namen für die diagnostische Einstellung ein.

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

    Screenshot, der die Seite Diagnoseeinstellung mit ausgewählter Option Alle Protokolle anzeigt.

  7. Aktivieren Sie eine oder mehrere der Capture-Ziele für die Logs und konfigurieren Sie sie dann, indem Sie eine zuvor erstellte Capture-Ressource auswählen.

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

      Screenshot, der die Seite „Diagnoseeinstellungen“ mit aktivierter Option „An Log Analytics senden“ anzeigt.

    • 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, der die Seite „Diagnoseeinstellungen“ mit aktivierter Option „In einem Azure-Speicherkonto archivieren“ sowie ein ausgewähltes Speicherkonto anzeigt.

    • 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, der die Seite mit den Diagnoseeinstellungen und Stream zu einem ausgewählten Event Hub zeigt.

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

  9. Zurück auf der Seite Diagnoseeinstellungen bestätigen Sie, dass in der Tabelle Diagnoseeinstellungen ein neuer Eintrag angezeigt wird.

    Screenshot, der die Seite mit den Diagnoseeinstellungen mit einem neuen Eintrag in der Tabelle der Diagnoseeinstellungen zeigt.

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. Gehe zum Systemthema, wo du die Einstellungen für das Diagnoseprotokoll aktivieren möchtest.

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

      Screenshot, der das Azure-Portal mit den Event-Grid-Systemthemen im Suchfeld zeigt.

    2. Wählen Sie das Systemthema aus, in dem Sie die Diagnoseeinstellungen konfigurieren möchten.

      Screenshot, der die Liste der Event Grid-Systemthemen zeigt.

  3. Wählen Sie im linken Menü Diagnoseeinstellungen unter Überwachung aus, und wählen Sie dann Diagnoseeinstellung hinzufügen aus.

    Screenshot, der die Seite mit den Diagnoseeinstellungen eines Systemthemas mit dem Button

  4. Geben Sie einen Namen für die diagnostische Einstellung ein.

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

    Screenshot, der die Seite „Diagnoseeinstellungen“ eines Systemthemas zeigt, wobei „Alle Protokolle“ ausgewählt ist.

  6. Aktivieren Sie eine oder mehrere der Capture-Ziele für die Logs und konfigurieren Sie sie dann, indem Sie eine zuvor erstellte Capture-Ressource auswählen.

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

      Screenshot, der die Seite „Diagnoseeinstellungen“ eines Systemthemas zeigt, bei der „Send to Log Analytics“ ausgewählt ist.

    • 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, der die Seite mit den Diagnoseeinstellungen eines Systemthemas zeigt, wobei „In ein Speicherkonto archivieren“ ausgewählt ist.

    • 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 der Seite „Diagnoseeinstellungen“ eines Systemthemas, wobei „An einen Event Hub streamen“ ausgewählt ist.

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

  8. Vergewissern Sie sich zurück auf der Seite Diagnoseeinstellungen, dass in der Tabelle Diagnoseeinstellungen ein neuer Eintrag angezeigt wird.

    Screenshot, der die Seite mit den Diagnoseeinstellungen eines Systemthemas mit einem neuen Eintrag in der Tabelle zeigt.

Du kannst auch die Sammlung aller Kennzahlen für das Systemthema aktivieren.

Screenshot, der die Seite mit den Diagnoseeinstellungen eines Systemthemas mit ausgewählten Kennzahlen zeigt.

Anzeigen von Diagnoseprotokollen in Azure Storage

  1. Wenn Sie ein Speicherkonto als Aufnahmeziel aktivieren, beginnt Event Grid, Diagnoseprotokolle zu senden. Im Speicherkonto sehen Sie neue Container namens insights-logs-deliveryfailures und insights-logs-publishfailures .

    Screenshot, der die Speicherkonto-Container für Diagnoseprotokolle zeigt.

  2. Während man durch einen der Container navigiert, erreicht man einen Blob im JSON-Format. Die Datei enthält Protokolleinträge entweder für einen Zustellungs- oder Veröffentlichungsfehler. Der Navigationspfad stellt die ResourceId des Event-Grid-Themas sowie den Zeitstempel (Minute-Level) dar, als Event Grid die Logbucheinträge ausgesendet hat. Die Blob/JSON-Datei, die Sie herunterladen können, folgt dem im nächsten Abschnitt beschriebenen Schema.

    Screenshot, der eine JSON-Blob-Datei im Speicherkonto zeigt.

  3. Sie sehen Inhalte in der JSON-Datei, die dem folgenden Beispiel ähneln:

    {
        "time": "2019-11-01T00:17:13.4389048Z",
        "resourceId": "/SUBSCRIPTIONS/SAMPLE-SUBSCRIPTION-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=SAMPLE-TOPIC-NAME.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://sample-namespace.servicebus.windows.net/, deliveryResponse=NotFound: The messaging entity 'sb://sample-namespace.servicebus.windows.net/sample-eventhub' could not be found. TrackingId:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_G14, SystemTracker:sample-namespace.servicebus.windows.net:sample-eventhub, Timestamp:2019-11-01T00:17:13, referenceId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_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, erstellt sie die folgenden Ressourcen:

  • 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
                    }
                ]
            }
        }
    ]
}

Diagnoseprotokolle für Auditablaufverfolgungen aktivieren

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.

Verwenden Sie die Audit-Trace, um sicherzustellen, dass der Datenzugriff nur für autorisierte Zwecke erlaubt ist. Es sammelt Informationen über Sicherheitskontrollen wie Ressourcenname, Betriebstyp, Netzwerkzugang, Ebene und Region. Weitere Informationen zur Aktivierung der Diagnoseeinstellung finden Sie unter Diagnoseprotokolle für Event Grid-Themen und -Domänen aktivieren.

Screenshot, der die Seite „Diagnoseeinstellungen“ zeigt, auf der Audit ausgewählt ist.

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.