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: