Condividi tramite


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 risorse supportate per la scalabilità automatica.

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 e i set di scalabilità di macchine virtuali basati su Azure Resource Manager generano metriche di base (a livello di host). Inoltre, quando si configura la raccolta dati di diagnostica per una macchina virtuale di Azure e i 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 usano set di scalabilità di macchine virtuali e una metrica specifica non è riportata nell'elenco, è probabile che sia disabilitata nell'estensione della diagnostica.

Se una metrica specifica non viene campionata o trasferita con la frequenza prevista, è possibile aggiornare la configurazione della diagnostica.

Se si verificano entrambe le condizioni precedenti, vedere Usare PowerShell per abilitare la Diagnostica di Azure in una macchina virtuale che esegue Windows per configurare e aggiornare l'estensione Diagnostica delle VM di Azure per abilitare la metrica. L’articolo include anche un file di configurazione della 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 le macchine virtuali di Azure e i set di scalabilità di macchine virtuali in istanze di Windows e Linux. Queste metriche descrivono la VM di Azure, ma vengono raccolte dall'host della VM di Azure anziché tramite l'agente installato nella VM guest. Queste metriche possono essere usate nelle regole di scalabilità automatica.

Metriche del sistema operativo guest per le VM 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 recuperate dall'interno della VM. 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)% Processor Time Percentuale
\Processor(_Total)% Privileged Time Percentuale
\Processor(_Total)% User Time Percentuale
\Processor Information(_Total)\Processor Frequency Count
\System\Processes Count
\Process(_Total)\Thread Count Count
\Process(_Total)\Handle Count Count
\Memory% Committed Bytes In Use 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)% Disk Time Percentuale
\PhysicalDisk(_Total)% Disk Read Time Percentuale
\PhysicalDisk(_Total)% Disk Write Time 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. Lunghezza coda disco Count
\PhysicalDisk(_Total)\Avg. Disk Read Queue Length Count
\PhysicalDisk(_Total)\Avg. Disk Write Queue Length Count
\LogicalDisk(_Total)% Free Space Percentuale
\LogicalDisk(_Total)\Free Megabytes Count

Metriche del sistema operativo guest per le VM Linux

Quando si crea una nuova VM in Azure, la diagnostica viene abilitata per impostazione predefinita con l'uso dell'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 Count
\NetworkInterface\BytesTransmitted Byte
\NetworkInterface\BytesReceived Byte
\NetworkInterface\PacketsTransmitted Count
\NetworkInterface\PacketsReceived Count
\NetworkInterface\BytesTotal Byte
\NetworkInterface\TotalRxErrors Count
\NetworkInterface\TotalTxErrors Count
\NetworkInterface\TotalCollisions Count

Metriche del servizio app di uso comune (server farm)

È possibile eseguire la scalabilità automatica anche in base a metriche di server Web comuni, come la lunghezza della coda HTTP. Il nome della metrica è HttpQueueLength. La sezione seguente riporta un elenco delle metriche di server farm (servizio app) disponibili.

Metriche di app Web

Per le app Web, è possibile generare avvisi o ridimensionare in base a queste metriche.

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

Metriche di archiviazione usate comunemente

È possibile eseguire il ridimensionamento in base alla lunghezza della coda di archiviazione di Azure, ovvero il numero di messaggi nella coda di archiviazione. La lunghezza della coda di archiviazione è una metrica speciale e la soglia corrisponde al 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 ogni istanza, 120 più 80 o qualsiasi altra combinazione corrispondente a un totale di 200 o più.

Questa impostazione può essere configurata nel riquadro Impostazioni del portale di Azure. Per i set di scalabilità di macchine virtuali, è possibile aggiornare l'impostazione di scalabilità automatica nel modello di Resource Manager per usare metricName come ApproximateMessageCount e passare l'ID della coda di archiviazione come metricResourceUri.

Ad esempio, con un account di archiviazione classico, l'impostazione di scalabilità automatica metricTrigger 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 di 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 eseguire il ridimensionamento in base alla lunghezza della coda del bus di servizio di Azure, ovvero il numero di messaggi nella coda del bus di servizio. La lunghezza della coda del bus di servizio è una metrica speciale e la soglia corrisponde al numero di messaggi per ogni istanza. Ad esempio, se sono presenti due istanze e la soglia è impostata su 100, il ridimensionamento viene eseguito quando il numero totale di messaggi nella coda è 200. Tale quantità può essere di 100 messaggi per ogni istanza, 120 più 80 o qualsiasi altra combinazione corrispondente a un totale di 200 o più.

Per i set di scalabilità di macchine virtuali, è possibile aggiornare l'impostazione di scalabilità automatica nel modello di Resource Manager per usare metricName come ActiveMessageCount e passare l'ID della coda del 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 il 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-[area]". Gli esempi sono Default-ServiceBus-EastUS, Default-ServiceBus-WestUS e Default-ServiceBus-AustraliaEast.