Gegevens verzenden vanuit de diagnostische extensie van Windows Azure naar Azure Event Hubs

Azure Diagnostics-extensie is een agent in Azure Monitor waarmee bewakingsgegevens van het gastbesturingssysteem en workloads van virtuele Azure-machines en andere rekenresources worden verzameld. In dit artikel wordt beschreven hoe u gegevens van de Windows Azure Diagnostic-extensie (WAD) verzendt naar Azure Event Hubs, zodat u kunt doorsturen naar locaties buiten Azure.

Ondersteunde gegevens

De gegevens die worden verzameld van het gastbesturingssysteem die naar Event Hubs kunnen worden verzonden, omvatten het volgende. Andere gegevensbronnen die door WAD worden verzameld, waaronder IIS-logboeken en crashdumps, kunnen niet worden verzonden naar Event Hubs.

  • ETW-gebeurtenissen (Event Tracing for Windows)
  • Prestatiemeteritems
  • Windows-gebeurtenislogboeken, inclusief toepassingslogboeken in het Windows-gebeurtenislogboek
  • Logboeken van Azure Diagnostics-infrastructuur

Vereisten

Configuratieschema

Zie Windows Azure Diagnostics Extension (WAD) installeren en configureren voor verschillende opties voor het inschakelen en configureren van de diagnostische extensie en Azure Diagnostics configuratieschema voor een verwijzing naar het configuratieschema. In de rest van dit artikel wordt beschreven hoe u deze configuratie gebruikt om gegevens naar een Event Hub te verzenden.

Azure Diagnostics altijd logboeken en metrische gegevens naar een Azure Storage-account verzendt. U kunt een of meer gegevenssinks configureren die gegevens naar extra locaties verzenden. Elke sink wordt gedefinieerd in het element SinksConfig van de openbare configuratie met gevoelige informatie in de privéconfiguratie. Deze configuratie voor Event Hubs maakt gebruik van de waarden in de volgende tabel.

Eigenschap Beschrijving
Naam Beschrijvende naam voor de sink. Wordt gebruikt in de configuratie om op te geven welke gegevensbronnen naar de sink moeten worden verzonden.
URL Url van de Event Hub in de vorm <event-hubs-namespace.servicebus.windows.net/>< event-hub-name>.
SharedAccessKeyName Naam van een gedeeld toegangsbeleid voor de Event Hub die ten minste de instantie Verzenden heeft.
SharedAccessKey Primaire of secundaire sleutel uit het beleid voor gedeelde toegang voor de Event Hub.

Hieronder ziet u voorbeelden van openbare en persoonlijke configuraties. Dit is een minimale configuratie met één prestatiemeteritems en gebeurtenislogboek om te laten zien hoe u de gegevenssink van de Event Hub configureert en gebruikt. Zie Azure Diagnostics configuratieschema voor een complexer voorbeeld.

Openbare configuratie

{
    "WadCfg": {
        "DiagnosticMonitorConfiguration": {
            "overallQuotaInMB": 5120,
            "PerformanceCounters": {
                "scheduledTransferPeriod": "PT1M",
                "sinks": "myEventHub",
                "PerformanceCounterConfiguration": [
                    {
                        "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                        "sampleRate": "PT3M"
                    }
                ]
            },
            "WindowsEventLog": {
                "scheduledTransferPeriod": "PT1M",
                "sinks": "myEventHub",
                    "DataSource": [
                    {
                        "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
                    }
                ]
            }
        },
        "SinksConfig": {
            "Sink": [
                {
                    "name": "myEventHub",
                    "EventHub": {
                        "Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
                        "SharedAccessKeyName": "SendRule"
                    }
                }
            ]
        }
    },
    "StorageAccount": "mystorageaccount",
}

Persoonlijke configuratie

{
    "storageAccountName": "mystorageaccount",
    "storageAccountKey": "{base64 encoded key}",
    "storageAccountEndPoint": "https://core.windows.net",
    "EventHub": {
        "Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
        "SharedAccessKeyName": "SendRule",
        "SharedAccessKey": "{base64 encoded key}"
    }
}

Configuratie-opties

Als u gegevens naar een gegevenssink wilt verzenden, geeft u het kenmerk sinks op op het knooppunt van de gegevensbron. Waar u het kenmerk sinks plaatst, bepaalt het bereik van de toewijzing. In het volgende voorbeeld wordt het kenmerk sinks gedefinieerd voor het knooppunt PerformanceCounters , waardoor alle onderliggende prestatiemeteritems naar de Event Hub worden verzonden.

"PerformanceCounters": {
    "scheduledTransferPeriod": "PT1M",
    "sinks": "MyEventHub",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Memory\\Available MBytes",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
            "sampleRate": "PT3M"
        }
    ]
}

In het volgende voorbeeld wordt het kenmerk sinks rechtstreeks toegepast op drie tellers, waardoor alleen die prestatiemeteritems naar de Event Hub worden verzonden.

"PerformanceCounters": {
    "scheduledTransferPeriod": "PT1M",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        },
        {
            "counterSpecifier": "\\Memory\\Available MBytes",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\ASP.NET\\Requests Rejected",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        },
        {
            "counterSpecifier": "\\ASP.NET\\Requests Queued",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        }
    ]
}

Configuratie valideren

U kunt verschillende methoden gebruiken om te valideren dat gegevens naar de Event Hub worden verzonden. Een eenvoudige methode is het gebruik van Event Hubs Capture zoals beschreven in Gebeurtenissen vastleggen via Azure Event Hubs in Azure Blob Storage of Azure Data Lake Storage.

Problemen met Event Hubs-sinks oplossen

  • Bekijk de Azure Storage-tabel WADDiagnosticInfrastructureLogsTable, die logboeken en fouten voor Azure Diagnostics zelf bevat. Een optie is om een hulpprogramma zoals Azure Storage Explorer te gebruiken om verbinding te maken met dit opslagaccount, deze tabel weer te geven en een query toe te voegen voor TimeStamp in de afgelopen 24 uur. U kunt het hulpprogramma gebruiken om een .csv-bestand te exporteren en te openen in een toepassing zoals Microsoft Excel. In Excel kunt u eenvoudig zoeken naar tekenreeksen voor oproepkaarten, zoals EventHubs, om te zien welke fout is gerapporteerd.

  • Controleer of uw Event Hub is ingericht. Alle verbindingsgegevens in de sectie PrivateConfig van de configuratie moeten overeenkomen met de waarden van uw resource, zoals weergegeven in de portal. Zorg ervoor dat u een SAS-beleid hebt gedefinieerd (SendRule in het voorbeeld) in de portal en dat de machtiging Verzenden is verleend.

Volgende stappen