Metriche comuni per la scalabilità automatica di Monitoraggio di AzureAzure Monitor autoscaling common metrics

La scalabilità automatica di Monitoraggio di Azure consente di aumentare o ridurre il numero delle istanze in esecuzione in base ai dati di telemetria (metriche).Azure Monitor autoscaling allows you to scale the number of running instances up or down, based on telemetry data (metrics). Questo documento descrive le metriche comuni che è possibile usare.This document describes common metrics that you might want to use. Nel portale di Azure per servizi cloud e server farm è possibile scegliere la metrica della risorsa in base alla quale eseguire il ridimensionamento.In the Azure portal for Cloud Services and Server Farms, you can choose the metric of the resource to scale by. È tuttavia possibile scegliere metriche da risorse diverse.However, you can also choose any metric from a different resource to scale by.

Il ridimensionamento automatico di Monitoraggio di Azure si applica solo a set di scalabilità di macchine virtuali, Servizi cloud e app Web del servizio app.Azure Monitor autoscale applies only to Virtual Machine Scale Sets, Cloud Services, and App Service - Web Apps. Altri servizi Azure usano metodi di ridimensionamento diversi.Other Azure services use different scaling methods.

Metriche di calcolo per le macchine virtuali basate su Resource ManagerCompute metrics for Resource Manager-based VMs

Per impostazione predefinita, le macchine virtuali e i set di scalabilità di macchine virtuali basati su Resource Manager generano metriche di base (a livello di host).By default, Resource Manager-based Virtual Machines and Virtual Machine Scale Sets emit basic (host-level) metrics. Quando si configura la raccolta dei dati di diagnostica per una VM di Azure e VMSS, inoltre, l'estensione Diagnostica di Azure genera anche i contatori delle prestazioni del sistema operativo guest (noti comunemente come "metriche del sistema operativo guest").In addition, when you configure diagnostics data collection for an Azure VM and VMSS, the Azure diagnostic extension also emits guest-OS performance counters (commonly known as "guest-OS metrics"). Tutte queste metriche vengono usate nelle regole di scalabilità automatica.You use all these metrics in autoscale rules.

Per visualizzare le metriche disponibili per la risorsa del set di scalabilità di macchine virtuali è possibile usare l'interfaccia della riga di comando, PowerShell o l'API Get MetricDefinitions.You can use the Get MetricDefinitions API/PoSH/CLI to view the metrics available for your VMSS resource.

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.If you're using VM scale sets and you don't see a particular metric listed, then it is likely disabled in your diagnostics extension.

Se una metrica specifica non viene campionata o trasferita con la frequenza prevista, è possibile aggiornare la configurazione della diagnostica.If a particular metric is not being sampled or transferred at the frequency you want, you can update the diagnostics configuration.

Se si verificano entrambe le condizioni precedenti, vedere Usare PowerShell per abilitare la Diagnostica di Azure in una macchina virtuale che esegue Windows per informazioni su come usare PowerShell per configurare e aggiornare l'estensione Diagnostica delle VM di Azure per abilitare la metrica.If either preceding case is true, then review Use PowerShell to enable Azure Diagnostics in a virtual machine running Windows about PowerShell to configure and update your Azure VM Diagnostics extension to enable the metric. Questo articolo include anche un file di configurazione della diagnostica di esempio.That article also includes a sample diagnostics configuration file.

Metriche host per le VM Windows e Linux basate su Resource ManagerHost metrics for Resource Manager-based Windows and Linux VMs

Le metriche a livello di host seguenti vengono generate per impostazione predefinita per le VM di Azure e VMSS nelle istanze di Windows e Linux.The following host-level metrics are emitted by default for Azure VM and VMSS in both Windows and Linux instances. Queste metriche descrivono la VM di Azure, ma vengono raccolte dall'host della VM di Azure anziché tramite l'agente installato nella VM guest.These metrics describe your Azure VM, but are collected from the Azure VM host rather than via agent installed on the guest VM. Queste metriche possono essere usate nelle regole di scalabilità automatica.You may use these metrics in autoscaling rules.

Metriche del sistema operativo guest per le VM Windows basate su Resource ManagerGuest OS metrics Resource Manager-based Windows VMs

