Metriche comuni per la scalabilità automatica di Monitoraggio di Azure

La scalabilità automatica di Monitoraggio di Azure consente di ridimensionare il numero di istanze in esecuzione in base ai dati di telemetria o alle metriche. Il ridimensionamento può essere basato su qualsiasi metrica, anche su metriche di una risorsa diversa. Ad esempio, ridimensionare un set di scalabilità di macchine virtuali in base alla quantità di traffico in un firewall.

Questo articolo descrive le metriche comunemente usate per attivare eventi di scalabilità.

La scalabilità automatica di Azure supporta molti tipi di risorse. Per altre informazioni sulle risorse supportate, vedere Ridimensionare automaticamente le risorse supportate.

Per tutte le risorse, è possibile ottenere un elenco delle metriche disponibili usando PowerShell o l'interfaccia della riga di comando di Azure

Get-AzMetricDefinition -ResourceId <resource_id> 
az monitor metrics list-definitions --resource <resource_id>

Metriche di calcolo per le macchine virtuali basate su Resource Manager

Per impostazione predefinita, le macchine virtuali basate su Azure Resource Manager e set di scalabilità di macchine virtuali generano metriche di base (a livello di host). Inoltre, quando si configura la raccolta dati di diagnostica per una macchina virtuale di Azure e set di scalabilità di macchine virtuali, l'estensione Diagnostica di Azure genera anche contatori delle prestazioni del sistema operativo guest. Questi contatori sono comunemente noti come "metriche del sistema operativo guest". Tutte queste metriche vengono usate nelle regole di scalabilità automatica.

Se si usa set di scalabilità di macchine virtuali e non viene visualizzata una particolare metrica elencata, è probabile che sia disabilitata nell'estensione Diagnostica.

Se una particolare metrica non viene campionata o trasferita con la frequenza desiderata, è possibile aggiornare la configurazione di diagnostica.

Se uno dei casi precedenti è true, vedere Usare PowerShell per abilitare Diagnostica di Azure in una macchina virtuale che esegue Windows per configurare e aggiornare l'estensione Diagnostica macchina virtuale di Azure per abilitare la metrica. L'articolo include anche un file di configurazione di diagnostica di esempio.

Metriche host per le VM Windows e Linux basate su Resource Manager

Le metriche a livello di host seguenti vengono generate per impostazione predefinita per la macchina virtuale di Azure e set di scalabilità di macchine virtuali nelle istanze di Windows e Linux. Queste metriche descrivono la macchina virtuale di Azure, ma vengono raccolte dall'host della macchina virtuale di Azure anziché tramite l'agente installato nella macchina virtuale guest. È possibile usare queste metriche nelle regole di scalabilità automatica.

Metriche del sistema operativo guest per macchine virtuali Windows basate su Resource Manager

Quando si crea una nuova VM in Azure, la diagnostica viene abilitata con l'uso dell'estensione Diagnostica. L'estensione Diagnostica genera un set di metriche ricavate dall'interno della macchina virtuale. Ciò significa che è possibile ridimensionare automaticamente usando le metriche che non vengono generate per impostazione predefinita.

È possibile creare un avviso per le metriche seguenti:

Nome metrica Unità
\Processor(_Total)% Tempo processore Percentuale
\Processor(_Total)% Privileged Time Percentuale
\Processor(_Total)% User Time Percentuale
\Processor Information(_Total)\Processor Frequency Conteggio
\System\Processes Conteggio
\Process(_Total)\Thread Count Conteggio
\Process(_Total)\Handle Count Conteggio
\Memory% Byte di cui è stato eseguito il commit in uso Percentuale
\Memory\Available Bytes Byte
\Memory\Committed Bytes Byte
\Memory\Commit Limit Byte
\Memory\Pool Paged Bytes Byte
\Memory\Pool Nonpaged Bytes Byte
\PhysicalDisk(_Total)% Tempo disco Percentuale
\PhysicalDisk(_Total)% Tempo di lettura disco Percentuale
\PhysicalDisk(_Total)% Tempo di scrittura su disco Percentuale
\DiscoFisico(_Totale)\Trasferimenti disco/secondo Conteggio al secondo
\PhysicalDisk(_Total)\Disk Reads/sec Conteggio al secondo
\PhysicalDisk(_Total)\Disk Writes/sec Conteggio al secondo
\PhysicalDisk(_Total)\Disk Bytes/sec Byte al secondo
\PhysicalDisk(_Total)\Disk Read Bytes/sec Byte al secondo
\PhysicalDisk(_Total)\Disk Write Bytes/sec Byte al secondo
\PhysicalDisk(_Total)\Avg. Disk Queue Length Conteggio
\PhysicalDisk(_Total)\Avg. Disk Read Queue Length Conteggio
\PhysicalDisk(_Total)\Avg. Disk Write Queue Length Conteggio
\LogicalDisk(_Total)% spazio disponibile Percentuale
\LogicalDisk(_Total)\Free Megabytes Conteggio

Metriche del sistema operativo guest per le VM Linux

Quando si crea una macchina virtuale in Azure, la diagnostica è abilitata per impostazione predefinita usando l'estensione Diagnostica.

È possibile creare un avviso per le metriche seguenti:

