2014-01-23 1 views
0

https 사이트에 대한 인증을 확인한 후 응답 html body의 텍스트를 검색하여 로그인 성공을 확인하는 플러그인을 작성 중입니다. 내가 명령 줄에서 직접이 플러그인을 실행하면 나는 다음과 같은 플러그인Nagios Custom Plug-in (https 인증)이 예상대로 작동하지 않습니다.

#!/bin/bash 
add_uri='--no-check-certificate https://' 
end_uri='/' 
result=$(wget -O- $add_uri$1$end_uri --post-data=$2) 
flag=`echo $result|awk '{print match($0,"QC Domain")}'`; 
echo $flag 
echo "Nagios refreshes properly1" 

if [[ $flag -gt 0 ]] ; then 
echo 'ALL SEEMS FINE!!' 
exit 0 
    else 
echo 'Some Problem' 
exit 2 
fi; 

을 만든 플러그인은 (모두 + & 용 - 테스트 케이스) 예상대로 작동

./check_nhttps <url here> '<very long post data with credential information>' 

아무 문제 없을 것 같다 . 플러그인, Nagios의에서

check_command     check_nhttps! <url here> '<very long post data with credential information>' 

를 실행하지만 그것은 항상 중요한 오류가 표시가 (다른 조건 텍스트를 인쇄 "일부 문제"너무). P .: 큰 따옴표를 사용하여 게시물 데이터를 보내려고했습니다.

도와주세요!

답변

0

나는 게시물 데이터에 Nagios, 아마도 공백 또는 심지어 !을 혼동시키는 문자가 포함되어있을 가능성이 매우 높다고 생각합니다. 포스트 데이터를 어떤 파일에 넣고 --post-file을 사용하십시오. 또한 echo "$2" > /tmp/this_is_my_post_data_when_executed_by_nagios을 스크립트에 삽입하고 게시 데이터가 올바른지 확인할 수 있습니다.

+0

마지막으로 commands.cfg에서 인수의 순서가 틀렸다고 밝혀졌습니다. 스크립트에서 인수를 인쇄하는 Ur 아이디어는 도움이되었습니다 !!! 도와 주셔서 감사합니다!!! – scharan

관련 문제