본문 바로가기
AWS

ec2 리눅스 서버에 jconsole과 visualVM 원격접속 [2] (use jconsole and visualVM to remote connect ec2 linux server)

by 코딩공장공장장 2021. 1. 22.

지난번 포스팅에서 원격지 서버에서 리모트 연결을 위한 설정을 하여 

 

로컬서버에서 jconsole과 visualVM으로 접속을 하였습니다. 

 

 

developer111.tistory.com/35

 

ec2 리눅스 서버에 jconsole과 visualVM 원격접속 [1] (use jconsole and visualVM to remote connect ec2 linux server)

안녕하세요. 오늘은 ec2 리눅스 서버에 jconsole 원격 접속 방법을 알려드리겠습니다. 요즘 메모리 에러가 자주 나타나서 자바의 메모리를 공부하고 메모리 관리할수 있는 툴에 대해 알아보았는데

developer111.tistory.com

 

 

위의 포스팅과 연결되는 내용으로 

 

이번 포스팅에서는 원격 접속 방법에 대해서는 다루지 않고 아이디 비밀번호를 설정하여

 

접속하는 방법을 알아보겠습니다. 

 

원격접속이 궁금하신 분들은 위의 포스팅을 참조해주세요.

 

 

[setentv.sh 수정]

 

먼저 지난번에 설정했던 setenv.sh파일을 수정하겠습니다. 

 

vi /usr/local/tomcat7/bin/setenv.sh

 

위의 명령어를 통해 vi편집기를 열고 (setenv.sh의 경로는 자신의 톰캣 홈 디렉토리로 설정합니다.)

 

#!/bin/sh

JMX_OPTS=" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/usr/local/tomcat7/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/usr/local/tomcat7/conf/jmxremote.access -Djava.rmi.server.hostname=52.79.134.63 -Dcom.sun.management.jmxremote.ssl=false"
CATALINA_OPTS=" ${JMX_OPTS} ${CATALINA_OPTS}"

 

위와 같이 수정해줍니다.

 

변경된 내용은 -Dcom.sun.management.jmxremote.authenticate의 값이 false에서 true로 바뀌었고

 

-Dcom.sun.management.jmxremote.password.file=/usr/local/tomcat7/conf/jmxremote.password

 

-Dcom.sun.management.jmxremote.access.file=/usr/local/tomcat7/conf/jmxremote.access

 

위의 두줄이 추가 되었습니다. 

 

추가된 코드 내용의 뜻은 새롭게 설정할 패스워드 파일과 권한파일의 경로를 알려주는 것입니다. 

 

저는 /usr/local/tomcat7/conf 경로에  jmxremote.password파일과 jmxremote.access을 만들겠습니다.

 

 

[ jmxremote.access 와 jmxremote.password 파일생성 ]

 

vi /usr/local/tomcat7/conf/jmxremote.password

 

 vi편집기를 열고

admin 1111
user 1111

 

위와 같이 입력하고 저장하고 나와주세요.

 

아이디 admin 비밀번호 1111과 아이디 user 비밀번호 1111 로 두개의 아이디를 만들었습니다.

 

 

그 다음 

 

vi /usr/local/tomcat7/conf/jmxremote.access

 

다시 vi 편집기를 열고

 

admin readwrite
user readonly

 

라고 입력하고 저장하고 나옵니다. 

 

이제 파일은 다 만들어주었고 

 

파일 실행권한을 부여하겠습니다. 

 

 chmod 750 /usr/local/tomcat7/conf/jmxremote.password
 chmod 750 /usr/local/tomcat7/conf/jmxremote.access

 

위의 명령어를 차례로 실행하여 파일에 실행권한을 부여해주세요. 

 

 

[톰캣 재시작]

 

톰캣을 재시작해주세요.

 

 

 

 

 

 

[ jconsole 접속]

 

 

 

위와같이 ip와 포트번호를 입력하고 username에 admin과  password에 1111을 눌러주면 정상 연결이 될것입니다.

 

 

허나, user 와 1111으로 입력하면 연결이 안될것입니다. 원격지 접속은 권한이 readwrite이어야 가능한가 봅니다.

 

 

 

[ visualVM 접속]

 

 

 

마찬가지로 visualVM에서도 접속을 시도해보겠습니다.

 

기존에 있던 연결을 Remove하고 이전에 시도했던 방법처럼 시도해보세요. 

 

 

 

 

그러면 위처럼 username과 password를 요구할 것입니다. 

 

마찬가지로 입력하면

 

 

 

 

위와 같은 정상 접속을 확인 할수 있을 것입니다.

반응형