Condividi tramite


Monitorare gli hub eventi di Azure

L'articolo illustra:

  • I tipi di dati di monitoraggio che è possibile raccogliere per questo servizio.
  • Modi per analizzare i dati.

Nota

Se si ha già familiarità con questo servizio e/o il Monitoraggio di Azure e si vuole solo sapere come analizzare i dati di monitoraggio, vedere la sezione Analizza alla fine di questo articolo.

Quando si hanno applicazioni e processi di business critici che si basano sulle risorse di Azure, è necessario monitorare e ricevere avvisi per il sistema. Il servizio Monitoraggio di Azure raccoglie e aggrega metriche e log da ogni componente del sistema. Il Monitoraggio di Azure offre una visione sulla disponibilità, le prestazioni e la resilienza e notifica i problemi. È possibile usare il portale di Azure, PowerShell, l'interfaccia della riga di comando di Azure, l'API REST o le librerie client per configurare e visualizzare i dati di monitoraggio.

La documentazione di Monitoraggio di Azure 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 descrivono i dati specifici raccolti per l’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.

Tipi di risorsa

Azure usa il concetto di tipi di risorse e ID per identificare tutti gli elementi in una sottoscrizione. I tipi di risorse fanno anche parte degli ID della risorsa per ogni risorsa in esecuzione in Azure. Ad esempio, un tipo di risorsa per una macchina virtuale è Microsoft.Compute/virtualMachines. Per un elenco dei servizi e dei relativi tipi di risorse associati, vedere Provider di risorse.

Il Monitoraggio di Azure organizza in modo analogo i dati di monitoraggio di base in metriche e log in base ai tipi di risorse, detti anche spazi dei nomi. Sono disponibili metriche e log diversi per diversi tipi di risorse. Il servizio potrebbe essere associato a più tipi di risorse.

Per altre informazioni sui tipi di risorse per l’Hub eventi, vedere riferimento ai dati di monitoraggio dell’Hub eventi di Azure.

Archiviazione di dati

Per il Monitoraggio di Azure:

  • I dati delle metriche vengono archiviati dal database di metriche del Monitoraggio di Azure.
  • I dati di log vengono archiviati nell'archivio dei log del Monitoraggio di Azure. Log Analytics è uno strumento nel portale di Azure in grado di eseguire query su questo archivio.
  • Il log attività di Azure è un archivio separato con la propria interfaccia nel portale di Azure.

Facoltativamente, è possibile instradare i dati delle metriche e dei log attività all'archivio dei log di Monitoraggio di Azure. È quindi possibile usare Analisi dei log per eseguire query sui dati e correlarli con altri dati di log.

Molti servizi possono usare le impostazioni di diagnostica per inviare i dati delle metriche e dei log ad altre posizioni di archiviazione all'esterno di Monitoraggio di Azure. Gli esempi includono Archiviazione di Azure, sistemi partner ospitati e sistemi partner non Azure usando Hub eventi.

Per informazioni dettagliate su come il Monitoraggio di Azure archivia i dati, vedere la piattaforma dati del Monitoraggio di Azure.

  • Archiviazione di Azure

    Se si utilizza 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.EVENTHUB/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 utilizza l’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 utilizza 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). Questi servizi potrebbero aumentare i 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.

Metriche della piattaforma del Monitoraggio di Azure

Il Monitoraggio di Azure fornisce metriche della piattaforma per la maggior parte dei servizi. Le metriche sono:

  • Definite singolarmente per ogni spazio dei nomi.
  • Archiviate in un database delle metriche di serie temporali del Monitoraggio di Azure.
  • Leggere e in grado di creare avvisi in tempo quasi reale.
  • Usate per tenere traccia delle prestazioni di una risorsa nel tempo.

Raccolta: il Monitoraggio di Azure raccoglie automaticamente le metriche della piattaforma. Non è richiesta alcuna configurazione.

Routing: è anche possibile instradare alcune metriche della piattaforma ai log di Monitoraggio di Azure/Log Analytics per poterle eseguire query con altri dati di log. Controllare l'impostazione di esportazione DS per ogni metrica per verificare se è possibile usare un'impostazione di diagnostica per instradare la metrica ai log di Monitoraggio di Azure/Log Analytics.

Per un elenco di tutte le metriche che è possibile raccogliere per tutte le risorse nel Monitoraggio di Azure, vedere Metriche supportate nel Monitoraggio di Azure.

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. Quando si crea un'impostazione di diagnostica, si specificano quali categorie di log raccogliere. Le categorie per l’Hub eventi di Azure sono elencate in Informazioni di riferimento sui dati dell’Hub eventi di Azure.

Nota

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

Per un elenco delle metriche disponibili per l’Hub eventi, vedere Informazioni di riferimento per i dati di monitoraggio dell’Hub eventi di Azure.

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 Metriche nelle informazioni di riferimento sui dati di monitoraggio dell’Hub eventi di Azure.

Screenshot che mostra Esplora metriche per uno spazio dei nomi dell’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 dell’Hub eventi con un filtro.

