Condividi tramite


Monitoraggio degli endpoint di Gestione traffico

Gestione traffico di Azure include il monitoraggio degli endpoint e il failover automatico degli endpoint. Questa funzionalità consente di distribuire applicazioni a disponibilità elevata resilienti agli errori di endpoint, inclusi gli errori di area di Azure. Il monitoraggio degli endpoint è abilitato per impostazione predefinita. Per disabilitare il monitoraggio, vedere Abilitare o disabilitare i controlli di integrità.

Configurare il monitoraggio degli endpoint

Per configurare il monitoraggio degli endpoint è necessario specificare le seguenti impostazioni nel profilo di Gestione traffico:

  • Protocollo. Scegliere HTTP, HTTPS o TCP come protocollo che Gestione traffico usa quando esegue il sondaggio dell'endpoint per verificarne l'integrità. Il monitoraggio HTTPS non verifica se il certificato TLS/SSL è valido, verifica solo che il certificato sia presente.
  • Porta. scegliere la porta usata per la richiesta.
  • Path. Questa impostazione di configurazione è valida solo per i protocolli HTTP e HTTPS, per i quali è necessario specificare l'impostazione del percorso. Se si specifica questa impostazione per il protocollo di monitoraggio TCP, viene generato un errore. Per i protocolli HTTP e HTTPS specificare il percorso relativo e il nome della pagina Web o il file a cui accede il monitoraggio. Una barra / è una voce valida per il percorso relativo. Questo valore implica che il file si trova nella directory radice (impostazione predefinita).
  • Impostazioni di intestazione personalizzate. Questa impostazione di configurazione consente di aggiungere intestazioni HTTP specifiche ai controlli di integrità che Gestione traffico agli endpoint in un profilo. Le intestazioni personalizzate possono essere specificate a livello di profilo per essere applicabili a tutti gli endpoint in tale profilo e/o a livello di endpoint applicabili solo a tale endpoint. È possibile usare le intestazioni personalizzate per i controlli di integrità degli endpoint in ambienti multi-tenant. In questo modo, può essere instradato correttamente alla destinazione specificando un'intestazione host. È anche possibile usare questa impostazione aggiungendo intestazioni univoche che possono essere usate per identificare le richieste HTTP(S) originate da Gestione traffico ed elaborarle in modo diverso. È possibile specificare fino a otto header:value coppie separate da una virgola. Ad esempio: header1:value1, header2:value2.

Nota

L'uso di caratteri asterischi (*) nelle intestazioni personalizzate Host non è supportato.

  • Intervalli di codice di stato previsti. Questa impostazione consente di specificare più intervalli di codici di esito positivo nel formato 200-299, 301-301. Se questi codici di stato vengono ricevuti come risposta da un endpoint quando viene avviato un controllo di integrità, Gestione traffico contrassegna tale endpoint come integro. È possibile specificare un massimo di otto intervalli di codici di stato. Questa impostazione è applicabile solo ai protocolli HTTP e HTTPS e a tutti gli endpoint. Questa impostazione è a livello di profilo di Gestione traffico e per impostazione predefinita è definito il valore 200 come il codice di stato di esito positivo.

  • Intervallo sondaggio. Questo valore specifica la frequenza con cui viene controllata l'integrità di un endpoint dall'agente di sondaggio di Gestione traffico. È possibile specificare due valori: 30 secondi (sondaggio normale) e 10 secondi (sondaggio rapido). Se non viene specificato alcun valore, il profilo imposta un valore predefinito di 30 secondi. Visitare la pagina dei prezzi di Gestione traffico per altre informazioni sui prezzi di probe rapido.

  • Numero di errori tollerati. Questo valore specifica il numero di errori tollerati da un agente di sondaggio di Gestione traffico prima di contrassegnare l'endpoint come non integro. Il valore può essere compreso tra 0 e 9. Un valore pari a 0 indica che un singolo errore di monitoraggio può far sì che l'endpoint venga contrassegnato come non integro. Se non si specifica alcun valore, viene usato il valore predefinito 3.

  • Timeout sondaggio. Questa proprietà specifica il tempo di attesa dell'agente di sondaggio di Gestione traffico prima che un controllo del probe di integrità su un endpoint venga considerato un errore. Se l'intervallo del sondaggio è impostato su 30 secondi, è possibile impostare il timeout su un valore compreso tra 5 e 10 secondi. Se non si specifica alcun valore, viene usato il valore predefinito di 10 secondi. Se l'intervallo del sondaggio è impostato su 10 secondi, è possibile impostare il timeout su un valore compreso tra 5 e 9 secondi. Se non si specifica alcun valore di timeout, viene usato il valore predefinito di 9 secondi.

    Screenshot che mostra Gestione traffico configurazione nel portale di Azure.

    Figura: monitoraggio degli endpoint di Gestione traffico

