728x90
반응형
Tomcat에서 JMX(Java Management Extensions)를 설정하면 애플리케이션 서버의 모니터링과 관리 작업을 원격으로 수행할 수 있습니다.
아래는 Tomcat에 JMX를 설정하는 단계적인 방법입니다.
1. JMX 기능 활성화
Tomcat에서 JMX를 활성화하려면, setenv.sh (또는 Windows의 경우 setenv.bat) 파일을 수정하여 JMX 관련 설정을 추가합니다.
a. setenv.sh 파일 위치
- $CATALINA_HOME/bin/setenv.sh (없다면 새로 생성).
b. JMX 설정 추가
bash
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9999" # JMX 포트
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false" # SSL 사용 여부
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=true" # 인증 활성화
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password"
2. 인증 설정
a. jmxremote.access 파일 생성
$CATALINA_HOME/conf/jmxremote.access 파일을 생성하고, 아래 내용을 추가합니다:
bash
monitorRole readonly controlRole readwrite
b. jmxremote.password 파일 생성
$CATALINA_HOME/conf/jmxremote.password 파일을 생성하고, 아래 내용을 추가합니다:
bash
monitorRole your_password controlRole your_password
- 파일 권한 설정:
bash
chmod 600 $CATALINA_HOME/conf/jmxremote.password
3. 방화벽 및 네트워크 설정
JMX 포트(예: 9999)가 외부에서 접근 가능하도록 방화벽에서 허용합니다.
bash
sudo ufw allow 9999/tcp
4. Tomcat 재시작
Tomcat을 재시작하여 설정을 반영합니다.
bash
$CATALINA_HOME/bin/shutdown.sh $CATALINA_HOME/bin/startup.sh
5. JMX 클라이언트로 연결
JMX를 설정한 후에는 JConsole, VisualVM, 또는 다른 JMX 클라이언트를 사용하여 Tomcat 서버를 모니터링할 수 있습니다.
a. JConsole 예제
- JConsole 실행:
bashjconsole
- 원격 프로세스 연결:
- 호스트: your_server_ip
- 포트: 9999
- 인증 정보 입력:
- 사용자 이름: monitorRole 또는 controlRole.
- 비밀번호: 설정한 비밀번호.
6. 추가 보안 설정
a. SSL 활성화
- 보안 통신이 필요하면 setenv.sh에서 SSL을 활성화합니다:
bash
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=true"
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.keyStore=/path/to/keystore"
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.keyStorePassword=your_password"
b. IP 제한
- 특정 IP만 접근하도록 방화벽 또는 JMX 설정에서 제한합니다:
bash
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=your_server_ip"
7. 문제 해결
- JMX 포트 충돌: 다른 애플리케이션이 같은 포트를 사용하지 않는지 확인.
- 방화벽 문제: 네트워크 방화벽 또는 서버 방화벽 규칙이 JMX 포트를 차단할 수 있으므로 확인.
- 파일 권한 문제: jmxremote.password 파일의 권한이 올바르게 설정되어 있는지 확인.
이 과정을 따라 설정하면 Tomcat JMX를 사용하여 서버 상태를 모니터링하고 관리할 수 있습니다.
300x250
반응형
'IT' 카테고리의 다른 글
인코딩 EUC-KR,MS949,ksc5601 차이는? (0) | 2025.01.27 |
---|---|
한글 문자 인코딩하는 이유? (0) | 2025.01.27 |
카프카 토픽 생성하는 이유? (0) | 2025.01.18 |
카프카 replication factor, min in sync replicas 개념은? (0) | 2025.01.17 |
ADID, IDFA 차이는? (0) | 2025.01.08 |