Spring Cloud Data Flow 와 그라파나를 활용한 배치 모니터링
- 개발 완료된 Batch Application 을 Task 단위로 배포가 가능하다
- TASK 로 등록된 Job 들간의 Exit Status 값에 따라 TASK FLOW 를 지정해 줄 수 있다
TASK
,JOB
별 목록 및 히스토리를 제공하며, Job 내부의 Step 목록을 확인 할 수 있다
- Job Executions 상세 페이지를 통해 실행된 Job 의 파라미터, 실행정보, Step 별 수행 정보 등을 확인 할 수 있음
- Step 별 Read, write 수 등의 세부 Count 및 총 집계 정보를 확인 할 수 있음
- Job 별 상세 페이지 내에서 Log 확인이 가능하여, 별도 서버접근 없이 모니터링이 가능
SCDF Stream 및 Task 모니터링을 위한 Prometheus를 통한 Grafana 연동을 지원한다
아래 그림처럼 RSocket-Proxy Server - Prometheus 를 통해 metric 정보들을 수집하고 있음.
SCDF 에서 전체 & 특정 Task에 대한 그라파나 링크 지원 ( 기능 활성화 필요 )
그라파나 공유 대시보드의 이미 공개된 대시보드를 활용하여 빠르게 화면을 구성할 수 있다
spring:
cloud:
dataflow:
metrics:
dashboard:
url: localhost:3000 #그라파나 url
management:
metrics:
export:
prometheus:
enabled: true
rsocket:
enabled: true
host: localhost # RSocket Proxy
port: 7001
implementation 'org.springframework.cloud:spring-cloud-starter-task:3.0.4'
implementation 'io.micrometer.prometheus:prometheus-rsocket-spring:1.5.0'
prometheus.yml
설정
- job_name: 'local-rsocket-proxy-connected'
scrape_interval: 10s
scrape_timeout: 9s
metrics_path: '/metrics/connected'
static_configs:
- targets: ['localhost:8080']
- job_name: 'local-rsocket-proxy'
scrape_interval: 10s
scrape_timeout: 2s
metrics_path: '/metrics/proxy'
static_configs:
- targets: ['localhost:8080']
- Prometheus Server URL 설정