Funzionamento del monitoraggio degli endpoint

Se il protocollo di monitoraggio è impostato su HTTP o HTTPS, l'agente di sondaggio di Gestione traffico esegue una richiesta GET all'endpoint usando il protocollo, la porta e il percorso relativo specificati. Un endpoint viene considerato integro se l'agente di probe riceve una risposta 200-OK o una delle risposte configurate negli intervalli di codici di stato previsti. Se la risposta è un valore diverso o non viene ricevuta alcuna risposta entro il periodo di timeout, l'agente di sondaggio di Gestione traffico riprova in base all'impostazione del numero di errori tollerati. Se questa impostazione è 0, non vengono eseguiti nuovi tentativi. L'endpoint è contrassegnato come non integro se il numero di errori consecutivi è superiore all'impostazione Numero tollerato di errori .

Se il protocollo di monitoraggio è TCP, l'agente di sondaggio di Gestione traffico crea una richiesta di connessione TCP usando la porta specificata. Se l'endpoint risponde alla richiesta con una risposta per stabilire la connessione, tale controllo di integrità viene contrassegnato come esito positivo. L'agente di sondaggio di Gestione traffico reimposta la connessione TCP. Nei casi in cui la risposta è un valore diverso o nessuna risposta viene ricevuta entro il periodo di timeout, l'agente di probe Gestione traffico annulla in base all'impostazione Numero tollerato di errori. Se questa impostazione è 0, non vengono eseguiti nuovi tentativi. Se il numero di errori consecutivi è superiore all'impostazione Numero tollerabile di errori , tale endpoint viene contrassegnato come non integro.

In tutti i casi, Gestione traffico esegue il sondaggio da più posizioni. L'errore consecutivo determina cosa succede all'interno di ogni area. Per questo motivo gli endpoint ricevono probe di integrità da Gestione traffico con una frequenza maggiore rispetto all'impostazione usata per Intervallo sondaggio.

Nota

Per il protocollo di monitoraggio HTTP o HTTPS, una pratica comune sul lato endpoint consiste nell'implementare una pagina personalizzata all'interno dell'applicazione, ad esempio /health.aspx. Usando questo percorso per il monitoraggio, è possibile eseguire controlli specifici dell'applicazione, ad esempio il controllo dei contatori delle prestazioni o la verifica della disponibilità del database. In base a questi controlli personalizzati, la pagina restituisce un codice di stato HTTP appropriato.

Tutti gli endpoint in un profilo di Gestione traffico condividono le impostazioni di monitoraggio. Se è necessario usare impostazioni di monitoraggio diverse per i vari endpoint, è possibile creare i profili nidificati di Gestione traffico.

Stato di endpoint e profili

Gli endpoint e i profili di Gestione traffico possono essere abilitati e disabilitati. Tuttavia, potrebbe verificarsi anche una modifica dello stato dell'endpoint a causa delle Gestione traffico processi e impostazioni automatizzate.

Stato endpoint

È possibile abilitare o disabilitare un endpoint specifico. Il servizio sottostante, che potrebbe essere ancora integro, non è interessato. La modifica dello stato dell'endpoint controlla la disponibilità dell'endpoint nel profilo di Gestione traffico. Quando lo stato di un endpoint è disabilitato, Gestione traffico non ne controlla l'integrità e l'endpoint non è incluso in una risposta DNS.

