Share via


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

Azure Diagnostics-extensie is een agent in Azure Monitor die bewakingsgegevens verzamelt van het gastbesturingssysteem en workloads van virtuele Azure-machines en andere rekenresources. In dit artikel wordt beschreven hoe u gegevens verzendt vanuit de WAD-extensie (Windows Azure Diagnostic) 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 zijn verzameld door WAD, 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

  • Windows Diagnostics-extensie 1.6 of hoger. Zie de configuratieschemaversies en geschiedenis van azure Diagnostics-extensies voor een versiegeschiedenis en overzicht van de Azure Diagnostics-extensie voor ondersteunde resources.
  • Event Hubs-naamruimte moet altijd worden ingericht. Zie Aan de slag met Event Hubs voor meer informatie.
  • Event Hub moet ten minste de Standard-laag hebben. De Basic-laag wordt niet ondersteund.

Configuratieschema

Zie Windows Azure Diagnostics Extension (WAD) installeren en configureren voor verschillende opties voor het inschakelen en configureren van de diagnostische extensie en het 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 gegevenssinks configureren die gegevens naar aanvullende locaties verzenden. Elke sink wordt gedefinieerd in het sinksConfig-element 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.

Eigenschappen Beschrijving
Naam Beschrijvende naam voor de sink. Wordt in de configuratie gebruikt om op te geven welke gegevensbronnen naar de sink moeten worden verzonden.
URL Url van de Event Hub in de form <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 instantie Verzenden .
SharedAccessKey Primaire of secundaire sleutel van het beleid voor gedeelde toegang voor de Event Hub.

Voorbeelden van openbare en persoonlijke configuraties worden hieronder weergegeven. Dit is een minimale configuratie met één prestatiemeteritem en gebeurtenislogboek om te laten zien hoe u de Event Hub-gegevenssink configureert en gebruikt. Zie het configuratieschema van Azure Diagnostics 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}"
    }
}

Configuratieopties

Als u gegevens naar een gegevenssink wilt verzenden, geeft u het kenmerk sinks op het knooppunt van de gegevensbron op. Waar u het kenmerk sinks plaatst, bepaalt het bereik van de toewijzing. In het volgende voorbeeld wordt het sinks-kenmerk 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 controleren of gegevens naar de Event Hub worden verzonden. Een eenvoudige methode is het gebruik van Event Hubs Capture zoals beschreven in Capture-gebeurtenissen 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 met een belkaart, 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