Métricas de virtualização: o que medir em VMs e hosts

Métricas de Virtualização

As métricas de virtualização respondem a uma pergunta operacional que servidores físicos nunca enfrentaram: como o hypervisor divide o hardware entre dezenas de cargas que disputam o mesmo socket, banco de memória e array de storage. Sem essa visibilidade, a operação fica cega à degradação silenciosa que precede o ticket.

Ambientes virtualizados modernos rodam VMware vSphere, Microsoft Hyper-V, KVM e Proxmox em paralelo, muitas vezes no mesmo data center. Cada hypervisor expõe métricas com nomes diferentes, ainda que meçam o mesmo fenômeno. Sem um catálogo claro do que olhar em cada camada, alertas falham e ajustes de capacidade viram chute baseado em suposições.

Este guia organiza as métricas de virtualização por camada (host físico, hypervisor, VM/guest, storage compartilhado e rede virtual), explica os thresholds que sinalizam contenção real e mapeia os nomes equivalentes entre VMware, Hyper-V e KVM. Em seguida, percorre os erros comuns que tornam dashboards bonitos mas inúteis na prática operacional diária.

 

O que são métricas de virtualização e por que diferem de servidores físicos

Métricas de virtualização medem como o hypervisor compartilha recursos físicos entre múltiplas máquinas virtuais. No servidor físico tradicional, basta acompanhar CPU, memória, IOPS e rede. No ambiente virtualizado, esses números precisam de cruzamento entre host e guest, porque o sistema operacional dentro da VM enxerga apenas uma fatia do hardware real.

Por isso, há sinais que só aparecem na camada do hypervisor. CPU ready time, balloon driver, swap activity, transparent page sharing e queue depth de datastore não existem fora da virtualização. Quando o monitoramento se limita aos contadores do guest OS, falhas como contenção de scheduler ou pressão de memória física passam batidas até o usuário reclamar da lentidão.

Em síntese, monitorar virtualização exige olhar duas coisas ao mesmo tempo: como o host distribui o hardware e como cada VM consome a sua parte. Máquinas virtuais compartilham o substrato físico de formas que mudam com o vendor, mas todas geram métricas próprias da camada de orquestração.

 

As quatro camadas onde as métricas vivem

Métricas de virtualização se distribuem em quatro camadas, cada uma com instrumentação própria. O host físico expõe sensores de hardware (temperatura, ventilação, integridade de discos) e contadores de CPU e memória física. O hypervisor agrega esses dados e adiciona métricas de scheduling, alocação e overcommit.

Acima do hypervisor, cada VM expõe métricas de utilização que o guest OS percebe, geralmente subestimando contenção, porque o sistema dentro da VM não enxerga as filas de scheduler do host. Por outro lado, storage compartilhado (datastore VMware, CSV Hyper-V, pool Proxmox) e rede virtual (vSwitch, NIC team) têm métricas próprias que cruzam todas as camadas anteriores.

 

Camada Onde medir e como verificar Por que importa
Host físico Sensores BMC, IPMI e contadores cpu.usage, mem.consumed Falha de hardware afeta todas as VMs hospedadas
Hypervisor vCenter, SCVMM, Proxmox API; métricas de scheduler e alocação Revela contenção que não aparece no guest OS
VM / guest OS Agentes Windows ou Linux dentro da VM; perfmon e /proc/stat Mostra impacto real percebido pela aplicação
Storage compartilhado Datastore, CSV, ZFS pool; latência por LUN e throughput Gargalo invisível afeta todas as VMs do datastore
Rede virtual vSwitch, NIC team, distributed switch; drops e throughput por porta Saturação afeta latência intra-host e inter-host

Cada camada tem ferramentas e cadência de coleta distintas. O monitoramento de servidores tradicional cobre apenas as camadas física e do guest OS. Ambientes virtualizados exigem instrumentação adicional no hypervisor para correlacionar um pico de CPU ready com a latência de datastore observada no storage compartilhado.

 

