Eu recomendo usar libvirt para gerenciar suas máquinas virtuais KVM. Isso torna a coisa toda muito mais fácil do que com o simples QEMU / KVM e fornece também boas estatísticas de rede, IO e de rede . Você vai gostar de ferramentas como virt-top e virt-manager que funcionam no topo da estrutura libvirt .
Para coletar as estatísticas da interface de máquina virtual de um script, você poderia usar a virsh interface de linha de comando para libvirt ou algumas das APIs de idioma. O formato do comando virsh é o seguinte:
virsh domifstat VMNAME IFNAME
.. onde VMNAME é o nome da sua máquina virtual e IFNAME é o nome de uma interface de rede (virtual). Para descobrir o nome de uma interface de rede, você pode fazer:
virsh dumpxml VMNAME
Na saída XML resultante, procure as definições da interface de rede. Procure uma linha como a seguinte:
<target dev='vnet0'/>
Nesse caso, seu IFNAME seria "vnet0".
Como alternativa, você pode usar um daemon de coleta de estatísticas, como collectd , que tem suporte para monitorar estatísticas libvirt , mas um script simples que às vezes armazena a saída de " virsh domifstat "é talvez o suficiente neste caso.