Monitorare gateway applicazione 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.

Approfondimenti

Per alcuni servizi di Azure, nel portale di Azure è disponibile un dashboard di monitoraggio predefinito che fornisce un punto iniziale per il monitoraggio del servizio. Questi dashboard sono denominati informazioni dettagliate ed è possibile trovarli nell'hub di Insights del Monitoraggio di Azure nel portale di Azure.

Le informazioni dettagliate sulla rete di Monitoraggio di Azure offrono una visualizzazione completa dell'integrità e delle metriche per tutte le risorse di rete distribuite (incluso il gateway applicazione), senza alcuna configurazione. Per altre informazioni, vedere Informazioni dettagliate sulla rete di Monitoraggio di Azure.

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.

Monitoraggio di Azure organizza analogamente i dati di monitoraggio di base in metriche e log in base ai tipi di risorsa, detti anche namespace. 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 risorsa di Application Gateway, vedere Riferimento ai dati di monitoraggio di Application Gateway.

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 Azure che consente di interrogare 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 registri attività nell'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 dati di metriche e log in altre posizioni di archiviazione al di fuori di Monitoraggio di Azure. Gli esempi includono Archiviazione di Azure, sistemi partner ospitati e sistemi partner non di Azure, tramite Event Hubs.

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

Per Application Gateway, la modalità specifica per la risorsa crea tre tabelle:

Nota

L'opzione specifica della risorsa è attualmente disponibile in tutte le aree pubbliche.

Gli utenti esistenti possono continuare a usare Diagnostica di Azure oppure possono scegliere tabelle dedicate tramite l'alternanza nelle Impostazioni di diagnostica in Specifica risorsa o Dedicata nella destinazione API. Non è possibile usare la modalità doppia. I dati in tutti i log possono essere trasmessi a Diagnostica di Azure o a tabelle dedicate. Tuttavia, è possibile avere contemporaneamente più impostazioni di diagnostica in cui un flusso di dati è alla diagnostica di Azure e un altro usa una risorsa specifica.

Selezione della tabella di destinazione in Log Analytics: tutti i servizi di Azure usano infine le tabelle specifiche delle risorse. Come parte di questa transizione, è possibile selezionare la tabella di diagnostica di Azure oppure la tabella specifica della risorsa nelle impostazioni di diagnostica usando un pulsante di attivazione/disattivazione. L'interruttore è impostato su Specifica risorsa per impostazione predefinita e in questa modalità i log per le nuove categorie selezionate vengono inviati a tabelle dedicate in Log Analytics, mentre i flussi esistenti rimangono invariati. Vedi l'esempio seguente.

Schermata dell'ID della risorsa per il gateway applicazione nel portale.

Trasformazioni dell'area di lavoro: la scelta dell'opzione Specifica risorsa consente di filtrare e modificare i dati prima che vengano inseriti con le trasformazioni dell'area di lavoro. In questo modo viene fornito un controllo granulare, che consente di concentrarsi sulle informazioni più rilevanti dai log, riducendo i costi dei dati e migliorando la sicurezza.

Per istruzioni dettagliate sulla configurazione delle trasformazioni dell'area di lavoro, vedere Esercitazione: Aggiungere una trasformazione dell'area di lavoro ai log di Monitoraggio di Azure usando il portale di Azure.

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.
  • Archiviati nel database di metriche di serie temporali di 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.

La pagina Panoramica nel portale di Azure di ogni Application Gateway include le metriche seguenti:

  • Somma delle richieste totali
  • Somma delle richieste non completate
  • Somma degli stati di risposta in base a HttpStatus
  • Throughput totale
  • Somma CurrentConnections
  • Numero medio di host integri per BackendPool e HttpSettings
  • Numero medio di host non integri per BackendPool e HttpSettings

Per un elenco delle metriche disponibili per il gateway applicazione di Azure, vedere Riferimento ai dati di monitoraggio del gateway applicazione.

Per le metriche disponibili di Web application firewall (WAF), vedere metriche di WAF v2 di Application Gateway e metriche di WAF v1 di Application Gateway.

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 l'instradamento dei log delle risorse, vedere Impostazioni di diagnostica in 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.

