Zabbix RBL check

Como nao consegui nada “for dummies” para monitorar as listas de RBL para determinado servidor de e-mail, tive que juntar alguns scripts e ajustar para a minha necessidade. Tenho certeza que muitos já se depararam com o mesmo problema.

Segue o roteiro do que foi feito ( assumindo que o seu Zabbix está configurado, funcionando, os clientes já estão com o agente, etc… ):

  • Na máquina que vai executar a verificação crie o diretório ( se não existir ) /etc/zabbix/plugins/;
  • Crie o arquivo check_dnsbl.sh com o conteúdo abaixo, informando na variável “IP” o endereço valido do servidor que você vai querer monitorar com a permissão 0755;
/etc/zabbix/plugins/check_dnsbl.sh:


 #!/bin/bash
 DNSLBL_LIST=/etc/zabbix/plugins/dnsbl.txt
 IP=64.233.160.20

rev_ip=`echo $IP | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/\4.\3.\2.\1/'`

{
 listed=0
 echo "" >>/etc/zabbix/plugins/dnsbl_check_log.txt
 /bin/date >> /etc/zabbix/plugins/dnsbl_check_log.txt

for dnsbl in `cat $DNSLBL_LIST | grep -v "#"`
 do
 if host -W 1 -t a $rev_ip.$dnsbl >/dev/null 2>&1
 then
 listed=`expr $listed + 1`
 host -t txt $rev_ip.$dnsbl >>/etc/zabbix/plugins/dnsbl_check_log.txt 2>>/etc/zabbix/plugins/dnsbl_check_log.txt
 fi
 done
 echo $listed
 }

exit 0
0,15,30,45 * * * * /etc/zabbix/plugins/check_dnsbl.sh > /etc/zabbix/plugins/check_dnsbl_result.txt 2>/dev/null
  • Na configuração do seu agente ( zabbix_agentd.conf ), adicione a linha:
UserParameter=rbl.check,/bin/cat /etc/zabbix/plugins/check_dnsbl_result.txt
  • Importe o template no seu zabbix e associe com o host.

 

Testado e funcionando no Zabbix 3.0.5