2014-04-15 6 views
0

내 Nagios bash 스크립트는 클라이언트의 명령 행에서 정상적으로 작동합니다. nagios 서버에서 check_nrpe를 통해 동일한 스크립트를 실행하면 다음 메시지가 반환됩니다. "CHECK_NRPE : 데몬에서 출력이 없습니다."Nagios bash 스크립트는 check_nrpe를 통해 실행될 때 출력을 반환하지 않습니다.

bash 스크립트의 명령이 실행되지 않는 것 같습니다.

arrVars=(`/usr/bin/ipmitool sensor | grep "<System sensor>"`) 

#echo "Hello World!!" 
myOPString="" 
<Process array and determine string to echo along with exit code> 

echo $myOPString 
if [[ $flag == "False" ]]; then 
     exit 1 
else 
     exit 0 
fi 

echo 문을 주석 처리하지 않으면 "Hello World"가 nagios 모니터링 화면에 표시됩니다. 나는 리눅스에 새로운 오전하지만 Nagios의 사용자처럼 보인다 귀하는 에코와 값을 확인할 수 있습니다

+0

죄송하지만,없는 outcommented 부분, 도움이 없습니다. 귀하의 오류가 코드의 표시되지 않은 부분에있는 것 같습니다. 즉, "$ myOPString"이 값을 얻기 위해 사용하는 명령에 대한 반환 값을 얻지 못한다는 의미입니다. 그러므로 : 전체 코드를 입력하십시오. – Yunalescar

답변

0
arrVars=(`/usr/bin/ipmitool sensor | grep "<System sensor>"`) 

위의 출력을 확인 IPMItool을 실행할 수 없습니다. 여전히 출력을 얻기 위해이 호출 할 수있는 또 다른 스크립트를 사용하여 작업하고 이것은 심각도를 나타내는 변수

exit 1 

에 할당, 그래서하지 않는 경우 심각도가

을 변경 어디 다른 조건을 정의해야합니다
+0

답장을 보내 주셔서 감사합니다. 변수를 echo 할 때 "플러그인에서 반환 된 출력이 없습니다"라는 메시지가 nagios UI에 나타납니다. 다른 스크립트에서 실행하려고하면 호출 스크립트가 출력을받지 못합니다. – user2887201

+0

nagios 사용자에게는 ipmitool 명령을 실행할 수있는 권한이 없습니다. – user2887201

+0

예, 이전에 제안한 것처럼, Nagios 사용자가 ipmitool을 실행할 수있는 권한이 없다고 생각하는 경우 root가 ipmitool 명령을 사용하여 스크립트를 실행하고 파일에 저장 한 다음이 스크립트를 가지고 있어야합니다. 파일을 읽으십시오. –

0

가의 sudoers에 의 Nagios ALL = (루트) NOPASSWD를이 줄을 추가합니다 :는/usr/빈/ipmitool을

그런 다음 스크립트에서 "sudo는은/usr/빈/ipmitool을"를 사용