내용 목차
본 장에서는 JMX Remote API Connector, HTML 어댑터, SNMP 어댑터에 대한 개념과 설정에 대해서 설명한다.
JMX Remote API 스펙 1.0을 따르는 클라이언트 애플리케이션에게 JEUS JMX는 JEUS의 구성과 실시간 정보를 제공해준다.
JEUS JMX Manager는 다음과 같이 3가지의 관리 객체를 가지고 있다. 이것은 JEUS 모니터링 정보에 액세스하는 방법으로 3가지를 제공한다는 것을 의미한다.
JMX Remote API Connector
HTML 어댑터
SNMP 어댑터
JMX Manager의 설정은 다음의 디렉터리에 위치한 JEUSMain.xml 설정파일을 통해 이루어진다.
JEUS_HOME\config\<node name>
설정 태그인 <jmx-manager>는 다음과 같이 <node>나 <engine-container> 내에서 설정할 수 있다.
[예 2.1] JMX Manager 환경설정 : <<JEUSMain.xml>>
<?xml version="1.0"?> <jeus-system xmlns="http://www.tmax.co.kr/xml/ns/jeus"> <!-- The above XML header will not be repeated in the examples below--> <node> <engine-container> . . . <jmx-manager> . . . </jmx-manager> </engine-container> . . . <jmx-manager> . . . </jmx-manager> <node>
JMX Manager의 설정은 WebAdmin을 통하여 설정할 것을 권장한다.
JMX Connector는 JMX Remote API에서 정의되어 있는, 리모트에서 JMX MBeanServer에 접근하기 위한 Connector로 제공되는 Connector는 다음과 같다.
JEUS에서는 기본적으로 JMXMP Connector를 사용하고, <jmx-manager> 내의 <jmx-connector> 태그로 설정한다.
<jmx-manager> 하위 태그의 자세한 설명은 "JEUS XML Reference"를 참고한다.
JMX를 액세스할 때 사용하는 JEUSMP Connector의 Listen Port를 지정한다. 만약 이 값이 0이거나 지정하지 않으면 JEUS의 공통 Port를 JMXMP Connector의 Listen Port로 사용한다. 만약 JEUS의 JMX RemoteAPI를 사용하지 않고 다른 Runtime에서 JMXMP 프로토콜로 접근하려면 이 값을 0이 아닌 다른 값으로 지정해야 한다.
다음은 JMXMP Connector 설정 예제이다.
[예 2.2] JMXMP Connector 설정 : <<JEUSMain.xml>>
<jmx-manager>
<jmx-connector>
<jmxmp-connector>
<jmxmp-connector-port>5001</jmxmp-connector-port>
</jmxmp-connector>
</jmx-connector>
<html-adaptor-port>7070</html-adaptor-port>
<snmp-adaptor>
<snmp-adaptor-port>9090</snmp-adaptor-port>
<snmp-version>3</snmp-version>
<snmp-max-packet-size>4096</snmp-max-packet-size>
<snmp-security>true</snmp-security>
</snmp-adaptor>
</jmx-manager>
RMI Connector는 Port, Export Name 그리고 Reference Export Name을 설정해야 한다. 만약 JMXMP Connector와 같이 설정되어 있는 경우에는 JEUS system 내부적으로는 JMXMP Connector를 사용하게 된다. 이 경우에는 Reference Export Name이 별도로 설정되어 있어야 한다. Reference Export Name이 JEUS에서 기본적으로 사용하는 이름과 같거나 설정이 되어있지 않다면 exception이 발생한다.
다음은 RMI Connector 설정 예제이다.
[예 2.3] RMI Connector 설정 : <<JEUSMain.xml>>
<jmx-manager>
<jmx-connector>
<rmi-connector>
<rmi-connector-port>5005</rmi-connector-port>
<export-name>myRmiConnector</export-name>
</rmi-connector>
</jmx-connector>
<html-adaptor-port>7070</html-adaptor-port>
<snmp-adaptor>
<snmp-adaptor-port>9090</snmp-adaptor-port>
<snmp-version>3</snmp-version>
<snmp-max-packet-size>4096</snmp-max-packet-size>
<snmp-security>true</snmp-security>
</snmp-adaptor>
</jmx-manager>
노드 클러스터링 환경에서 여러 개의 노드/컨테이너가 RMI Connector를 사용할 경우 Export Name을 각각 다르게 설정해야 한다. 노드 클러스터링 환경 하에서는 JNDI 클러스터링이 적용되므로 서로 다른 RMI Connector가 동일한 Export Name을 사용하게 설정할 경우 오류나 오동작이 발생할 수 있다. JNDI 클러스터링에 대한 자세한 사항은 “JEUS Server 안내서”의 “6.2.3. JNDI 클러스터링”을 참고한다.
HTML 어댑터는 HTML을 지원하는 JMX의 프로토콜 어댑터이다. HTML 어댑터는 JEUSMain.xml 내의 <jmx-manager>에서 설정한다.
HTML 어댑터 설정 예는 다음과 같다.
[예 2.4] HTML 어댑터 설정 : <<JEUSMain.xml>>
<jmx-manager>
<jmx-connector>
<jmxmp-connector>
<jmxmp-connector-port>5001</jmxmp-connector-port>
</jmxmp-connector>
</jmx-connector>
<html-adaptor-port>7070</html-adaptor-port>
<snmp-adaptor>
<snmp-adaptor-port>9090</snmp-adaptor-port>
<snmp-version>3</snmp-version>
<snmp-max-packet-size>4096</snmp-max-packet-size>
<snmp-security>true</snmp-security>
</snmp-adaptor>
</jmx-manager>
다음은 기본으로 설정할 태그에 대한 설명이다.
SNMP 어댑터는 JMX가 제공하는 SNMP 프로토콜 어댑터이다. SNMP 어댑터는 JEUSMain.xml 내의 <jmx-manager>에서 설정한다.
SNMP 어댑터 설정 예는 다음과 같다.
[예 2.5] SNMP 어댑터 설정 : <<JEUSMain.xml>>
<jmx-manager>
<jmx-connector>
<jmxmp-connector>
<jmxmp-connector-port>5001</jmxmp-connector-port>
</jmxmp-connector>
</jmx-connector>
<html-adaptor-port>7070</html-adaptor-port>
<snmp-adaptor>
<snmp-adaptor-port>9090</snmp-adaptor-port>
<snmp-version>3</snmp-version>
<snmp-max-packet-size>
4096
</snmp-max-packet-size>
<snmp-security>true</snmp-security>
</snmp-adaptor>
</jmx-manager>
다음은 기본으로 설정할 태그에 대한 설명이다.