jconsole을 위한 설정
192.168.1.170에서 기동 중인 Tomcat에 jconsole로 접속하기 위한 설정이다.
JMX 포트는 17264로 지정하였다. Tomcat의 실행 환경에 다음 JVM 옵션을 추가한다.
JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote"
JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote.port=17264"
JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="${JAVA_OPTS} -Djava.rmi.server.hostname=192.168.1.170"
설정을 적용한 뒤 Tomcat을 재기동하고, 원격 PC에서 jconsole을 실행해 192.168.1.170:17264로 접속한다. 위 설정에서 java.rmi.server.hostname은 JMX 접속 시 RMI가 클라이언트에게 알려 줄 서버 주소를 지정하는 값이다. 서버에 여러 IP가 있거나 NAT, 방화벽 환경이 있는 경우 이 값이 맞지 않으면 포트가 열려 있어도 접속이 실패할 수 있다.
위 예시는 테스트나 내부망에서 빠르게 확인하기 위한 설정으로, SSL과 인증을 모두 비활성화하고 있다. 운영 환경에서는 com.sun.management.jmxremote.authenticate=false와 com.sun.management.jmxremote.ssl=false를 그대로 사용하는 것은 권장되지 않는다. 최소한 접근 가능한 네트워크를 제한하고, 필요한 경우 인증과 SSL을 사용하도록 별도로 구성하는 것이 안전하다.
설정 후 원격에서 jconsole로 접속하면 정상적으로 연결된다.