제5장 SNMP 사용 예제

본 장에서는 JEUS SNMP Agent를 기동하는 방법과 SNMP 클라이언트 애플리케이션이 JEUS로부터 모니터링 정보를 가져오는 방법에 대해서 예제를 이용하여 설명한다.

  1. JEUSMain.xml 내의 <jmx-manager>에 <snmp-adaptor>를 추가한다.

    [예 5.1] <<JEUSMain.xml>>

    <node>
        <engine-container>
        . . .
        </engine-container>
        . . .
        <jmx-manager>
            <html-adaptor-port>7070</html-adaptor-port>
            <jmx-connector>
                <jmxmp-connector>
                    <jmxmp-connector-port>5001</jmxmp-connector-port>
                </jmxmp-connector>
            </jmx-connector>
    
            <snmp-adaptor>
                <snmp-adaptor-port>9999</snmp-adaptor-port>
                <snmp-version>2</snmp-version>
                <snmp-max-packet-size>4096</snmp-max-packet-size>
                <snmp-security>false</snmp-security>
            </snmp-adaptor>
        </jmx-manager>
        . . .
    </node>


    각 설정 항목에 대한 설명은 “제2장 SNMP Agent”설정 항목을 참고한다.

    참고

    JEUSMain.xml 파일은 JEUS_HOME\config\<node name> 디렉터리에 위치한다. "JEUS Server 안내서"의 JEUS 서버 디렉터리 구조를 참조한다.

  2. JEUS_HOME\bin 디렉터리에서 jeus 명령 스크립트를 실행한다.

    C:\jeus\bin>jeus
    [2005.01.11 16:21:39][0] [node-name -10] [MGR-0411]
    virtual host name of this manager : node-name
    [2005.01.11 16:21:46][0] [node-name -10] [SNMP-0004] SNMP
    AGENT is ready on port: 9999
    [2005.01.11 16:21:46][0] [node-name -10] [MGR-0241]
    JeusServer is Ready
  3. 터미널/콘솔 창을 실행하고 jeusadmin 컴퓨터 이름 을 입력한다(예 : jeusadmin node-name).

    컴퓨터 이름을 확인하려면 Windows에서는 hostname, UNIX에서는 uname –a 명령을 사용한다.

    C:\jeus\bin>hostname
    node-name
    C:\jeus\bin>jeusadmin node-name
    Login name>

    참고

    본 안내서에서는 JEUS 노드 이름을 ‘node-name’으로 가정한다. 실제로는 사용자의 컴퓨터 이름을 사용한다.

  4. 프롬프트에 JEUS 사용자명과 패스워드를 입력한다.

  5. jeusadmin 프롬프트가 나타나면 boot를 입력하고 <Enter>키를 누른다.

    C:\jeus\bin>jeusadmin node-name
    Login name>jeus
    Password>
    JEUS 6 Jeus Manager Controller
    node-name>boot
    node-name boot done
    node-name_container1
    node-name>
  6. 잠시 후 콘솔 창에 다시 프롬프트가 나타난다. 이것은 현재 JEUS 서버가 기동되어서 다른 명령을 받아들일 준비가 되었다는 것을 의미한다. 다음과 같이 allenglist 명령을 실행해서 엔진이 기동되었는지 확인한다.

    JEUS 6 Jeus Manager Controller
    node-name>boot
    node-name boot done
    node-name_container1
    node-name>allenglist
    ========================================
    engines in the container node-name_container1
    node-name_servlet_engine1
    node-name_ejb_engine1
    node-name_jms_engine1
    ========================================
    node-name>
  7. 터미널/콘솔 창을 실행하고 compile 명령을 실행 한 후에 snmpclient를 실행한다.

    이 명령을 실행할 때 시스템 경로에 JEUS_HOME\samples\manual_examples\snmp\bin이 포함되어 있다고 가정한다. 이것은 클라이언트 프로그램이 JEUS로부터 모니터링 정보를 얻기 위해서 필요하다.

    C:\jeus\samples\ manual_examples\snmp\bin>snmpclient
    1.3.6.1.4.1.14586.100.77.1
    PORT : 9999
    IP : 127.0.0.1
    OID : 1.3.6.1.4.1.14586.100.77.1
    Sending ...
    Reply :
     PDU type : GET_RSP_MSG
     error status : 0
     error index  : 0
     1.3.6.1.4.1.14586.100.77.1.0: 
    [JEUS 4.2:JMX Manager=eg host,j2eeType=JeusService,
    jeusType=JeusManager,name=eghost]

    참고

    JEUS_HOME\samples\manual_examples\snmp\classes 디렉터리의 snmpclient.bat에 필요한 모든 클래스들을 포함하고 있다. 만일 정상적으로 실행되지 않는다면, 필요한 클래스들이 해당 디렉터리에 존재하는지 확인한다. 애플리케이션의 소스는 JEUS_HOME\samples\manual_examples\snmp\src 디렉터리에 위치하며, SNMP 클라이언트 파라미터는 JEUS SNMP OID이다.

    (예: 1.3.6.1.4.1.14586.100.77.1)