Configuración del daemon de métricas de host virtual en SUSE Linux Micro
- DESCRIPCIÓN
vhostmdes 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
vhostmdpara habilitar la recopilación de métricas.- ESFUERZO
Se tardan aproximadamente 15 minutos en leer el artículo.
- OBJETIVO
Hacer que la herramienta
vhostmdse 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:
>sudotransactional-update pkg install vhostmdRearranque el sistema para cambiar a la nueva instantánea.
Para iniciar el daemon, ejecute:
>sudovhostmdOPTIONSPuede utilizar las siguientes opciones para modificar el comportamiento del comando:
-v: para obtener resultados detallados.--connect URI: para pasar el URI del daemonlibvirta 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:
>sudosystemctl 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:
>sudosystemctl 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:
>sudovirsh 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
>sudovirsh edit GUEST_NAMEActualice 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
devydbusdel 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. Utilicekpara KB ympara 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 quevirtionpuede utilizar entre los sistemas host e invitado.<expiration_time>: define el intervalo de tiempo después del cual se cierra un canal devirtiode 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,groupyxml.Use
groupsi una métrica devuelve varios valores.xmles 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:
hostpara las métricas recopiladas en la máquina hostvmpara 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,IDyUUID. 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.