Quando si crea una nuova VM in Azure, la diagnostica viene abilitata con l'uso dell'estensione Diagnostica.When you create a VM in Azure, diagnostics is enabled by using the Diagnostics extension. L'estensione Diagnostica genera un set di metriche recuperate dall'interno della VM.The diagnostics extension emits a set of metrics taken from inside of the VM. Questo significa che è possibile gestire la scalabilità automatica con metriche non generate per impostazione predefinita.This means you can autoscale off of metrics that are not emitted by default.

Per generare un elenco delle metriche è possibile usare il comando seguente in PowerShell.You can generate a list of the metrics by using the following command in PowerShell.

Get-AzureRmMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,Unit

È possibile creare un avviso per le metriche seguenti:You can create an alert for the following metrics:

Nome della metricaMetric Name UnitàUnit
\Processor(_Total)% Processor Time\Processor(_Total)% Processor Time PercentualePercent
\Processor(_Total)% Privileged Time\Processor(_Total)% Privileged Time PercentualePercent
\Processor(_Total)% User Time\Processor(_Total)% User Time PercentualePercent
\Processor Information(_Total)\Processor Frequency\Processor Information(_Total)\Processor Frequency NumeroCount
\System\Processes\System\Processes NumeroCount
\Process(_Total)\Thread Count\Process(_Total)\Thread Count NumeroCount
\Process(_Total)\Handle Count\Process(_Total)\Handle Count NumeroCount
\Memory% Committed Bytes In Use\Memory% Committed Bytes In Use PercentualePercent
\Memory\Available Bytes\Memory\Available Bytes ByteBytes
\Memory\Committed Bytes\Memory\Committed Bytes ByteBytes
\Memory\Commit Limit\Memory\Commit Limit ByteBytes
\Memory\Pool Paged Bytes\Memory\Pool Paged Bytes ByteBytes
\Memory\Pool Nonpaged Bytes\Memory\Pool Nonpaged Bytes ByteBytes
\PhysicalDisk(_Total)% Disk Time\PhysicalDisk(_Total)% Disk Time PercentualePercent
\PhysicalDisk(_Total)% Disk Read Time\PhysicalDisk(_Total)% Disk Read Time PercentualePercent
\PhysicalDisk(_Total)% Disk Write Time\PhysicalDisk(_Total)% Disk Write Time PercentualePercent
\DiscoFisico(_Totale)\Trasferimenti disco/secondo\PhysicalDisk(_Total)\Disk Transfers/sec Conteggio al secondoCountPerSecond
\PhysicalDisk(_Total)\Disk Reads/sec\PhysicalDisk(_Total)\Disk Reads/sec Conteggio al secondoCountPerSecond
\PhysicalDisk(_Total)\Disk Writes/sec\PhysicalDisk(_Total)\Disk Writes/sec Conteggio al secondoCountPerSecond
\PhysicalDisk(_Total)\Disk Bytes/sec\PhysicalDisk(_Total)\Disk Bytes/sec Byte al secondoBytesPerSecond
\PhysicalDisk(_Total)\Disk Read Bytes/sec\PhysicalDisk(_Total)\Disk Read Bytes/sec Byte al secondoBytesPerSecond
\PhysicalDisk(_Total)\Disk Write Bytes/sec\PhysicalDisk(_Total)\Disk Write Bytes/sec Byte al secondoBytesPerSecond
\PhysicalDisk(_Total)\Avg. Lunghezza coda disco\PhysicalDisk(_Total)\Avg. Disk Queue Length NumeroCount
\PhysicalDisk(_Total)\Avg. Disk Read Queue Length\PhysicalDisk(_Total)\Avg. Disk Read Queue Length NumeroCount
\PhysicalDisk(_Total)\Avg. Disk Write Queue Length\PhysicalDisk(_Total)\Avg. Disk Write Queue Length NumeroCount
\LogicalDisk(_Total)% Free Space\LogicalDisk(_Total)% Free Space PercentualePercent
\LogicalDisk(_Total)\Free Megabytes\LogicalDisk(_Total)\Free Megabytes NumeroCount

Metriche del sistema operativo guest per le VM LinuxGuest OS metrics Linux VMs

Quando si crea una nuova VM in Azure, la diagnostica viene abilitata per impostazione predefinita con l'uso dell'estensione Diagnostica.When you create a VM in Azure, diagnostics is enabled by default by using Diagnostics extension.

Per generare un elenco delle metriche è possibile usare il comando seguente in PowerShell.You can generate a list of the metrics by using the following command in PowerShell.

Get-AzureRmMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,Unit

