Exemplo de plugin Nagios – Criação

Exemplo de Script para checar status do modem GSM / Chan dongle asterisk


vim /usr/lib64/nagios/plugins/check_modens

#!/bin/bash

#DEV=$1

CRIT=1
MODEM=$1
RESULT=$(/usr/sbin/asterisk  -rx "dongle show device state $MODEM" | grep Registration |  /usr/bin/awk '{print $5}' |  /usr/bin/sed 's/,*$//')
SINAL=$(/usr/sbin/asterisk  -rx "dongle show device state $MODEM" | grep RSSI | /usr/bin/awk '{print $3}' |  /usr/bin/sed 's/,*$//')

if [ "$RESULT" == "Registered" ] ; then

        echo "O $MODEM esta funcionando corretamente com $SINAL RSSI de sinal";
        exit 0;


elif [ "$RESULT" != "Registered" ] ; then
        echo "O $MODEM NAO esta funcionando. $RESULT";
        exit 2;
else

echo "Erro ao checar servico" ;

exit 3;

fi

exit 2;

Para chamar o script:


[root@~]# /usr/lib64/nagios/plugins/check_modens <strong>chip-oi</strong>
O chip-oi esta funcionando corretamente com 20 RSSI de sinal

[root@~]# /usr/lib64/nagios/plugins/check_modens chip-teste
O chip-teste NAO esta funcionando.

[root@~]# /usr/lib64/nagios/plugins/check_modens chip-claro
O chip-claro esta funcionando corretamente com 17 RSSI de sinal

OBS: Chip-oi eh o nome do chan_dongle referente ao chip da Oi (definido por mim no dongle.conf do asterisk)

Pode-se chegar de outro server remoto adicionando o nrpe:

Leia:

  • http://blog.abratel.com.br/?p=840
  • [root@~]#  vim /etc/nagios/nrpe.cfg
    ...
    command[check_asterisk_chip-oi]=sudo /usr/lib64/nagios/plugins/check_modens chip-oi
    command[check_asterisk_chip-oi2]=sudo /usr/lib64/nagios/plugins/check_modens chip-oi2
    command[check_asterisk_chip-claro]=sudo /usr/lib64/nagios/plugins/check_modens chip-claro
    command[check_asterisk_chip-vivo]=sudo /usr/lib64/nagios/plugins/check_modens chip-vivo
    ...
    
    [root@~]# systemctl restart nrpe
    
    

    No servidor NAGIOS utilizar:

    
    define service{
            use                             local-service         ; Name of service template to use
            host_name                       pcursos
            service_description             Checagem do Chip/Modem Oi
            check_command                   check_nrpe!check_asterisk_chip-oi
            notes_url                       http://blog.abratel.com.br/?p=954
    
    }
    define service{
            use                             local-service         ; Name of service template to use
            host_name                       pcursos
            service_description             Checagem do Chip/Modem Claro
            check_command                   check_nrpe!check_asterisk_chip-claro
            notes_url                       http://blog.abratel.com.br/?p=954
    }
    
    

    Deixe uma resposta