Monitorare gli hub eventi di Azure

Quando si usano applicazioni e processi aziendali critici basati sulle risorse di Azure, è consigliabile monitorare tali risorse per verificarne disponibilità, prestazioni e funzionamento. Questo articolo descrive i dati di monitoraggio generati da Hub eventi di Azure e come analizzare e inviare avvisi su questi dati con Monitoraggio di Azure.

Che cos'è Monitoraggio di Azure?

Hub eventi di Azure crea i dati di monitoraggio usando Monitoraggio di Azure, un servizio di monitoraggio dello stack completo in Azure. Monitoraggio di Azure offre un set completo di funzionalità per monitorare le risorse di Azure. Può anche monitorare le risorse in altri cloud e nell'ambiente locale.

Iniziare con l'articolo Monitoraggio delle risorse di Azure con Monitoraggio di Azure, che descrive i concetti seguenti:

  • Che cos'è Monitoraggio di Azure?
  • Costi associati al monitoraggio
  • Dati di monitoraggio raccolti in Azure
  • Configurazione della raccolta dati
  • Strumenti standard di Azure per l'analisi e la notifica sui dati di monitoraggio

Le sezioni seguenti si basano su questo articolo descrivendo i dati specifici raccolti per Hub eventi di Azure. Queste sezioni forniscono anche esempi per la configurazione della raccolta dati e la relativa analisi con gli strumenti di Azure.

Suggerimento

Per informazioni sui costi associati a Monitoraggio di Azure, vedere Costi e utilizzo di Monitoraggio di Azure. Per informazioni sul tempo necessario per visualizzare i dati in Monitoraggio di Azure, vedere Tempo di inserimento dati di log.

Monitoraggio dei dati da Hub eventi di Azure

Hub eventi di Azure raccoglie gli stessi tipi di dati di monitoraggio delle altre risorse di Azure descritte in Monitoraggio dei dati dalle risorse di Azure.

Vedere Hub eventi di Azure riferimento ai dati di monitoraggio per un riferimento dettagliato dei log e delle metriche create da Hub eventi di Azure.

Raccolta e routing

Le metriche della piattaforma e il log attività vengono raccolti e archiviati automaticamente, ma possono essere instradati ad altre posizioni usando un'impostazione di diagnostica.

I log delle risorse non vengono raccolti e archiviati fino a quando non si crea un'impostazione di diagnostica e li si instrada a una o più posizioni.

Per consentire al processo di creare un'impostazione di diagnostica usando il portale di Azure, l'interfaccia della riga di comando di Azure o PowerShell, vedere Creare un'impostazione di diagnostica per raccogliere i log e le metriche della piattaforma in Azure. Quando si crea un'impostazione di diagnostica, si specificano quali categorie di log raccogliere. Le categorie per Hub eventi di Azure sono elencate in Hub eventi di Azure riferimento ai dati di monitoraggio.

Nota

Monitoraggio di Azure non include dimensioni nei dati delle metriche esportate, inviate a una destinazione come Archiviazione di Azure, Hub eventi di Azure, Log Analytics e così via.

Archiviazione di Azure

Se si usa Archiviazione di Azure per archiviare le informazioni di registrazione diagnostica, le informazioni vengono archiviate in contenitori denominati insights-logs-operationlogs e insights-metrics-pt1m. URL di esempio per un log operazioni: https://<Azure Storage account>.blob.core.windows.net/insights-logs-operationallogs/resourceId=/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/<Resource group name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Namespace name>/y=<YEAR>/m=<MONTH-NUMBER>/d=<DAY-NUMBER>/h=<HOUR>/m=<MINUTE>/PT1H.json. L'URL di un log delle metriche è simile.

Hub eventi di Azure

Se si usa Hub eventi di Azure per archiviare le informazioni di registrazione diagnostica, le informazioni vengono archiviate nelle istanze di Hub eventi denominate insights-logs-operationlogs e insights-metrics-pt1m. È anche possibile selezionare un hub eventi esistente, ad eccezione dell'hub eventi per cui si stanno configurando le impostazioni di diagnostica.

Log Analytics

Se si usa Log Analytics per archiviare le informazioni di registrazione diagnostica, le informazioni vengono archiviate in tabelle denominate AzureDiagnostics AzureMetrics / o tabelle specifiche delle risorse

Importante

L'abilitazione di queste impostazioni richiede servizi di Azure aggiuntivi (account di archiviazione, hub eventi o Log Analytics), che possono comportare un aumento dei costi. Per calcolare una stima dei costi, vedere il calcolatore prezzi di Azure.

