Skicka data från Windows Azure-diagnostiktillägget till Azure Event Hubs

Azure Diagnostics-tillägget är en agent i Azure Monitor som samlar in övervakningsdata från gästoperativsystemet och arbetsbelastningar för virtuella Azure-datorer och andra beräkningsresurser. Den här artikeln beskriver hur du skickar data från Windows Azure Diagnostic Extension (WAD) till Azure Event Hubs så att du kan vidarebefordra till platser utanför Azure.

Data som stöds

De data som samlas in från gästoperativsystemet som kan skickas till Event Hubs innehåller följande. Andra datakällor som samlas in av WAD, inklusive IIS-loggar och kraschdumpar, kan inte skickas till Event Hubs.

  • ETW-händelser (Event Tracing for Windows)
  • Prestandaräknare
  • Windows-händelseloggar, inklusive programloggar i Windows-händelseloggen
  • Azure Diagnostics-infrastrukturloggar

Förutsättningar

Konfigurationsschema

Se Installera och konfigurera Windows Azure-diagnostiktillägg (WAD) för olika alternativ för att aktivera och konfigurera diagnostiktillägget och Azure Diagnostics konfigurationsschema för en referens till konfigurationsschemat. Resten av den här artikeln beskriver hur du använder den här konfigurationen för att skicka data till en händelsehubb.

Azure Diagnostics skickar alltid loggar och mått till ett Azure Storage-konto. Du kan konfigurera en eller flera datamottagare som skickar data till ytterligare platser. Varje mottagare definieras i sinksConfig-elementet i den offentliga konfigurationen med känslig information i den privata konfigurationen. Den här konfigurationen för händelsehubbar använder värdena i följande tabell.

Egenskap Beskrivning
Name Beskrivande namn för mottagaren. Används i konfigurationen för att ange vilka datakällor som ska skickas till mottagaren.
URL Url för händelsehubben i formatet <event-hubs-namespace.servicebus.windows.net/>< event-hub-name>.
SharedAccessKeyName Namnet på en princip för delad åtkomst för händelsehubben som har minst Skicka utfärdare.
SharedAccessKey Primär eller sekundär nyckel från principen för delad åtkomst för händelsehubben.

Exempel på offentliga och privata konfigurationer visas nedan. Det här är en minimal konfiguration med en enda prestandaräknare och händelselogg för att illustrera hur du konfigurerar och använder händelsehubbens datamottagare. Ett mer komplext exempel finns i Azure Diagnostics konfigurationsschema.

Offentlig konfiguration

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

Privat konfiguration

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

Konfigurationsalternativ

Om du vill skicka data till en datamottagare anger du attributet mottagare på datakällans nod. Var du placerar mottagarattributet avgör tilldelningens omfattning. I följande exempel definieras mottagarattributet till noden PerformanceCounters , vilket gör att alla underordnade prestandaräknare skickas till händelsehubben.

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

I följande exempel tillämpas mottagarattributet direkt på tre räknare, vilket gör att endast dessa prestandaräknare skickas till händelsehubben.

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

Verifiera konfiguration

Du kan använda en mängd olika metoder för att verifiera att data skickas till händelsehubben. En enkel metod är att använda Event Hubs Capture enligt beskrivningen i Avbilda händelser via Azure Event Hubs i Azure Blob Storage eller Azure Data Lake Storage.

Felsöka Event Hubs-mottagare

  • Titta på Azure Storage-tabellen WADDiagnosticInfrastructureLogsTable som innehåller loggar och fel för själva Azure Diagnostics. Ett alternativ är att använda ett verktyg som Azure Storage Explorer för att ansluta till det här lagringskontot, visa den här tabellen och lägga till en fråga för TimeStamp under de senaste 24 timmarna. Du kan använda verktyget för att exportera en .csv fil och öppna den i ett program som Microsoft Excel. Excel gör det enkelt att söka efter samtalskortsträngar, till exempel EventHubs, för att se vilket fel som rapporteras.

  • Kontrollera att händelsehubben har etablerats. All anslutningsinformation i avsnittet PrivateConfig i konfigurationen måste matcha värdena för resursen enligt portalen. Kontrollera att du har en DEFINIERAD SAS-princip (SendRule i exemplet) i portalen och att Skicka behörighet beviljas.

Nästa steg