본문 바로가기
IT/Java

spring boot에서 actuator 사용하기

by 성준하이 2023. 1. 1.
반응형
Spring actuator 란?

일단 공식 문서에서는 아래와 같이 정의 되어있다.

 

Spring Boot includes a number of additional features to help you monitor and manage your application when you push it to production. You can choose to manage and monitor your application by using HTTP endpoints or with JMX. Auditing, health, and metrics gathering can also be automatically applied to your application.

 

번역을 하면 이렇다.

Spring Boot에는 애플리케이션을 프로덕션으로 푸시할 때 애플리케이션을 모니터링하고 관리하는 데 도움이 되는 여러 가지 추가 기능이 포함되어 있습니다. HTTP 엔드포인트 또는 JMX를 사용하여 애플리케이션을 관리하고 모니터링하도록 선택할 수 있습니다. 감사, 상태 및 메트릭 수집을 애플리케이션에 자동으로 적용할 수도 있습니다.

https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html

 

Production-ready Features

You can enable recording of HTTP exchanges by providing a bean of type HttpExchangeRepository in your application’s configuration. For convenience, Spring Boot offers InMemoryHttpExchangeRepository, which, by default, stores the last 100 request-response

docs.spring.io

 

사용법은 다음과같다.

일단 대부분의 라이브러리는 dependency 를 추가하면서 사용을 해야한다.

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
   </dependency>
</dependencies>


사용에 대해서는

  • endpoints는 모니터링이나 조작을 할수 있도록 연결하는 점
  • 기본제공이 있고 사용자가 추가를 할수가 있음(아래 표는 기본 제공되는 대표적인 몇가지의 endpoint들이다.)
  • 사용여부는 속성을 사용하거나 안하거나 설정할수있음

그리고 추가하고 실행은 ip:port/actuator 를 하면 json 형식으로 사용가능한 목록들을 확인이 가능하다.

 

HTTP 메서드
경로
설명
디폴트 활성화
GET
/auditevents
호출된 감사(audit) 이벤트 리포트를 생성한다.
No
GET
/beans
스프링 애플리케이션 컨텍스트의 모든 빈을 알려준다.
No
GET
/conditions
성공 또는 실패했던 자동-구성 조건의 내역을 생성한다.
No
GET
/configprop
모든 구성 속성들을 현재 값과 같이 알려준다.
No
GET,POST,DELETE
/env
스프링 애플리케이션에 사용할 수 있는 모든 속성 근원과 이 근원들의 속성을 알려준다.
No
GET
/env/{toMatch}
특정 환경 속성의 값을 알려준다.
No
GET
/health
애플리케이션의 건강 상태 정보를 반환한다.
Yes
GET
/heapdump
힙(heap) 덤프를 다운로드한다.
No
GET
/httptrace
가장 퇴근의 100개 요청에 대한 추적 기록을 생성한다.
No
GET
/info
개발자가 정의한 애플리케이션에 관란 정보를 반환한다.
Yes
GET
/loggers
애플리케이션의 패키지 리스트(각 패키지의 로깅 레벨이 포함된)를 생성한다.
No
GET,POST
/loggers/{name}
지정된 로거의 로깅 레벨(구성된 로깅 레벨과 유효 로깅 레벨 모두)을 반환한다. 유효 로깅 레벨은 HTTP POST 요청으로 설정될 수 있다.
No
GET
/mappings
모든 HTTP 매핑과 이 매핑들을 처리하는 핸들러 메서드들의 내역을 제공한다.
No
GET
/metrics
모든 메트릭 리스트를 반환한다.
No
GET
/metrics/{name}
지정된 메트릭의 값을 반환한다.
No
GET
/scheduledtasks
스케줄링된 모든 태스크의 내역을 제공한다.
No
GET
/threaddump
모든 애플리케이션 스레드의 내역을 반환한다.
No
반응형

댓글