Nota

Quando si abilitano le metriche in un'impostazione di diagnostica, le informazioni sulle dimensioni non vengono attualmente incluse come parte delle informazioni inviate a un account di archiviazione, a un hub eventi o a Log Analytics.

Le metriche e i log che è possibile raccogliere sono descritti nelle sezioni seguenti.

Analisi delle metriche

È possibile analizzare le metriche per Hub eventi di Azure, insieme alle metriche di altri servizi di Azure, selezionando Metriche dalla sezione Monitoraggio di Azure nella home page per lo spazio dei nomi di Hub eventi. Per informazioni dettagliate sull'uso di questo strumento, vedere Analizzare le metriche con Esplora metriche di Monitoraggio di Azure. Per un elenco delle metriche della piattaforma raccolte, vedere Monitoraggio Hub eventi di Azure metriche di riferimento ai dati.

Screenshot che mostra Esplora metriche per uno spazio dei nomi di Hub eventi.

Per informazioni di riferimento, è possibile vedere un elenco di tutte le metriche delle risorse supportate in Monitoraggio di Azure.

Suggerimento

I dati delle metriche di Monitoraggio di Azure sono disponibili per 90 giorni. Tuttavia, quando si creano grafici è possibile visualizzarli solo per 30 giorni. Ad esempio, se si vuole visualizzare un periodo di 90 giorni, è necessario suddividerlo in tre grafici di 30 giorni entro il periodo di 90 giorni.

Filtrare e dividere

Per le metriche che supportano le dimensioni, è possibile applicare filtri usando un valore di dimensione. Ad esempio, aggiungere un filtro con EntityName impostato sul nome di un hub eventi. È anche possibile dividere una metrica in base alla dimensione per confrontare diversi segmenti della metrica tra loro. Per altre informazioni su filtri e divisioni, vedere Funzionalità avanzate di Monitoraggio di Azure.

Screenshot che mostra Esplora metriche per uno spazio dei nomi di Hub eventi con un filtro.

Analizzare i log

L'utilizzo di Log Analytics di Monitoraggio di Azure richiede di creare una configurazione di diagnostica e quindi di abilitare l'invio di informazioni a Log Analytics. Per altre informazioni, vedere la sezione su raccolta e instradamento. I dati nei log di Monitoraggio di Azure vengono archiviati in tabelle, ognuna delle quali ha una serie di proprietà univoche. Hub eventi di Azure ha la possibilità di inviare i log a una delle due tabelle di destinazione: diagnostica di Azure o tabelle specifiche delle risorse in Log Analytics. Per un riferimento dettagliato dei log e delle metriche, vedere Hub eventi di Azure riferimento ai dati di monitoraggio.

Importante

Quando si seleziona Log dal menu Hub eventi di Azure, Log Analytics viene aperto con l'ambito della query impostato sull'area di lavoro corrente. Ciò significa che le query di log includeranno solo i dati di tale risorsa. Se si vuole eseguire una query che includa dati di altri database o dati di altri servizi di Azure, selezionare Log dal menu di Monitoraggio di Azure. Per i dettagli, vedere Ambito e intervallo di tempo delle query su log in Log Analytics di Monitoraggio di Azure.

Query Kusto di esempio

Importante

Quando si seleziona Log dal menu Hub eventi di Azure, Log Analytics viene aperto con l'ambito della query impostato sullo spazio dei nomi Hub eventi di Azure corrente. Ciò significa che le query di log includeranno solo i dati di tale risorsa. Se si vuole eseguire una query che includa dati di altre aree di lavoro o di altri servizi di Azure, selezionare Log nel menu di Monitoraggio di Azure. Per i dettagli, vedere Ambito e intervallo di tempo delle query su log in Log Analytics di Monitoraggio di Azure.

