NRPE는 명령줄에서 작동합니다. Nagios의 "잘못된 명령줄 인수"

NRPE는 명령줄에서 작동합니다. Nagios의 "잘못된 명령줄 인수"

배포를 위한 첫 번째 단계로 기본 예제를 사용하여 NRPE를 설정하려고 합니다. 단순화를 위해 NRPE와 Nagios를 모두 로컬에서 실행하고 있습니다. NRPE와 Nagios는 모두 작동하는 것 같지만 Nagios에서 check_nrpe를 사용하면 알 수 없는 이유로 실패합니다. 편집: 저는 Nagios 버전 4.1.1과 NRPE 2.15 버전을 사용하고 있습니다.

나는 check_nrpe를 수동으로 실행할 수 있기 때문에 NRPE가 작동하고 있다고 생각합니다.

/s/l/n/nagios_instance ❯❯❯ libexec/check_nrpe -H 127.0.0.1 -p 5667 -c check_total_procs      ⏎ 
PROCS CRITICAL: 536 processes | procs=536;150;200;0;

내 생각에 Nagios는 libexec 디렉터리에 있는 check_hello_world.py라는 파일이라는 간단한 검사를 Python으로 작성했기 때문에 작동하고 있고 올바른 인수를 제공하고 있다고 생각합니다.

#!/usr/bin/env python

import sys
print str(sys.argv)
raise SystemExit, 2

내 nagios 구성의 관련 줄은 다음과 같습니다.

define host {
    use                             linux-server
    host_name                       yourhost
    alias                           My first Apache server
    address                         127.0.0.1
}

define command {
    command_name check_procs_nrpe
    command_line $USER1$/check_hello_world.py –H "$HOSTADDRESS$" -p 5667 -c "check_total_procs"
    #command_line $USER1$/check_nrpe –H "$HOSTADDRESS$" -p 5667 -c "check_total_procs"
}


define service {
    use                             generic-service
    host_name                       yourhost
    service_description             Check using the hello world plugin
    check_command                   check_procs_nrpe
    }

보시다시피 간단한 Python 스크립트 또는 명령줄에서 작동하는 procs를 확인하는 nrpe 명령 중 하나를 사용하여 check_procs_nrpe 명령을 정의합니다. Python 스크립트를 사용하면 몇 분 안에 다음 텍스트가 포함된 이메일을 받습니다.

Additional Info:

[/spare/local/nagios/nagios_instance/libexec/check_hello_world.py, –H, 127.0.0.1, -p, 5667, -c, check_total_procs]

이는 Nagios가 올바르게 작동하고 경고를 트리거하고 이메일을 보내고 인수를 올바르게 해결하고 있음을 보여주는 것 같습니다. check_nrpe를 사용하도록 명령을 변경하고 Nagios를 다시 실행하면 다음 텍스트가 포함된 이메일을 받습니다.

Additional Info:

Incorrect command line arguments supplied

다음에 어디로 가야할지 정말 모르겠습니다. 이 상자에는 루트가 없으므로 rsyslog를 쉽게 재구성하여 로깅 정보를 얻을 수 없습니다. 요청 시 추가 정보를 제공해 드리겠습니다. 어떤 아이디어가 있나요?

답변1

결론적으로 '-H'에 붙은 대시가 실제로는 대시가 아닌 것이 문제인 것으로 드러났다. 엔대쉬였습니다. 실제로 위의 텍스트를 찾아보면 아주 명확하게 볼 수 있습니다. 불행하게도 Source Code Pro(제가 터미널에서 사용하고 따라서 vim에서도 사용하는 글꼴)는 실제로 대시와 엔 대시를 구분하지 않습니다. 이에 관한 문제를 다시 열었고 그 동안 새 글꼴을 찾고 있습니다(그리고 기준 목록에 대시 차별화를 추가하고 있습니다).

관련 정보