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.

Informazioni su Monitoraggio di Azure

Hub eventi di Azure crea i dati di monitoraggio usando Monitoraggio di Azure, un servizio di monitoraggio completo dello stack di 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 in locale.

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

  • Informazioni su 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 dei dati e l'analisi di questi dati con gli strumenti di Azure.

Suggerimento

Per comprendere i costi associati a Monitoraggio di Azure, vedere Utilizzo e costi stimati. Per comprendere il tempo necessario per visualizzare i dati in Monitoraggio di Azure, vedere Tempo di inserimento dei dati dei log.

Monitoraggio dei dati da Hub eventi di Azure

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

Per informazioni dettagliate sui log e sulle metriche create da Hub eventi di Azure, vedere Hub eventi di Azure riferimento ai dati di monitoraggio.

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, specificare le categorie di log da 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, che vengono 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 delle 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 per 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 il proprio hub eventi.

Log Analytics

Se si usa Log Analytics per archiviare le informazioni di registrazione diagnostica, le informazioni vengono archiviate in tabelle denominate AzureDiagnostics e AzureMetrics.

Importante

L'abilitazione di queste impostazioni richiede servizi di Azure aggiuntivi (account di archiviazione, hub eventi o Log Analytics), che possono aumentare i costi. Per calcolare un costo stimato, visitare il calcolatore prezzi di Azure.

Nota

Quando si abilitano le metriche in un'impostazione di diagnostica, le informazioni sulle dimensioni non sono 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 Introduzione a Esplora metriche di Azure. Per un elenco delle metriche della piattaforma raccolte, vedere Monitoraggio Hub eventi di Azure metriche di riferimento ai dati.

Metrics Explorer with Event Hubs namespace selected

Per riferimento, è possibile visualizzare 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 visualizzare solo 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 della dimensione. Ad esempio, aggiungere un filtro con EntityName impostato sul nome di un hub eventi. È anche possibile dividere una metrica per dimensione per visualizzare il confronto tra segmenti diversi della metrica. Per altre informazioni sul filtro e la suddivisione, vedere Funzionalità avanzate di Monitoraggio di Azure.

Image showing filtering and splitting metrics

Analizzare i log

Per usare Log Analytics di Monitoraggio di Azure è necessario creare una configurazione di diagnostica e abilitare Invia informazioni a Log Analytics. Per altre informazioni, vedere la sezione Raccolta e routing . I dati nei log di Monitoraggio di Azure vengono archiviati nelle tabelle, con ogni tabella con un proprio set di proprietà univoco. Hub eventi di Azure archivia i dati nelle tabelle seguenti: AzureDiagnostics e AzureMetrics.

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.

Per informazioni dettagliate sui log e sulle metriche, vedere Hub eventi di Azure riferimento ai dati di monitoraggio.

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 include dati di altre aree di lavoro o dati di altri servizi di Azure, selezionare Log dal menu 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 le 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"
    
    
  • Ottenere 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 "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 lag consumer e connessioni attive) correlate alle applicazioni client sono connesse 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 i log di controllo di runtime o i log delle metriche dell'applicazione selezionando Impostazioni di diagnostica nella sezione Monitoraggio della pagina dello spazio dei nomi di Hub eventi in portale di Azure. Fare clic su Aggiungi impostazione di diagnostica , come illustrato di seguito.

Screenshot showing the Diagnostic settings page.

È quindi possibile abilitare le categorie di log RuntimeAuditLogs o ApplicationMetricsLogs in base alle esigenze.
Screenshot showing the selection of RuntimeAuditLogs and ApplicationMetricsLogs.

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

Pubblicare e utilizzare dati di esempio

Per raccogliere i log di controllo del runtime di esempio nello spazio dei nomi di Hub eventi, è possibile pubblicare e utilizzare dati di esempio usando applicazioni client basate su Hub eventi SDK (AMQP) o usando qualsiasi applicazione client Apache Kafka.

Analizzare i log di controllo del 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"

Fino all'esecuzione della query dovrebbe essere possibile ottenere i log di controllo corrispondenti nel formato seguente. Image showing the result of a sample query to analyze runtime audit logs.

Analizzando questi log, si dovrebbe essere in grado di controllare il modo in cui ogni applicazione client interagisce con Hub eventi. Ogni campo associato ai log di controllo del runtime è definito nel riferimento 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. Image showing the result of a sample query to analyze application metrics.

È quindi possibile usare le metriche dell'applicazione per monitorare le metriche di runtime, ad esempio lag consumer o la connessione attiva da una determinata applicazione client. Ogni campo associato ai log di controllo di runtime viene definito nel riferimento ai log delle metriche dell'applicazione.

Avvisi

È possibile accedere agli avvisi per Hub eventi di Azure selezionando Avvisi dalla 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