Monitorando DATASTORAGES no #VMWare #ESX utilizando #Zabbix

Bom pessoal, depois de uma longa data sem artigos, estou voltando….

Falarei como monitorar os DATASTORAGES do #VMWare #ESX pelo #Zabbix.

O VMWare utiliza um comando chamado: vdf para mostrar os discos de storages com seus respectivos tamanhos, uso, livre, assim como o df
A saida é essa:


/vmfs/devices 2916220932 02916220932 0% /vmfs/devices
/vmfs/volumes/4863ae5b-b7d20528-ed25-001e4f33d946 121634816 574464 121060352 0% /vmfs/volumes/ESX2_Interno
/vmfs/volumes/4864cca7-120a2160-bcfa-001e4f33d919 419168256 378773504 40394752 90% /vmfs/volumes/VMOS01
/vmfs/volumes/4864ccd0-56ce1568-9117-001e4f33d919 537133056 347492352 189640704 64% /vmfs/volumes/VMDATA02
/vmfs/volumes/4864ccfb-e3af1d98-5605-001e4f33d919 720109568 509190144 210919424 70% /vmfs/volumes/VMDATA05
/vmfs/volumes/48877c19-5d2a2058-e216-0015175150c1 14168883201105838080 311050240 78% /vmfs/volumes/VMDATA14

Na configuração do agent do Zabbix, utilizei o UserParameter e fiz um script para obter essas informações:

UserParameter=vdf.fs.size[*],sudo /root/zabbix_vdf.sh $1 $2

zabbix_vdf.sh

#!/bin/sh
case $2 in
"used") /usr/sbin/vdf | grep -i $1 | awk -F " " '{print $2}'
;;
"total") /usr/sbin/vdf | grep -i $1 | awk -F " " '{print $1}'
;;
"free") /usr/sbin/vdf | grep -i $1 | awk -F " " '{print $3}'
;;
*) echo "Opcao errada"
;;
esac

Adicionei o usuario zabbix ao arquivo /etc/sudoers para ele poder executar comandos como root:

zabbix ALL=(ALL) NOPASSWD: ALL

No Frontend do Zabbix foi criado um item da seguinte forma:

Zabbix Agent (active)

Pronto. Item criado. Agora va em Monitoramento -> Dados Recentes e veja o resultado.

Porem, quando existem discos maiores que 1Tb, o vdf mostra apenas 2 colunas ao inves de 3, porque ele não da o espaço necessario. Para resolver esse problema, temos que editar uma linha no proprio vdf.


if ....
#human
} else {
$fmt = "%-15s%15.0f%11.0f%10.0f %3d%% %s\n"; # Espaçamento entre resultados. Original: $fmt = "%-15s%15.0f%10.0f%10.0f %3d%% %s\n";

Pronto. Agora seu resultado vai ficar ok.

Leave a Reply