Pessoal,
Estou aqui com mais uma dica sobre um problema que tive e (ufa!) consegui resolver. O problema é o seguinte: tenho o
Zabbix 2.2.2 monitorando circuito de dados de todo o estado, onde resido. Como não havia um monitoramento de servidores e ativos de rede na empresa, decidi utilizar o Zabbix para monitorar isso também, com isso procurei por templates para servidores Windows e não encontrei uma forma de monitorar o uso de disco. Visto que o próprio teria comandos de fácil visualização de uso de disco, não era fácil trabalhar com aqueles valores dentro do Zabbix, há vários tutoriais na internet ensinando como, porém achei um tanto difíceis.
Para começar precisamos dos seguintes componentes:
Preparando a bagunça:
1.
Cygwin 32 bits ou
Cygwin 64 bits
2.
Zabbix Agent para Windows (utilizei para a versão 2.2.2 que tenho)
Para a instalação não irei abordar o servidor Zabbix, visto que existem inúmeros tutoriais ensinando como instalar praticamente em qualquer distribuição.
Instalação do Zabbix Agent:
1. No servidor Windows extraia o conteúdo do arquivo compactado dentro da Unidade C:\zabbix\ de preferência.
2. Instale o Cygwin, vocês sabem, avançar, avançar e concluir.
3. Copie os arquivos df.exe, grep.exe, gawk.exe, sed.exe da pasta bin do diretório de instalação do Cygwin para o diretório do Zabbix.
3. Dentro da pasta, abra o arquivo de configuração do agente, algo como zabbix_agentd.conf(prefiram utilizar o Notepad++, o notepad do Windows é desorganizado).
4. Procure por, ou faça um backup do arquivo e criem um novo com os seguintes dados.
4.1. Server=ip.do.servidor.zabbi.
4.2. Hostname=Nome do Servidor Windows.
Agora é que a brincadeira começa, vamos criar um UserParameter para monitorar o uso de disco na unidade escolhida, vejam os exemplos abaixo.
UserParameter=chave, comando (a chave às vezes não é algo nativo do agente, é simplesmente um identificador que o próprio usuário cria, porém o comando tem que ser valido para que também retorne resultados válidos para o servidor).
No meu caso:
UserParameter=disk.used.os, C:\zabbix\df.exe -h /cygdrive/c | grep C: | gawk '{print $5'} | sed 's/\%//'
Supondo que o drive que quero monitorar é a unidade C:.
Salve o arquivo e instale o Zabbix agent como o comando:
C:\zabbix\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.conf
Inicie o serviço Zabbix Agent.
Basta agora ir no servidor Zabbix e efetuar uma consulta no agente instalado no servidor Windows com o comando:
# zabbix_get -s serverWindows -k disk.used.os
56 - esse foi o valor retornado no servidor que utilizei como exemplo, qualquer dado a mais que o valor inteiro, pode significar um erro no UserParameter, é sempre bom dar uma checada!
Agora poderemos criar um item, no meu exemplo, não mexi em muita coisa, apenas adicionei os seguintes dados:
- Name: Espaço utilizado. Unidade C:
- Type: Zabbix Agent
- Key: disk.used.os
- Units: %
E agora, vamos partir para a trigger:
Defina o título: Espaço livre menor que 20%
Crie uma trigger com a expressão O valor anterior é > N e defina N como 80.
Severity: High (ou a que preferir)
Salve e continue adicionando outros hosts.