JMX와 HTTP
JMX(Java Management Extension)
응용 프로그램/객체/장치 및 서비스 지향 네트워크 등을 감시 관리를 위한 도구를 제공하는 자바 API이다.
응용 프로그램/객체/장치, 서비스 지향 네트워크는 MBean
이라는 객체로 표현된다.
JConsole 사용하기
1. Web Application 실행
2. Termianl에서 jconsole
입력
// Terminal
jskim@DESKTOP-SI6DJ17 MINGW64 /d/dev/study/EduApplication
$ jconsole
JConsole 사용방법
1. 로컬에서 동작하는 Web Application 프로세스 선택 후 Connect
2. SSL이 적용되어 있지 않기 때문에 Insecure connection
3. Application이 사용하는 다양한 정보 요약 화면 표시
* Tab 별로 다양한 정보 확인 가능
참고
https://docs.oracle.com/javase/tutorial/jmx/mbeans/
Lesson: Introducing MBeans (The Java™ Tutorials > Java Management Extensions (JMX))
The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See JDK Release Notes for information about new fe
docs.oracle.com
https://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html
Using JConsole - Java SE Monitoring and Management Guide
Chapter 3 Using JConsole The JConsole graphical user interface is a monitoring tool that complies to the Java Management Extensions (JMX) specification. JConsole uses the extensive instrumentation of the Java Virtual Machine (Java VM) to provide informati
docs.oracle.com
VisualVM 사용하기
1. Java 10
부터는 VisualVM
이 포함되지 않아 https://visualvm.github.io/download.html 에서 다운받아 실행
VisualVM: Download
First Steps Unzip the downloaded archive. The archive already contains the top-level visualvm directory. Start VisualVM by invoking the binary appropriate for your OS:visualvm\bin\visualvm.exe or visualvm/bin/visualvm You may provide additional options to
visualvm.github.io
또는, Terminal에서 jvisualvm
입력
// Terminal
jskim@DESKTOP-SI6DJ17 MINGW64 /d/dev/study/EduApplication
$ jvisualvm
VisualVM 사용방법
1. Application 더블 클릭 시 다양한 정보 요약 화면 표시
* Tab 별로 다양한 정보 확인 가능
MBean Tab 추가 방법
1. Tools - Plugins 실행
2. Available Plugins Tab에서 mbean 검색 후 체크하여 install
3. Application 새로 선택하면 MBeans Tab 생긴것 확인
HTTP
HTTP를 이용하여 Endpoint 확인 가능하다.
HTTP 공개 옵션 조정
HTTP에서는 health
와 info
를 제외한 대부분의 Endpoint
가 기본적으로 비공개 상태이기 때문에 공개 옵션을 application.properties
를 통해 조정한다.
// application.properties
management.endpoints.web.exposure.include=*
동작 확인
다양한 정보를 볼 수 있기 때문에 스프링 시큐리티 통해 Endpoint
를 Admin만 접근 가능하게 해야 보안 문제가 없다.
'Dev > Spring Boot' 카테고리의 다른 글
[스프링 부트 개념과 활용] 스프링 부트 Actuator 3부 (0) | 2020.09.03 |
---|---|
[스프링 부트 개념과 활용] 스프링 부트 Actuator 1부 (0) | 2020.09.03 |
[스프링 부트 개념과 활용] 그 밖에 다양한 기술 연동 (0) | 2020.09.03 |
[스프링 부트 개념과 활용] 스프링 REST 클라이언트 2부 (0) | 2020.09.03 |
[스프링 부트 개념과 활용] 스프링 REST 클라이언트 1부 (0) | 2020.09.03 |
댓글