Monitoraggio del bilanciamento del carico
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 Load Balancer. Load Balancer usa Monitoraggio Monitoraggio di Azure. Se non si ha familiarità con le funzionalità di Monitoraggio di Azure comuni a tutti i servizi di Azure che le usano, vedere Monitoraggio delle risorse di Azure con Monitoraggio di Azure.
Informazioni dettagliate sul Load Balancer
Per alcuni servizi di Azure, nel portale di Azure è disponibile uno speciale dashboard di monitoraggio predefinito che fornisce un punto iniziale per il monitoraggio del servizio. Questi dashboard speciali vengono definiti ''informazioni dettagliate''.
Le informazioni dettagliate di Load Balancer forniscono:
- Vista della dipendenza funzionale
- Dashboard delle metriche
- Scheda Panoramica
- Scheda della disponibilità back-end e front-end
- Scheda della velocità effettiva dei dati
- Distribuzione del flusso
- Monitoraggi della connessione
- Definizioni delle metriche
Per maggiori dettagli sulle informazioni dettagliate di Load Balancer, vedere Uso di informazioni dettagliate per monitorare e configurare Azure Load Balancer
Dati di monitoraggio
Load Balancer raccoglie gli stessi tipi di dati di monitoraggio di altre risorse di Azure, descritti in Monitoraggio dei dati dalle risorse di Azure.
Per informazioni dettagliate sulle metriche e sui log creati da Load Balancer, vedere Informazioni di riferimento di Load Balancer.
Load Balancer fornisce altri dati di monitoraggio tramite:
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.
Creazione di un'impostazione di diagnostica
È possibile creare un'impostazione di diagnostica usando il portale di Azure, PowerShell o l'interfaccia della riga di comando di Azure.
Per il materiale sussidiario generale, 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. La categoria per Load Balancer è AllMetrics
Portale
Accedere al portale di Azure.
Nella casella di ricerca nella parte superiore del portale immettere Load Balancer.
Selezionare Load Balancer nei risultati della ricerca.
Selezionare il servizio di bilanciamento del carico in uso. Per questo esempio viene usato myLoadBalancer.
Nella sezione Monitoraggio di myLoadBalancer, selezionare Impostazioni di diagnostica.
In Impostazioni di diagnostica, selezionare + Aggiungi impostazione di diagnostica.
Immettere o selezionare le informazioni seguenti in Impostazione di diagnostica.
Impostazione Valore Nome impostazioni di diagnostica Immettere un nome per le impostazioni di diagnostica. Dettagli categoria Metrica Selezionare AllMetrics. Selezionare i Dettagli destinazione. Alcune delle opzioni per le destinazioni sono:
- Invia a Log Analytics
- Selezionare la sottoscrizione e l'area di lavoro Log Analytics.
- Archivia in un account di archiviazione
- Selezionare la sottoscrizione e l'account di archiviazione.
- Streaming in un hub eventi
- Selezionare Sottoscrizione, Spazio dei nomi hub eventi, Nome hub eventi (facoltativo) e Nome criterio hub eventi
- Invia a Log Analytics
Seleziona Salva.
PowerShell
Accedere ad Azure PowerShell:
Connect-AzAccount
Area di lavoro Log Analytics
Per inviare i log delle risorse a un'area di lavoro Log Analytics, immettere questi comandi. Sostituire i valori tra parentesi quadre con i valori:
## Place the load balancer in a variable. ##
$lbpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
## Place the workspace in a variable. ##
$wspara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-log-analytics-workspace-name>
}
$ws = Get-AzOperationalInsightsWorkspace @wspara
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
-ResourceId $lb.id `
-Name <your-diagnostic-setting-name> `
-Enabled $true `
-MetricCategory 'AllMetrics' `
-WorkspaceId $ws.ResourceId
Account di archiviazione
Per inviare i log delle risorse a un account di archiviazione, immettere questi comandi. Sostituire i valori tra parentesi quadre con i valori:
## Place the load balancer in a variable. ##
$lbpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
## Place the storage account in a variable. ##
$storpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-storage-account-name>
}
$storage = Get-AzStorageAccount @storpara
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
-ResourceId $lb.id `
-Name <your-diagnostic-setting-name> `
-StorageAccountId $storage.id `
-Enabled $true `
-MetricCategory 'AllMetrics'
Hub eventi
Per inviare i log delle risorse a uno spazio dei nomi dell'hub eventi, immettere questi comandi. Sostituire i valori tra parentesi quadre con i valori:
## Place the load balancer in a variable. ##
$lbpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
## Place the event hub in a variable. ##
$hubpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-event-hub-name>
}
$eventhub = Get-AzEventHubNamespace @hubpara
## Place the event hub authorization rule in a variable. ##
$hubrule = @{
ResourceGroupName = 'myResourceGroup'
Namespace = 'myeventhub8675'
}
$eventhubrule = Get-AzEventHubAuthorizationRule @hubrule
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
-ResourceId $lb.Id `
-Name 'myDiagSetting-event'`
-EventHubName $eventhub.Name `
-EventHubAuthorizationRuleId $eventhubrule.Id `
-Enabled $true `
-MetricCategory 'AllMetrics'
Interfaccia della riga di comando di Azure
Accedere all'interfaccia della riga di comando di Azure:
az login
Area di lavoro Log Analytics
Per inviare i log delle risorse a un'area di lavoro Log Analytics, immettere questi comandi. Sostituire i valori tra parentesi quadre con i valori:
lbid=$(az network lb show \
--name <your-load-balancer-name> \
--resource-group <your-resource-group> \
--query id \
--output tsv)
wsid=$(az monitor log-analytics workspace show \
--resource-group <your-resource-group> \
--workspace-name <your-log-analytics-workspace-name> \
--query id \
--output tsv)
az monitor diagnostic-settings create \
--name <your-diagnostic-setting-name> \
--resource $lbid \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--workspace $wsid
Account di archiviazione
Per inviare i log delle risorse a un account di archiviazione, immettere questi comandi. Sostituire i valori tra parentesi quadre con i valori:
lbid=$(az network lb show \
--name <your-load-balancer-name> \
--resource-group <your-resource-group> \
--query id \
--output tsv)
storid=$(az storage account show \
--name <your-storage-account-name> \
--resource-group <your-resource-group> \
--query id \
--output tsv)
az monitor diagnostic-settings create \
--name <your-diagnostic-setting-name> \
--resource $lbid \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--storage-account $storid
Hub eventi
Per inviare i log delle risorse a uno spazio dei nomi dell'hub eventi, immettere questi comandi. Sostituire i valori tra parentesi quadre con i valori:
lbid=$(az network lb show \
--name <your-load-balancer-name> \
--resource-group <your-resource-group> \
--query id \
--output tsv)
az monitor diagnostic-settings create \
--name myDiagSetting-event \
--resource $lbid \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--event-hub-rule /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.EventHub/namespaces/<your-event-hub-namespace>/authorizationrules/RootManageSharedAccessKey
Le metriche e i log che è possibile raccogliere sono descritti nelle sezioni seguenti.
Analisi delle metriche
È possibile analizzare le metriche per Load Balancer con le metriche di altri servizi di Azure usando Esplora metriche aprendo Metriche dal menu di Monitoraggio di Azure. 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 per Load Balancer, vedere Monitoraggio delle metriche di riferimento dei dati di Load Balancer
Per informazioni di riferimento, è possibile vedere un elenco di tutte le metriche delle risorse supportate in Monitoraggio di Azure.
Analisi dei log
I dati nei log di Monitoraggio di Azure vengono archiviati in tabelle, ognuna delle quali ha un proprio set di proprietà univoche.
Il log attività è un tipo di log della piattaforma che contiene informazioni sugli eventi a livello di sottoscrizione. È possibile visualizzarlo in modo indipendente o instradarlo ai log di Monitoraggio di Azure, in cui è possibile eseguire query molto più complesse usando Log Analytics.
Per un elenco delle tabelle usate dai log di Monitoraggio di Azure e su cui è possibile eseguire query con Log Analytics, vedere Informazioni di riferimento sul monitoraggio dei dati di Load Balancer
Analisi del traffico del servizio di bilanciamento del carico con i log dei flussi del gruppo di sicurezza di rete
I log dei flussi dei gruppi di sicurezza di rete sono una funzionalità di Azure Network Watcher che consente di registrare informazioni sul traffico IP che scorre attraverso un gruppo di sicurezza di rete. I dati del flusso vengono inviati ad Archiviazione di Azure da cui è possibile accedervi ed esportarli in qualsiasi strumento di visualizzazione, soluzione SIEM (Security Information and Event Management) o sistema di rilevamento delle intrusioni (IDS) preferito.
I log dei flussi del gruppo di sicurezza di rete possono essere usati per analizzare il flusso del traffico attraverso il servizio di bilanciamento del carico. Si noti che i log dei flussi del gruppo di sicurezza di rete non contengono l'indirizzo IP front-end dei servizi di bilanciamento del carico. Per analizzare il flusso del traffico in un servizio di bilanciamento del carico, i log dei flussi del gruppo di sicurezza di rete devono essere filtrati in base agli indirizzi IP privati dei membri del pool back-end del servizio di bilanciamento del carico.
Avvisi
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 crea o si esegue un'applicazione eseguita in Load Balancer, Application Insights di Monitoraggio di Azure offre altri tipi di avvisi.
La tabella seguente elenca le regole di avviso comuni e consigliate per Load Balancer.
Tipo di avviso | Condizione | Descrizione |
---|---|---|
Regola di Load Balancer non disponibile a causa di macchine virtuali non disponibili | Se la disponibilità del percorso dati divisa per indirizzo IP front-end e porta front-end (tutti i valori noti e futuri) è pari a zero e in un avviso secondario, se lo stato del probe di integrità è uguale a zero, attivare gli avvisi | Questi avvisi consentono di determinare se la disponibilità del percorso dati per le regole di bilanciamento del carico configurate non supporta il traffico a causa di tutte le VM nel pool back-end associato sottoposto a probe dal probe di integrità configurato. Consultare la guida alla risoluzione dei problemi di bilanciamento del carico per analizzare la potenziale causa radice. |
Disponibilità delle VM significativamente bassa | Se lo stato del probe di integrità diviso per IP back-end e porta back-end corrisponde alla percentuale di elementi sottoposti a probe rispetto alle dimensioni totali del pool (ovvero il 25% viene sottoposto a probe) definita dall'utente, viene generato un avviso | Questo avviso determina se sono disponibili meno VM di quelle necessarie per supportare il traffico |
Le connessioni in uscita all'endpoint Internet hanno esito negativo | Se il numero di connessioni SNAT filtrato in Stato connessione = Non riuscito è maggiore di zero, viene generato un avviso | Questo avviso viene generato quando le porte SNAT vengono esaurite e le macchine virtuali non riescono ad avviare connessioni in uscita. |
Avvicinamento all'esaurimento SNAT | Se le porte SNAT usate sono maggiori del numero definito dall'utente, viene generato un avviso | Questo avviso richiede una configurazione statica in uscita in cui viene sempre allocato lo stesso numero di porte. L'avviso viene quindi generato quando è usata una percentuale delle porte allocate. |
Passaggi successivi
- Per informazioni di riferimento sulle metriche, i log e altri valori importanti creati dal bilanciamento del carico, vedereInformazioni di riferimento sul monitoraggio dei dati di Load Balancer.
- Per informazioni dettagliate sul monitoraggio delle risorse di Azure, vedere Monitoraggio delle risorse di Azure con Monitoraggio di Azure.