개요
Actuator는 SpringBoot가 제공하는 기본적인 서버 모니터링 도구입니다.
CPU사용량, 메모리사용량과 같은 간단한 자원 사용량부터 시작하여, Heap사용량, Hikari Datasource정보 등 많은 정보들을 제공하기 때문에, 이들을 적절히 사용한다면 서버의 자원을 지속적으로 모니터링할 수 있습니다.
서버에 문제가 생기거나, 자원 사용량을 최적화해야 하거나, 작성한 논리구조가 실제로 어떻게 동작하는지 확인하거나...
이외의 많은 경우에 대해 원인을 파악하고 판단을 내려야 할 때 모니터링이 필수적입니다.
이번 글에서는, 중요한 모니터링 기능을 제공하는 SpringBoot Actuator에 대해 알아보도록 하겠습니다.
Actuator 사용하기
Actuator를 사용하는 방법은 간단합니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
pom.xml에 해당 코드를 추가하면 됩니다.
(개발환경 : Intellij IDEA, SpringBoot 3.2.1, maven)
이후 maven을 리로드하고 서버를 실행합니다.
127.0.0.1:8080/actuator 링크로 접속하면, 아래와 같은 결과를 볼 수 있습니다.
여기에서 보면 알 수 있듯이, url에 따라 어떠한 분류의 정보를 얻을 수 있습니다.
이렇게 뜨지 않고, health 정보만 나온다면
management:
endpoints:
web:
exposure:
include: "*"
application.yml이나 properties에 해당 엔드포인트를 열어주시면 됩니다.
actuator/metrics경로를 들어가면 jvm, cpu, tomcat, hihkaricp, disk등 서버의 많은 정보를 얻을 수 있습니다.
hikaricp.connections.xxxx...의 경우 hikaricp(Hikari Connection Pool)의 정보를 표시합니다.
process.cpu.usage의 경우 현재 서버 프로세스가 점유하는 CPU사용량을 표시합니다.
value : 10.0이므로, Hikari Connection Pool의 IDLE Connections는 10개임을 알 수 있습니다.
value : 0.290...이므로, 현재 29%의 CPU를 점유하는 것을 알 수 있습니다.
metrics이외에도 여러 기능들을 사용할 수 있습니다.
actuator/beans : Spring Container에 등록된 빈들을 확인
actuator/env : Environment정보를 확인
actuator/health : Application 상태 정보를 확인
등등 많은 정보들을 확인할 수 있습니다.
추가적인 정보는
https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/
Spring Boot Actuator Web API Documentation
The prometheus endpoint provides Spring Boot application’s metrics in the format required for scraping by a Prometheus server. 19.1. Retrieving All Metrics To retrieve all metrics, make a GET request to /actuator/prometheus, as shown in the following cur
docs.spring.io
https://docs.spring.io/spring-boot/docs/3.0.x/actuator-api/htmlsingle/#httpexchanges
Spring Boot Actuator Web API Documentation
The prometheus endpoint provides Spring Boot application’s metrics in the format required for scraping by a Prometheus server. 19.1. Retrieving All Metrics To retrieve all metrics, make a GET request to /actuator/prometheus, as shown in the following cur
docs.spring.io
Spring 공식문서에서 확인할 수 있습니다.
'WEB > Spring' 카테고리의 다른 글
[Spring] Virtual Thread, DB IO테스트시 발생했던 문제 - 1 (1) | 2024.01.21 |
---|---|
[Spring] HikariCP 알아보기 (0) | 2024.01.14 |
[Spring] SpringBoot에서의 Virtual Thread (2) | 2023.12.31 |
[Spring] Spring의 ThreadPool (1) | 2023.12.31 |
[Spring] Jmeter로 HTTP Stress Test 진행해보기 (1) | 2023.12.27 |