Gegevens verzenden vanuit Windows Azure Diagnostics-extensie naar Azure Event Hubs

De diagnostische Azure-extensie is een agent in Azure Monitor die bewakingsgegevens verzamelt van het gastbesturingssysteem en workloads van virtuele Azure-machines en andere rekenbronnen. In dit artikel wordt beschreven hoe u gegevens van de Windows Azure Diagnostic Extension (WAD) naar Azure Event Hubs zodat u kunt doorsturen naar locaties buiten Azure.

Ondersteunde gegevens

De gegevens die worden verzameld van het gastbesturingssysteem die kunnen worden verzonden naar Event Hubs omvatten het volgende. Andere gegevensbronnen die door WAD worden verzameld, waaronder IIS-logboeken en crashdumps, kunnen niet naar de 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 Install and configure Windows Azure diagnostics extension (WAD) 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 verzendt altijd logboeken en metrische gegevens naar een Azure Storage account. U kunt een of meer gegevenss sinks configureren die gegevens naar extra locaties verzenden. Elke sink wordt gedefinieerd in het sinksConfig-element van de openbare configuratie met gevoelige informatie in de persoonlijke configuratie. Deze configuratie voor Event Hubs maakt gebruik van de waarden in de volgende tabel.

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

Hieronder vindt u een voorbeeld van openbare en persoonlijke configuraties. Dit is een minimale configuratie met één prestatiemeter en gebeurtenislogboek om te illustreren hoe u de gegevenss sink 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",
}

Privé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 wilt verzenden naar een gegevenss sink, geeft u het kenmerk sinks op in het knooppunt van de gegevensbron. Waar u het sink-kenmerk plaats, wordt het bereik van de toewijzing bepaald. In het volgende voorbeeld wordt het kenmerk sinks gedefinieerd voor het knooppunt PerformanceCounters, waardoor alle onderliggende prestatiemeters 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 prestatiemeters 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 controleren of gegevens naar de Event Hub worden verzonden. Een eenvoudige methode is het gebruik van Event Hubs capture, zoals beschreven in Capture events through Azure Event Hubs in Azure Blob Storage or Azure Data Lake Storage.

Problemen met Event Hubs sinks oplossen

  • Bekijk de Azure Storage tabel WADDiagnosticInfrastructureLogsTable die logboeken en fouten bevat voor Azure Diagnostics zelf. 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 te exporteren en te openen in een toepassing zoals Microsoft Excel. Excel kunt u eenvoudig zoeken naar aanroepkaartreeksen, zoals EventHubs, om te zien welke fout wordt 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 te zien is 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