I dati nei log di Monitoraggio di Azure vengono archiviati in tabelle, ognuna delle quali ha un proprio set di proprietà univoche.

Vedi le informazioni di riferimento sui dati di monitoraggio di Application Gateway per:

  • Elenco dei tipi di log delle risorse raccolti per Application Gateway.
  • Elenco delle tabelle usate dai log di Monitoraggio di Azure e su cui è possibile eseguire query da Log Analytics.
  • Le categorie di log delle risorse disponibili, le relative tabelle di Log Analytics e gli schemi di log per Application Gateway.

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.

Analisi dei log di accesso con GoAccess

È stato pubblicato un modello di Resource Manager che installa ed esegue il diffuso analizzatore di log GoAccess per i log di accesso del gateway applicazione. GoAccess offre statistiche utili sul traffico HTTP, ad esempio il numero di visitatori unici, file richiesti, host, sistemi operativi, browser, codici di stato HTTP e altro ancora. Per altre informazioni, vedere il file Readme nella cartella del modello di Resource Manager in GitHub.

Strumenti di esportazione di 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.

Interrogazioni Kusto

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

Importante

Quando si seleziona Logs dal menu del servizio nel portale, Log Analytics 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 dettagli, vedere Ambito e intervallo di tempo delle query di 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.

Gli esempi seguenti mostrano alcune query utili per Application Gateway.

// Requests per hour 
// Count of the incoming requests on the Application Gateway. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart 
// Failed requests per hour 
// Count of requests to which Application Gateway responded with an error. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d > 399
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart
// Top 10 Client IPs 
// Count of requests per client IP. 
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by clientIP_s
| top 10 by AggregatedValue
// Errors by user agent 
// Number of errors by user agent. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d > 399
| summarize AggregatedValue = count() by userAgent_s, _ResourceId
| sort by AggregatedValue desc
// 5xx responses per instance 
// Count of server-error responses grouped by the Application Gateway instance that served them. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d >= 500 and httpStatus_d <= 599
| summarize AggregatedValue = count() by instanceId_s, httpStatus_d, bin(TimeGenerated, 1h)
| sort by AggregatedValue desc

Per i log di accesso raccolti in modalità specifica per risorsa, si usa AGWAccessLogs invece di AzureDiagnostics. La seguente query conta 5xx risposte per istanza gateway e codice di stato in intervalli di cinque minuti. Sostituisci <application-gateway-resource-id> con l'ID della risorsa del gateway che stai indagando.

AGWAccessLogs
| where TimeGenerated >= ago(24h)
| where _ResourceId =~ "<application-gateway-resource-id>"
| where HttpStatus between (500 .. 599)
| summarize ErrorCount = count() by InstanceId, HttpStatus, bin(TimeGenerated, 5m)
| order by TimeGenerated asc, InstanceId asc, HttpStatus asc

Confronta questi intervalli con le unità di capacità di corrente a livello gateway utilizzando lo stesso intervallo di tempo e intervallo di aggregazione. Questa metrica non ha dimensione di istanza; il confronto fornisce contesto, non l'uso della capacità per istanza o la prova che le risposte 5xx abbiano causato un cambiamento di utilizzo. Per definizioni di campo e limiti di confronto, vedi Log di accesso nel riferimento di monitoraggio.

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'uso 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.

Nota

Se si crea o si esegue un'applicazione che viene eseguita nel servizio, Application Insights del Monitoraggio di Azure potrebbe offrire più tipi di avvisi.

Per configurare gli avvisi usando i modelli ARM, vedere Configurare gli avvisi di Monitoraggio di Azure.

Regole di avviso del gateway applicazione

La tabella seguente elenca alcune regole di avviso suggerite per Application Gateway. Questi avvisi sono solo esempi. È possibile impostare avvisi per qualsiasi metrica, voce di log o voce del log attività elencata nel riferimento ai dati di monitoraggio di Application Gateway.

Gateway applicazione versione 2