È possibile creare un avviso per le metriche seguenti:You can create an alert for the following metrics:

Nome della metricaMetric Name UnitàUnit
\Memory\AvailableMemory\Memory\AvailableMemory ByteBytes
\Memory\PercentAvailableMemory\Memory\PercentAvailableMemory PercentualePercent
\Memory\UsedMemory\Memory\UsedMemory ByteBytes
\Memory\PercentUsedMemory\Memory\PercentUsedMemory PercentualePercent
\Memory\PercentUsedByCache\Memory\PercentUsedByCache PercentualePercent
\Memory\PagesPerSec\Memory\PagesPerSec Conteggio al secondoCountPerSecond
\Memory\PagesReadPerSec\Memory\PagesReadPerSec Conteggio al secondoCountPerSecond
\Memory\PagesWrittenPerSec\Memory\PagesWrittenPerSec Conteggio al secondoCountPerSecond
\Memory\AvailableSwap\Memory\AvailableSwap ByteBytes
\Memory\PercentAvailableSwap\Memory\PercentAvailableSwap PercentualePercent
\Memory\UsedSwap\Memory\UsedSwap ByteBytes
\Memory\PercentUsedSwap\Memory\PercentUsedSwap PercentualePercent
\Processor\PercentIdleTime\Processor\PercentIdleTime PercentualePercent
\Processor\PercentUserTime\Processor\PercentUserTime PercentualePercent
\Processor\PercentNiceTime\Processor\PercentNiceTime PercentualePercent
\Processor\PercentPrivilegedTime\Processor\PercentPrivilegedTime PercentualePercent
\Processor\PercentInterruptTime\Processor\PercentInterruptTime PercentualePercent
\Processor\PercentDPCTime\Processor\PercentDPCTime PercentualePercent
\Processor\PercentProcessorTime\Processor\PercentProcessorTime PercentualePercent
\Processor\PercentIOWaitTime\Processor\PercentIOWaitTime PercentualePercent
\PhysicalDisk\BytesPerSecond\PhysicalDisk\BytesPerSecond Byte al secondoBytesPerSecond
\PhysicalDisk\ReadBytesPerSecond\PhysicalDisk\ReadBytesPerSecond Byte al secondoBytesPerSecond
\PhysicalDisk\WriteBytesPerSecond\PhysicalDisk\WriteBytesPerSecond Byte al secondoBytesPerSecond
\PhysicalDisk\TransfersPerSecond\PhysicalDisk\TransfersPerSecond Conteggio al secondoCountPerSecond
\PhysicalDisk\ReadsPerSecond\PhysicalDisk\ReadsPerSecond Conteggio al secondoCountPerSecond
\PhysicalDisk\WritesPerSecond\PhysicalDisk\WritesPerSecond Conteggio al secondoCountPerSecond
\PhysicalDisk\AverageReadTime\PhysicalDisk\AverageReadTime SecondiSeconds
\PhysicalDisk\AverageWriteTime\PhysicalDisk\AverageWriteTime SecondiSeconds
\PhysicalDisk\AverageTransferTime\PhysicalDisk\AverageTransferTime SecondiSeconds
\PhysicalDisk\AverageDiskQueueLength\PhysicalDisk\AverageDiskQueueLength NumeroCount
\NetworkInterface\BytesTransmitted\NetworkInterface\BytesTransmitted ByteBytes
\NetworkInterface\BytesReceived\NetworkInterface\BytesReceived ByteBytes
\NetworkInterface\PacketsTransmitted\NetworkInterface\PacketsTransmitted NumeroCount
\NetworkInterface\PacketsReceived\NetworkInterface\PacketsReceived NumeroCount
\NetworkInterface\BytesTotal\NetworkInterface\BytesTotal ByteBytes
\NetworkInterface\TotalRxErrors\NetworkInterface\TotalRxErrors NumeroCount
\NetworkInterface\TotalTxErrors\NetworkInterface\TotalTxErrors NumeroCount
\NetworkInterface\TotalCollisions\NetworkInterface\TotalCollisions NumeroCount

Metriche Web (server farm) usate comunementeCommonly used Web (Server Farm) metrics

È possibile eseguire la scalabilità automatica anche in base a metriche di server Web comuni, come la lunghezza della coda HTTP.You can also perform autoscale based on common web server metrics such as the Http queue length. Il nome della metrica è HttpQueueLength.It's metric name is HttpQueueLength. La sezione seguente riporta un elenco delle metriche di server farm (app Web) disponibili.The following section lists available server farm (Web Apps) metrics.

