Gracias al plugin virt de Collectd podemos monitorizar métricas básicas de los guests de un servidor KVM sin instalar un agente en cada uno de ellos. Las métricas a las que podemos acceder son las mismas que podemos ver desde la interfaz de virt-manager (CPU, memoria, red y disco)
Para comenzar a recolectar métricas procedemos a cargar el plugin en nuestro fichero collectd.conf:
LoadPlugin virt
Y configuramos la sección correspondiente:
<Plugin virt>
Connection "qemu:///system"
RefreshInterval 60
# Domain "jota-kvm-server1"
# BlockDevice "name:device"
# BlockDeviceFormat target
# BlockDeviceFormatBasename false
# InterfaceDevice "name:device"
# IgnoreSelected false
HostnameFormat name
ExtraStats "cpu_util"
InterfaceFormat name
PluginInstanceFormat name
</Plugin>
Si tenemos alguna duda de la URI de conexión, la podemos ver con el comando virsh uri:
[root@jota-kvm-server1 ~]# virsh uri qemu:///system
En mi caso cargo las métricas en InfluxDB. En la BBDD que tengamos de collectd comprobamos con show measurements las métricas que estamos recopilando y debemos ver las que compienzan por virt correspondientes a este plugin:
> show measurements name: measurements name ---- virt_read virt_rx virt_tx virt_value virt_write
Más tarde en Grafana puedo representar métricas de CPU, memoria, red y disco como comentaba anteriormente:


