[VisualVM] VisualVM을 사용하여 원격 서버의 JVM을 모니터링 하는 방법.(VisualVM, JEUS 연동.)

2024. 1. 5. 18:08Tool

728x90
728x90

VisualVM ?

  • JVM으로 구동되는 Application의 상태, Thread 현황, JVM 메모리, CPU 사용률 ..을 모니터링 할 수 있는 도구.

*작업 시나리오.

  1. 원격 시스템(SERVER)에서 VisualVM 연동을 위한 JVM-OPTION을 설정.
  2. JVM-OPTION을 설정한 프로세스(JEUS)를 기동.
  3. 로컬 시스템(CLIENT)에서 VisualVM을 사용하여, 원격 시스템의 프로세스(JEUS)와 연동.
  4. 로컬 시스템에서 원격 시스템의 Application의 상태, Thread 현황, JVM 메모리, CPU 사용률 … 을 모니터링.

VisualVM 다운로드.

JEUS 7 Fix#5 메뉴얼.


*원격 시스템(JEUS7)의 작업 내역.

$ hostnamectl
Operating System: Red Hat Enterprise Linux 9.1 (Plow)     
          Kernel: Linux 5.14.0-162.18.1.el9_1.x86_64

$ jeusadmin -version
JEUS 7 Fix#5

$ java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

 

1.VisualVM 연동을 위한 JEUS7 JVM-OPTION을 설정.

$ vi $JEUS_HOME/domains/jeus_domain/config/domain.xml
…
<servers>
…
	<server>
	…
		<jvm-config>
			…
			<jvm-option>
				-Dcom.sun.management.jmxremote.authenticate=false 
				-Dcom.sun.management.jmxremote.ssl=false 
				-Dcom.sun.management.jmxremote=true 
				-Dcom.sun.management.jmxremote.port=9983 
				-Dcom.sun.management.jmxremote.local.only=false
			</jvm-option>
			…
		</jvm-config>
	…
	</server>
…
</servers>
…

 

2.JVM-OPTION을 설정한 프로세스(JEUS7)를 기동.

$ startDomainAdminServer -domain jeus_domain -u administrator -ppasswd
$ startManagedServer -domain jeus_domain -server server1 -u administrator -ppasswd

*로컬 시스템(VisualVM)의 작업 내역.

1.Remote Host 추가.(Host name 값이 원격 서버의 IP와 동일하지 않아도 됨.)

 

2.JMX Connection 추가.

 

3.Connection 입력 상자 설정.

  • {원격 서버 IP}:{원격 서버 PORT}


*로컬 서버의 VisualVM과 원격 서버의 JVM이 연동된 것을 확인.

Overview Tap.

Monitor Tap.

Threads Tap.


*참고 자료.

728x90
728x90