Métricas de CPU em ambientes virtualizados

A utilização de CPU física e a contagem de vCPUs alocadas formam apenas a superfície. A métrica decisiva em virtualização é o CPU ready time, que mede quanto tempo uma VM ficou na fila do scheduler esperando ciclos disponíveis no host físico.

Em VMware esse contador aparece como cpu.ready.summation; em Hyper-V, como CPU Wait Time per Dispatch; em KVM, como steal time exposto pelo guest. Valores acima de 5% indicam contenção persistente e pedem revisão do dimensionamento ou redistribuição de carga entre hosts do cluster.

CPU Ready e Steal time não são exatamente a mesma métrica. Ambos refletem contenção de CPU no host, mas o CPU Ready (%RDY, em ms) é medido pelo hypervisor e o Steal time (%st) é medido dentro do sistema operacional convidado. São duas perspectivas, host e guest, do mesmo overcommit.

Por outro lado, o overcommit ratio (vCPUs alocadas divididas pelas pCPUs do host) mostra quanta concorrência existe no scheduler. Ratios de 4:1 funcionam bem em workloads leves e travam em bancos de dados. O monitoramento de CPU em virtualização precisa cruzar utilização do guest com ready time do host para diferenciar carga real de fila.

Vale destacar três contadores adicionais: CPU costop (quando uma vCPU é segurada porque outras vCPUs da mesma VM não estão prontas), CPU swap wait e %RUN vs %WAIT em esxtop. Esses três sinais mostram fadiga de SMP e ajudam a justificar reduzir vCPUs em vez de adicioná-las.

 

Métricas de memória: ballooning, swap e overcommit

Memória em virtualização raramente respeita a aritmética simples de RAM física dividida por VMs. O hypervisor usa três técnicas para multiplicar a capacidade aparente: ballooning, transparent page sharing e swap host-level. Cada técnica gera métricas próprias que indicam pressão de memória antes do guest OS reportar falta de RAM.

O balloon driver reivindica memória do guest quando o host enfrenta escassez. Em VMware, a métrica mem.vmmemctl.average sinaliza quanta memória o balloon recolheu; em Hyper-V, o contador Dynamic Memory Balancer reporta o mesmo fenômeno. Valores persistentes acima de zero significam que o host está sob pressão e a VM perderá RAM se a situação piorar.

O swap host-level acontece quando ballooning não basta e o hypervisor escreve páginas de memória em disco. A métrica mem.swapped em VMware e o uso ativo do pagefile.sys no servidor Hyper-V revelam degradação severa, porque latência de RAM cai de nanossegundos para milissegundos. Em síntese, swap host é sintoma de overcommit mal calibrado.

Para diagnosticar pressão real, compare memória consumed (o que o host efetivamente alocou) com memória active (o que a VM realmente acessa). Quando active sobe enquanto consumed estagna, balloon ou swap já estão atuando. Ferramentas modernas correlacionam esses contadores automaticamente; outras exigem cruzamento manual via esxtop ou PowerShell.

A documentação oficial da Microsoft mostra exemplos práticos de dashboards de performance de VMs no Azure Monitor e oferece referência cruzada para deployments Hyper-V on-premises.

 

Métricas de storage e IOPS em datastores compartilhados

Storage é o gargalo mais frequente em ambientes virtualizados, especialmente quando vários workloads compartilham o mesmo datastore. As três métricas-pilares de storage são latência, throughput e IOPS. Cada uma revela um aspecto diferente da saúde do array.

Latência mede o tempo entre o pedido de I/O e a resposta do datastore. Valores acima de 20 ms em workloads OLTP indicam saturação; abaixo de 5 ms é o esperado em arrays SSD. Throughput, medido em MB/s, mostra a banda total consumida e ajuda a diferenciar leitura sequencial de escrita aleatória.