Log delle risorse di Monitoraggio di Azure

I log delle risorse forniscono informazioni dettagliate sulle operazioni eseguite da una risorsa di Azure. I log vengono generati automaticamente, ma è necessario indirizzarli verso i log del Monitoraggio di Azure per salvarli o interrogarli. I log sono organizzati in categorie. Uno specifico spazio dei nomi potrebbe avere più categorie di log delle risorse.

Raccolta: i log delle risorse non vengono raccolti e archiviati fino a quando non si crea un'impostazione di diagnostica e li si instrada verso una o più posizioni. Quando si crea un'impostazione di diagnostica, si specificano quali categorie di log raccogliere. Esistono diversi modi per creare e gestire le impostazioni di diagnostica, tra cui il portale di Azure, il livello programmatico e anche i Criteri di Azure.

Pianificazione percorso: l'impostazione predefinita consigliata consiste nell'instradare i log delle risorse verso i log del Monitoraggio di Azure in modo da poterli interrogare con altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni, vedere Log delle risorse di Azure e Destinazioni del log delle risorse.

Per informazioni dettagliate sulla raccolta, l'archiviazione e la pianificazione percorso dei log delle risorse, vedere Impostazioni di diagnostica nel Monitoraggio di Azure.

Per un elenco di tutte le categorie di log delle risorse disponibili nel Monitoraggio di Azure, vedere Log delle risorse supportati nel Monitoraggio di Azure.

Tutti i log delle risorse nel Monitoraggio di Azure hanno gli stessi campi d'intestazione, seguiti da campi specifici del servizio. Lo schema comune è descritto in Schema dei log delle risorse di Monitoraggio di Azure.

Per le categorie di log delle risorse disponibili, le tabelle di Log Analytics associate e gli schemi dei log per l’Hub eventi, vedere Informazioni di riferimento sui dati di monitoraggio dell’Hub eventi di Azure.

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 Metriche di esecuzione. I dati nei log di Monitoraggio di Azure vengono archiviati in tabelle, ognuna delle quali ha una serie di proprietà univoche. L’Hub eventi di Azure offre 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 informazioni di riferimento dettagliate sui log e sulle metriche, vedere Informazioni di riferimento sui dati di monitoraggio dell’Hub eventi di Azure.

Importante

Quando si seleziona Log nel menu dell’Hub eventi di Azure, viene aperto Log Analytics 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.

Usare i log di runtime

Gli Hub eventi di Azure consentono 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 il ritardo dei consumer e le connessioni attive) correlati alle applicazioni client sono connessi agli Hub eventi.

Nota

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

Abilitare i log di runtime

È possibile abilitare la registrazione delle metriche del runtime o dell'applicazione selezionando Impostazioni di diagnostica nella sezione Monitoraggio della pagina dello spazio dei nomi dell’Hub eventi nel 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 dell’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, l’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 dell’Hub eventi, è possibile pubblicare e usare dati di esempio usando applicazioni client basate sull'SDK dell’Hub eventi. Tale SDK usa il protocollo Advanced Message Queuing Protocol (AMQP). In alternativa, è possibile usare qualsiasi applicazione client apache Kafka.

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 vengono definiti nei log delle metriche dell'applicazione.

Finestra Log attività di Azure

Il log attività contiene eventi a livello di sottoscrizione che tengono traccia delle operazioni per ogni risorsa di Azure vista dall'esterno, ad esempio la creazione di una nuova risorsa o l'avvio di una macchina virtuale.

Raccolta: gli eventi del log attività vengono generati e raccolti automaticamente in un archivio separato per la visualizzazione nel portale di Azure.

Pianificazione percorso: è possibile inviare i dati del log attività ai log di Monitoraggio di Azure in modo da poterli analizzare insieme ad altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni su come instradare i log attività, vedere Informazioni generali sul log attività di Azure.

Analizzare i dati di monitoraggio

Sono disponibili molti strumenti per l'analisi dei dati di monitoraggio.

Strumenti di Monitoraggio di Azure

Il Monitoraggio di Azure supporta gli strumenti di base seguenti:

Gli strumenti che consentono una visualizzazione più complessa includono:

  • I dashboard che consentono di combinare tipi di dati diversi in un singolo riquadro nel portale di Azure.
  • Cartelle di lavoro, report personalizzabili che è possibile creare nel portale di Azure. Le cartelle di lavoro possono includere testo, metriche e query di log.
  • Grafana è una piattaforma aperta, ideale per i dashboard operativi. È possibile usare Grafana per creare dashboard che includano dati da più origini diverse dal Monitoraggio di Azure.
  • Power BI, un servizio di analisi aziendale che fornisce visualizzazioni interattive per un'ampia varietà di origini dati. È possibile configurare per Power BI per importare automaticamente i dati di log da Monitoraggio di Azure per sfruttare i vantaggi di queste visualizzazioni.

Strumenti di esportazione del Monitoraggio di Azure

È possibile ottenere dati dal Monitoraggio di Azure in altri strumenti usando i metodi seguenti:

Per iniziare a usare l'API REST per il Monitoraggio di Azure, vedere Procedura dettagliata per l'API REST del Monitoraggio di Azure.

Query Kusto

È possibile analizzare i dati di monitoraggio nell'archivio dei Log/Log Analytics del Monitoraggio di Azure usando il linguaggio di query Kusto (KQL).

Importante

Quando si seleziona Log dal menu del servizio nel portale, Analisi dei log si apre con l'ambito della query impostato sul servizio corrente. Questo ambito fa sì che le query di log includano solo i dati di tale tipo di risorsa. Se si vuole eseguire una query che includa dati 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.

Per un elenco delle query comuni per qualsiasi servizio, vedere l'interfaccia query di Analisi dei log.

Query Kusto di esempio

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

  • Ottiene gli errori degli 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"    
    

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 l’Hub eventi. Ogni campo associato ai log di controllo di runtime viene 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"

Avvisi

Gli avvisi di Monitoraggio di Azure notificano in modo proattivo quando vengono riscontrate condizioni specifiche nei dati di monitoraggio. Consentono di identificare e risolvere i problemi del sistema prima che gli utenti li notino. Per altre informazioni, vedere Avvisi di Monitoraggio di Azure.

Esistono molte origini di avvisi comuni per le risorse di Azure. Per esempi di avvisi comuni per le risorse di Azure, vedere Query di avviso di log di esempio. Il sito Avvisi di base di Monitoraggio di Azure (AMBA) offre un metodo semi-automatizzato per implementare importanti avvisi, dashboard e linee guida per le metriche della piattaforma. Il sito si applica a un sottoinsieme di servizi di Azure in continua espansione, inclusi tutti i servizi che fanno parte della zona di destinazione di Azure.

Lo schema di avviso comune standardizza l'utilizzo delle notifiche di avviso di Monitoraggio di Azure. Per altre informazioni, vedere lo Schema degli avvisi comuni.

Tipi di avviso:

È possibile creare avvisi su qualsiasi metrica o fonte di dati di log nella piattaforma di dati di Monitoraggio di Azure. Esistono molti tipi diversi di avvisi a seconda dei servizi monitorati e dei dati di monitoraggio raccolti. Ogni tipo di avviso presenta vantaggi e svantaggi. Per altre informazioni, vedere Scegliere il tipo di avviso di monitoraggio corretto.

L'elenco seguente descrive i tipi di avvisi del Monitoraggio di Azure che è possibile creare:

  • Gli avvisi delle metriche valutano le metriche delle risorse a intervalli regolari. Le metriche possono essere metriche della piattaforma, metriche personalizzate, log di Monitoraggio di Azure convertiti in metriche o metriche di Application Insights. Gli avvisi delle metriche possono anche applicare più condizioni e soglie dinamiche.
  • Gli avvisi relativi ai log consentono agli utenti di utilizzare una query di Log Analytics per valutare i log delle risorse con una frequenza predefinita.
  • Gli avvisi dei log attività vengono attivati quando si verifica un nuovo evento del log attività che soddisfa le condizioni definite. Gli avvisi sull'integrità delle risorse e gli avvisi sull'integrità dei servizi sono avvisi di log delle attività che segnalano l'integrità dei servizi e delle risorse.

Alcuni servizi di Azure supportano anche avvisi di rilevamento intelligente, avvisi Prometheus o regole di avviso consigliate.

Per alcuni servizi, è possibile effettuare un monitoraggio su larga scala applicando la stessa regola di avviso delle metriche a più risorse dello stesso tipo presenti nella stessa area di Azure. Vengono inviate notifiche singole per ogni risorsa monitorata. Per i servizi e i cloud di Azure supportati, vedere Monitorare più risorse con una regola di avviso.

È possibile accedere agli avvisi per Hub eventi di Azure selezionando Avvisi dalla sezione Monitoraggio di Azure nella home page per lo 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.

Regole di avviso di Hub eventi

La tabella seguente elenca alcune regole di avviso suggerite per Hub eventi. Questi avvisi sono solo esempi. È possibile impostare avvisi per qualsiasi metrica, voce di log o voce di log attività elencata in Informazioni di riferimento sui dati di monitoraggio dell’Hub eventi di Azure.

Tipo di avviso Condizione Descrizione
Metric CPU Quando l'utilizzo della CPU supera un valore impostato.
Metric Memoria disponibile Quando la memoria disponibile scende al di sotto di un valore impostato.
Metric Backlog acquisiti Quando il backlog acquisito è superiore a un determinato valore.

Elementi consigliati di Advisor

Per alcuni servizi, se si verificano condizioni critiche o modifiche imminenti durante le operazioni sulle risorse, viene visualizzato un avviso nella pagina Panoramica del servizio nel portale. È possibile trovare altre informazioni e correzioni consigliate per l'avviso in Consigli di Advisor in Monitoraggio nel menu a sinistra. Durante il normale funzionamento non viene visualizzato nessun consiglio di Advisor.

Per altre informazioni su Azure Advisor, vedere Informazioni generali su Azure Advisor.