Stato profilo

Usando l'impostazione dello stato del profilo è possibile abilitare o disabilitare un profilo specifico. Mentre lo stato dell'endpoint interessa un solo endpoint, lo stato del profilo interessa l'intero profilo, che include tutti gli endpoint. Quando si disabilita un profilo, gli endpoint non vengono controllati per l'integrità e non sono inclusi endpoint in una risposta DNS. Per la query DNS viene restituito un codice di risposta NXDOMAIN.

Endpoint monitor status (Stato monitoraggio endpoint)

Il valore relativo allo stato di monitoraggio dell'endpoint viene generato da Gestione traffico per indicare lo stato corrente dell'endpoint. Non è possibile modificare questa impostazione manualmente. Lo stato del monitoraggio dell'endpoint è una combinazione dei risultati del monitoraggio dell'endpoint e dello stato dell'endpoint configurato. La tabella seguente indica i valori possibili dello stato di monitoraggio degli endpoint:

Stato profilo Stato endpoint Endpoint monitor status (Stato monitoraggio endpoint) Note
Disabilitata Attivata Non attiva Il profilo è stato disabilitato. Anche se lo stato dell'endpoint è Enabled, se lo stato del profilo è Disabled, quest'ultimo avrà la precedenza. Gli endpoint nei profili disabilitati non vengono monitorati. Per la query DNS viene restituito un codice di risposta NXDOMAIN.
<qualsiasi> Disabled Disabled L'endpoint è stato disabilitato. Gli endpoint disabilitati non vengono monitorati. L'endpoint non è incluso nelle risposte DNS, in quanto tale non riceve traffico.
Attivata Attivata Online L'endpoint è monitorato e integro. È incluso nelle risposte DNS e può ricevere traffico.
Attivata Attivata Degraded I controlli di integrità del monitoraggio dell'endpoint hanno esito negativo. L'endpoint non è incluso nelle risposte DNS e non riceve traffico.
Un'eccezione è se tutti gli endpoint sono degradati. In questo caso, tutti vengono considerati restituiti nella risposta alla query.
Attivata Attivata CheckingEndpoint L'endpoint viene monitorato, ma i risultati del primo probe non sono ancora stati ricevuti. CheckingEndpoint è un stato temporaneo che in genere si verifica immediatamente dopo l'aggiunta o l'abilitazione di un endpoint nel profilo. Un endpoint con questo stato viene incluso nelle risposte DNS e può ricevere traffico.
Attivata Attivata Arrestato L'app Web a cui punta l'endpoint non è in esecuzione. Controllare le impostazioni dell'app Web. Questo stato può verificarsi anche se l'endpoint è di tipo endpoint annidato e il profilo figlio viene disabilitato o è inattivo.
Un endpoint con stato Arrestato non viene monitorato. Non è incluso nelle risposte DNS e non riceve traffico. Un'eccezione è se tutti gli endpoint sono degradati. In questo caso, tutti vengono considerati restituiti nella risposta alla query.
Attivata Attivata Non monitorato L'endpoint è configurato per gestire sempre il traffico. I controlli di integrità non sono abilitati.

Per informazioni dettagliate sul modo in cui viene calcolato lo stato di monitoraggio degli endpoint per gli endpoint annidati, vedere Profili di Gestione traffico annidati.

Nota

Uno stato di monitoraggio dell'endpoint di tipo Interrotto può verificarsi nel servizio app se l'applicazione Web non è in esecuzione nel livello Standard o superiore. Per altre informazioni, vedere Integrazione di Gestione traffico con il servizio app.

Stato monitoraggio profilo

Lo stato di monitoraggio del profilo è una combinazione dei valori relativi allo stato del profilo configurato e allo stato di monitoraggio di tutti gli endpoint. I valori possibili sono illustrati nella tabella seguente:

