포스트

이상적인 MSA 모니터링 아키텍처

마이크로서비스 아키텍처의 핵심 원칙을 고려하면, 각 서비스는 자율성을 가지고 자신의 메트릭과 로그를 독립적으로 관리해야 한다.

다음은 서비스의 자율성을 유지하면서 중앙화된 모니터링 및 로깅 기능을 제공할 수 있는 균형 잡힌 솔루션이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
🎯 각 마이크로서비스의 책임:
📁 backend_gateway/
├── services/metrics.py      # ✅ 자신의 메트릭 노출 (/metrics)
├── services/logger.py       # ✅ 자신의 로그 생성
└── ...

📁 backend_auth_route/  
├── services/metrics.py      # ✅ 자신의 메트릭 노출
├── services/logger.py       # ✅ 자신의 로그 생성
└── ...

🎯 중앙 모니터링 인프라의 책임:
📁 backend_monitoring/
├── run_monitoring.py        # ✅ 모니터링 스택 관리
└── monitoring/             # ✅ 수집, 저장, 시각화, 알림
    ├── prometheus.yml       # 모든 서비스에서 메트릭 수집
    ├── grafana/            # 통합 대시보드
    └── alertmanager.yml    # 중앙화된 알림
1
2
3
4
5
6
7
8
9
10
11
12
🌐 클라이언트 요청
      ↓
🚪 Gateway (8002) ────┐
      ↓               │
🔀 Proxy 라우팅        │
   ↓  ↓  ↓  ↓         │ 📊 메트릭 수집
🔐 Auth  💰 Payment    │    ↓
🔔 Notification        │ 📈 Prometheus (9090)
🖼️ Image Generation ────┘    ↓
                          📊 Grafana (3000)
                             ↓
                          🚨 AlertManager (9093)
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.