본 장에서는 JEUS SNMP Agent를 기동하는 방법과 SNMP 클라이언트 애플리케이션이 JEUS로부터 모니터링 정보를 가져오는 방법에 대해서 예제를 이용하여 설명한다.
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 서버 디렉터리 구조를 참조한다.
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
터미널/콘솔 창을 실행하고 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’으로 가정한다. 실제로는 사용자의 컴퓨터 이름을 사용한다.
프롬프트에 JEUS 사용자명과 패스워드를 입력한다.
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>
잠시 후 콘솔 창에 다시 프롬프트가 나타난다. 이것은 현재 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>
터미널/콘솔 창을 실행하고 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)