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
vhostmdpara habilitar a coleta de métricas.- DEDICAÇÃO
A leitura do artigo leva aproximadamente 15 minutos.
- META
Você terá a ferramenta
vhostmdem 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:
>sudotransactional-update pkg install vhostmdReinicialize o sistema para alternar para o novo instantâneo.
Execute o seguinte para iniciar o daemon:
>sudovhostmdOPTIONSVocê 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 daemonlibvirtpara 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:
>sudosystemctl 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:
>sudosystemctl 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:
>sudovirsh 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
>sudovirsh edit GUEST_NAMEAtualize 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
devedbusdo 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. Usekpara KB empara 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 ovirtionpode usar entre os sistemas host e convidados.<expiration_time>: define após quanto tempo um canal dovirtiode 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,groupexml.Use
groupquando 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:
hostpara métricas coletadas na máquina hostvmpara 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,IDeUUID. 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.