Di seguito sono riportate query di esempio che è possibile usare per monitorare le risorse Hub eventi di Azure:

  • Ottenere errori dagli ultimi sette giorni

    AzureDiagnostics
    | where TimeGenerated > ago(7d)
    | where ResourceProvider =="MICROSOFT.EVENTHUB"
    | where Category == "OperationalLogs"
    | summarize count() by "EventName"
    
    
  • Ottiene i log di controllo di runtime generati nell'ultima ora.

    AzureDiagnostics
    | where TimeGenerated > ago(1h)
    | where ResourceProvider =="MICROSOFT.EVENTHUB"
    | where Category == "RuntimeAuditLogs"    
    
  • Ottenere i tentativi di accesso a un insieme di credenziali delle chiavi che ha generato un errore di "chiave non trovata".

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB" 
    | where Category == "Error" and OperationName == "wrapkey"
    | project Message
    
  • Ottenere le operazioni eseguite con un insieme di credenziali delle chiavi per disabilitare o ripristinare la chiave.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB"
    | where Category == "info" and OperationName == "disable" or OperationName == "restore"
    | project Message
    
  • Ottenere gli errori di acquisizione e la relativa durata in secondi

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB"
    | where Category == "ArchiveLogs"
    | summarize count() by "failures", "durationInSeconds"    
    

Usare i log di runtime

Hub eventi di Azure consente di monitorare e controllare le interazioni del piano dati delle applicazioni client usando i log di controllo di runtime e i log delle metriche dell'applicazione.

Usando i log di controllo di runtime è possibile acquisire informazioni di diagnostica aggregate per tutte le operazioni di accesso al piano dati, ad esempio la pubblicazione o l'utilizzo di eventi. I log delle metriche dell'applicazione acquisiscono i dati aggregati in determinate metriche di runtime (ad esempio connessioni attive e ritardo consumer) correlate alle applicazioni client sono connessi a Hub eventi.

Nota

I log di controllo di runtime sono disponibili solo nei livelli Premium e dedicati .

Abilitare i log di runtime

È possibile abilitare il controllo di runtime o la registrazione delle metriche dell'applicazione selezionando Impostazioni di diagnostica nella sezione Monitoraggio della pagina dello spazio dei nomi di Hub eventi in portale di Azure. Selezionare Aggiungi impostazione di diagnostica come illustrato nell'immagine seguente.

Screenshot che mostra la pagina Impostazioni di diagnostica per uno spazio dei nomi di Hub eventi.

È quindi possibile abilitare le categorie di log RuntimeAuditLogs o ApplicationMetricsLogs in base alle esigenze.

Screenshot che mostra i log delle metriche dell'applicazione e del controllo di runtime abilitati.

Dopo aver abilitato i log di runtime, Hub eventi inizia a raccoglierli e archiviarli in base alla configurazione dell'impostazione di diagnostica.

Pubblicare e usare dati di esempio

Per raccogliere i log di controllo di runtime di esempio nello spazio dei nomi di Hub eventi, è possibile pubblicare e usare dati di esempio usando applicazioni client basate su Hub eventi SDK, che usa Advanced Message Queuing Protocol (AMQP) o qualsiasi applicazione client Apache Kafka.

Analizzare i log di controllo di runtime

È possibile analizzare i log di controllo del runtime raccolti usando la query di esempio seguente.

AzureDiagnostics
| where TimeGenerated > ago(1h)
| where ResourceProvider == "MICROSOFT.EVENTHUB"
| where Category == "RuntimeAuditLogs"

L'esecuzione della query dovrebbe essere in grado di ottenere i log di controllo corrispondenti nel formato seguente. Immagine che mostra il risultato di una query di esempio per analizzare i log di controllo di runtime.

Analizzando questi log, è necessario essere in grado di controllare il modo in cui ogni applicazione client interagisce con Hub eventi. Ogni campo associato ai log di controllo di runtime è definito nei riferimenti ai log di controllo di runtime.

Analizzare le metriche dell'applicazione

È possibile analizzare i log delle metriche dell'applicazione raccolti usando la query di esempio seguente.

AzureDiagnostics
| where TimeGenerated > ago(1h)
| where Category == "ApplicationMetricsLogs"

Le metriche dell'applicazione includono le metriche di runtime seguenti. Immagine che mostra il risultato di una query di esempio per analizzare le metriche dell'applicazione.

È quindi possibile usare le metriche dell'applicazione per monitorare le metriche di runtime, ad esempio il ritardo del consumer o la connessione attiva da una determinata applicazione client. I campi associati ai log di controllo di runtime sono definiti nei riferimenti ai log delle metriche dell'applicazione.

Avvisi

È possibile accedere agli avvisi per Hub eventi di Azure selezionando Avvisi nella sezione Monitoraggio di Azure nella home page dello spazio dei nomi di Hub eventi. Per dettagli sulla creazione di avvisi, vedere Creare, visualizzare e gestire gli avvisi delle metriche con Monitoraggio di Azure.

Passaggi successivi