Stato profilo (come configurato) Endpoint monitor status (Stato monitoraggio endpoint) Stato monitoraggio profilo Note
Disabilitata <qualsiasi> o un profilo senza endpoint definiti. Disabilitata Il profilo è stato disabilitato.
Attivata Almeno un endpoint è associato allo stato Degraded. Degraded Esaminare i valori di stato dei singoli endpoint per determinare quali endpoint richiedono attenzione.
Attivata Almeno un endpoint è associato allo stato Online. Nessun endpoint presenta lo stato Degraded. Online Il servizio sta accettando il traffico. Non è richiesta alcuna azione ulteriore.
Attivata Almeno un endpoint è associato allo stato CheckingEndpoint. Nessun endpoint presenta lo stato Online o Degraded. CheckingEndpoints Questo stato di transizione si verifica quando un profilo viene creato o abilitato. Viene verificata l'integrità dell'endpoint per la prima volta.
Attivata Tutti gli endpoint del profilo presentano lo stato Disabled o Stopped oppure nel profilo non sono definiti endpoint. Non attiva Non ci sono endpoint attivi, ma il profilo presenta lo stato Enabled.

Failover e ripristino degli endpoint

Gestione traffico verifica periodicamente l'integrità di ogni endpoint, inclusi gli endpoint non integri. Rileva quando un endpoint diventa integro e lo reinserisce nella rotazione.

Un endpoint non è integro quando si verifica uno degli eventi seguenti:

  • Se il protocollo di monitoraggio è HTTP o HTTPS:
    • Risposta non 200 o risposta che non include l'intervallo di stato specificato nell'impostazione Intervalli di codici di stato previsti ricevuti. (Incluso un codice 2xx diverso o un reindirizzamento 301/302).
  • Se il protocollo di monitoraggio è TCP:
    • Una risposta diversa da ACK o SYN-ACK viene ricevuta in risposta alla richiesta SYN inviata da Gestione traffico di tentare una connessione.
  • Timeout.
  • Qualsiasi altro problema di connessione che determina l'irraggiungibilità dell'endpoint.

Per altre informazioni sulla risoluzione dei problemi relativi ai controlli non riusciti, vedere Risoluzione dei problemi relativi allo stato danneggiato in Gestione traffico di Azure.

La sequenza temporale nella figura seguente è una descrizione dettagliata del processo di monitoraggio di Gestione traffico endpoint con le impostazioni seguenti:

  • Il protocollo di monitoraggio è HTTP.
  • L'intervallo di probe è di 30 secondi.
  • Il numero di errori tollerati è 3.
  • Il valore di timeout è 10 secondi.
  • La durata (TTL) DNS è di 30 secondi.

