3.3. MBean 을 보는 도구
JMX 표준을 따르므로 도구를 골라 쓸 수 있습니다. 목적에 맞는 것을 고르십시오.
| 도구 | 어떤 때 쓰나 | 준비 |
|---|---|---|
| JConsole | 잠깐 값을 확인할 때. JDK 에 들어 있어 따로 설치하지 않습니다 | JDK |
| VisualVM | 값과 함께 힙·스레드도 같이 볼 때 | 별도 설치(JDK 9 부터 분리) |
| hawtio | 웹 브라우저로 볼 때. 원격 서버에 편리합니다 | Jolokia 배포 필요 |
| jmxterm | 명령줄에서 스크립트로 값을 뽑을 때 | 별도 설치 |
| Prometheus JMX Exporter | 값을 계속 수집해 그래프로 남길 때 | 에이전트 설정 |
| WAS 관리 콘솔 | WebLogic·JEUS 등 제품 콘솔에 JMX 탐색 기능이 있으면 그것으로 | 없음 |
상시 감시가 필요하면 Prometheus JMX Exporter 처럼 값을 모으는 도구를, 한 번 보고 끝낼 일이면 JConsole 을 권합니다.
JConsole 로 보기
JDK 가 설치된 곳에서 아래를 실행하고, 목록에서 WAS 프로세스를 고른 뒤 MBeans 탭에서 com.opennaru.khan.session 을 펼칩니다.
jconsole
원격 서버라면 WAS 기동 옵션에 JMX 원격 접속 설정이 필요합니다.
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
인증 없이 열면 누구나 접속할 수 있습니다. 운영 환경에서는 인증과 SSL 을 켜거나 방화벽으로 접근을 제한하십시오.
브라우저로 보기 (hawtio 예시)
웹 브라우저로 원격 서버의 MBean 을 보는 방법입니다. 아래 화면은 hawtio 로 찍은 것이지만, 보이는 값과 오퍼레이션은 어느 도구를 쓰든 같습니다.
서버 쪽에는 Jolokia 가 배포되어 있어야 합니다. Jolokia 는 JMX 를 HTTP 로 노출해 주는 중계기이며, 브라우저 기반 도구는 이것을 거쳐 MBean 을 읽습니다.
준비가 되면 브라우저에서 서버 주소와 접속 정보를 입력해 연결합니다. JBoss 라면 서버의 IP 주소와 HTTP 포트, 관리 콘솔 계정을 씁니다.
Jolokia 배포 확인
접속되지 않는다면 Jolokia 가 배포되어 있는지 먼저 봅니다. JBoss 라면 standalone-ha.xml 에 아래 설정이 있어야 합니다.
<deployments>
...
<deployment name="jolokia-war-1.2.0.war" runtime-name="jolokia-war-1.2.0.war">
<content sha1="ea788aa20046173561f736ae738113c4d8ff6133"/>
</deployment>
...
</deployments>
설정이 되어 있지 않다면, jolokia-1.2.0.war를 사용하여 다음과 같이 설정합니다.
<deployments>
...
<deployment name="jolokia-war-1.2.0.war" runtime-name="jolokia-war-1.2.0.war">
<fs-archive path="/svc/test/domains/app/jolokia-war-1.2.0.war"/>
</deployment>
...
</deployments>
세션 정보 확인
- 세션 상태 모니터링
MBean 목록에서 com.opennaru.khan.session 을 펼치고 애플리케이션 이름(루트 컨텍스트면 ROOT)을 클릭하면 세션 정보가 나옵니다.

- ‘Operations’ 탭 선택
Operations 탭을 선택하면, 정보를 가져올 수 있는 API들이 표시됩니다.

- 세션 ID 리스트 가져오기
‘getSessionIds(int)’를 클릭합니다.