Nome metrica Unità
\Memory\AvailableMemory Byte
\Memory\PercentAvailableMemory Percentuale
\Memory\UsedMemory Byte
\Memory\PercentUsedMemory Percentuale
\Memory\PercentUsedByCache Percentuale
\Memory\PagesPerSec Conteggio al secondo
\Memory\PagesReadPerSec Conteggio al secondo
\Memory\PagesWrittenPerSec Conteggio al secondo
\Memory\AvailableSwap Byte
\Memory\PercentAvailableSwap Percentuale
\Memory\UsedSwap Byte
\Memory\PercentUsedSwap Percentuale
\Processor\PercentIdleTime Percentuale
\Processor\PercentUserTime Percentuale
\Processor\PercentNiceTime Percentuale
\Processor\PercentPrivilegedTime Percentuale
\Processor\PercentInterruptTime Percentuale
\Processor\PercentDPCTime Percentuale
\Processor\PercentProcessorTime Percentuale
\Processor\PercentIOWaitTime Percentuale
\PhysicalDisk\BytesPerSecond Byte al secondo
\PhysicalDisk\ReadBytesPerSecond Byte al secondo
\PhysicalDisk\WriteBytesPerSecond Byte al secondo
\PhysicalDisk\TransfersPerSecond Conteggio al secondo
\PhysicalDisk\ReadsPerSecond Conteggio al secondo
\PhysicalDisk\WritesPerSecond Conteggio al secondo
\PhysicalDisk\AverageReadTime Secondi
\PhysicalDisk\AverageWriteTime Secondi
\PhysicalDisk\AverageTransferTime Secondi
\PhysicalDisk\AverageDiskQueueLength Conteggio
\NetworkInterface\BytesTransmitted Byte
\NetworkInterface\BytesReceived Byte
\NetworkInterface\PacketsTransmitted Conteggio
\NetworkInterface\PacketsReceived Conteggio
\NetworkInterface\BytesTotal Byte
\NetworkInterface\TotalRxErrors Conteggio
\NetworkInterface\TotalTxErrors Conteggio
\NetworkInterface\TotalCollisions Conteggio

Metriche di servizio app (server farm) comunemente usate

È anche possibile eseguire la scalabilità automatica in base alle metriche comuni del server Web, ad esempio la lunghezza della coda HTTP. Il nome della metrica è HttpQueueLength. La sezione seguente elenca le metriche della server farm (servizio app) disponibili.

Metriche di app Web

per App Web, è possibile inviare avvisi su o ridimensionare in base a queste metriche.

Nome metrica Unità
CpuPercentage Percentuale
MemoryPercentage Percentuale
DiskQueueLength Conteggio
HttpQueueLength Conteggio
BytesReceived Byte
BytesSent Byte

Metriche di archiviazione usate comunemente

È possibile ridimensionare in base Archiviazione di Azure lunghezza della coda, ovvero il numero di messaggi nella coda Archiviazione. Archiviazione lunghezza della coda è una metrica speciale e la soglia è il numero di messaggi per istanza. Ad esempio, se sono presenti due istanze e se la soglia è impostata su 100, il ridimensionamento si verifica quando il numero totale di messaggi nella coda è 200. Tale quantità può essere di 100 messaggi per istanza, 120 più 80 o qualsiasi altra combinazione che aggiunge fino a 200 o più.

Configurare questa impostazione nel portale di Azure nel riquadro Impostazioni. Per set di scalabilità di macchine virtuali, è possibile aggiornare l'impostazione di scalabilità automatica nel modello di Resource Manager da usare metricName come ApproximateMessageCount e passare l'ID della coda di archiviazione come metricResourceUri.

Ad esempio, con un account Archiviazione classico, l'impostazione metricTrigger di scalabilità automatica includerà:

"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ClassicStorage/storageAccounts/STORAGE_ACCOUNT_NAME/services/queue/queues/QUEUE_NAME"

Per un account Archiviazione (non classico), l'impostazione metricTrigger includerà:

"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.Storage/storageAccounts/STORAGE_ACCOUNT_NAME/services/queue/queues/QUEUE_NAME"

Metriche del bus di servizio usate comunemente

È possibile ridimensionare in base bus di servizio di Azure lunghezza della coda, ovvero il numero di messaggi nella coda bus di servizio. bus di servizio lunghezza della coda è una metrica speciale e la soglia è il numero di messaggi per ogni istanza. Ad esempio, se sono presenti due istanze e se la soglia è impostata su 100, il ridimensionamento si verifica quando il numero totale di messaggi nella coda è 200. Tale quantità può essere di 100 messaggi per istanza, 120 più 80 o qualsiasi altra combinazione che aggiunge fino a 200 o più.

Per set di scalabilità di macchine virtuali, è possibile aggiornare l'impostazione di scalabilità automatica nel modello di Resource Manager da usare metricName come ActiveMessageCount e passare l'ID della coda bus di servizio come metricResourceUri.

"metricName": "ActiveMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ServiceBus/namespaces/SB_NAMESPACE/queues/QUEUE_NAME"

Nota

Per bus di servizio, il concetto di gruppo di risorse non esiste. Azure Resource Manager crea un gruppo di risorse predefinito per area. Il gruppo di risorse è in genere nel formato Default-ServiceBus-[region]. Gli esempi sono Default-ServiceBus-EastUS, Default-ServiceBus-WestUS e Default-ServiceBus-AustraliaEast.