Configuración del daemon de métricas de host virtual en SUSE Linux Micro
- DESCRIPCIÓN
vhostmd
es una herramienta que recopila métricas de un host de máquina virtual y se las proporciona a las máquinas virtuales que se ejecutan en ese host.- INTENCIÓN
El artículo describe cómo instalar y configurar
vhostmd
para habilitar la recopilación de métricas.- ESFUERZO
Se tardan aproximadamente 15 minutos en leer el artículo.
- OBJETIVO
Hacer que la herramienta
vhostmd
se ejecute y recopile métricas.- REQUISITOS
Una instancia en ejecución de SUSE Linux Micro
Máquinas virtuales que se ejecuten en esa instancia
1 ¿Qué es un daemon de métricas de host virtual o vhostmd
? #
vhostmd
es un daemon que se ejecuta en un entorno host y proporciona un canal de comunicación de métricas entre el host y las máquinas invitadas. El daemon proporciona al administrador de la máquina virtual invitada un conjunto limitado de datos de uso de recursos del host (normalmente en modo de solo lectura), para ayudar a analizar los problemas con esa máquina invitada.
vhostdmd
escribe métricas periódicamente en un disco. Las métricas que se deben recopilar, junto con la frecuencia y la ubicación de almacenamiento de los datos, son parámetros configurables.
2 Obtención de vhostmd
#
Por defecto, vhostmd
no se incluye en las imágenes entregadas. Por lo tanto, debe instalarlo antes de usarlo:
Para instalar el daemon, ejecute:
>
sudo
transactional-update pkg install vhostmd
Rearranque el sistema para cambiar a la nueva instantánea.
Para iniciar el daemon, ejecute:
>
sudo
vhostmd
OPTIONSPuede utilizar las siguientes opciones para modificar el comportamiento del comando:
-v
: para obtener resultados detallados.--connect URI
: para pasar el URI del daemonlibvirt
a fin de establecer conexiones con el daemon.-f FILE_PATH
: para pasar un archivo de configuración alternativo. Para obtener detalles sobre la configuración, consulte la Sección 4, “Configuración devhostmd
”.-p PID_FILE
: para crear un archivo PID alternativo. El valor por defecto es/var/run/vhostmd.pid
.-u USERNAME
: para usar un usuario sin privilegios.
También puede ejecutar vhostmd
como servicio de systemd
:
>
sudo
systemctl enable --now vhostmd
Siempre que realice cambios en la configuración como se describe en la Sección 4, “Configuración de vhostmd
”, reinicie el servicio vhostmd
de la siguiente manera:
>
sudo
systemctl restart vhostmd
3 Suministro de métricas recopiladas a una máquina virtual #
Puede hacer que las métricas recopiladas sean visibles para máquinas virtuales concretas a fin de usarlas más tarde o, simplemente, para su lectura. Hay dos formas de hacerlo. Puede conectar el disco de métricas mediante el comando virsh
o ajustar la configuración del dominio.
Para conectar el disco de métricas en modo de solo lectura, ejecute virsh
de la siguiente manera:
>
sudo
virsh attach-disk VIRTUAL_MACHINE \
PATH_TO_METRICS_DISC --driver tap \
--subdriver aio --type disk --mode readonly
Para cambiar la configuración del dominio, siga estos pasos:
Ejecute el comando
>
sudo
virsh edit GUEST_NAME
Actualice la sección
<devices>
añadiendo el siguiente fragmento:<disk type='block' device='disk'> <source dev='/dev/shm/vhostmd0'/> <target dev='hdb' bus='ide'/> <readonly/> </disk>
Ajuste los valores
dev
ydbus
del destino.
4 Configuración de vhostmd
#
El archivo de configuración por defecto de vhostmd
se encuentra en /etc/vhostmd/vhostmd.conf
. Puede ajustar este archivo según sus necesidades. Se trata de un archivo XML que debe incluir el elemento <vhostmd>
. <vhostmd>
incluye <globals>
y <metrics>
, que se describen en las secciones siguientes. Utilice el archivo de configuración por defecto como referencia para los cambios personalizados.
4.1 El elemento <globals>
#
El elemento <globals>
define la ubicación de almacenamiento en disco, la frecuencia de actualización de los datos y el método de transporte de datos a las máquinas invitadas. Contiene los siguientes elementos:
-
<disk>
El elemento se usa para definir la vía del disco donde se almacenan los datos de métricas y también el tamaño del disco. Puede contener los siguientes elementos:
<name>
: define el nombre de la máquina virtual<path>
: es una vía absoluta donde se monta el disco<size>
: mediante el atributounit
, especifique el tamaño máximo de las métricas. Utilicek
para KB ym
para MB.
-
<update_period>
Define la frecuencia con la que se actualizan las métricas. El valor está en segundos.
-
<transport>
Especifica cómo se transportan las métricas a las máquinas invitadas. En el caso de SUSE Linux Micro, utilice el valor por defecto de
virtio
.-
<virtio>
Aquí puede utilizar los siguientes elementos:
<max_channels>
: especifica el número máximo quevirtion
puede utilizar entre los sistemas host e invitado.<expiration_time>
: define el intervalo de tiempo después del cual se cierra un canal devirtio
de una máquina virtual cuando está inactivo. El valor por defecto es tres veces el valor de<update_period>
.
4.2 El elemento <metrics>
#
El elemento <metrics>
contiene una lista de métricas que se deben recopilar. Cada métrica tiene dos atributos:
-
type
Describe el tipo de datos del valor de métrica. Los valores posibles son los siguientes:
int32
,uint32
,int64
,uint64
,real32
,real64
,string
,group
yxml
.Use
group
si una métrica devuelve varios valores.xml
es un formato versátil si la métrica devuelve un XML válido.-
context
Define dónde se recopila la métrica en particular. Los valores posibles son:
host
para las métricas recopiladas en la máquina hostvm
para las métricas recopiladas en la máquina invitada
Cada métrica debe tener un nombre exclusivo y un comando que se ejecute para registrar las métricas. La siguiente lista describe los posibles elementos para definir una métrica:
-
<name>
Define el nombre exclusivo de la variable. Si la métrica se recopila en una máquina virtual, puede utilizar los siguientes valores:
NAME
,ID
yUUID
. A continuación, esos valores se sustituyen por los valores reales de la máquina virtual que se está comprobando.-
<action>
Especifica un comando o guion que se debe ejecutar para recopilar una métrica. Por ejemplo, para recopilar el tiempo total de la CPU, utilice:
<action>virsh dominfo NAME | sed 's/: */:/' | \ gawk -F: '/CPU time/ {print $2;}'<action>
-
<variable>
Si una acción devuelve un grupo de valores, defina variables que almacenen datos concretos. El elemento debe tener definidos los siguientes atributos:
name
: especifica el nombre de una variabletype
: especifica el tipo de datos de la variable
5 ¿Cómo se almacenan las métricas recopiladas? #
vhostmd
almacena los datos de métricas recopilados en el disco de métricas en formato sin procesar. El disco contiene un encabezado de 32 bytes seguido de los datos de las métricas en formato XML.
5.1 Formato XML de las métricas #
Los resultados de las métricas recopiladas son similares a la definición de métricas configurada. El elemento <metric>
puede tener los siguientes atributos:
-
type
Indica el tipo de datos de la métrica en particular, por ejemplo,
string
.-
context
Identifica si la métrica se recopila en el host (
host
) o en una máquina virtual (vm
).-
id
Se utiliza en el contexto de
vm
. Indica el número de ID de la máquina virtual.-
uuid
Se utiliza en el contexto de
vm
. Transmite el identificador único universal de la máquina virtual.
El elemento <metric>
contiene los siguientes elementos:
-
<name>
Indica el nombre de la métrica.
-
<value>
Indica el valor real de la métrica.
Si se configura el tipo de métrica group
, cada <variable>
configurada se almacena como una métrica independiente en el resultado. Por ejemplo, el siguiente fragmento de configuración:
<metric type="group" context="host"> <name>PageRates</name> <action>pagerate.pl</action> <variable name="PageInRate" type="uint64"/> <variable name="PageFaultRate" type="uint64"/> </metric>
Da como resultado el siguiente fragmento:
<metric type='uint64' context='host'> <name>PageInRate</name> <value>0.000000</value> </metric> <metric type='uint64' context='host'> <name>PageFaultRate</name> <value>0.000000</value> </metric>
6 Información legal #
Copyright © 2006 –2025 SUSE LLC y colaboradores. Reservados todos los derechos.
Está permitido copiar, distribuir y modificar este documento según los términos de la licencia de documentación gratuita GNU, versión 1.2 o (según su criterio) versión 1.3. Esta información de copyright y licencia deberán permanecer inalterados. En la sección titulada “GNU Free Documentation License” (Licencia de documentación gratuita GNU) se incluye una copia de la versión 1.2 de la licencia.
Para obtener información sobre las marcas comerciales de SUSE, consulte https://www.suse.com/company/legal/. Todas las marcas comerciales de otros fabricantes son propiedad de sus respectivas empresas. Los símbolos de marcas comerciales (®, ™, etc.) indican marcas comerciales de SUSE y sus filiales. Los asteriscos (*) indican marcas comerciales de otros fabricantes.
Toda la información recogida en esta publicación se ha compilado prestando toda la atención posible al más mínimo detalle. Sin embargo, esto no garantiza una precisión total. Ni SUSE LLC, ni sus filiales, ni los autores o traductores serán responsables de los posibles errores o las consecuencias que de ellos pudieran derivarse.