똑같은 삽질은 2번 하지 말자

Spring Boot 개념다지기 No.20(Actuator) 본문

Spring/Spring Boot

Spring Boot 개념다지기 No.20(Actuator)

곽빵 2020. 5. 6. 15:43

Spring Boot는 애플리케이션 운영환경에서 유용한 기능을 제공한다.

제공하는 기능중 엔드포인트와 매트릭스 그리고 데이터를 활용하는 모니터링 기능에 대해 알아보자.

 

Actuator

 

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-endpoints

 

Spring Boot Reference Documentation

 

docs.spring.io

 

JConsole 사용하기

https://docs.oracle.com/javase/tutorial/jmx/mbeans/ https://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html 
 
 
VisualVM 사용하기 

● https://visualvm.github.io/download.html 
 
HTTP 사용하기 

● /actuator 

● health와 info를 제외한 대부분의 Endpoint가 기본적으로 ​비공개​ 상태 

● 공개 옵션 조정 

management.endpoints.web.exposure.include=*

management.endpoints.web.exposure.exclude=env,beans

management.endpoints.web.exposure.include=* 
management.endpoints.web.exposure.exclude=env,beans 

엔드포인트 추가한 actuator

Spring-Boot-Admin 

actuator를 UI로 볼 수 있게 제 3자가 개발한 툴

이건 따로 서버가 하나 더 필요하다.

서버쪽 의존성
<dependency>
  <groupId>de.codecentric</groupId>
  <artifactId>spring-boot-admin-starter-server</artifactId>
  <version>2.0.1</version>
</dependency>

@EnableAdminServer -> 메인클래스에 추가

 

클라이언트 쪽 의존성
<dependency>
  <groupId>de.codecentric</groupId>
  <artifactId>spring-boot-admin-starter-client</artifactId>
  <version>2.0.1</version>
</dependency>

프로퍼티 설정
spring.boot.admin.client.url=http://localhost:8080(서버 주소)
management.endpoints.web.exposure.include=*

 

Comments