IOPS, ou operações de I/O por segundo, captura quantos pedidos discretos o storage atende. Combinado com latência, IOPS revela se o array está saturado: alto IOPS com latência crescente significa fila no controlador. Por isso, queue depth complementa o trio: depths acima de 32 sustentadas indicam que aplicações esperam o array.

Provisionamento thin vs thick gera outra dimensão de métricas. Thin growth rate por datastore mostra quanto espaço lógico vira espaço real ao longo do tempo. Em ambientes com thin provisioning agressivo, esquecer essa métrica resulta em datastore lotado em produção, com todas as VMs do datastore travando ao mesmo tempo.

O Computer Weekly publicou um guia técnico que aprofunda essas três grandezas com exemplos de arrays modernos e comparativos entre flash e disco mecânico.

 

Métricas de rede virtual e vSwitches

Rede virtual adiciona uma camada de roteamento dentro do host que não existe no servidor físico. O vSwitch (ou Hyper-V Virtual Switch ou Open vSwitch em KVM) move pacotes entre VMs sem tocar a NIC física quando o destino é local. Isso introduz métricas próprias: pacotes intra-host, drops por porta e saturação de uplink.

Throughput por vSwitch indica quanto a rede virtual movimenta de dados. Drops por porta sinalizam buffer overflow no switch, geralmente por VMs ruidosas ou uplinks subdimensionados. esxtop com a tecla n exibe essas estatísticas em VMware; Get-VMSwitch e contadores de PerfMon cumprem o mesmo papel em Hyper-V.

Em Proxmox VE e outras distribuições KVM, Open vSwitch expõe métricas via ovs-vsctl e ovs-ofctl. Cabe ressaltar que ambientes com VLANs virtuais separando tenants exigem monitoramento por VLAN, não apenas por porta física, porque um único uplink saturado afeta múltiplos clientes ao mesmo tempo.

 

Tabela cruzada: nomes equivalentes em VMware, Hyper-V e KVM/Proxmox

Cada hypervisor batiza a mesma métrica de um jeito diferente. Dashboards multi-vendor frequentemente perdem sinal porque comparam nomes em vez de fenômenos. A tabela abaixo aproxima as métricas equivalentes para que VMware, Hyper-V e KVM apareçam lado a lado no mesmo painel operacional.

 

Fenômeno medido VMware vSphere Microsoft Hyper-V KVM / Proxmox
Contenção de CPU: %RDY / CPU Ready (hypervisor, host) e Steal time %st (guest OS) cpu.ready.summation (host) CPU Wait Time per Dispatch (host) steal time (guest OS)
Memória reivindicada pelo host mem.vmmemctl.average Dynamic Memory Balancer virtio-balloon stats
Swap no host mem.swapped.average Uso ativo de pagefile.sys vmstat si/so
Latência de datastore datastore.totalReadLatency Storage QoS Latency iostat await
Queue depth do storage disk.queueLatency Avg Disk Queue Length iostat avgqu-sz
Drops em rede virtual net.droppedRx VMSwitch Packets Dropped ovs-ofctl dump-ports

Vale destacar que monitoramento de VMware e monitoramento de Hyper-V oferecem contadores nativos detalhados, mas exigem ferramentas externas para correlacionar com KVM. Plataformas que consolidam essas métricas em um único painel eliminam a comparação manual entre nomes e reduzem o tempo de diagnóstico em incidentes multi-vendor.

A documentação técnica oficial da VMware lista centenas de contadores adicionais para quem precisa de granularidade extra na investigação de incidentes.

 

Thresholds operacionais e correlação multi-camada

Thresholds servem para transformar números em alertas acionáveis. Em virtualização, os valores variam por hardware e workload, mas existem faixas consensuais que servem como ponto de partida para qualquer baseline. A tabela abaixo resume três níveis operacionais e o que cada um indica.

 

