Monitoramento Análise Proxmox v1 ✅
Principais Itens:
-> Todas as informações do Linux do Proxmox via Zabbix Agent;
-> Tabela consolidada de VMs com informações de status, cpu, memoria, disco, trafego, leitura e escrita de disco e etc via API do Proxmox.
Pro:
-> Arquivos e scripts prontos;
-> Documentação em texto;
-> Arquivos json do Grafana pra importar.
Link:
https://drive.google.com/file/d/1bwsQiMJRLLt9EQFREsq4y0h41h_YRgH5/view?usp=sharing
Homologado com: Proxmox VMs (01 Node).
Obs: Tabela consolidada de VMs (MySQL) ?
Siga a documentação. ?
- Clusters e Containers em breve na v2. ❌
- Uso de disco das Vms (Proxmox não fornece). ❌
Ref: 52
#Desenvolvido por: Bee Solutions
#Autor: Fernando Almondes
#Data: 21-08-2024 - 19:37
Novidadades da versao 01:
- Todas as informacoes do Linux do Proxmox via Zabbix Agent;
- Tabela consolidada de VMs com informacoes de status, cpu, memoria, disco, trafego, leitura e escrita de disco e etc via API do Proxmox.
#### Siga a documentacao:
Para instalar o Zabbix Agent no seu Proxmox, o ideal é escolher uma opção compatível com o sistema operacional base do Proxmox.
https://www.zabbix.com/download
✅ O que você deve considerar:
O Proxmox VE é baseado no Debian, geralmente na versão mais recente ou LTS.
? Dica:
Execute este comando no Proxmox para verificar a versão exata do Debian:
Com isso, você saberá qual versão do Debian usar para baixar o agente correto no site do Zabbix.
cat /etc/os-release
Como selecionar no site de download do Zabbix:
Em "ZABBIX VERSION", escolha a versão desejada (por exemplo, 7.4 se quiser a mais recente).
Em "OS DISTRIBUTION", selecione Debian.
Em "OS VERSION", veja qual versão do Debian seu Proxmox usa:
Para o Proxmox 8, a base é o Debian 12 (bookworm).
Para o Proxmox 7, a base é o Debian 11 (bullseye).
Em "ZABBIX COMPONENT", selecione apenas Agent (ou Agent 2, se preferir a nova versão com mais recursos e suporte a plugins).
Depois, siga as instruções de instalação via repositório
.deb
.
Dae basta seguir a instalação que mostra no site do zabbix ao proxmox.
# Instalacao das dependencias no proxmox
apt install jq rsyslog
### Ajuste as informacoes de server e system.run (Adicione o IP do Zabbix Server que fara acesso ao Agent instalado no servidor do Proxmox)
nano /etc/zabbix/zabbix_agent.conf
###Configuração caso tenha instalado o zabbix_agent.conf
Server=127.0.0.1,ip-servidor-zabbix-aqui
AllowKey=system.run[*]
# Apos ajustar reiniciar o servico do zabbix-agent
service zabbix-agent restart
###Se instalou o zabbix_agent2.conf, faça dessa outra forma:
nano /etc/zabbix/zabbix_agent2.conf
Adicione ou edite:
Server - IP do Zabbix
SevverActive - IP do Zabbix
Hostname+ Nome do host que esta monitorando la no zabbix.
Server=172.31.100.18 ServerActive=172.31.100.18 Hostname=SERVIDOR - PROXMOX 02 - RESERVA AllowKey=system.run[*]
Caso seja o Para zabbix_agent
Server=127.0.0.1,IP_DO_ZABBIX EnableRemoteCommands=1
Reinicie:
systemctl restart zabbix-agent2
###Veja se ele esta up:
systemctl status zabbix-agent2 ss -tunlp | grep 10050
Resultado esperado:
###Teste se o comando funcionou
Instale o Zabbix_get
apt install zabbix-get -y
Depois teste:
zabbix_get -s IP_DO_PROXMOX -k "system.run[uptime]"
Teste esperado:
# Crie o diretorio de scripts no próprio Proxmox onde instalou o zabbix_agent
mkdir -p /usr/lib/zabbix/externalscripts
# Navegue ate o diretorio do projeto (Copie os scripts para o diretório de scripts do Zabbix)
cd /usr/lib/zabbix/externalscripts
bee_check_log.sh -> Responsavel pelo item de log do servidor
bee_consulta_nodes_proxmox.sh -> Responsável pelo item de status do node
bee_consulta_status_proxmox.sh -> Responsavel pelos itens de status das vms (online/offline)
bee_consulta_storages_proxmox.sh -> Responsavel pelos prototipos de itens dos storages
bee_consulta_vms_proxmox.sh -> Responsavel pelos prototipos de itens das vms
bee_discovery_storages_proxmox.sh -> Responsavel pela descoberta de storages
bee_discovery_vms_proxmox.sh -> Responsavel pela descoberta de vms
# Ajuste as permissoes
chmod +x bee_* chmod +r /var/log/syslog
# Acesse o Proxmox no navegador para cadastrar a API
https://ip-proxmox:8006/
Datacenter -> Tokens de API -> Adicionar: -> Usuario: root@pam -> ID do Token: ZABBIX-BEE -> Adicionar (Desmarque a caixa de Privilege Separation)
IMPORTANTE: ELE GERA UM TOKEN, COPIE ELE QUANDO APARECER, POIS SE NÃO COPIA E SALVAR, SO É POSSÍVEL PEGAR O TOKEN DE NOVO, REFAZENDO.
# Copie o Token para utilizar no .env (Crie esse arquivo no mesmo diretório dos scripts: /usr/lib/zabbix/externalscripts)
nano /usr/lib/zabbix/externalscripts/.env
TOKEN='root@pam!ZABBIX-BEE'
⚠️ Esse TOKEN
é o nome do usuário da API com a permissão de leitura no Proxmox,.
# Copie o Secret para cadastrar no host a macro: {$TOKENBEE}: sua-secret
✅ Exemplo do teste:
No terminal do PROXMOX onde colocamos os script rode:
Mude a chave pela sua:
cd /usr/lib/zabbix/externalscripts ./bee_consulta_nodes_proxmox.sh 1782f547-90a9-4741-b73f-4ed56579
Resultado esperado:
# Realizando teste na API com o Proxmox (Caso esteja tudo certo será gerado um json com as informações das VMs)
./bee_discovery_vms_proxmox.sh secret-da-api-aqui
✅ 1. Status do Node
./bee_consulta_nodes_proxmox.sh SEU_SECRET
✅ 2. Descoberta de VMs
Esse script descobre as VMs para o Zabbix criar itens automaticamente:
./bee_discovery_vms_proxmox.sh SEU_SECRET
✅ 3. Consulta de VMs (status)
Esse verifica se cada VM está online ou offline:
./bee_consulta_status_proxmox.sh SEU_SECRET VMID
✅ 4. Descoberta de Storages
./bee_discovery_storages_proxmox.sh SEU_SECRET
✅ 5. Consulta de uso dos Storages
./bee_consulta_storages_proxmox.sh SEU_SECRET STORAGEID
./bee_consulta_storages_proxmox.sh SEU_SECRET local-lvm
? Saída esperada: um número (em bytes ou %, depende do script)
✅ 6. Consulta de VMs (dados detalhados)
./bee_consulta_vms_proxmox.sh SEU_SECRET VMID
./bee_consulta_vms_proxmox.sh SEU_SECRET 100
? Vai trazer algo como:
cores=2;mem=2048;uptime=123456;
✅ 7. Logs
Esse é opcional e depende de como foi implementado:
./bee_check_log.sh SEU_SECRET
? Pode ser usado para verificar eventos, falhas ou reinicializações.
⚠️ DICA:
Se quiser evitar digitar o token toda vez, você pode criar um alias de teste:
alias SECRET="seu-token-aqui"
Ou criar um script .env
corretamente com:
TOKEN='root@pam!ZABBIX-BEE'
Ref:
- https://pve.proxmox.com/pve-docs/api-viewer/#/cluster/resources
- https://pve.proxmox.com/wiki/Proxmox_VE_API
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo