파이프라인 모니터링 & 클러스터 모니터링

데브코스

목록 보기
131/131

파이프라인 모니터링 vs 클러스터 모니터링, 한 번에 이해하기

둘 다 "모니터링"이라 헷갈리기 쉬운데, 보는 대상이 완전 다름. 핵심부터 한 줄로 정리하면 이렇다.

  • 파이프라인 모니터링 = "일이 흘러가는 과정"을 지켜보는 것
  • 클러스터 모니터링 = "그 일을 돌리는 서버들"을 지켜보는 것

1. 파이프라인 모니터링

쉽게 비유하면

공장 컨베이어 벨트라고 생각하면 됨! 원료가 들어가서 → 가공되고 → 포장되고 → 출고되는 흐름이 파이프라인이다. 모니터링은 이 벨트 곳곳에 CCTV랑 센서를 달아놓고 "어디서 막혔지? 어디서 불량 나지? 얼마나 오래 걸리지?"를 실시간으로 보는 것 같음!

근데 "파이프라인"이 두 가지 뜻으로 쓰여서 이것부터 구분해야 한다.

  • (A) CI/CD 파이프라인 — 코드 → 빌드 → 테스트 → 배포 흐름
  • (B) 데이터 파이프라인 — 데이터 수집 → 가공(ETL) → 저장 → 분석 흐름

자세히

CI/CD 파이프라인 모니터링은 이런 걸 본다.

  • 빌드가 성공했냐 실패했냐 (성공률)
  • 빌드/배포가 평균 몇 분 걸리냐 (점점 느려지면 신호)
  • 어느 단계(stage)에서 자주 깨지냐
  • 배포 빈도, 롤백 횟수 같은 DevOps 지표

데이터 파이프라인 모니터링은 이런 걸 본다.

  • 데이터가 제때 들어왔냐 (지연 = latency)
  • 중간에 데이터가 유실되거나 중복됐냐
  • 처리량(throughput)이 평소랑 비슷하냐
  • 특정 작업(job)이 실패해서 멈췄냐

실사용 예

GitHub Actions에서 푸시할 때마다 빌드 돌잖아? 그 Actions 탭에 빨간불/초록불 뜨고 각 step별 소요 시간 나오는 거, 그게 가장 기본적인 CI/CD 파이프라인 모니터링이다!

좀 더 본격적으로 가면 회사에서는 이런 식이다.

  • 매일 새벽 3시에 "어제 가입한 유저 데이터를 집계해서 분석 DB에 넣는" 배치 작업이 있다고 하면, 이게 안 돌면 아침에 대시보드 숫자가 텅 비어버린다. 그래서 Airflow 같은 툴로 "이 작업 성공했냐? 몇 시에 끝났냐? 실패하면 슬랙으로 알림 쏴라" 이렇게 감시함.
  • 결제 데이터처럼 절대 빠지면 안 되는 건, "들어온 건수 vs 처리된 건수"가 안 맞으면 바로 알람 울리게 해둔다.

대표 툴: GitHub Actions / GitLab CI / Jenkins 자체 대시보드, 데이터 쪽은 Airflow, Dagster, Datadog 같은 것 같음!


2. 클러스터 모니터링

쉽게 비유하면

여러 명이 일하는 사무실이라고 생각하면 됨! 서버 한 대 = 직원 한 명, 클러스터 = 사무실 전체. 모니터링은 관리자가 대시보드 보면서 "A는 과로해서 쓰러지기 직전이고(CPU 90%), B는 놀고 있고, C는 아예 출근을 안 했네(노드 다운)" 이걸 한눈에 파악하는 것 같음!

자세히

클러스터는 서버(노드) 여러 대를 묶어서 하나처럼 쓰는 거다. 요즘은 보통 쿠버네티스(K8s) 클러스터를 떠올리면 된다. 모니터링은 크게 3계층을 본다.

노드(하드웨어) 레벨

  • CPU, 메모리, 디스크, 네트워크 사용량
  • 노드가 살아있냐 죽었냐

워크로드(컨테이너/파드) 레벨

  • 파드가 정상 실행 중이냐, 자꾸 재시작(CrashLoopBackOff) 하냐
  • 메모리 부족으로 죽었냐(OOMKilled)
  • 파드가 노드들에 골고루 잘 분산됐냐

클러스터 전체 레벨

  • 전체 자원 중 얼마나 쓰고 있냐 (남은 여유분)
  • 오토스케일링이 잘 동작하냐
  • 트래픽 몰릴 때 자원이 버티냐

실사용 예

Redis(ElastiCache) 비용이 갑자기 튀는 상황이 딱 클러스터 모니터링이 필요한 케이스다.

  • "Redis 메모리가 꽉 차서 캐시가 자꾸 밀려나는지", "특정 시간대에만 CPU가 튀는지"를 봐야 진짜 원인을 잡을 수 있다. 그냥 비용 청구서만 보면 "비싸네"로 끝나는데, 모니터링 그래프 보면 "아 이 시간대에 트래픽 몰려서 그렇구나" 하고 보인다.

실무 시나리오 하나 더.

  • 서비스가 갑자기 느려졌다고 유저 항의가 들어옴 → 클러스터 대시보드 켬 → "어? 노드 3대 중 1대가 메모리 95% 찍고 파드 계속 재시작 중이네?" → 그 파드 메모리 제한 늘리거나 노드 추가 → 해결.

대표 툴: Prometheus + Grafana 조합이 사실상 표준이다 (Prometheus가 수집, Grafana가 예쁜 그래프). 그 외에 Datadog, 가볍게는 k9s나 Lens 같은 터미널/데스크탑 툴도 많이 쓴다 같음!


둘 차이 한 방 정리

구분파이프라인 모니터링클러스터 모니터링
보는 대상일의 흐름/과정일을 돌리는 인프라/서버
핵심 질문"이 작업 잘 돌아갔나?""서버가 건강한가?"
비유컨베이어 벨트 CCTV사무실 직원 근태 관리
알람 예시"배포 실패함!""노드 메모리 꽉 참!"

쉽게 외우면 파이프라인 = 동사(흐름), 클러스터 = 명사(자원) 이렇게 보면 안 헷갈릴 듯!

둘이 같이 쓰이는 경우도 많다. 데이터 파이프라인이 쿠버네티스 클러스터 위에서 돌면, 파이프라인도 보고 그 밑의 클러스터도 같이 봐야 하니까.

profile
Dive Head First | Work Super Hard | Attract Great People

0개의 댓글