다시 웹, 백엔드로/스프링

액츄에이터

EnoughTT 2023. 11. 21. 19:10

운영 환경에서 서비스할 때 필요한 이런 기능들을 프로덕션 준비 기능이라 함

프로덕션을 운영에 배포할 때 준비해야 하는 비 기능적 요소들을 뜻함

 

  • 지표(metric), 추적(trace), 감사(auditing)
  • 모니터링

 

스프링 부트가 제공하는 액추에이터는 이런 프로덕션 준비 기능을 매우 편리하게 사용할 수 있는 다양한 평의 기능들을 제공함

 

 

build.gradle

 

 

 

  • 액츄에이터는 /actuarot 경로를 통해 기능을 제공함

 

localhost:8080/actuator/health

 

  • 이 기능은 현재 서버가 잘 동작하고 있는지 애플리케이션의 헬스 상태를 나타냄

 

 

액츄에이터 기능을 웹에 노출

 

 

 

  • 액츄에이터가 제공하는 수 많은 기능을 확인 할 수 있음
  • 제공하는 기능을 엔드포인트라 함
    • health 는 헬스 정보, beans는 스프링 컨테이너에 등록된 빈을 보여줌
  • 각각의 엔드포인트는 /actuator/{엔드포인트명} 과 같은 형식을 접근

 

 

엔드포인트 설정

 

  • 엔드포인트 활성화: 해당 기능 자체를 on, off 선택
  • 엔드포인트 노출: HTTP에 노출할지 JMX (사용하지 않음)에 노출할지 선택

 

엔드포인트 대부분은 기본 활성화로 되어 있음 (shutdown 제외)

 

 

 

엔드포인트 활성화

 

특정 엔드포인트를 활성화 하려면 enable=true 적용

 

postman

 

postman을 사용해서 서버 종료

get으로 호출하면 동작하지 않음

 

 

 

 

엑츄에이터 보안

 

내부 정보를 너무 많이 노출함

내부에서만 접근 가능한 내부망을 사용하는 것이 안전함

  • 엑츄에이터를 다른 포트에서 실행
  • 엑츄에이터 url 경로에 인증 설정
  • 엔드포인트 경로 변경
    • base-path: "변경할 기본 경로"

 

 

 

 

 

 

 

 

 

 

 

feat. 스프링부트 - 핵심 원리와 활용 (김영한)

'다시 웹, 백엔드로 > 스프링' 카테고리의 다른 글

GET API  (0) 2024.05.27
Spring Boot 시작하기  (0) 2024.05.27
YAML / @Profile  (0) 2023.11.21
@ConfigurationProperties 검증  (0) 2023.10.30
외부설정사용 - @ConfigurationProperties 생성자  (1) 2023.10.22