spring actuator
Spring Boot 에서 설정 관련 파일을 수정할 때 마다 Boot를 재시작 해야지만 반영이 되는데
실제 서비스를 한다고 가정했을 때 이런 재시작 작업은 사용자 경험에 치명적일 수 있다.
spring actuator를 활용하면 Boot 재시작 안하고도 api 호출로 설정을 반영할 수 있다.
환경
자바17 / Spring Boot 3.2.5 / Gradle 8.7
spring actuator 적용하기
1. dependency 추가해준다.
implementation 'org.springframework.boot:spring-boot-starter-actuator'
2. yml 또는 properties 설정 파일에 설정해준다.
2-1. 참고로 내 환경은 yml 이고 파일명이 bootstrap.yml이라서 bootstrap dependency 도 추가해줘야한다.
// bootstrap.yml 을 사용하기 위해 dependency 추가
implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap'
#bootstrap.yml 파일
#spring actuator 설정
#actuator 설명: microservice에 대해서 API를 통해 애플리케이션의 상태나 정보를 확인할 수 있도록 지원하는 라이브러리
management:
#endpoints: actuator 기능들을 명시
endpoints:
web:
exposure:
# refresh: 설정파일에 대해서 refresh를 사용하겠다. => 얘만 적용해줘도 설정 파일이 변경되어도 프로세스 재실행 없이 reload 할 수 있다.
# health: 현재 상태
# beans: spring에 등록한 bean 확인
include: refresh, health, beans
3. 테스트를 위해 서버 가동 후 로그 파일이 생성되는지 확인한다.
3-1. 현재 logs 를 확인해보면 api3.log로 저장이되고 있다.
3-2. 서버가 구동중인 상태에서 logs 설정부분을 변경해 api4.log 파일로 생성되게 변경해본다.
4. actuator를 실행시켜본다.
4-1. refresh 를 하기 위해서는 api로 호출하면 된다 경로는 서버주소/actuator/refresh 이다.
4-2. 응답이 제대로 됐으면 log 파일이 새로 생겼는지 확인한다.
'Spring Boot' 카테고리의 다른 글
날짜 표시하기(오늘기준 몇 분, 시간, 일, 달, 시간 전) (0) | 2023.11.17 |
---|---|
ResponseEntity - 응답코드, 응답본문, 응답헤더 작성 가능한 객체 (0) | 2023.10.25 |
파일 첨부(전송, 받기) (0) | 2023.10.20 |
의존성 주입 DI (Dependency Inject) (0) | 2023.10.17 |
@Compnent (0) | 2023.10.17 |