Screenshot della sequenza di failover e failback dell'endpoint Gestione traffico.Figura: Sequenza di failover e ripristino degli endpoint di Gestione traffico

  1. GET. Per ogni endpoint, il sistema di monitoraggio Gestione traffico esegue una richiesta GET sul percorso specificato nelle impostazioni di monitoraggio.

  2. 200 OK o intervallo di codice personalizzato specificato Gestione traffico impostazioni di monitoraggio del profilo. Il sistema di monitoraggio prevede che venga restituito un codice di stato HTTP 200 OK o un codice di stato nell'intervallo specificato nelle impostazioni di monitoraggio entro 10 secondi. Alla ricezione della risposta, il sistema riconosce la disponibilità del servizio.

  3. 30 secondi tra i controlli. Il controllo di integrità dell'endpoint viene ripetuto ogni 30 secondi.

  4. Servizio non disponibile. il servizio diventa non disponibile. Gestione traffico non saprà fino al successivo controllo di integrità.

  5. Tenta di accedere al percorso di monitoraggio. Il sistema di monitoraggio esegue una richiesta GET, ma non riceve una risposta entro il periodo di timeout di 10 secondi. Il sistema esegue quindi altri tre tentativi a intervalli di 30 secondi. Se uno dei tentativi ha esito positivo, il conteggio viene azzerato.

  6. Stato impostato su Degraded. al quarto errore consecutivo, il sistema di monitoraggio contrassegna lo stato dell'endpoint non disponibile come Degraded.

  7. Traffico deviato ad altri endpoint. vengono aggiornati i server dei nomi DNS di Gestione traffico, che non restituisce più l'endpoint in risposta alle query DNS. Le nuove connessioni vengono indirizzate ad altri endpoint disponibili. Tuttavia, le risposte DNS precedenti che includono questo endpoint potrebbero comunque essere memorizzate nella cache da server DNS ricorsivi e client DNS. I client continuano a usare l'endpoint fino alla scadenza della cache DNS. Quando la cache DNS scade i client eseguono nuove query DNS, indirizzate a endpoint diversi. La durata della cache è determinata dall'impostazione TTL definita nel profilo di Gestione traffico, ad esempio 30 secondi.

  8. I controlli di integrità proseguono. Gestione traffico continua a controllare l'integrità dell'endpoint finché si trova nello stato Degraded. Gestione traffico rileva quando l'endpoint ritorna integro.

  9. Il servizio ritorna online. il servizio diventa disponibile. L'endpoint mantiene lo stato Danneggiato in Gestione traffico fino a quando il sistema di monitoraggio non esegue il controllo integrità successivo.

  10. Ripresa del traffico al servizio. Gestione traffico invia una richiesta GET e riceve una risposta di stato 200 OK, Il servizio è tornato a uno stato integro. I server dei nomi di Gestione traffico vengono aggiornati di nuovo e iniziano a distribuire il nome DNS del servizio nelle risposte DNS. Il traffico torna all'endpoint come risposte DNS memorizzate nella cache che restituiscono altri endpoint scadono e, man mano che le connessioni esistenti ad altri endpoint terminano.

    Importante

    Gestione traffico distribuisce più probe da più posizioni per ogni endpoint. Più probe aumentano la resilienza per il monitoraggio degli endpoint. Gestione traffico aggrega l'integrità media dei probe anziché basarsi su un'istanza di probe singolare. La ridondanza del sistema di probe è progettata. I valori degli endpoint devono essere esaminati in modo olistico e non per probe. Il numero visualizzato per l'integrità del probe è una media. Lo stato deve essere un problema solo se meno del 50% (0,5) dei probe pubblica uno stato attivo .

    Nota

    Poiché lavora a livello di DNS, Gestione traffico non può influenzare le connessioni esistenti verso qualsiasi endpoint. Quando indirizza il traffico tra gli endpoint, modificando le impostazioni del profilo oppure durante il failover o il failback, Gestione traffico indirizza le nuove connessioni agli endpoint disponibili. Altri endpoint potrebbero continuare a ricevere traffico tramite connessioni esistenti fino a quando tali sessioni non vengono terminate. Per consentire lo smaltimento del traffico dalle connessioni esistenti, le applicazioni devono limitare la durata della sessione usata con ogni endpoint.

Metodi di routing del traffico

Quando un endpoint ha uno stato Danneggiato, non viene più restituito in risposta alle query DNS. Viene invece scelto e restituito un endpoint alternativo. Il metodo di routing del traffico configurato nel profilo determina il modo in cui viene scelto l'endpoint alternativo.

  • Priorità. Gli endpoint stabiliscono un elenco con priorità. Viene sempre restituito il primo endpoint disponibile nell'elenco. Se lo stato di un endpoint è Degraded, viene restituito il successivo endpoint disponibile.
  • Ponderato. Gli endpoint disponibili vengono scelti in modo casuale in base ai pesi assegnati e ai pesi degli altri endpoint disponibili.
  • Prestazioni. Viene restituito l'endpoint più vicino all'utente finale. Se l'endpoint non è disponibile, Gestione traffico sposta il traffico sugli endpoint dell'area di Azure più vicina. È possibile configurare piani di failover alternativi per il routing del traffico con il metodo Prestazioni usando profili di Gestione traffico nidificati.
  • Geografico. Viene restituito l'endpoint mappato per gestire la posizione geografica (in base agli indirizzi IP della richiesta di query). Se l'endpoint non è disponibile, non è selezionato un altro endpoint per eseguire il failover, poiché è possibile eseguire il mapping di una posizione geografica a un solo endpoint in un profilo. (Altri dettagli sono disponibili nel Domande frequenti). Come procedura consigliata, quando si usa il routing geografico, si consiglia ai clienti di usare profili di Gestione traffico annidati con più di un endpoint come endpoint del profilo.
  • MultiValue. Vengono restituiti più endpoint associati agli indirizzi IPv4 e IPv6. Quando viene ricevuta una query per questo profilo, gli endpoint integri vengono restituiti in base al numero massimo di record nel valore di risposta specificato. Il numero predefinito di risposte è due endpoint.
  • Subnet. Viene restituito l'endpoint mappato a un set di intervalli di indirizzi IP. Quando viene ricevuta una richiesta dall'indirizzo IP, l'endpoint restituito è quello mappato per tale indirizzo IP. 

