Eu escrevi uma verificação personalizada no bash e a executei em quatro servidores diferentes. Dois deles funcionam bem e os outros dois falham ao verificar se existe um arquivo com:
if [ ! -f $LOGFILE ]
Por "fail" quero dizer que nesses dois servidores o script decidiu que $LOGFILE
não existe (o que é falso).
Todos os quatro servidores têm a mesma configuração, permissões, etc. O arquivo existe em todos os servidores. Quando executado manualmente, não há erro. Quando executado manualmente como os usuários nagios
ou nrpe
, não há erro. Só falha quando executado remotamente via nagios com check_nrpe -H ... -c ...
Pensei que talvez minhas habilidades bash estivessem um pouco enferrujadas, então eu reescrevi o cheque em Python. Agora, os mesmos dois servidores falham , mas o erro é
NRPE: Unable to read output
Novamente, a mesma versão do Python em todos os servidores. No entanto, descobri que os servidores com o erro processam esta mensagem:
$ sudo grep nagios /var/log/messages
Jul 19 11:09:15 app-a abrt: detected unhandled Python exception in '/usr/local/nagios/libexec/check_redirects'
Como eu disse, eu já verifiquei as diferenças na configuração do nagios (tanto no nagios master quanto nos clientes), nas permissões, nas versões do python ... Tudo parece o mesmo.
Encontrei muitas perguntas sobre diferentes verificações funcionando / com falha no mesmo servidor. Esta é a mesma verificação em alguns servidores, mas não em outros.
Qualquer pensamento seria muito apreciado. Obrigado.