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 de host para VMs Windows e Linux baseadas no Gerenciador de Recursos
- Métricas de host para conjuntos de dimensionamento de máquinas virtuais Windows e Linux baseados no Gerenciador de Recursos
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.