Spring Boot 메트릭 수집과 알림: Micrometer와 Prometheus (Spring 개발자를 위한 클라우드 표준 4)
로그는 개별 사건을 남길 뿐 시스템의 추이는 보여주지 못한다. Actuator가 Micrometer로 만든 메트릭을 Prometheus가 pull로 긁어가는 구조, PromQL 질의와 Alertmanager 알림, Grafana에서 로그 옆에 메트릭을 놓는 구성까지 다룬다.
컨테이너에서 쿠버네티스까지. 배포·운영·CNCF 생태계를 JVM 관점에서.
파드가 여러 개면 kubectl logs로는 에러 하나 찾기도 어렵고, 파드가 재시작되면 로그도 사라진다. Spring Boot 3.4 구조화 로깅으로 로그를 JSON으로 바꿔 stdout으로 흘리고, Loki가 라벨로 수집·조회하는 표준 구성을 다룬다. 관측성 첫 편.
로컬 bootRun에서 클러스터 배포까지의 표준 경로. jar를 Jib·Buildpacks로 OCI 이미지로 만들고, Helm과 ConfigMap으로 패키징하고, probe를 Actuator health에 잇는다. 컨테이너 메모리 limit과 JVM 힙이 어긋나 생기는 OOMKilled의 원인과 해법까지 한 편에서 다룬다.
Spring 앱을 Kubernetes로 옮기면 Prometheus, OpenTelemetry, Istio 같은 낯선 이름이 한꺼번에 나온다. 이 도구들이 어떤 문제를 풀려고 생겼고, 왜 CNCF라는 한 재단에 모였고, Spring의 로깅·설정·패키징·MSA와 어떻게 이어지는지 정리한 시리즈 입문 지도.