Metriche di app WebWeb Apps metrics

Per generare un elenco delle metriche di app Web è possibile usare il comando seguente in PowerShell.You can generate a list of the Web Apps metrics by using the following command in PowerShell.

Get-AzureRmMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,Unit

È possibile generare avvisi o ridimensionare in base a queste metriche.You can alert on or scale by these metrics.

Nome della metricaMetric Name UnitàUnit
CpuPercentageCpuPercentage PercentualePercent
MemoryPercentageMemoryPercentage PercentualePercent
DiskQueueLengthDiskQueueLength NumeroCount
HttpQueueLengthHttpQueueLength NumeroCount
BytesReceivedBytesReceived ByteBytes
BytesSentBytesSent ByteBytes

Metriche di archiviazione usate comunementeCommonly used Storage metrics

È possibile eseguire il ridimensionamento in base alla lunghezza della coda di archiviazione, ovvero il numero di messaggi nella coda di archiviazione.You can scale by Storage queue length, which is the number of messages in the storage queue. La lunghezza della coda di archiviazione è una metrica speciale e la soglia corrisponde al numero di messaggi per ogni istanza.Storage queue length is a special metric and the threshold is the number of messages per instance. 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.For example, if there are two instances and if the threshold is set to 100, scaling occurs when the total number of messages in the queue is 200. Può trattarsi di 100 messaggi per ogni istanza, 120 e 80 o qualsiasi altra combinazione corrispondente a un totale di 200 o più.That can be 100 messages per instance, 120 and 80, or any other combination that adds up to 200 or more.

Questa impostazione può essere configurata nel pannello Impostazioni del portale di Azure.Configure this setting in the Azure portal in the Settings blade. Per i set di scalabilità di macchine virtuali, è possibile aggiornare l'impostazione di scalabilità automatica nel modello di Resource Manager in modo da usare metricName come ApproximateMessageCount e passare l'ID della coda di archiviazione come metricResourceUri.For VM scale sets, you can update the Autoscale setting in the Resource Manager template to use metricName as ApproximateMessageCount and pass the ID of the storage queue as metricResourceUri.

Per un account di archiviazione classico, ad esempio, la classe metricTrigger per la scalabilità automatica includerà:For example, with a Classic Storage Account the autoscale setting metricTrigger would include:

"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, metricTrigger includerà:For a (non-classic) storage account, the metricTrigger would include:

"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 Commonly used Service Bus metrics

È possibile eseguire il ridimensionamento in base alla lunghezza della coda del bus di servizio, ovvero il numero di messaggi nella coda del bus di servizio.You can scale by Service Bus queue length, which is the number of messages in the Service Bus queue. La lunghezza della coda del bus di servizio è una metrica speciale e la soglia corrisponde al numero di messaggi per ogni istanza.Service Bus queue length is a special metric and the threshold is the number of messages per instance. 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.For example, if there are two instances and if the threshold is set to 100, scaling occurs when the total number of messages in the queue is 200. Può trattarsi di 100 messaggi per ogni istanza, 120 e 80 o qualsiasi altra combinazione corrispondente a un totale di 200 o più.That can be 100 messages per instance, 120 and 80, or any other combination that adds up to 200 or more.

Per i set di scalabilità di macchine virtuali, è possibile aggiornare l'impostazione di scalabilità automatica nel modello di Resource Manager in modo da usare metricName come ApproximateMessageCount e passare l'ID della coda di archiviazione come metricResourceUri.For VM scale sets, you can update the Autoscale setting in the Resource Manager template to use metricName as ApproximateMessageCount and pass the ID of the storage queue as metricResourceUri.

"metricName": "MessageCount",
 "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, ma Azure Resource Manager consente di creare un gruppo di risorse predefinito per ogni area.For Service Bus, the resource group concept does not exist but Azure Resource Manager creates a default resource group per region. Il gruppo di risorse è in genere nel formato "Default-ServiceBus-[area]".The resource group is usually in the 'Default-ServiceBus-[region]' format. Ad esempio, "Default-ServiceBus-EastUS", "Default-ServiceBus-WestUS", "Default-ServiceBus-AustraliaEast" e così via.For example, 'Default-ServiceBus-EastUS', 'Default-ServiceBus-WestUS', 'Default-ServiceBus-AustraliaEast' etc.