Tipo di avviso Condizione Descrizione
Metrica L'utilizzo delle unità di calcolo supera il 75% dell'utilizzo medio L'unità di calcolo è la misura dell'utilizzo delle risorse di calcolo dell'Application Gateway. Controllare l'utilizzo medio delle unità di calcolo nell'ultimo mese e impostare un avviso se supera il 75%.
Metrica L'utilizzo dell'unità di capacità supera il 75% dell'utilizzo massimo Le unità di capacità rappresentano l'utilizzo complessivo del gateway in termini di velocità effettiva, calcolo e numero di connessioni. Controllare l'utilizzo massimo dell'unità di capacità nell'ultimo mese e impostare un avviso se supera il 75%.
Metrica Il numero di host non integri supera la soglia Indica il numero di server back-end che il gateway applicativo non riesce a sondare correttamente. Questo avviso rileva i problemi per cui le istanze del gateway applicativo non riescono a connettersi al back-end. Avvisa se questo numero supera il 20% della capacità del backend.
Metrica Lo stato della risposta (4xx, 5xx) supera la soglia Quando il codice di stato della risposta di Application Gateway è 4xx o 5xx. È possibile che si verifichi occasionalmente una risposta 4xx o 5xx a causa di problemi temporanei. È necessario osservare il gateway nell'ambiente di produzione per determinare la soglia statica o usare una soglia dinamica per l'avviso.
Metrica Le richieste non completate superano la soglia Quando la metrica delle richieste non completate supera una soglia. È necessario osservare il gateway nell'ambiente di produzione per determinare la soglia statica o usare una soglia dinamica per l'avviso.
Metrica Il tempo di risposta dell'ultimo byte del backend supera la soglia Indica l'intervallo di tempo tra l'avvio di una connessione al server back-end e la ricezione dell'ultimo byte del corpo della risposta. Creare un avviso se la latenza della risposta back-end supera una determinata soglia rispetto al solito.
Metrica Il tempo totale di Application Gateway supera la soglia Questo valore è l'intervallo dal momento in cui il gateway applicazione riceve il primo byte della richiesta HTTP all'ora in cui l'ultimo byte di risposta è stato inviato al client. È consigliabile creare un avviso se la latenza della risposta back-end supera una determinata soglia rispetto al solito.

Gateway applicazione v1

Tipo di avviso Condizione Descrizione
Metrica L'utilizzo CPU supera l'80% In condizioni normali, l'utilizzo della CPU non deve superare in genere il 90%. Questa situazione può provocare latenza nei siti Web ospitati dietro Application Gateway e compromettere l'esperienza del client.
Metrica Il numero di host non integri supera la soglia Indica il numero di server back-end per cui Application Gateway non è in grado di effettuare correttamente il probe. Con questo avviso si risolvono i problemi per cui le istanze del gateway applicazione non riescono a connettersi al back-end. Avvisa se questo numero va oltre il 20% della capacità del backend.
Metrica Lo stato della risposta (4xx, 5xx) supera la soglia Quando il codice di stato della risposta di Application Gateway è 4xx o 5xx. È possibile che si verifichi occasionalmente una risposta 4xx o 5xx a causa di problemi temporanei. È necessario osservare il gateway nell'ambiente di produzione per determinare la soglia statica o usare una soglia dinamica per l'avviso.
Metrica Le richieste non completate superano la soglia Quando la metrica delle richieste fallite supera una soglia. È necessario osservare il gateway nell'ambiente di produzione per determinare la soglia statica o usare una soglia dinamica per l'avviso.

Gli avvisi di Monitoraggio di Azure notificano in modo proattivo quando vengono riscontrate importanti condizioni nei dati di monitoraggio. Consentono di identificare e risolvere i problemi del sistema prima che gli utenti li notino. È possibile impostare avvisi su metriche, log e log attività. Ogni tipo di avviso presenta vantaggi e svantaggi.

Se si sta creando o eseguendo un'applicazione che usa Application Gateway, Monitoraggio di Azure Application Insights può fornire altri tipi di avvisi.

Raccomandazioni 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.