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.
Melden Sie sich beim Azure-Portal an.
Navigieren Sie zum Event Grid-Thema, für das Sie Diagnoseprotokolleinstellungen aktivieren möchten.
Suchen Sie oben in der Suchleiste nach Event Grid-Themen.
Wählen Sie in der Liste, für die Sie Diagnoseeinstellungen konfigurieren möchten, das Thema aus.
Wählen Sie unter Überwachung im linken Menü die Option Diagnoseeinstellungen aus.
Wählen Sie auf der Seite Diagnoseeinstellungen den Eintrag Diagnoseeinstellung hinzufügen aus.
Geben Sie einen Namen für die Diagnoseeinstellung an.
Wählen Sie den Eintrag allLogs im Abschnitt Protokolle aus.
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.
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.
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.
Wählen Sie Speichern aus. Wählen Sie dann in der rechten oberen Ecke X aus, um die Seite zu schließen.
Vergewissern Sie sich nun auf der Seite Diagnoseeinstellungen, dass ein neuer Eintrag in der Tabelle Diagnoseeinstellungen angezeigt wird.
Sie können auch die Erfassung aller Metriken für das Thema aktivieren.
Aktivieren von Diagnoseprotokollen für Event Grid-Systemthemen
- Melden Sie sich beim Azure-Portal an.
- Navigieren Sie zum Systemthema, für das Sie Diagnoseprotokolleinstellungen aktivieren möchten.
- Suchen Sie oben in der Suchleiste nach Event Grid-Systemthemen.
- Wählen Sie das Systemthema aus, für das Sie Diagnoseeinstellungen konfigurieren möchten.
- Wählen Sie im linken Menü Diagnoseeinstellungen unter Überwachung aus, und wählen Sie dann Diagnoseeinstellung hinzufügen aus.
- Geben Sie einen Namen für die Diagnoseeinstellung an.
- Wählen Sie den Eintrag allLogs im Abschnitt Protokolle aus.
- 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.
- 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.
- 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.
- Wählen Sie Speichern aus. Wählen Sie dann in der rechten oberen Ecke X aus, um die Seite zu schließen.
- Vergewissern Sie sich nun auf der Seite Diagnoseeinstellungen, dass ein neuer Eintrag in der Tabelle Diagnoseeinstellungen angezeigt wird.
Sie können auch die Erfassung aller Metriken für das Systemthema aktivieren.
Anzeigen von Diagnoseprotokollen in Azure Storage
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.
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.
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.
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.