본문 바로가기

Programming/Performance

Performance, Nagios 기본 개념 - Macros

오역이 있을 수 있으므로 아래 주소를 참고

참고 : http://nagios.sourceforge.net/docs/nagioscore/3/en/macros.html


  • Nagios를 매우 유연하게 만드는 메인 요소중 하나는 command definition에 매크로들을 사용하는 능력이다.


  • Nagios가 어떤 명령을 수행하기 전에 그에 해당하는 값이  command definition에서 발견한 어떤 매크로로 교체될 것이다.  이 매크로 대체는 Nagios가 수행하는 명령들의 모든 타입에 발생한다. (호스트와 서비스 검사, 알림, 이벤트 핸들러 등)


  • 특정 매크로는 다른 매크로에 자신을 포함할 수도 있다. $HOSTNOTES$, $HOSTNOTESURL$, $HOSTACTIONURL$, $SERVICENOTES$, $SERVICENOTESURL$,  $SERVICEACTIONURL$ 매크로들을 포함한다.


Example 1 : Host Address Macro


예) check_ping 명령 정의


define host{

    host_name        linuxbox

    address        192.168.1.2

    check_command    check_ping

    ...

    }

   

define command{

    command_name    check_ping

    command_line    /usr/local/nagios/libexec/check_ping -H $HOSTADDRESS$ -w 100.0,90% -c 200.0,60%

    }


결과적으로 실행되는 명령은


/usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 100.0,90% -c 200.0,60%


이다.



Example 2: Command Argument Macros


define service{

    host_name        linuxbox

    service_description    PING

    check_command    check_ping!200.0,80%!400.0,40%

    ...

    }

check_command에 check_ping 명령을 수행하면서 두개의 인자 값을 사용했다.

이 인자값들은 command의 $ARG1$과 $ARG2$에 대응 된다.


define command{

    command_name    check_ping

    command_line    /usr/local/nagios/libexec/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$

    }



결과적으로 수행 된 명령은

/usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 200.0,80% -c 400.0,40%

이다.




태그