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

  1. Accedere al portale di Azure.

  2. Nella casella di ricerca nella parte superiore del portale immettere Load Balancer.

  3. Selezionare Load Balancer nei risultati della ricerca.

  4. Selezionare il servizio di bilanciamento del carico in uso. Per questo esempio viene usato myLoadBalancer.

  5. Nella sezione Monitoraggio di myLoadBalancer, selezionare Impostazioni di diagnostica.

  6. In Impostazioni di diagnostica, selezionare + Aggiungi impostazione di diagnostica.

  7. 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.
  8. 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
  9. 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