서비스에서 “(서비스 확인이 제대로 종료되지 않음)”및 “(널)”결과를 어떻게 해결할 수 있습니까? properly)하고 있는데(null) 의 Nagios의 결과로하지만,

Nagios에서 서비스 확인을 위해 Perl 기반 스크립트를 사용 (Service check did not exit properly)하고 있는데(null) 의 Nagios의 결과로하지만, 스크립트는 명령 줄에서 잘 작동합니다.

온라인으로 솔루션을 설정하여 내부 Perl 인터프리터를 비활성화하도록 제안했습니다. enable_embedded_perl=0Nagios 구성을 설정하거나 인터프리터의 경로를 명시 적으로 지정하여 . 이것은 문제를 해결하지 못했습니다.

다른 무엇입니까?



답변

Nagios에는 자체 내장 된 perl 인터프리터가 포함되어 있습니다. 플러그인이 epn과 호환되지 않을 수 있습니다.

전역 적으로 비활성화하거나 스크립트에서 비활성화 할 수 있습니다. 해당 문서 페이지의 맨 아래에이 작업을 수행하는 방법이 나와 있습니다.

기본적으로 # nagios: -epn스크립트의 첫 10 줄 안에 자체 줄을 추가 하십시오. 문제가 해결 될 것입니다.

당신은 또한 그것을 준수하게 만들 수 있지만, 거의 확실하게 문제의 가치가 없습니다.


답변

Nagios Exchange의 일부 Perl 스크립트는 utils.pmPerl 모듈 포함을 시도 합니다. 어딘가에 다음과 같은 줄이 있습니다.

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

데비안에서 Nagios를 설치할 때 utils.pm파일 의 기본 위치 는 /usr/lib/nagios/plugins/utils.pm입니다. 따라서 use lib지시문은 다음과 같아야합니다.

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

명령 줄에서 명령을 실행하면 /usr/lib/nagios/plugins/플러그인을 편집 했기 때문에 가장 효과적이었습니다 .


답변

명령 앞에 접두사를 붙입니다 /usr/bin/perl.

이 솔루션은 해결 방법에 대한 것입니다. 아마도 좋은 생각은 아니지만 적어도 터미널에서 플러그인을 시작할 때와 같은 방식으로 플러그인이 작동해야합니다.

참고 : 내 경험상 # nagios -epn꽤 자주 작동하지만 때로는 충분하지 않은 것 같습니다. 이 일이 발생하면 결함이있는 플러그인은 많은 경고를보고합니다 (스크립트가 호출 될 때 perl -w).


답변