- Certifique-se de poder executar esse script perl localmente, como o usuário nagios / nrpe.
- Certifique-se de que o script perl não dependa do ENV (por exemplo, $ PATH). Confirme executando
env -i /usr/lib64/nagios/plugins/check_freeswitch_health.pl ...
- Use sua definição de comando
check_nrpe
genérica, em vez de escrever um check_ {whatever} para cada comando NRPE diferente que você deseja executar. - Para passar args com -a, você deve ativar argumentos de comando em nrpe.cfg definindo
dont_blame_nrpe=1
Por exemplo, se o seu comando check_nrpe
for assim:
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
}
Em seguida, sua definição de serviço seria:
define service {
host_name freeswitch01
service_description FreeSWITCH - Calls Count
check_command check_nrpe!check_freeswitch_health!-q show-calls-count
}
(Por que você tem !!!!!!! no final do seu comando?)
Ou, se a única opção que você já passou para esse script perl é -q
, você pode colocá-lo na definição de comando na configuração NRPE:
command[check_freeswitch_health]=/usr/lib64/nagios/plugins/check_freeswitch_health.pl -q $ARG1$
Então seu check_command
seria apenas check_nrpe!check_freeswitch_health!show-calls-count