Como posso resolver os resultados “(verificação de serviço não saiu corretamente)” e “(nulo)” com meus serviços?

6

Estou usando alguns scripts baseados em Perl para verificações de serviço no Nagios e recebo (Service check did not exit properly) e (null) como resultado no Nagios, mas o script funciona muito bem na linha de comando.

Já vi soluções on-line sugerindo desativar o interpretador Perl interno configurando enable_embedded_perl=0 na configuração do Nagios ou especificando explicitamente o caminho para um interpretador. Isso não ajudou com o problema.

O que mais poderia ser?

    
por Der Hochstapler 25.03.2014 / 17:48

3 respostas

3

Alguns scripts Perl do Nagios Exchange tentam incluir o módulo utils.pm Perl. Você encontrará uma linha como essa em algum lugar:

use lib "/usr/local/nagios/libexec";

Ao instalar o Nagios no Debian, o local padrão do arquivo utils.pm é /usr/lib/nagios/plugins/utils.pm . Portanto, a diretiva use lib deve ser:

use lib "/usr/lib/nagios/plugins";

Executar o comando a partir da linha de comando provavelmente funcionou porque você estava em /usr/lib/nagios/plugins/ , editando seu plug-in.

    
por 25.03.2014 / 17:48
7

O Nagios inclui seu próprio interpretador perl embutido. O seu plugin provavelmente não é compatível com epn.

Você pode querer desativá-lo globalmente ou apenas desativá-lo para seu script. A parte inferior dessa página de documentos mostra como fazer isso.

Basicamente, adicione # nagios: -epn em sua própria linha em algum lugar dentro das dez primeiras linhas do seu script. Isso deve resolver seu problema.

Você também pode torná-lo compatível , mas certamente não vale a pena.

    
por 26.03.2014 / 02:35
2

Prefixe o comando com /usr/bin/perl .

Esta solução é mais uma solução alternativa, provavelmente não é uma boa idéia fazê-lo, mas pelo menos o seu plugin deve funcionar da mesma maneira quando você o inicia a partir do terminal.

NOTA: Na minha experiência, # nagios -epn funciona com bastante frequência, mas às vezes não parece ser suficiente. Percebi que quando isso acontece, os plug-ins defeituosos relatam muitos avisos (quando o script é invocado com perl -w ).

    
por 12.12.2014 / 11:58