Skicka data från Windows Azure Diagnostics-tillägg 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 omfattar 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 diagnostics extension (WAD) för olika alternativ för att aktivera och konfigurera diagnostiktillägget och Azure Diagnostics-konfigurationsschemat 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 data mottagare 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ändelsehubbb 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 form av <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 som illustrerar hur du konfigurerar och använder händelsehubbens data mottagare. Se Azure Diagnostics för ett mer komplext exempel.

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 data mottagare anger du attributet mottagare på datakällans nod. Var du placerar attributet mottagare avgör tilldelningens omfång. I följande exempel definieras attributet sinks 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 attributet sinks 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 konfigurationen

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 Capture events through Azure Event Hubs in Azure Blob Storage or Azure Data Lake Storage.

Felsöka Event Hubs mottagare

  • Titta på Azure Storage WADDiagnosticInfrastructureLogsTable som innehåller loggar och fel för Azure Diagnostics själv. 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 och öppna den i ett program, till exempel Microsoft Excel. Excel gör det enkelt att söka efter anropskortssträ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 som visas i portalen. Kontrollera att du har definierat en SAS-princip (SendRule i exemplet) i portalen och att behörigheten Skicka har beviljats.

Nästa steg