Plugin virt de Collectd para monitorizar guests KVM

By | September 15, 2019

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: