유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

Spring Batch - Monitoring and Metrics Explained | Part #1

Bayonne Sensei

2025. 8. 12.

0

#backend
#devops
  • Spring Batch 애플리케이션 모니터링을 위해 Prometheus와 Grafana를 사용하며, Spring Batch는 주로 단기 실행 작업(short-lived jobs)으로 설계됨 ⏱️
  • 단기 실행 작업은 스케줄러나 이벤트에 의해 트리거되며, CI 프로세스나 AWS Lambda 함수 호출과 같은 사용 사례가 있음 ⚙️
  • Spring Batch는 Kubernetes 환경에서 CronJob이나 Job 형태로 배포되는 경우가 많음 ☸️
  • 일반적인 Spring Boot 애플리케이션 모니터링에는 Actuator, Micrometer, Prometheus를 사용하며, 이는 장기 실행 애플리케이션에 적합함 📊
  • 장기 실행 애플리케이션(예: 마이크로서비스)은 Actuator와 Micrometer를 통해 Prometheus 엔드포인트를 노출하고, Prometheus가 메트릭을 수집하여 Grafana에서 시각화함 📈
  • OpenTelemetry나 Datadog, Dynatrace와 같은 엔터프라이즈 솔루션도 모니터링에 활용 가능함 🏢
  • 단기 실행 작업의 경우, Prometheus가 엔드포인트를 폴링하는 동안 애플리케이션이 종료될 수 있어 메트릭이 손실될 수 있음 ❌
  • Push Gateway는 단기 실행 작업의 메트릭을 저장하는 중간 저장소 역할을 하며, 작업 종료 전에 메트릭을 Push Gateway로 전송함 📤
  • Prometheus는 Push Gateway에서 메트릭을 폴링하고, Grafana는 Prometheus를 데이터 소스로 사용하여 대시보드를 생성함 💡
  • Docker를 사용하여 Push Gateway, Prometheus, Grafana 컨테이너를 실행하고, Spring Batch 애플리케이션을 구성하여 메트릭을 Push Gateway로 전송하도록 설정함 🐳
  • Spring Batch 애플리케이션에 Actuator, Micrometer, Prometheus Push Gateway 의존성을 추가하여 메트릭을 활성화하고 Push Gateway로 전송하도록 구성함 ➕
  • Actuator 엔드포인트를 활성화하고, Prometheus 메트릭 내보내기를 활성화하며, Push Gateway 설정을 구성하여 애플리케이션이 메트릭을 전송하도록 함 ✅

Recommanded Videos