Files
spring-boot-examples/docs/actuator/02_endpoints.md
2025-04-08 19:56:24 +09:00

190 lines
3.5 KiB
Markdown

좋아, 이어서 **2부. 주요 엔드포인트 상세 분석**을 작성해볼게. 실무에서 자주 쓰는 엔드포인트 중심으로 간결하게 구성하고, 예시도 함께 제공할게.
---
## **2부. 주요 엔드포인트 상세 분석**
---
### **6장. `/actuator/health` — 헬스 체크**
#### 개요
애플리케이션의 현재 상태(UP, DOWN 등)를 알려주는 엔드포인트. 모니터링 시스템, 로드 밸런서의 상태 판단 기준으로 자주 사용됨.
#### 기본 사용
```bash
curl http://localhost:8080/actuator/health
```
```json
{
"status": "UP"
}
```
#### 커스터마이징
```yaml
management:
endpoint:
health:
show-details: always
```
```json
{
"status": "UP",
"components": {
"diskSpace": {
"status": "UP",
"details": {
"total": 500000000000,
"free": 480000000000,
"threshold": 10485760
}
}
}
}
```
#### 사용자 정의 헬스 인디케이터
```java
@Component
public class MyHealthIndicator implements HealthIndicator {
@Override
public Health health() {
return Health.up().withDetail("custom", "OK").build();
}
}
```
---
### **7장. `/actuator/info` — 정보 제공**
#### 설정
```yaml
info:
app:
name: actuator-demo
version: 1.0.0
```
```bash
curl http://localhost:8080/actuator/info
```
```json
{
"app": {
"name": "actuator-demo",
"version": "1.0.0"
}
}
```
#### Git 정보 포함하기
`build.gradle`
```kotlin
plugins {
id "com.gorylenko.gradle-git-properties" version "2.4.0"
}
```
```yaml
management:
info:
git:
mode: full
```
---
### **8장. `/actuator/metrics` — 메트릭 수집**
#### 개요
CPU, 메모리, 요청 횟수 등 주요 리소스 사용량 정보를 제공함.
```bash
curl http://localhost:8080/actuator/metrics
```
```json
{
"names": [
"jvm.memory.used",
"jvm.gc.memory.promoted",
"http.server.requests",
...
]
}
```
#### 특정 메트릭 조회
```bash
curl http://localhost:8080/actuator/metrics/http.server.requests
```
---
### **9장. `/actuator/loggers` — 로깅 레벨 제어**
#### 현재 로깅 레벨 조회
```bash
curl http://localhost:8080/actuator/loggers/com.example
```
#### 런타임 레벨 변경
```bash
curl -X POST http://localhost:8080/actuator/loggers/com.example \
-H 'Content-Type: application/json' \
-d '{"configuredLevel": "DEBUG"}'
```
---
### **10장. `/actuator/httptrace` — HTTP 요청 추적**
> Spring Boot 2.6 이후 기본 미포함. 의존성 추가 필요.
```kotlin
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-actuator-autoconfigure'
```
```yaml
management:
endpoint:
httptrace:
enabled: true
endpoints:
web:
exposure:
include: httptrace
```
---
### **11장. 기타 엔드포인트 요약**
| 엔드포인트 | 설명 |
|------------------|------|
| `/actuator/beans` | 등록된 스프링 빈 목록 |
| `/actuator/env` | 환경 변수 및 프로퍼티 확인 |
| `/actuator/mappings` | URL-컨트롤러 매핑 확인 |
| `/actuator/threaddump` | 스레드 덤프 출력 |
| `/actuator/configprops` | `@ConfigurationProperties` 설정 확인 |
| `/actuator/scheduledtasks` | 스케줄링된 작업 정보 확인 |
---
다음은 3부 **보안과 커스터마이징**으로 이어지면 좋아. 계속 이어서 써줄까?