Włączanie dzienników diagnostycznych dla zasobów usługi Event Grid

Ten artykuł zawiera instrukcje krok po kroku dotyczące włączania ustawień diagnostycznych dla zasobów usługi Event Grid. Te ustawienia umożliwiają przechwytywanie i wyświetlanie informacji diagnostycznych, dzięki czemu można rozwiązywać problemy z błędami. W poniższej tabeli przedstawiono ustawienia dostępne dla różnych typów zasobów usługi Event Grid — tematy niestandardowe, tematy systemowe i domeny.

Ustawienie diagnostyczne Tematy usługi Event Grid Tematy dotyczące systemu usługi Event Grid Domeny zdarzeń Przestrzenie nazw partnerów usługi Event Grid
DeliveryFailures Tak Tak Tak Nie.
PublishFailures Tak Brak Tak Tak
DataPlaneRequests Tak Brak Tak Tak

Ważne

W przypadku schematów niepowodzeń dostarczania, niepowodzeń publikowania i żądań płaszczyzny danych zobacz Dzienniki diagnostyczne.

Wymagania wstępne

  • Zasób aprowizowanej usługi Event Grid
  • Aprowizowana lokalizacja docelowa przechwytywania dzienników diagnostycznych:
    • Obszar roboczy usługi Log Analytics
    • Konto magazynu
    • Event Hubs
    • Rozwiązanie partnerskie

Włączanie dzienników diagnostycznych dla tematów i domen usługi Event Grid

Uwaga

Poniższa procedura zawiera instrukcje krok po kroku dotyczące włączania dzienników diagnostycznych dla tematów. Kroki włączania dzienników diagnostycznych dla domeny są bardzo podobne. W kroku 2 przejdź do domeny usługi Event Grid w witrynie Azure Portal.

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do tematu usługi Event Grid, dla którego chcesz włączyć ustawienia dziennika diagnostycznego.

    1. Na pasku wyszukiwania u góry wyszukaj tematy usługi Event Grid.

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

    2. Wybierz temat z listy, dla której chcesz skonfigurować ustawienia diagnostyczne.

  3. Wybierz pozycję Ustawienia diagnostyczne w obszarze Monitorowanie w menu po lewej stronie.

  4. Na stronie Ustawienia diagnostyczne wybierz pozycję Dodaj nowe ustawienie diagnostyczne.

    Screenshots showing the Diagnostic settings page of a custom topic.

  5. Określ nazwę ustawienia diagnostycznego.

  6. Wybierz opcję allLogs w sekcji Dzienniki.

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

  7. Włącz co najmniej jedno miejsce docelowe przechwytywania dla dzienników, a następnie skonfiguruj je, wybierając poprzedni utworzony zasób przechwytywania.

    • Jeśli wybierzesz pozycję Wyślij do usługi Log Analytics, wybierz obszar roboczy usługi Log Analytics.

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

    • Jeśli wybierzesz pozycję Archiwum na koncie magazynu, wybierz pozycję Konto magazynu — Konfiguruj, a następnie wybierz konto magazynu w subskrypcji platformy Azure.

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

    • Jeśli wybierzesz pozycję Stream do centrum zdarzeń, wybierz pozycję Centrum zdarzeń — Konfiguruj, a następnie wybierz przestrzeń nazw usługi Event Hubs, centrum zdarzeń i zasady dostępu.

      Screenshot that shows the

  8. Wybierz pozycję Zapisz. Następnie wybierz pozycję X w prawym rogu, aby zamknąć stronę.

  9. Teraz ponownie na stronie Ustawienia diagnostyczne upewnij się, że w tabeli Diagnostyka Ustawienia zostanie wyświetlony nowy wpis.

    Screenshot that shows the

Możesz również włączyć zbieranie wszystkich metryk dla tematu.

