INTRODUÇÃO

Quando se trata de monitorar recursos de hypervisors, geralmente vemos na internet, alguns artigos que falam em como fazê-lo quando usando VMWare, XenServer ou mesmo Hyper-V.

Este artigo tem como objetivo, apresentar como monitorar VM’s (tanto KVM como LXC) e Storage no Proxmox VE.

Irei usar o Centreon, porém como este utiliza os plugins do Nagios, é fácil efetuar as alterações necessárias para funcionar com aquele, ou com outro sistema de monitoramento qualquer, como Zabbix, por exemplo.

PRÉ-REQUISITOS

Antes de mais nada, devemos ter nosso sistema os seguintes pacotes instalados:

  • git
  • Perl Net::Proxmox:VE – instalar com o comando: cpan Net::Proxmox::VE. Logo após executar o cpan, os pacotes relativos ao Net::Proxmox::VE, estarão na pasta perl5, no diretório onde foi executado o comando cpan. Por exemplo, eu executei o comando cpan no diretório root. Então o cpan criou um diretório chamado perl5, com os pacotes Net::Proxmox::VE e outros, dentro daquele diretório. Aqui eu tive que copiar manualmente para o diretório /usr/lib64/perl5. Então entrei no diretório /root/perl5/lib/perl5 e copiei todo seu conteúdo para o /usr/lib64/perl5. Usei o comando cp -rf /root/perl5/lib/perl5/* /usr/lib64/perl/
  • Perl Switch – instalar com o comando cpan Switch. A instalação é automática, diferente do Net::Proxmox::VE e nenhuma ação posterior foi necessária
  • Perl LWP::Protocol::https – instalar com o comando cpan LWP::Protocol::https. Este módulo é necessário, pois o plugin que monitora os recursos no Proxmox, precisa de conexão HTTPS!. Novamente, aqui a instalação é automática, diferente do Net::Proxmox::VE e nenhuma ação posterior foi necessária

 

Agora iremos baixar o pve-monitor.pl, do repositório git:

  • Use o comando: git clone https://github.com/dpiquet/pve-monitor.git

Entre no diretório pve-monitor, que foi criado.

Dentro deste diretório, encontramos dois arquivos principais:

  • pve-monitor.conf – este arquivo é onde definimos o IP do nosso servidor Proxmox, bem como usuário e senha e demais informações, como quais VM’s e Storage monitorar. O arquivo é auto-explicativo e tem alguns exemplos de uso, fácil de serem adaptados.
  • pve-monitor.pl – o plugin propriamente dito. Se você tem facilidade com Perl, verá que é bem interessante a leitura desse arquivo.

Copie ambos os dois arquivos para /usr/lib/nagios/plugins.

A estrutura do arquivo pve-monitor.conf é como segue:

# node example
node pmx01 {
address xxx.yyy.zzz.www.qqq
port 8006 # Optional, default is 8006
monitor_account root
monitor_password senha-do-root
realm pam # Optional, default is pam
mem 80 90 # optional, not monitored if not defined
cpu 80 95 # optional
disk 80 90 # optional
}

Nessa parte, indicamos qual o nó do cluster iremos monitorar. Ele permite ter quantos nós queremos. No caso eu coloquei somente um, pois meu sistema aqui é singlenode. Mas você pode ter quantos desejar. É importante lembrar os parametros, monitor_account, monitor_password e realm, respectivamente:

  • monitor_account, obviamente é a conta que irá ser usada para logar no Proxmox e efetuar a verificação de status do servidor. Recomenda-se que use uma conta não root. Aqui no artigo usei a própria conta do root, mas recomendo que use outra conta, preferencialmente no realm pve.
  • monitor_password, obviamente a senha do usuário declarado em monitor_account
  • realm, é em qual dominio o usuário declarado em monitor_account irá efetuar o login. Por padrão é pam ou seja irá usar os usuários do próprio Linux. Novamente aqui recomendo que mude para pve e crie um usuário no Proxmox, mas no dominio PVE, e configure os direitos desse usuário como administrador do PVE, para que ele possa efetuar o monitoramento do status do servidor.

Logo abaixo, temos as sessões onde monitoramos os containers, KVM, Storages e Pools:

Exemplo de definição de containet lxc:

lxc example-lxc-host {
mem 80 90
cpu 80 95
disk 80 90
}

Exemplo de definição de KVM:

qemu DNS1 {
mem 80 90
cpu 80 95
disk 80 90
}

Exemplo de definição de Storage:

storage local-lvm {
disk 80 90
node pmx01
}

E assim por diante.

Depois de alterar o arquivo de acordo com suas preferências, podemos testar o plugin via console do Linux. Aqui eu estou usando CentOS 7.

Dentro do diretório /usr/lib/nagios/plugins, digite:

./pve-monitor.pl –conf pve-monitor.conf –qemu

A saída será mais ou menos esta:

QEMU OK 8 / 8 working VMs
DNS1 (pmx01) OK : cpu OK (0.04%), mem OK (50.91%), disk OK (0.00%) uptime 306923
DNS2 (pmx01) OK : cpu OK (0.04%), mem OK (23.87%), disk OK (0.00%) uptime 1210142
ANM (pmx01) OK : cpu OK (25.05%), mem OK (20.72%), disk OK (0.00%) uptime 265086
FreeBRS (pmx01) OK : cpu OK (2.58%), mem OK (37.28%), disk OK (0.00%) uptime 1210117
Ixc (pmx01) OK : cpu OK (0.25%), mem OK (80.07%), disk OK (0.00%) uptime 1210111
Zimbra-Frasanet-01 (pmx01) OK : cpu OK (0.55%), mem OK (79.23%), disk OK (0.00%) uptime 306911
Cloud (pmx01) OK : cpu OK (0.29%), mem OK (25.93%), disk OK (0.00%) uptime 306908
MONITOR (pmx01) OK : cpu OK (0.20%), mem OK (47.11%), disk OK (0.00%) uptime 176686

Testamos agora os storages:

./pve-monitor.pl –conf pve-monitor.conf –storages
STORAGE OK 4 / 4 working storages
local (pmx01) OK : disk 34.97%
local-lvm (pmx01) OK : disk 0.00%
STG-BKP (pmx01) OK : disk 33.21%
STG02 (pmx01) OK : disk 61.67%

Ok! Temos que está funcionando no console Linux.

Agora vamos configurar o monitoramento no Centreon.

Siga-me os bons!!!

CONFIGURANDO O CENTREON

Vamos acessar o Centreon, e definir um comando para monitorar as VM’s KVM.

Clique em Configuration, Commands e então em Add:

Criaremos um comando, preenchendo como segue, para monitorar as VM’s KVM. Coloque suas preferências:

Crie outro comando para monitorar os Storages:

 

Agora iremos criar um serviço, usando os comandos que foram criados.

Clique em Services e depois de Add:

Adicione o serviço como segue na tela abaixo:

Ajuste para estar atrelado ao Host do Proxmox. no meu caso é pmx01.

Se tudo correu bem, então no dashboard do Centreon teremos a tela abaixo:

Para ver os detalhes do serviço, clique em cima do nome dado à ele.

Por exemplo, clique em Verifica-VMS-KVM e será aberto nova janela e exibido as informações abaixo:

Muito bem! Agora temos o monitoramento funcional.

Com um pouco de esforço, é possível efetuar as mesmas configurações no Nagios ou Zabbix.

Até a próxima!

Monitorando alguns recursos do Proxmox

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *