서비스에서 "(서비스 확인이 제대로 종료되지 않음)"및 "(널)"결과를 어떻게 해결할 수 있습니까?


10

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

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

다른 무엇입니까?


CLI를 통해 어떻게 작동하는지 예를 보여줄 수 있습니까?
Keith

답변:


11

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

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

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

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


예, 제안 해 주셔서 감사합니다. 비록 이것이 이것이 내가 직면 한 특정 문제에 영향을 미치지 않았다고 명시 적으로 언급했지만.
Der Hochstapler

이것은 nagios에 대한 진정한 해결입니다. -epn이 없으면 플러그인은 nagios에 의해 내부적으로 포함 및 실행됩니다. -epn을 사용하면 바이너리 또는 bash 스크립트와 유사한 외부 실행 파일로로드됩니다. 페이지를 참조하십시오 : nagios.sourceforge.net/docs/3_0/embeddedperl.html 및 epn 불만을 고려
Znik

1
콜론은 # nagios: -epn, 문서 및 테스트마다 필요 합니다.
idupree 2016 년

1
이상하게도, 현재 Ubuntu LTS (18.04) 버전의 nagios-plugins-standard (2.2-3ubuntu2)에는이 문제가 있습니다. 영향을받는 플러그인을 수정 하거나 ( 예 : check_disk_smband check_file_age) 설정 한 경우use_embedded_perl_implicitly=0
Akom

나를 위해 고쳤다! 감사합니다 ...
Oscar Bravo

3

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/플러그인을 편집 했기 때문에 가장 효과적이었습니다 .


2

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

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.