본문 바로가기
Dev/Spring Boot

[스프링 부트 개념과 활용] 스프링 부트 Actuator 2부

by dev_jsk 2020. 9. 3.
728x90
반응형

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에서는 healthinfo를 제외한 대부분의 Endpoint가 기본적으로 비공개 상태이기 때문에 공개 옵션을 application.properties를 통해 조정한다.

// application.properties

management.endpoints.web.exposure.include=*

동작 확인

다양한 정보를 볼 수 있기 때문에 스프링 시큐리티 통해 Endpoint를 Admin만 접근 가능하게 해야 보안 문제가 없다.

728x90
반응형

댓글