2025-04-08T19:56:24
This commit is contained in:
190
docs/actuator/02_endpoints.md
Normal file
190
docs/actuator/02_endpoints.md
Normal file
@@ -0,0 +1,190 @@
|
||||
좋아, 이어서 **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부 **보안과 커스터마이징**으로 이어지면 좋아. 계속 이어서 써줄까?
|
||||
Reference in New Issue
Block a user