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 host per le VM Windows e Linux basate su Resource Manager
- Metriche host per i set di scalabilità di macchine virtuali Windows e Linux basati su Resource Manager
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.