Per altre informazioni, vedere Metodi di routing del traffico di Gestione traffico.

Nota

Un'eccezione al normale comportamento del routing del traffico si verifica quando lo stato di tutti gli endpoint idonei risulta Degraded. Gestione traffico effettua un tentativo e risponde come se tutti gli endpoint con stato Degraded fossero in realtà Online, una condizione preferibile all'alternativa di non restituire endpoint nella risposta DNS. Gli endpoint disabilitati o arrestati non vengono monitorati, di conseguenza non sono considerati idonei per il traffico.

Questa condizione è in genere causata da una configurazione non corretta del servizio, ad esempio:

  • Un elenco di controllo di accesso [ACL] che blocca i controlli di integrità di Gestione traffico.
  • Una configurazione non corretta del protocollo o della porta di monitoraggio nel profilo di Gestione traffico.

La conseguenza di questo comportamento è che se i controlli di integrità di Gestione traffico non sono configurati in modo appropriato, dal routing del traffico potrebbe sembrare che Gestione traffico funzioni correttamente. In questo caso il failover degli endpoint non viene tuttavia eseguito, con ripercussioni sulla disponibilità complessiva dell'applicazione. È importante verificare che il profilo indichi lo stato Online e non Degraded. Lo stato Online indica che i controlli di integrità di Gestione traffico funzionano come previsto.

Per altre informazioni sulla risoluzione dei problemi relativi ai controlli di integrità non riusciti, vedere Risoluzione dei problemi relativi allo stato danneggiato in Gestione traffico di Azure.

Abilitare o disabilitare i controlli di integrità

Gestione traffico di Azure consente anche di configurare l'endpoint Controlli di integrità da abilitare o disabilitare. Per disabilitare il monitoraggio, scegliere l'opzione Per gestire sempre il traffico.

Per i controlli di integrità sono disponibili due impostazioni:

  1. Abilita (controlli di integrità). Il traffico viene servito all'endpoint in base all'integrità. Questa è l'impostazione predefinita.
  2. Gestire sempre il traffico. Questa impostazione disabilita i controlli di integrità.

Servizio sempre

Quando si seleziona Always Serve traffico , il monitoraggio viene ignorato e il traffico viene sempre inviato a un endpoint. Lo stato di monitoraggio dell'endpoint visualizzato è Non monitorato.

Per abilitare Always Serve:

  1. Selezionare Endpoint nella sezione Impostazioni del pannello del profilo Gestione traffico.
  2. Selezionare l'endpoint da configurare.
  3. In Controlli di integrità scegliere Sempre gestire il traffico.
  4. Seleziona Salva.

Vedere l'esempio seguente:

Screenshot dei controlli di integrità degli endpoint.

Nota

  • I controlli di integrità non possono essere disabilitati nei profili di Gestione traffico annidati.
  • Per configurare i controlli di integrità, è necessario abilitare un endpoint.
  • L'abilitazione e la disabilitazione di un endpoint non reimposta la configurazione dei controlli di integrità.
  • Gli endpoint configurati per gestire sempre il traffico vengono fatturati per i controlli di integrità di base.

Domande frequenti

Passaggi successivi