O Zabbix possui um suporte nativo para monitoramento de VMWare, mas não é muito maduro, e quando você tem uma estrutura onde é necessário monitorar muitos ambientes distintos, o suporte nativo a monitoramento de VMWare não é útil, pois não consegue separar os ambientes de forma adequada, o que impossibilita seu uso. O suporte nativo também não consegue monitorar muitos detalhes, o que torna o seu uso ainda mais restrito. Após testar inúmeros templates alternativos baseados em SNMP, descobri que os resultados variam de acordo com a versão do VMWare ESXi, onde não existe OID para todas as informações que se deseja monitorar, especialmente nas versões 6.0 para cima do ESXi. Então resolvi estudar um pouco sobre o assunto, e descobri que as informações que eu precisava são fornecidas através de Common Information Module (CIM), e que este é o novo padrão recomendado pela VMWare para monitoramento. Como não haviam templates disponíveis no “mercado opensource“, decidi criar minha própria solução, de forma que atendesse às minhas necessidades. Para alcançar o objetivo, foi desenvolvido um template avançado, que consegue coletar informações e apresentá-las na interface do Zabbix de forma direta e organizada, similar ao que existe disponível apenas em soluções pagas. Este trabalho me custou algumas semanas de trabalho, mas o resultado final foi bastante satisfatório. E para manter o espírito colaborativo e multiplicador de conhecimento, e por saber que muitos Sysadmins estão precisando monitorar adequadamente seus Hypervisors VMWare ESXi 6.0, resolvi compartilhar o meu trabalho.
O que é possível monitorar através de Common Information Model (CIM) com o template Zabbix que foi desenvolvido:
Do HOST:
- CPU
- Datastore Accessibility
- Datastore Capacity
- Datastore Free Space
- Datastore Used Space
- Datastore Uncommited Space
- Datastore File System Type
- Datastore Latency
- Datastore URL
- Datastore IOPS
- General ESX Information
- Hardware Information
- Memory
- Network
Dos GUESTS:
- Virtual Machine CPU Installed
- Virtual Machine Cores per Socket
- Virtual Machine CPU Usage
- Virtual Machine RAM Installed
- Virtual Machine Memory Usage
- Virtual Machine Ballooned Memory
- Virtual Machine Compressed Memory
- Virtual Machine Host Memory Usage
- Virtual Machine Shared Memory
- Virtual Machine Overhead Memory
- Virtual Machine Private Memory
- Virtual Machine Swapped Memory
- Virtual Machine Power Status
- Virtual Machine Heartbeat Status
- Virtual Machine Datastore
- Virtual Machine Uptime
- Guest Tools Version
- Guest Tools Status
- Snapshots
Seguem algumas capturas de imagem para exemplificar o funcionamento do template.
Todas as informações e arquivos necessários podem ser obtidos aqui.