Métrica OK Atenção Crítico
CPUCPU ready < 2% 2–5% > 5%
MemóriaBalloon active 0 MB < 5% da RAM > 5% sustentado
StorageLatência datastore < 10 ms 10–20 ms > 20 ms
RedevSwitch drops/min 0 1–10 > 10 contínuos

Esses valores funcionam como ponto de partida. Antes de tudo, baselines do ambiente refinam os thresholds, porque workloads de banco de dados toleram menos CPU ready que servidores de arquivo. O monitoramento em tempo real 24×7 ajuda a coletar dados durante semanas e calibrar limites realistas em vez de adotar valores padronizados.

Correlacionar métricas entre camadas costuma resolver mais do que ajustar um threshold isolado. CPU ready de 8% sozinho pode indicar overcommit; combinado com latência de datastore acima de 15 ms, sugere que o storage está atrasando I/O e segurando a VM. Em síntese, os melhores diagnósticos vêm de cruzamentos, não de contadores isolados em silos.

 

Cinco erros comuns ao monitorar virtualização

Equipes de operação repetem alguns padrões de erro ao instrumentar ambientes virtualizados. Conhecer esses erros economiza meses de tentativa e erro com dashboards inúteis. A lista abaixo resume os cinco mais frequentes em ambientes corporativos brasileiros que a OpServices acompanha.

 

1. Confiar apenas em métricas do guest OS

O guest enxerga a fatia de CPU e memória que o hypervisor entrega, não a contenção real. Monitoramento que se limita a agentes Windows ou Linux dentro da VM perde CPU ready, balloon e queue depth. Por isso, instrumente sempre as duas camadas em paralelo: hypervisor para contenção, guest para impacto na aplicação.

 

2. Adotar thresholds genéricos sem baseline

Adotar 5% de CPU ready como crítico em qualquer workload é heurística, não engenharia. Bancos de dados sentem 3%; servidores de aplicação aguentam 8%. Em contrapartida, baselines coletados durante 30 dias calibram thresholds que reduzem significativamente os falsos positivos (sem percentual verificado) segundo dados operacionais consolidados de ambientes em produção.

 

3. Esquecer thin provisioning crescente

Thin provisioning permite alocar mais espaço lógico do que existe fisicamente. Sem monitorar o crescimento real por datastore, o array enche silenciosamente até o dia em que uma VM pede I/O e descobre que não há espaço. Por isso, métricas de thin growth rate por LUN são tão importantes quanto IOPS e latência.

 

4. Amostrar com intervalos longos demais

Coletar métricas a cada 5 minutos suaviza picos que duraram 30 segundos mas paralisaram a aplicação. O intervalo recomendado pela VMware para métricas real-time é 20 segundos; em produção, 60 segundos costuma equilibrar precisão e volume de dados. Intervalos acima de 5 minutos só servem para análise histórica de tendência.

 

5. Não correlacionar host, VM e storage

Dashboards separados por camada escondem a relação causal entre fenômenos. Quando o operador vê CPU ready alto numa aba e latência de storage alta em outra, não percebe que são o mesmo incidente. Plataformas modernas correlacionam essas métricas no mesmo timestamp e mostram a causa raiz em vez de uma sopa de gráficos.

 

Monitoramento & Disponibilidade

Monitoramos sua infraestrutura 24×7, antes que o problema chegue ao usuário.

Detectamos falhas em servidores, aplicações e redes em tempo real com alertas inteligentes, dashboards e relatórios de SLA.

Fale com um Especialista →

 

Conclusão

Métricas de virtualização não são contadores de servidor adaptados ao mundo virtual. São instrumentos próprios da camada de orquestração que revelam contenção, overcommit e fadiga de scheduler invisíveis no guest OS. Estruturar o monitoramento por camadas (host, hypervisor, VM, storage, rede) e cruzar nomes entre VMware, Hyper-V e KVM transforma alertas em diagnósticos acionáveis.

Por fim, thresholds eficientes nascem de baselines, não de valores tabulados. Cada workload, cada hypervisor e cada array tem assinatura própria que só aparece após semanas de coleta consistente. Para implantar ou auditar sua estratégia de monitoramento com apoio especializado, fale com um especialista da OpServices e estruture um plano concreto.

Perguntas Frequentes

O que é métrica de virtualização?
Métrica de virtualização é um indicador operacional que mede como o hypervisor compartilha recursos físicos entre máquinas virtuais. Diferente de métricas tradicionais de servidor, ela captura fenômenos próprios da camada de orquestração, como CPU ready time, ballooning de memória, swap host-level e queue depth de datastore. Essas métricas existem porque várias VMs disputam o mesmo hardware ao mesmo tempo. Sem elas, contenção e overcommit ficam invisíveis no monitoramento que olha apenas o guest OS. Em síntese, métricas de virtualização revelam o que acontece entre o ferro físico e a aplicação dentro da VM.
Quais são as principais métricas para monitorar máquinas virtuais?
As principais métricas dividem-se em quatro grupos. Em CPU, monitore utilização, CPU ready time e overcommit ratio. Em memória, acompanhe consumed vs active, balloon driver e swap host-level. Em storage, latência de datastore, IOPS, throughput e queue depth são essenciais. Em rede, throughput por vSwitch, drops por porta e saturação de uplink mostram saúde da camada virtual. Cabe ressaltar que cada hypervisor batiza essas métricas de jeitos diferentes: cpu.ready.summation em VMware corresponde ao CPU Wait Time per Dispatch em Hyper-V e ao steal time em KVM. Cruzar os nomes evita cegueira por dashboards desalinhados.
O que é CPU ready em virtualização?
CPU ready é o tempo que uma VM passou na fila do scheduler do hypervisor aguardando ciclos de processador disponíveis no host físico. Em VMware aparece como cpu.ready.summation; em Hyper-V, como CPU Wait Time per Dispatch; em KVM, como steal time. Valores acima de 5% em períodos sustentados indicam contenção real e exigem ação: reduzir vCPUs alocadas, redistribuir VMs entre hosts ou aumentar capacidade do cluster. Por outro lado, picos isolados de CPU ready são normais em workloads variáveis e não justificam mudança de capacidade. CPU Ready e Steal time não são exatamente a mesma métrica: o CPU Ready (%RDY, em ms) é medido pelo hypervisor e o Steal time (%st) é medido dentro do sistema operacional convidado. São duas perspectivas, host e guest, do mesmo overcommit.
Como evitar overcommit de memória em VMs?
Para evitar problemas de overcommit de memória, monitore três métricas em paralelo: balloon active (memória reivindicada pelo host), swap host-level e a razão entre memória active e consumed. Quando balloon começa a operar continuamente, o host está sob pressão. Por isso, mantenha o overcommit ratio em níveis compatíveis com o workload, porque bancos de dados toleram overcommit menor que servidores de arquivo. Dimensionar VMs com memória reserva (memory reservation) garante RAM mínima para cargas críticas, evitando que ballooning afete aplicações sensíveis a latência.
Qual a diferença entre monitorar host físico e VM?
O host físico expõe contadores de hardware (CPU socket, RAM física, NICs) e métricas de scheduling do hypervisor. A VM expõe contadores do guest OS, que enxerga apenas a fatia de recursos entregue pelo hypervisor. Por isso, o guest pode reportar CPU em 60% enquanto o host real está saturado e segurando ciclos. Monitorar apenas o guest perde contenção; monitorar apenas o host perde impacto na aplicação. Em síntese, ambientes virtualizados exigem instrumentação simultânea nas duas camadas para que alertas reflitam tanto a causa raiz quanto o sintoma percebido pelo usuário.

Trabalho há mais de 15 anos no mercado B2B de tecnologia e hoje atuo como Gerente de Marketing da OpServices e Líder em Projetos de Governança para Inteligência Artificial.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress