Airflow, Grafana, Prometheus, Kubernetes 개념 정리

wldbs._.·2026년 5월 11일

SW

목록 보기
16/16
post-thumbnail

프로젝트를 진행하면서, 파이프라인 과정에서 활용되는 Airflow/Grafana/Prometheus/K8s에 대해 알고 싶어졌다.
진입장벽(?)을 낮추기 위해 아래 글에서 기초적인 개념부터 정리해보고자 한다.


1. Airflow

Apache Airflow는 데이터 파이프라인과 배치 작업을 자동으로 실행·관리하는 워크플로우 오케스트레이션 플랫폼이다.

공식 사이트: Apache Airflow

핵심 역할

  • 작업(Task) 스케줄링
  • 작업 간 의존성 관리
  • 실패 재시도
  • 실행 로그 관리
  • ETL / ML 파이프라인 자동화

1-1. 오케스트레이션(Orchestration)

오케스트레이션은 여러 작업을 순서와 조건에 따라 자동으로 관리하는 것을 의미한다.

예시:

1. 데이터 수집
2. 데이터 전처리
3. 모델 실행
4. 결과 저장
5. 알림 발송

Airflow는:

  • “2번은 1번 성공 후 실행”
  • “실패하면 3번 재시도”
  • “매일 새벽 2시 실행”

같은 규칙을 자동 관리한다.

즉:

  • 단순 실행 = Script
  • 흐름 전체 관리 = Orchestration

1-2. DAG(Directed Acyclic Graph)

DAG는 작업 흐름을 표현하는 구조다.

의미:

  • Directed = 방향이 있음 ✅
  • Acyclic = 순환 없음 ✅
  • Graph = 연결 구조 ✅

예시:

A(수집) → B(전처리) → C(학습)
                  ↘ D(리포트)

의미:

  • B는 A 완료 후 실행 가능
  • C/D는 B 완료 후 실행 가능
  • 다시 A로 돌아가는 순환은 없음

👉 Airflow에서는 DAG가 곧 워크플로우 정의서다.

예시 코드:

task_a >> task_b >> task_c

1-3. CRON과 crontab

CRON은 리눅스의 작업 예약 스케줄러다.

예시:

0 2 * * * backup.sh

의미:

매일 새벽 2시에 backup.sh 실행

👉 Airflow도 내부적으로 CRON 표현식을 사용한다.

예시:

schedule="0 2 * * *"

crontab과의 차이

항목cron/crontabAirflow
역할단순 예약 실행워크플로우 관리
의존성 관리어려움가능
재시도제한적강력
UI없음있음
로그 관리약함강력

즉:

  • crontab = “정해진 시간에 실행”
  • Airflow = “복잡한 작업 흐름 운영 플랫폼”

2. ETL / ML 파이프라인

2-1. ETL

ETL은 데이터 처리의 기본 구조다.

ETL = Extract → Transform → Load

단계의미
Extract데이터 수집
Transform데이터 정제/가공
Load저장

예시:

DB 로그 추출
→ JSON 정리
→ 데이터웨어하우스 저장

2-2. ML Pipeline

ML 파이프라인은 머신러닝 자동화 흐름이다.

예시:

데이터 수집
→ 전처리
→ 모델 학습
→ 평가
→ 배포
→ 모니터링

👉 Airflow는 이런 ML Workflow 자동화에도 많이 사용된다.


3. Prometheus

Prometheus는 서버·시스템·애플리케이션 메트릭을 수집하는 모니터링 시스템이다.

공식 사이트: Prometheus

3-1. 주요 특징

  • 시계열(Time Series) 데이터 저장
  • Pull 방식 메트릭 수집
  • PromQL 쿼리 지원
  • Alertmanager 연동 가능
  • Kubernetes 환경에서 사실상 표준

3-2. 메트릭(Metric)

메트릭은 시스템 상태를 숫자로 표현한 데이터다.

시스템 메트릭

OS 수준 상태 정보

예시:

  • CPU 사용률
  • 메모리 사용량
  • 디스크 사용량

서버 메트릭

예시:

  • 네트워크 트래픽
  • 연결 수
  • 요청 수

애플리케이션 메트릭

예시:

  • API 응답속도
  • 에러율
  • 사용자 요청 수
  • DB 쿼리 시간
  • LLM 토큰 사용량

👉 Prometheus는 이런 메트릭을 수집한다.


3-3. Pull 방식

Prometheus는 기본적으로 Pull 방식이다.

즉:

Prometheus가 직접 서버에 요청하여
메트릭을 가져온다

구조:

Prometheus → 서버(/metrics)

Push 방식과 비교

Push 방식:

서버 → 모니터링 시스템

즉 서버가 직접 데이터를 전송한다.


Pull 방식 장점

  • 중앙 관리 쉬움
  • 장애 감지 편리
  • Kubernetes와 궁합 좋음

4. Grafana

Grafana는 메트릭과 로그를 시각화하는 대시보드 플랫폼이다.

공식 사이트: Grafana

4-1. 주요 기능

  • 실시간 대시보드

  • 그래프 시각화

  • Alert 기능

  • 다양한 데이터 소스 연동

    • Prometheus
    • Elasticsearch
    • MySQL
    • Loki 등

대표 사용 예시

  • CPU / Memory 사용량 그래프
  • API 응답속도 추이
  • Kubernetes Pod 상태 모니터링
  • 장애 알람 대시보드

5. Kubernetes(K8s)

Kubernetes는 Docker 컨테이너를 자동 운영·관리하는 플랫폼이다.

  • Kubernetes
  • K8s(K와 s 사이 8글자)

라고 부른다.

공식 사이트: Kubernetes


5-1. Kubernetes가 필요한 이유

서버 여러 대에서:

  • 컨테이너 배포
  • 자동 재시작
  • 부하 분산
  • 스케일링
  • 장애 복구

를 자동 처리하기 위해 사용한다.


예시

사용자 증가
→ 서버 자동 확장

컨테이너 장애 발생
→ 자동 재시작

6. 전체 관계 구조

실무에서는 보통 아래처럼 함께 사용한다.

[서비스 서버 / Kubernetes]
           ↓
      Prometheus
    (메트릭 수집)
           ↓
        Grafana
      (시각화)

👉 Airflow는 별도로:

  • ETL/ML 작업을 자동 실행하고
  • Prometheus/Grafana로 상태를 모니터링한다.

예시:

Airflow DAG 실행
   ↓
ETL 작업 수행
   ↓
Prometheus 메트릭 수집
   ↓
Grafana 대시보드 시각화

한 줄 정리

도구역할범주
Airflow작업 자동화 및 워크플로우 관리Workflow Orchestration
Prometheus메트릭 수집 및 모니터링Container Orchestration
Grafana메트릭 시각화 및 대시보드Monitoring
Kubernetes컨테이너 운영 및 자동화Observability / Visualization
  • ⭐ Airflow는 데이터/ML 작업 흐름을 자동 실행·관리하는 오케스트레이션 도구다.
  • ⭐ Prometheus는 메트릭을 수집하고, Grafana는 이를 시각화하는 모니터링 조합이다.
  • ⭐ Kubernetes는 컨테이너 운영 플랫폼이며, 위 도구들과 함께 클라우드·MLOps 환경에서 자주 사용된다.
profile
공부 기록용 & 프로젝트 회고용 24.08.05~ #AI/LLM #RAG

0개의 댓글