Partilhar via


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, escale um Conjunto de Escalamento de Máquinas Virtuais com base no volume de tráfego num 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 os recursos suportados pelo autoscale.

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 se configura a coleta de dados de diagnóstico para uma VM do Azure e Conjuntos de Escala de Máquinas Virtuais, 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 estiver a utilizar Conjuntos de Dimensionamento de Máquinas Virtuais e não encontrar uma métrica específica listada, é provável que esteja desativada na sua extensão de Diagnósticos.

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 Unidade
\Processador(_Total)% Tempo do processador Percentagem
\Processador(_Total)% Tempo de Privilégio Percentagem
\Processador(_Total)% Tempo do Usuário Percentagem
\Informações do processador(_Total)\Freqüência do processador Contagem
\Sistema\Processos Contagem
\Processo(_Total)\Contagem de Threads Contagem
\Processo(_Total)\Contagem de Manipuladores Contagem
\Memory% Bytes comprometidos em uso Percentagem
\Memória\Bytes Disponíveis bytes
\Memória\Bytes confirmados bytes
\Memória\Limite de confirmação bytes
\Memória\Pool Paged Bytes bytes
\Memória\Grupo 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 Contagem por segundo
\PhysicalDisk(_Total)\Leituras de disco por segundo Contagem por segundo
\PhysicalDisk(_Total)\Gravações de disco/s Contagem por segundo
\PhysicalDisk(_Total)\Bytes de disco/s Bytes por Segundo
\PhysicalDisk(_Total)\Bytes de leitura de disco por segundo Bytes por Segundo
\PhysicalDisk(_Total)\Bytes de gravação de disco/s Bytes por Segundo
\PhysicalDisk(_Total)\Comprimento médio da fila de disco Contagem
\PhysicalDisk(_Total)\Comprimento médio da fila de leitura de disco Contagem
\PhysicalDisk(_Total)\Comprimento médio da fila de gravação em disco Contagem
\LogicalDisk(_Total)% espaço livre Percentagem
\LogicalDisk(_Total)\Megabytes livres Contagem

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 Unidade
\Memória\MemóriaDisponível bytes
\Memória\PercentagemMemóriaDisponível Percentagem
\Memória\Memória Usada bytes
\Memória\PercentagemMemóriaUsada Percentagem
\Memória\PercentUsedByCache Percentagem
\Memória\PagesPerSec Contagem por segundo
\Memória\PagesReadPerSec Contagem por segundo
\Memória\PagesWrittenPerSec Contagem por segundo
\Memória\AvailableSwap bytes
\Memória\PercentAvailableSwap Percentagem
\Memória\UsedSwap bytes
\Memória\PercentagemDeSwapUsada Percentagem
\Processador\PercentIdleTime Percentagem
\Processador\PercentUserTime Percentagem
\Processador\PercentNiceTime Percentagem
\Processador\PercentPrivilegedTime Percentagem
\Processador\TempoDeInterrupçãoPercentual Percentagem
\Processador\PercentDPCTime Percentagem
\Processador\PercentagemTempoProcessador Percentagem
\Processador\PercentIOWaitTime Percentagem
\PhysicalDisk\BytesPorSegundo Bytes por Segundo
\PhysicalDisk\ReadBytesPerSecond Bytes por Segundo
\DiscoFísico\EscritaBytesPorSegundo Bytes por Segundo
\PhysicalDisk\TransfersPerSecond (TransferênciasPorSegundo) Contagem por segundo
\PhysicalDisk\ReadsPerSecond (LeiturasPorSegundo) Contagem por segundo
\PhysicalDisk\EscritasPorSegundo Contagem por segundo
\PhysicalDisk\TempoMédioDeLeitura Segundos
\PhysicalDisk\TempoMédioDeEscrita Segundos
\DiscoFísico\TempoMédioDeTransferência Segundos
\PhysicalDisk\AverageDiskQueueLength Contagem
\NetworkInterface\BytesTransmitidos bytes
\NetworkInterface\BytesReceived bytes
\NetworkInterface\PacotesTransmitidos Contagem
\InterfaceDeRede\PacotesRecebidos Contagem
\Interface de Rede\Bytes Totais bytes
\NetworkInterface\TotalRxErrors Contagem
\NetworkInterface\TotalTxErrors Contagem
\Interface de Rede\Colisões Totais Contagem

Métricas comumente usadas do Serviço de Aplicação (fazenda de servidores)

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 secção seguinte lista as métricas disponíveis do grupo de servidores (App Service).

Métricas de aplicativos Web

Para Aplicações Web, é possível alertar ou dimensionar com estas métricas.

Nome da métrica Unidade
CpuPercentagem Percentagem
Percentagem de Memória Percentagem
DiskQueueLength Contagem
HttpQueueLength Contagem
BytesRecebidos bytes
Bytes Enviados bytes

Métricas de armazenamento comumente usadas

Você pode dimensionar com base no tamanho 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, pode-se 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 de mensagens do Barramento de Serviços é 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.