Configurando o daemon de métricas de host virtual no SUSE Linux Micro
- O QUE É?
O
vhostmd
é uma ferramenta que coleta métricas de um host de máquina virtual e as fornece para as máquinas virtuais executadas nesse host.- POR QUÊ?
O artigo descreve como instalar e configurar o
vhostmd
para habilitar a coleta de métricas.- DEDICAÇÃO
A leitura do artigo leva aproximadamente 15 minutos.
- META
Você terá a ferramenta
vhostmd
em execução para coletar métricas.- REQUISITOS
Uma instância em execução do SUSE Linux Micro
Máquinas virtuais em execução na instância
1 O que é um daemon de métricas de host virtual, também conhecido como vhostmd
? #
vhostmd
é um daemon executado em um ambiente de host que oferece um canal de comunicação de métricas entre as máquinas host e convidadas. O daemon fornece ao administrador da máquina convidada um conjunto limitado de dados de uso de recursos do host (geralmente no modo apenas leitura), para ajudar a analisar problemas com a máquina convidada.
Periodicamente, o vhostdmd
grava as métricas em um disco. As métricas que serão coletadas, junto com a frequência e o local de armazenamento dos dados, são parâmetros configuráveis.
2 Obtendo vhostmd
#
Por padrão, o vhostmd
não está incluído nas imagens fornecidas. Portanto, você deve instalá-lo antes de usá-lo:
Execute o seguinte para instalar o daemon:
>
sudo
transactional-update pkg install vhostmd
Reinicialize o sistema para alternar para o novo instantâneo.
Execute o seguinte para iniciar o daemon:
>
sudo
vhostmd
OPTIONSVocê pode usar as seguintes opções para modificar o comportamento do comando:
-v
: para uma saída verbosa--connect URI
: para passar o URI do daemonlibvirt
para estabelecer conexões com ele-f FILE_PATH
: para passar um arquivo de configuração alternativo. Para obter detalhes sobre a configuração, consulte a Seção 4, “Configuração dovhostmd
”.-p PID_FILE
: para criar um arquivo PID alternativo. O padrão é/var/run/vhostmd.pid
.-u USERNAME
: para utilizar um usuário sem privilégio
Você também pode executar o vhostmd
como serviço do systemd
:
>
sudo
systemctl enable --now vhostmd
Sempre que você fizer mudanças na configuração, conforme descrito na Seção 4, “Configuração do vhostmd
”, reinicie o serviço vhostmd
da seguinte maneira:
>
sudo
systemctl restart vhostmd
3 Fornecendo métricas coletadas a uma máquina virtual #
Você pode tornar as métricas coletadas visíveis para máquinas virtuais específicas para uso posterior ou apenas para leitura. Há duas maneiras de fazer isso. Você pode anexar o disco de métricas usando o comando virsh
ou ajustar a configuração do domínio.
Para anexar o disco de métricas no modo apenas leitura, execute o virsh
da seguinte maneira:
>
sudo
virsh attach-disk VIRTUAL_MACHINE \
PATH_TO_METRICS_DISC --driver tap \
--subdriver aio --type disk --mode readonly
Para mudar a configuração do domínio, faça o seguinte:
Execute o comando
>
sudo
virsh edit GUEST_NAME
Atualize a seção
<devices>
adicionando o seguinte trecho:<disk type='block' device='disk'> <source dev='/dev/shm/vhostmd0'/> <target dev='hdb' bus='ide'/> <readonly/> </disk>
Ajuste os valores
dev
edbus
do destino.
4 Configuração do vhostmd
#
O arquivo de configuração padrão do vhostmd
está localizado em /etc/vhostmd/vhostmd.conf
. Você pode ajustar esse arquivo de acordo com as suas necessidades. Ele é um arquivo XML que deve incluir o elemento <vhostmd>
. O <vhostmd>
inclui <globals>
e <metrics>
, que estão descritos nas seções a seguir. Use o arquivo de configuração padrão como uma referência para mudanças personalizadas.
4.1 O elemento <globals>
#
O elemento <globals>
define o local de armazenamento em disco, a frequência de atualização de dados e o método de transporte de dados para as máquinas convidadas. Ele inclui os seguintes elementos:
-
<disk>
O elemento é usado para definir o caminho do disco em que os dados de métricas são armazenados e também o tamanho do disco. Ele pode conter os seguintes elementos:
<name>
: define o nome do disco<path>
: um caminho absoluto em que o disco é montado<size>
: usando o atributounit
, especifique o tamanho máximo das métricas. Usek
para KB em
para MB.
-
<update_period>
Define a frequência de atualização das métricas. O valor é expresso em segundos.
-
<transport>
Especifica como as métricas são transportadas para as máquinas convidadas. No caso do SUSE Linux Micro, use o padrão
virtio
.-
<virtio>
Neste caso, você pode usar os seguintes elementos:
<max_channels>
: especifica o número máximo que ovirtion
pode usar entre os sistemas host e convidados.<expiration_time>
: define após quanto tempo um canal dovirtio
de uma máquina virtual será fechado por ociosidade. O valor padrão é três vezes o<update_period>
.
4.2 O elemento <metrics>
#
O elemento <metrics>
contém uma lista de métricas que serão coletadas. Cada métrica tem dois atributos:
-
type
Descreve o tipo de dados de valor das métricas. Os valores possíveis são:
int32
,uint32
,int64
,uint64
,real32
,real64
,string
,group
exml
.Use
group
quando uma métrica retornar vários valores. Oxml
é um formato versátil quando a métrica retorna um XML válido.-
context
Define de onde a métrica específica é coletada. Os valores possíveis são:
host
para métricas coletadas na máquina hostvm
para métricas coletadas na máquina convidada
Cada métrica deve ter um nome exclusivo e um comando que é executado para registrar as métricas. A seguinte lista descreve os elementos possíveis para definir uma métrica:
-
<name>
Define o nome exclusivo da variável. Se a métrica for coletada em uma máquina virtual, você poderá usar os seguintes valores:
NAME
,ID
eUUID
. Em seguida, esses valores serão substituídos pelos valores reais da máquina virtual que está sendo verificada.-
<action>
Especifica um comando ou script que será executado para coletar uma métrica. Por exemplo, para obter o tempo total da CPU, use:
<action>virsh dominfo NAME | sed 's/: */:/' | \ gawk -F: '/CPU time/ {print $2;}'<action>
-
<variable>
Se uma ação retorna um grupo de valores, defina as variáveis que armazenam os dados específicos. O elemento precisa ter os seguintes atributos definidos:
name
: especifique o nome de uma variáveltype
: especifique o tipo de dados da variável
5 Como as métricas coletadas são armazenadas? #
O vhostmd
armazena os dados de métricas coletados no disco de métricas em formato bruto. O disco contém um cabeçalho de 32 bytes seguido dos dados de métricas no formato XML.
5.1 Formato XML de métricas #
Os resultados das métricas coletadas são semelhantes à definição das métricas configuradas. O elemento <metric>
pode ter os seguintes atributos:
-
type
Indica o tipo de dados da métrica específica, por exemplo,
string
.-
context
Identifica se a métrica é coletada no host (
host
) ou em uma máquina virtual (vm
).-
id
Usado no contexto de
vm
. Transmite o número de ID da máquina virtual.-
uuid
Usado no contexto de
vm
. Transmite o Identificador Universalmente Exclusivo da máquina virtual.
O elemento <metric>
contém os seguintes elementos:
-
<name>
Transmite o nome da métrica.
-
<value>
Transmite o valor real das métricas.
Quando o tipo de métrica group
foi configurado, cada <variable>
definida é armazenada como uma métrica separada no resultado. Por exemplo, o seguinte trecho de configuração:
<metric type="group" context="host"> <name>PageRates</name> <action>pagerate.pl</action> <variable name="PageInRate" type="uint64"/> <variable name="PageFaultRate" type="uint64"/> </metric>
Resulta no seguinte trecho:
<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 Informações legais #
Copyright © 2006-2025 SUSE LLC e colaboradores. Todos os direitos reservados.
Permissão concedida para copiar, distribuir e/ou modificar este documento sob os termos da Licença GNU de Documentação Livre, Versão 1.2 ou (por sua opção) versão 1.3; com a Seção Invariante sendo estas informações de copyright e a licença. Uma cópia da versão 1.2 da licença está incluída na seção intitulada “GNU Free Documentation License” (Licença GNU de Documentação Livre).
Para ver as marcas registradas da SUSE, visite https://www.suse.com/company/legal/. Todas as marcas comerciais de terceiros pertencem a seus respectivos proprietários. Os símbolos de marca registrada (®, ™ etc.) indicam marcas registradas da SUSE e de suas afiliadas. Os asteriscos (*) indicam marcas registradas de terceiros.
Todas as informações deste manual foram compiladas com a maior atenção possível aos detalhes. Entretanto, isso não garante uma precisão absoluta. A SUSE LLC, suas afiliadas, os autores ou tradutores não serão responsáveis por possíveis erros nem pelas consequências resultantes de tais erros.