Włączanie dzienników diagnostycznych dla tematów systemu usługi Event Grid

  1. Zaloguj się w witrynie Azure Portal.
  2. Przejdź do tematu systemowego, dla którego chcesz włączyć ustawienia dziennika diagnostycznego.
    1. Na pasku wyszukiwania u góry wyszukaj tematy systemowe usługi Event Grid. Search for system topics
    2. Wybierz temat systemowy, dla którego chcesz skonfigurować ustawienia diagnostyczne. Select system topic
  3. Wybierz pozycję Ustawienia diagnostyczne w obszarze Monitorowanie w menu po lewej stronie, a następnie wybierz pozycję Dodaj ustawienie diagnostyczne. Add diagnostic settings - button
  4. Określ nazwę ustawienia diagnostycznego.
  5. Wybierz opcję allLogs w sekcji Dzienniki. Select delivery failures
  6. Włącz co najmniej jedno miejsce docelowe przechwytywania dla dzienników, a następnie skonfiguruj je, wybierając poprzedni utworzony zasób przechwytywania.
    • Jeśli wybierzesz pozycję Wyślij do usługi Log Analytics, wybierz obszar roboczy usługi Log Analytics. Send to Log Analytics
    • Jeśli wybierzesz pozycję Archiwum na koncie magazynu, wybierz pozycję Konto magazynu — Konfiguruj, a następnie wybierz konto magazynu w subskrypcji platformy Azure. Archive to an Azure storage account
    • W przypadku wybrania pozycji Stream to an Event Hub (Przesyłanie strumieniowe do centrum zdarzeń) wybierz pozycję Event Hub — Configure (Centrum zdarzeń) — Konfiguruj, a następnie wybierz przestrzeń nazw usługi Event Hubs, centrum zdarzeń i zasady dostępu. Stream to an event hub
  7. Wybierz pozycję Zapisz. Następnie wybierz pozycję X w prawym rogu, aby zamknąć stronę.
  8. Teraz ponownie na stronie Ustawienia diagnostyczne upewnij się, że w tabeli Diagnostyka Ustawienia zostanie wyświetlony nowy wpis. Diagnostic setting in the list

Możesz również włączyć zbieranie wszystkich metryk dla tematu systemowego. System topic - enable all metrics

Wyświetlanie dzienników diagnostycznych w usłudze Azure Storage

  1. Po włączeniu konta magazynu jako miejsca docelowego przechwytywania usługa Event Grid rozpocznie emitowanie dzienników diagnostycznych. Powinny zostać wyświetlone nowe kontenery o nazwie insights-logs-deliveryfailures i insights-logs-publishfailures na koncie magazynu.

    Storage - containers for diagnostic logs

  2. Podczas przechodzenia przez jeden z kontenerów nastąpi przejście do obiektu blob w formacie JSON. Plik zawiera wpisy dziennika dla niepowodzenia dostarczania lub niepowodzenia publikowania. Ścieżka nawigacji reprezentuje identyfikator ResourceId tematu usługi Event Grid i znacznik czasu (poziom minuty) co do momentu emitowania wpisów dziennika. Plik blob/JSON, który można pobrać, w końcu jest zgodny ze schematem opisanym w następnej sekcji.

    JSON file in the storage

  3. Zawartość powinna być widoczna w pliku JSON podobnym do następującego przykładu:

    {
        "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:"
    }
    

Korzystanie z szablonu usługi Azure Resource Manager

Oto przykładowy szablon usługi Azure Resource Manager umożliwiający włączenie ustawień diagnostycznych dla tematu usługi Event Grid. Podczas wdrażania tego przykładowego szablonu tworzone są następujące zasoby.

  • Temat usługi Event Grid
  • Obszar roboczy usługi Log Analytics

Następnie tworzy ustawienie diagnostyczne w temacie w celu wysyłania informacji diagnostycznych do obszaru roboczego usługi Log Analytics.

{
    "$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
                    }
                ]
            }
        }
    ]
}

Włączanie dzienników diagnostycznych dla śladów inspekcji

Usługa Event Grid może publikować ślady inspekcji dla operacji płaszczyzny danych. Aby włączyć tę funkcję, wybierz pozycję Inspekcja w sekcji Grupy kategorii lub wybierz pozycję DataPlaneRequests w sekcji Kategorie .

Śledzenie inspekcji może służyć do zapewnienia, że dostęp do danych jest dozwolony tylko w celach autoryzowanych. Zbiera informacje o kontroli zabezpieczeń, takie jak nazwa zasobu, typ operacji, dostęp do sieci, poziom, region i inne. Aby uzyskać więcej informacji na temat włączania ustawienia diagnostycznego, zobacz Dzienniki diagnostyczne w tematach usługi Event Grid i domenach zdarzeń. Screenshot that shows the Diagnostic settings page with Audit selected.

Ważne

Aby uzyskać więcej informacji na temat schematu DataPlaneRequests , zobacz Dzienniki diagnostyczne.

Następne kroki

Aby zapoznać się ze schematem dziennika i innymi informacjami koncepcyjnymi dotyczącymi dzienników diagnostycznych dla tematów lub domen, zobacz Dzienniki diagnostyczne.