본문 바로가기
아이티 공부/WS 2012

Windows Server 2012에 설치한 아파치 톰캣 jmx 활성화 하여 모니터링

by Klero 2017. 5. 25.
반응형

테스트 환경 : Windows Server 2012 R2 , Tomcat 7.0.67 , Tomcat 6.0.44 , Tomcat 7.0.68


* Tomcat 6.0.20 버전은 jdk가 32비트로 설치되어 있어야 한다. 64bit 자바환경에서는 Tomcat start가 안된다. 

(테스트 jdk버전은 6u45 32bit)


* Tomcat 6.0.20 버전은 아래의 방법으로 JMX enable이 안된다.

(Tomcat restart 실패) 다른 방법이 있는 것 같다?? 아니면 이 버전은 아예 JMX설정이 불가능한 것인가? 

server.xml에 새로 추가하는 내용이 안먹힌다.



톰캣이 JMX 모니터링이 가능하도록 미리 설정 되어야 하는 내용


- JMX가 enable 되었는지 미리 확인해보아야 한다.
- lib 폴더에 catalina-jmx-remote.jar 파일을 복사해야 한다.
- server.xml 의 구성이 필요하다.
- JMX 로그인 user, password 설정이 필요하다. (이건 파일로 관리)
- SSL Enable 시킬것인가도 고민해야 된다. (여기선 설정안함)
- 톰캣 Restart 주의 (담당자에게 말해야 하며, 잘못 설정하면 톰캣이 Restart 안될 수도 있다.)
- 환경변수 주의
- 방화벽 주의 : 포트 2개를 열어야 한다.


* 디폴트 웹 주소 : http://localhost:8080/



1. 기본적으로 되어 있어야 하는 내용


- JDK 설치 및 환경 변수 설정

* JAVA_HOME = C:\Program Files\Java\jdk1.6.0_45
* Path = ;%JAVA_HOME%\bin\;


- Tomcat 설치



2. 라이브러리용으로 사용하기 위한 jar파일 다운로드 및 복사


- 톰캣이 설치된 폴더 (예를들어 C:\Tomcat7.0\lib) 위치에 catalina-jmx-remote.jar 파일 복사해야한다 (Tomcat 버전에 맞게 다운로드 해야 한다.)
- http://tomcat.apache.org/ 사이트에서 받을 수 있다.



3. server.xml에 아래내용 추가


C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\server.xml (Tomcat 설치할 때 디폴트 경로로 설치했을 경우)

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="9840" rmiServerPortPlatform="9841"/>




4. 트레이 톰캔 configure Java 탭에 아래 내용 추가 (맨 밑에다가 한 행 띄우지 말고 붙여서)


-Dcom.sun.management.jmxremote.password.file=C:\Tomcat7.0\conf\jmxremote.password       // 톰캣 버전 및 경로 변경
-Dcom.sun.management.jmxremote.access.file=C:\Tomcat7.0\conf\jmxremote.access               // 톰캣 버전 및 경로 변경
-Dcom.sun.management.jmxremote.ssl=false



* Tomcat 설치할 때 디폴트 경로로 설치하면 경로는 아래와 같다.


-Dcom.sun.management.jmxremote.password.file=C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\jmxremote.password
-Dcom.sun.management.jmxremote.access.file=C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\jmxremote.access
-Dcom.sun.management.jmxremote.ssl=false




5. JMX 로그인 아이디, 암호 설정 (파일로 관리)


- C:\Tomcat7.0\conf 디렉토리에 파일 생성

- C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf (Tomcat 설치할 때 디폴트 경로로 설치했을 경우)


jmxremote.access : administrator      readwrite
jmxremote.password : administrator     tomcat7



6. Restart the Apache Tomcat server.


- 서비스에서 Apache Tomcat7.0 다시시작 하면 된다.
- 또는 트레이에서 Tomcat Stop Service 후 Start Service



7. 방화벽 포트


- 원격에서 접속하기 위해 방화벽 포트 9840 , 9841 TCP를 열면 된다. (인바운드)



8. jconsole로 접속


- C:\Program Files\Java\jdk1.7.0_79\bin\jconsole.exe를 실행하여 접속이 되는지 확인



 


9. 경고 문구


Secure Connetion Failed. Retry insecurely?

- The connection to administrator@192.168.0.3:9840 could not be made using SSL.

Would you like to try without SSL? (Username and password will be sent in plain test)


이런 경고가 발생한다. SSL 설정을 활성화 하지 않아서 발생하는 경고 문구이다.

일단 SSL 보안은 넘어가자. Insecure 버튼을 클릭하자.




10. JConsole 접속 완료


- 아래처럼 JConsole이 정상적으로 접속이 될것이다.

접속이 되면 Memory , CPU , Threads 등등 모니터링 할 수 있는 항목들이 나타난다.




- MBeans를 클릭해보자

Catalina , java.lang , MemoryPool 등등 항목들이 나타난다.

이것을 확장하여 필요한 세부사항에 대한 모니터링이 가능하다.





조금이나마 도움이 되셨다면 밑에 공감 한 번 클릭해주시면 감사하겠습니다.

댓글