Métricas comuns de dimensionamento automático do Azure Monitor

O dimensionamento automático do Azure Monitor permite dimensionar o número de instâncias em execução para dentro ou para fora, com base em dados ou métricas de telemetria. O dimensionamento pode ser baseado em qualquer métrica, até mesmo métricas de um recurso diferente. Por exemplo, dimensione um Conjunto de Dimensionamento de Máquina Virtual com base na quantidade de tráfego em um firewall.

Este artigo descreve métricas que são comumente usadas para disparar eventos de escala.

O dimensionamento automático do Azure dá suporte a muitos tipos de recursos. Para obter mais informações sobre recursos suportados, consulte Dimensionamento automático de recursos suportados.

Para todos os recursos, você pode obter uma lista das métricas disponíveis usando o PowerShell ou a CLI do Azure

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

Métricas de computação para VMs baseadas no Resource Manager

Por padrão, as máquinas virtuais baseadas no Azure Resource Manager e os Conjuntos de Escala de Máquina Virtual emitem métricas básicas (no nível do host). Além disso, quando você configura a coleta de dados de diagnóstico para uma VM do Azure e Conjuntos de Escala de Máquina Virtual, a extensão de Diagnóstico do Azure também emite contadores de desempenho do SO convidado. Esses contadores são comumente conhecidos como "métricas do SO convidado". Você usa todas essas métricas em regras de dimensionamento automático.

Se você estiver usando Conjuntos de Dimensionamento de Máquina Virtual e não vir uma métrica específica listada, é provável que ela esteja desabilitada na sua extensão de Diagnóstico.

Se uma determinada métrica não estiver sendo amostrada ou transferida na frequência desejada, você poderá atualizar a configuração de diagnóstico.

Se qualquer caso anterior for verdadeiro, consulte Usar o PowerShell para habilitar o Diagnóstico do Azure em uma máquina virtual que executa o Windows para configurar e atualizar sua extensão de Diagnóstico de VM do Azure para habilitar a métrica. O artigo também inclui um arquivo de configuração de diagnóstico de exemplo.

Métricas de host para VMs Windows e Linux baseadas no Gerenciador de Recursos

As métricas de nível de host a seguir são emitidas por padrão para VM do Azure e Conjuntos de Escala de Máquina Virtual em instâncias Windows e Linux. Essas métricas descrevem sua VM do Azure, mas são coletadas do host da VM do Azure em vez de por meio do agente instalado na VM convidada. Você pode usar essas métricas em regras de dimensionamento automático.

Métricas do SO convidado para VMs do Windows baseadas no Gerenciador de Recursos

Quando você cria uma VM no Azure, o diagnóstico é habilitado usando a extensão Diagnóstico. A extensão Diagnostics emite um conjunto de métricas retiradas de dentro da VM. Isso significa que você pode dimensionar automaticamente usando métricas que não são emitidas por padrão.

Você pode criar um alerta para as seguintes métricas:

Nome da métrica Unit
\Processador(_Total)% Tempo do processador Percentagem
\Processador(_Total)% de tempo privilegiado Percentagem
\Processador(_Total)% Tempo do Usuário Percentagem
\Informações do processador(_Total)\Freqüência do processador Count
\Sistema\Processos Count
\Processo(_Total)\Contagem de threads Count
\Processo(_Total)\Contagem de Manipuladores Count
\Memory% Bytes comprometidos em uso Percentagem
\Memory\Available Bytes Bytes
\Memória\Bytes confirmados Bytes
\Memória\Limite de confirmação Bytes
\Memória\Pool Paged Bytes Bytes
\Memória\Pool de bytes não paginados Bytes
\PhysicalDisk(_Total)% de tempo de disco Percentagem
\PhysicalDisk(_Total)% Tempo de leitura do disco Percentagem
\PhysicalDisk(_Total)% Tempo de gravação do disco Percentagem
\PhysicalDisk(_Total)\Transferências de disco/s CountPerSecond
\PhysicalDisk(_Total)\Leituras de disco/s CountPerSecond
\PhysicalDisk(_Total)\Gravações de disco/s CountPerSecond
\PhysicalDisk(_Total)\Bytes de disco/s BytesPerSecond
\PhysicalDisk(_Total)\Bytes de leitura de disco/s BytesPerSecond
\PhysicalDisk(_Total)\Bytes de gravação de disco/s BytesPerSecond
\PhysicalDisk(_Total)\Comprimento médio da fila de disco Count
\PhysicalDisk(_Total)\Comprimento médio da fila de leitura de disco Count
\PhysicalDisk(_Total)\Comprimento médio da fila de gravação em disco Count
\LogicalDisk(_Total)% de espaço livre Percentagem
\LogicalDisk(_Total)\Megabytes livres Count

Métricas do SO convidado VMs Linux

Quando você cria uma VM no Azure, o diagnóstico é habilitado por padrão usando a extensão Diagnóstico.

Você pode criar um alerta para as seguintes métricas:

Nome da métrica Unit
\Memória\AvailableMemory Bytes
\Memória\PercentAvailableMemory Percentagem
\Memória\UsedMemory Bytes
\Memória\PercentUsedMemory Percentagem
\Memória\PercentUsedByCache Percentagem
\Memória\PagesPerSec CountPerSecond
\Memória\PagesReadPerSec CountPerSecond
\Memória\PagesWrittenPerSec CountPerSecond
\Memória\AvailableSwap Bytes
\Memória\PercentAvailableSwap Percentagem
\Memória\UsedSwap Bytes
\Memória\PercentUsedSwap Percentagem
\Processador\PercentIdleTime Percentagem
\Processador\PercentUserTime Percentagem
\Processador\PercentNiceTime Percentagem
\Processador\PercentPrivilegedTime Percentagem
\Processador\PercentInterruptTime Percentagem
\Processador\PercentDPCTime Percentagem
\Processor\PercentProcessorTime Percentagem
\Processador\PercentIOWaitTime Percentagem
\PhysicalDisk\BytesPerSecond BytesPerSecond
\PhysicalDisk\ReadBytesPerSecond BytesPerSecond
\PhysicalDisk\WriteBytesPerSecond BytesPerSecond
\PhysicalDisk\TransfersPerSecond CountPerSecond
\PhysicalDisk\ReadsPerSecond CountPerSecond
\PhysicalDisk\WritesPerSecond CountPerSecond
\PhysicalDisk\AverageReadTime Segundos
\PhysicalDisk\AverageWriteTime Segundos
\PhysicalDisk\AverageTransferTime Segundos
\PhysicalDisk\AverageDiskQueueLength Count
\NetworkInterface\BytesTransmitted Bytes
\NetworkInterface\BytesReceived Bytes
\NetworkInterface\PacketsTransmitted Count
\NetworkInterface\PacketsReceived Count
\NetworkInterface\BytesTotal Bytes
\NetworkInterface\TotalRxErrors Count
\NetworkInterface\TotalTxErrors Count
\NetworkInterface\TotalCollisions Count

Métricas do Serviço de Aplicativo (farm de servidores) comumente usadas

Você também pode executar o dimensionamento automático com base em métricas comuns do servidor Web, como o comprimento da fila HTTP. Seu nome métrico é HttpQueueLength. A seção a seguir lista as métricas disponíveis do farm de servidores (Serviço de Aplicativo).

Métricas de aplicativos Web

Para Aplicativos Web, você pode alertar ou dimensionar por essas métricas.

Nome da métrica Unit
CpuPercentagem Percentagem
MemoryPercentage Percentagem
DiskQueueLength Count
HttpQueueLength Count
BytesRecebidos Bytes
BytesSent Bytes

Métricas de armazenamento comumente usadas

Você pode dimensionar por comprimento da fila de Armazenamento do Azure, que é o número de mensagens na fila de Armazenamento. O comprimento da fila de armazenamento é uma métrica especial e o limite é o número de mensagens por instância. Por exemplo, se houver duas instâncias e se o limite estiver definido como 100, o dimensionamento ocorrerá quando o número total de mensagens na fila for 200. Essa quantidade pode ser de 100 mensagens por instância, 120 mais 80, ou qualquer outra combinação que some 200 ou mais.

Configure essa configuração no portal do Azure no painel Configurações . Para Conjuntos de Dimensionamento de Máquina Virtual, você pode atualizar a configuração de dimensionamento automático no modelo do Gerenciador de Recursos para usar metricName como ApproximateMessageCount e passar a ID da fila de armazenamento como metricResourceUri.

Por exemplo, com uma conta de Armazenamento Clássico, a configuração metricTrigger de dimensionamento automático incluiria:

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

Para uma conta de armazenamento (não clássica), a metricTrigger configuração incluiria:

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

Métricas do Service Bus mais usadas

Você pode dimensionar pelo comprimento da fila do Barramento de Serviço do Azure, que é o número de mensagens na fila do Barramento de Serviço. O comprimento da fila do Barramento de Serviço é uma métrica especial e o limite é o número de mensagens por instância. Por exemplo, se houver duas instâncias e se o limite estiver definido como 100, o dimensionamento ocorrerá quando o número total de mensagens na fila for 200. Essa quantidade pode ser de 100 mensagens por instância, 120 mais 80, ou qualquer outra combinação que some 200 ou mais.

Para Conjuntos de Dimensionamento de Máquina Virtual, você pode atualizar a configuração de dimensionamento automático no modelo do Gerenciador de Recursos para usar metricName como ActiveMessageCount e passar a ID da Fila do Service Bus como metricResourceUri.

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

Nota

Para o Service Bus, o conceito de grupo de recursos não existe. O Azure Resource Manager cria um grupo de recursos padrão por região. O grupo de recursos geralmente está no formato Default-ServiceBus-[region]. Exemplos são Default-ServiceBus-EastUS, Default-ServiceBus-WestUS e Default-ServiceBus-AustraliaEast.