Configuration du daemon de métriques d'hôte virtuel sous SUSE Linux Micro
- CONTENU
Le daemon de métriques d'hôte virtuel
vhostmd
est un outil qui collecte des métriques à partir d'un hôte de machines virtuelles et fournit ces métriques aux machines virtuelles s'exécutant sur cet hôte.- MOTIF
Cet article décrit comment installer et configurer
vhostmd
pour activer la collecte de métriques.- EFFORT
La lecture de l'article prend environ 15 minutes.
- OBJECTIF
L'outil
vhostmd
s'exécutera et collectera des métriques.- CONDITIONS REQUISES
Une instance en cours d'exécution de SUSE Linux Micro.
Des machines virtuelles s'exécutant sur cette instance
1 Qu'est-ce qu'un daemon de métriques d'hôte virtuel, ou vhostmd
? #
vhostmd
est un daemon qui s'exécute dans un environnement hôte et fournit un canal de communication de métriques entre l'hôte et les machines invitées. Le daemon fournit à l'administrateur de la machine invitée un ensemble limité de données d'utilisation des ressources de l'hôte (généralement en mode lecture seule), afin de faciliter l'analyse des problèmes de la machine invitée.
vhostdmd
écrit périodiquement des métriques sur un disque. Les métriques à collecter, ainsi que la fréquence et l'emplacement de stockage des données, sont des paramètres configurables.
2 Obtention de vhostmd
#
Par défaut, vhostmd
n'est pas inclus dans les images fournies. Par conséquent, vous devez l'installer avant de l'utiliser :
Installez le daemon en exécutant :
>
sudo
transactional-update pkg install vhostmd
Redémarrez votre système pour passer au nouvel instantané.
Démarrez le daemon en exécutant :
>
sudo
vhostmd
OPTIONSVous pouvez utiliser les options suivantes pour modifier le comportement de la commande :
-v
: pour une sortie verbeuse--connect URI
: pour transmettre l'URI du daemonlibvirt
afin d'établir des connexions au daemon-f FILE_PATH
: pour transmettre un autre fichier de configuration. Pour plus d'informations concernant la configuration, reportez-vous à la Section 4, « Configuration devhostmd
».-p PID_FILE
: pour créer un autre fichier PID. La valeur par défaut est/var/run/vhostmd.pid
.-u USERNAME
: pour employer un utilisateur sans privilège
Vous pouvez également exécuter vhostmd
en tant que service systemd
:
>
sudo
systemctl enable --now vhostmd
Chaque fois que vous modifiez la configuration comme décrit à la Section 4, « Configuration de vhostmd
», redémarrez le service vhostmd
comme suit :
>
sudo
systemctl restart vhostmd
3 Fourniture de métriques collectées à une machine virtuelle #
Vous pouvez rendre les métriques collectées visibles par des machines virtuelles particulières pour utilisation ultérieure ou simplement pour lecture. Pour ce faire, vous avez deux possibilités. Vous pouvez soit attacher le disque de métriques à l'aide de la commande virsh
, soit ajuster la configuration du domaine.
Pour attacher le disque de métriques en mode lecture seule, exécutez virsh
comme suit :
>
sudo
virsh attach-disk VIRTUAL_MACHINE \
PATH_TO_METRICS_DISC --driver tap \
--subdriver aio --type disk --mode readonly
Pour modifier la configuration du domaine, procédez comme suit :
Exécutez la commande :
>
sudo
virsh edit GUEST_NAME
Mettez à jour la section
<devices>
en ajoutant l'extrait de code suivant :<disk type='block' device='disk'> <source dev='/dev/shm/vhostmd0'/> <target dev='hdb' bus='ide'/> <readonly/> </disk>
Ajustez les valeurs
dev
etdbus
de la cible.
4 Configuration de vhostmd
#
Le fichier de configuration par défaut de vhostmd
se trouve dans /etc/vhostmd/vhostmd.conf
. Vous pouvez ajuster ce fichier en fonction de vos besoins. Le fichier de configuration est un fichier XML qui doit inclure l'élément <vhostmd>
. <vhostmd>
inclut ensuite les éléments <globals>
et <metrics>
qui sont décrits dans les sections suivantes. Utilisez le fichier de configuration par défaut comme référence pour les modifications personnalisées.
4.1 L'élément <globals>
#
L'élément <globals>
définit l'emplacement de stockage sur disque, la fréquence de mise à jour des données et la méthode de transport des données vers les machines invitées. Il contient les éléments suivants :
-
<disk>
L'élément est utilisé pour définir le chemin du disque sur lequel les données de métrique sont stockées, ainsi que la taille du disque. Il peut contenir les éléments suivants :
<name>
: définit le nom du disque.<path>
: un chemin absolu où le disque est monté.<size>
: à l'aide de l'attributunit
, spécifiez la taille maximale des métriques. Utilisezk
pour Ko etm
pour Mo.
-
<update_period>
Définit la fréquence de mise à jour des métriques. La valeur est en seconde.
-
<transport>
Spécifie comment les métriques sont transportées vers les machines invitées. Dans le cas de SUSE Linux Micro, utilisez la valeur par défaut
virtio
.-
<virtio>
Vous pouvez utiliser ici les éléments suivants :
<max_channels>
: spécifie le nombre maximal quevirtion
peut utiliser entre les systèmes hôte et invité.<expiration_time>
: définit l'intervalle de temps après lequel un canalvirtio
d'une machine virtuelle est fermé lorsqu'il est inactif. La valeur par défaut est trois fois la valeur<update_period>
.
4.2 L'élément <metrics>
#
L'élément <metrics>
contient une liste de métriques à collecter. Chaque métrique possède deux attributs :
-
type
Décrit le type de données de la valeur des métriques. Les valeurs possibles sont les suivantes :
int32
,uint32
,int64
,uint64
,real32
,real64
,string
,group
etxml
.Utilisez
group
lorsqu'une métrique renvoie plusieurs valeurs.xml
est une forme polyvalente lorsque la métrique renvoie une valeur XML valide.-
context
Définit où la métrique en question est collectée. Les valeurs possibles sont :
host
pour les métriques collectées sur la machine hôte ;vm
pour les métriques collectées sur la machine invitée.
Chaque métrique doit avoir un nom unique et une commande à exécuter pour enregistrer les métriques. La liste suivante décrit les éléments possibles pour définir une métrique :
-
<name>
Définit le nom unique de la variable. Si la métrique est collectée sur une machine virtuelle, vous pouvez utiliser les valeurs suivantes ici :
NAME
,ID
etUUID
. Ces valeurs sont ensuite remplacées par les valeurs réelles de la machine virtuelle en cours de vérification.-
<action>
Spécifie une commande ou un script à exécuter pour collecter une métrique. Par exemple, pour obtenir le temps CPU total, utilisez :
<action>virsh dominfo NAME | sed 's/: */:/' | \ gawk -F: '/CPU time/ {print $2;}'<action>
-
<variable>
Si une opération renvoie un groupe de valeurs, définissez des variables qui stockent des données particulières. L'élément doit avoir les attributs suivants définis :
name
: spécifiez le nom d'une variable.type
: spécifiez le type de données de la variable.
5 Comment les métriques collectées sont-elles stockées ? #
vhostmd
stocke les données de métriques collectées sur le disque de métriques dans un format brut. Le disque contient un en-tête de 32 octets suivi des données de métrique au format XML.
5.1 Format XML de métriques #
Les résultats des métriques collectées sont similaires à la définition des métriques configurées. L'élément <metric>
peut avoir les attributs suivants :
-
type
Indique le type de données de la métrique en question, par exemple,
string
.-
context
Identifie si la métrique est collectée sur l'hôte (
host
) ou sur une machine virtuelle (vm
).-
id
Utilisé dans le contexte
vm
. Transmet le numéro d'ID de la machine virtuelle.-
uuid
Utilisé dans le contexte
vm
. Transmet l'identifiant unique universel (UUID) de la machine virtuelle.
L'élément <metric>
contient les éléments suivants :
-
<name>
Transmet le nom de la métrique.
-
<value>
Transmet la valeur réelle des métriques.
Lorsque le type group
d'une métrique a été configuré, chaque valeur <variable>
configurée est stockée en tant que métrique distincte dans le résultat. Il peut s'agir par exemple de l'extrait de code de configuration suivant :
<metric type="group" context="host"> <name>PageRates</name> <action>pagerate.pl</action> <variable name="PageInRate" type="uint64"/> <variable name="PageFaultRate" type="uint64"/> </metric>
Donne l'extrait de code suivant :
<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 Mentions légales #
Copyright © 2006–2025 SUSE LLC et contributeurs. Tous droits réservés.
Il est autorisé de copier, distribuer et/ou modifier ce document conformément aux conditions de la licence de documentation libre GNU version 1.2 ou (à votre discrétion) 1.3, avec la section permanente qu'est cette mention de copyright et la licence. Une copie de la version de licence 1.2 est incluse dans la section intitulée « Licence de documentation libre GNU ».
Pour les marques commerciales SUSE, consultez le site Web https://www.suse.com/company/legal/. Toutes les autres marques de fabricants tiers sont la propriété de leur détenteur respectif. Les symboles de marque (®, ™, etc.) désignent des marques commerciales de SUSE et de ses sociétés affiliées. Des astérisques (*) désignent des marques commerciales de fabricants tiers.
Toutes les informations de cet ouvrage ont été regroupées avec le plus grand soin. Cela ne garantit cependant pas sa complète exactitude. Ni SUSE LLC, ni les sociétés affiliées, ni les auteurs, ni les traducteurs ne peuvent être tenus responsables des erreurs possibles ou des conséquences qu'elles peuvent entraîner.