Métricas comuns de dimensionamento automático do Azure Monitor
O dimensionamento automático do Azure Monitor permite que você aumente ou reduza número de instâncias em execução com base nos dados de telemetria ou métricas. O dimensionamento pode ser baseado em qualquer métrica, até mesmo em métricas de um recurso diferente. Por exemplo, dimensione um Conjunto de Dimensionamento de Máquinas Virtuais com base na quantidade de tráfego em um firewall.
Este artigo descreve as métricas que são comumente usadas para disparar eventos de escala.
O dimensionamento automático do Azure dá suporte a diversos tipos de recursos. Para obter mais informações sobre recursos com suporte, consulte recursos com suporte no dimensionamento automático.
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>
Computar métricas para VMs com base no Resource Manager
Por padrão, as máquinas virtuais baseadas no Azure Resource Manager e os Conjuntos de Dimensionamento de Máquinas Virtuais 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 Dimensionamento de Máquinas Virtuais, a extensão de Diagnóstico do Azure também emite contadores de desempenho de SO convidado. Esses contadores são comumente conhecidos como "métricas de SO convidado". Você usa todas essas métricas em regras de dimensionamento automático.
Se você estiver usando Conjuntos de Dimensionamento de Máquinas Virtuais e não vir uma métrica específica listada, provavelmente ela está desabilitada em sua extensão de diagnóstico.
Se uma métrica específica não estiver sendo amostrada ou transferida na frequência desejada, você poderá atualizar a configuração de diagnóstico.
Se qualquer um dos casos anteriores for verdadeiro, consulte usar o PowerShell para habilitar o Diagnóstico do Microsoft Azure em uma máquina virtual executando 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 Resource Manager
As seguintes métricas de nível de host são emitidas por padrão para Conjuntos de Dimensionamento de Máquina Virtual e VM do Azure nas instâncias do Windows e do 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 escalonamento automático.
- Métricas de host para VMs Windows e Linux baseadas no Resource Manager
- Métricas de host para Conjuntos de Dimensionamento de Máquinas Virtuais Windows e Linux baseados no Resource Manager
Métricas de SO convidado de VMs do Windows baseadas no Resource Manager
Quando você cria uma VM no Azure, o diagnóstico é habilitado usando a extensão de Diagnóstico. A extensão Diagnostics emite um conjunto de métricas obtidas de dentro da VM. Isso significa que você pode dimensionar automaticamente as métricas que não são emitidas por padrão.
Você pode criar um alerta para as métricas a seguir:
Nome da métrica | Unidade |
---|---|
\Processor(_Total)% Tempo do Processador | Porcentagem |
\Processor(_Total)% Tempo Privilegiado | Porcentagem |
\Processor(_Total)% Tempo de Usuário | Porcentagem |
\Informações do Processador (_Total)\Frequência do Processador | Contagem |
\Sistema\Processos | Contagem |
\Processo(_Total)\Contagem de Thread | Contagem |
\Processo(_Total)\Contagem de Manipulador | Contagem |
\Memory% Bytes Confirmados em Uso | Porcentagem |
\Memória\Bytes Disponíveis | Bytes |
\Memória\Bytes Confirmados | Bytes |
\Memória\Limite de Confirmação | Bytes |
\Memória\Bytes de Pool Pagináveis | Bytes |
\Memória\Bytes de Pool Não Pagináveis | Bytes |
\PhysicalDisk(_Total)% Tempo de Disco | Porcentagem |
\PhysicalDisk(_Total)% Tempo de Leitura de Disco | Porcentagem |
\PhysicalDisk(_Total)% Tempo de Gravação de Disco | Porcentagem |
\Disco físico(_Total)\Transferências do disco/seg | 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 | Contagem |
\PhysicalDisk(_Total)\Comprimento Médio da Fila de Leitura de Disco | Contagem |
\PhysicalDisk(_Total)\Comprimento Médio da Fila de Gravação de Disco | Contagem |
\LogicalDisk(_Total)% Espaço Livre | Porcentagem |
\LogicalDisk(_Total)\Megabytes Livres | Contagem |
Métricas de SO convidado de VMs Linux
Quando você cria uma VM no Azure, o diagnóstico é habilitado por padrão usando a extensão de diagnóstico.
Você pode criar um alerta para as métricas a seguir:
Nome da métrica | Unidade |
---|---|
\Memory\AvailableMemory | Bytes |
\Memory\PercentAvailableMemory | Porcentagem |
\Memory\UsedMemory | Bytes |
\Memory\PercentUsedMemory | Porcentagem |
\Memory\PercentUsedByCache | Porcentagem |
\Memory\PagesPerSec | CountPerSecond |
\Memory\PagesReadPerSec | CountPerSecond |
\Memory\PagesWrittenPerSec | CountPerSecond |
\Memory\AvailableSwap | Bytes |
\Memory\PercentAvailableSwap | Porcentagem |
\Memory\UsedSwap | Bytes |
\Memory\PercentUsedSwap | Porcentagem |
\Processor\PercentIdleTime | Porcentagem |
\Processor\PercentUserTime | Porcentagem |
\Processor\PercentNiceTime | Porcentagem |
\Processor\PercentPrivilegedTime | Porcentagem |
\Processor\PercentInterruptTime | Porcentagem |
\Processor\PercentDPCTime | Porcentagem |
\Processor\PercentProcessorTime | Porcentagem |
\Processor\PercentIOWaitTime | Porcentagem |
\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 | Contagem |
\NetworkInterface\BytesTransmitted | Bytes |
\NetworkInterface\BytesReceived | Bytes |
\NetworkInterface\PacketsTransmitted | Contagem |
\NetworkInterface\PacketsReceived | Contagem |
\NetworkInterface\BytesTotal | Bytes |
\NetworkInterface\TotalRxErrors | Contagem |
\NetworkInterface\TotalTxErrors | Contagem |
\NetworkInterface\TotalCollisions | Contagem |
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. O nome da métrica é HttpQueueLength. A seção a seguir lista as métricas de farm de servidores (Serviço de Aplicativo) disponíveis.
Métricas de aplicativos Web
Para Aplicativos Web, você pode alertar ou dimensionar por essas métricas.
Nome da métrica | Unidade |
---|---|
CpuPercentage | Porcentagem |
MemoryPercentage | Porcentagem |
DiskQueueLength | Contagem |
HttpQueueLength | Contagem |
BytesReceived | Bytes |
BytesSent | Bytes |
Métricas de armazenamento usadas normalmente
Você pode dimensionar pelo comprimento da fila de Armazenamento do Microsoft 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 o limite for definido como 100, ocorrerá um dimensionado 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 soma 200 ou mais.
Defina essa configuração no portal do Azure no painel Configurações. Para Conjuntos de Dimensionamento de Máquinas Virtuais, você pode atualizar a configuração de dimensionamento automático no modelo do Azure Resource Manager 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 de dimensionamento automático metricTrigger
inclui:
"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 configuração metricTrigger
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 Barramento de Serviço usadas frequentemente
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 o limite for 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 soma 200 ou mais.
Para Conjuntos de Dimensionamento de Máquinas Virtuais, você pode atualizar a configuração de dimensionamento automático no modelo do Azure Resource Manager para usar metricName
como ActiveMessageCount
e passar a ID da fila do Barramento de Serviço como metricResourceUri
.
"metricName": "ActiveMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ServiceBus/namespaces/SB_NAMESPACE/queues/QUEUE_NAME"
Observação
Para o Barramento de Serviço, 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.