내가 top 명령어로 서버 부하를 모니터링하고 있는 것을 본 창국님이 jconsol이란 녀석으로 모니터링 하라고 해서 하는 방법을 알려주셨다.

jconsol은 Tomcat의 메모리나 cpu 사용량 같은 것들을 모니터링하기 위한 툴이다.

실행법은 다음과 같다.

환경은 java jdk1.5나 jdk1.6 버전이어야 한다. (사실 그 이하 버전에 있는지는 잘 모르겠다. 1.5 버전과 1.6버전에 있는 건 확인했다.

그리고 모니터링 할 tomcat에 설정 상에 -Dcom.sun.management.jmxremote.port=8999
라는 녀석이 있어야 한다. 저건 8999번 포트에 jconsole로 모니터링 할 수 있도록 지원하겠다는 의미다. (Tomcat 기본 설정에 들어가 있지 않기 때문에 추가해주어야 한다. )
없다면 톰켓 환경 설정에서 argment에 추가해주고 톰켓을 실행시키자.


위에 이미지처럼 자신이 Java를 깐 폴더 및에 bin 폴더로 가서 jconsole 라는 녀석을 실행시키자.

그럼 프로그램이 실행되는데 java1.6버전 안에 들어있는 녀석은 다음과 같다.

원래 뒤에 있는건 이미 내가 지정한 녀석이라 모니터링이 되고 있는 것이다.

저기 Remote Process에다가 Tomcat이 올라간 서버명과 아까 인수로 지정한 포트를 써준다.

ex) 192.168.19.231이란 서버에 Tomcat이 올라갔을 경우 저기에 192.168.19.231:8999 이라고 써준다.
만약에 서버에 접근 할 때 PW가 있다면 아래다가 로그인 할 username하고 password를 적어준다. 없으면 안써도 된다.

그리고 Connect를 누르면 해당 톰켓을 모니터링 할 수 있게 된다.

완소 프로그램이다..ㅋ

좀더 자세한 내용을 알고 싶으면

여기로 한번 가보는 것도 좋다.




좀더 자세하게 설정을 해보자.

1) java가 있는 디렉토리 밑에가서 아래 커맨드를 날리자
> cd jre/lib/management
2) password 파일 복사
> cp jmxremote.password.template jmxremote.password
3) 파일 하단에 이거 주석 제거  #monitorRole  QED #controlRole 
> vi jmxremote.password
> 주석 제거 후 w! (읽기전용파일이라 저렇게 하고 나서 q!로 나간다.)
4) 권한 변경  
> chmod 444 jmxremote.password
5) 톰켓 start는 부분에 java_Option으로 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
이부분 추가 하면 세팅 끝~!




이거 하려다 에러가 난다면?
Posted by 서오석
,