Condividi tramite


Inviare dati dall'estensione diagnostica di Windows Azure a Hub eventi di Azure

L'estensione Diagnostica di Azure è un agente di Monitoraggio di Azure che raccoglie i dati di monitoraggio dal sistema operativo guest e i carichi di lavoro delle macchine virtuali di Azure e di altre risorse di calcolo. Questo articolo descrive come inviare dati dall'estensione Diagnostica di Windows Azure (WAD) a Hub eventi di Azure in modo da poter inoltrare le posizioni all'esterno di Azure.

Dati supportati

I dati raccolti dal sistema operativo guest che possono essere inviati a Hub eventi includono quanto segue. Non è possibile inviare altre origini dati raccolte da WAD, inclusi i log IIS e i dump di arresto anomalo del sistema, a Hub eventi.

  • Tracciamento degli eventi di Windows (ETW)
  • Contatori delle prestazioni
  • Registri eventi di Windows, inclusi i log applicazioni nel registro eventi di Windows
  • Log dell'infrastruttura Diagnostica di Azure

Prerequisiti

  • Estensione diagnostica Windows 1.6 o successiva. Vedere Diagnostica di Azure le versioni e la cronologia dello schema di configurazione dell'estensione per una cronologia delle versioni e una panoramica dell'estensione Diagnostica di Azure per le risorse supportate.
  • È necessario eseguire sempre il provisioning dello spazio dei nomi di Hub eventi. Per informazioni dettagliate, vedere Introduzione a Hub eventi.
  • L'hub eventi deve essere almeno di livello Standard. Il livello Basic non è supportato.

Schema di configurazione

Vedere Installare e configurare l'estensione diagnostica di Windows Azure per diverse opzioni per abilitare e configurare l'estensione di diagnostica e Diagnostica di Azure schema di configurazione per un riferimento allo schema di configurazione. Il resto di questo articolo descrive come usare questa configurazione per inviare dati a un hub eventi.

Diagnostica di Azure invia sempre log e metriche a un account Archiviazione di Azure. È possibile configurare uno o più sink di dati che inviano dati a posizioni aggiuntive. Ogni sink viene definito nell'elemento SinksConfig della configurazione pubblica con informazioni riservate nella configurazione privata. Questa configurazione per hub eventi usa i valori nella tabella seguente.

Proprietà Descrizione
Name Nome descrittivo per il sink. Utilizzato nella configurazione per specificare le origini dati da inviare al sink.
Url URL dell'hub eventi nel formato <event-hubs-namespace.servicebus.windows.net/>< event-hub-name>.
SharedAccessKeyName Nome di un criterio di accesso condiviso per l'hub eventi con almeno l'autorità di invio .
SharedAccessKey Chiave primaria o secondaria dai criteri di accesso condiviso per l'hub eventi.

Di seguito sono riportate le configurazioni pubbliche e private di esempio. Si tratta di una configurazione minima con un singolo contatore delle prestazioni e un registro eventi per illustrare come configurare e usare il sink di dati dell'hub eventi. Per un esempio più complesso, vedere Diagnostica di Azure schema di configurazione.

Configurazione pubblica

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

Configurazione privata

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

Opzioni di configurazione

Per inviare dati a un sink di dati, specificare l'attributo sinks nel nodo dell'origine dati. Dove si posiziona l'attributo sinks determina l'ambito dell'assegnazione. Nell'esempio seguente, l'attributo sinks viene definito nel nodo PerformanceCounters che causerà l'invio di tutti i contatori delle prestazioni figlio all'hub eventi.

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

Nell'esempio seguente, l'attributo sinks viene applicato direttamente a tre contatori che causeranno solo l'invio di tali contatori delle prestazioni all'hub eventi.

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

Convalida della configurazione

È possibile usare un'ampia gamma di metodi per verificare che i dati vengano inviati all'hub eventi. Un metodo semplice consiste nell'usare l'acquisizione di Hub eventi come descritto in Acquisire eventi tramite Hub eventi di Azure in Archiviazione BLOB di Azure o Azure Data Lake Storage.

Risoluzione dei problemi relativi ai sink dell'Hub eventi

  • Esaminare la tabella Archiviazione di Azure WADDiagnosticInfrastructureLogsTable che contiene log ed errori per Diagnostica di Azure stessa. Una possibilità consiste nell'usare uno strumento come Esplora archivi Azure per connettersi a questo account di archiviazione, visualizzare la tabella e aggiungere una query per il TimeStamp delle ultime 24 ore. È possibile utilizzare lo strumento per esportare un file .csv e aprirlo in un'applicazione come Microsoft Excel. Excel semplifica la ricerca di stringhe di presentazione come EventHubsper visualizzare l'errore segnalato.

  • Verificare che l'Hub eventi esegua correttamente il provisioning. Tutte le informazioni di connessione nella sezione PrivateConfig della configurazione devono corrispondere ai valori della risorsa, come illustrato nel portale. Assicurarsi di avere un criterio di firma di accesso condiviso definito (SendRule nell'esempio) nel portale e che venga concessa l'autorizzazione Send .

Passaggi successivi