jmx 를 이용한 JVM 모니터링 사용하는 방법

JVM 상태를 모니터링할때 간단하게 사용할수 있는것이 바로 JMX 이다.
java 를 설치하고 기본적으로 깔려있는 비주얼 jvm으로 간단하게 확인 가능하다

java 어플리케이션을 실행전에 해당 옵션을 추가해 주면 된다.

export JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote=true”
export JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote.port=포트”
export JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false”
export JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false”
export JAVA_OPTS=”$JAVA_OPTS -Djava.rmi.server.hostname=서버아이피”

해당 설정은 인증없이 바로 JMX 에 접근할수 있으니 ACL 등을 이용해서 접근 권한을 설정하도록 하고

만약 인증이 필요하면 jmxremote.access과 jmxremote.password 파일이 필요하다.

jmxremote.access : 사용자 권한
jmxremote.password : 사용자 비밀번호

jmxremote.access는 $JAVA_HOME/jre/lib/management/ 에 위치해 있다.
jmxremote.password는 $JAVA_HOME/jre/lib/management/에 템플릿파일이 있으니 복사해서 쓰면 된다.
(chmod 600 jmxremote.password 권한 설정 필수 읽기만 가능하도록)

다음 해당 값을 바꿔준다.
export JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=true”

테스트 결과 어느정도 고 부하가 있는 서버에서도 큰 문제없이 사용이 가능했었다.
그래도 꼭 테스트를 하고 사용하도록 하자

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다