Monitoring (Grafana LGTM)
multi-saas-kit의 공식 통합 모니터링 플랫폼입니다. 모든 프로젝트(Laravel)와 플랫폼 서비스(_services/)의 로그·메트릭·알림을 단일 Grafana 인터페이스에서 관리합니다.
개요
| 항목 | 내용 |
|---|---|
| 위치 | workspace/_devtools/monitoring |
| 스택 | Grafana + Loki + Prometheus + Promtail |
| 권장 도메인 | monitor.devtools.{platform-domain} |
| 설계 문서 | ADR-017 (Monitoring Stack Grafana LGTM) |
왜 중요한가
운영 중인 플랫폼에서 **"지금 무슨 일이 일어나고 있는지"**를 즉시 답할 수 있어야 장애를 빨리 감지하고, 고객 문의에 근거로 답하며, 비용/사용량을 추적할 수 있습니다. 모니터링은 인프라의 필수 구성요소이지 선택 사항이 아닙니다.
multi-saas-kit은 멀티테넌트 SaaS 플랫폼이라 다음이 특히 중요합니다:
- 여러 고객 프로젝트의 로그가 한 화면에서 조회되지만 격리되어 있어야 함
- 에러 스파이크가 자동으로 감지되어 운영 알림 채널로 전달
- 서비스 버전/배포 이력이 대시보드에서 추적 가능
- AI 점검 시스템이 프로그래밍 방식으로 로그/메트릭 쿼리 가능
Grafana LGTM 스택은 이 모든 것을 OSS 기반으로 충족합니다.
스택 구성
컴포넌트
| 컴포넌트 | 역할 |
|---|---|
| Grafana | 대시보드, Explore UI, 알림 관리, 사용자 인증 |
| Loki | 로그 저장소. Prometheus 스타일 레이블 기반 |
| Prometheus | 메트릭 시계열 DB. /metrics 엔드포인트 pull |
| Promtail | 로그 수집 agent. journald + 파일 + Docker 지원 |
| (선택) Tempo | 분산 트레이싱 저장소 |
| (선택) Alertmanager | 고급 알림 라우팅 |
데이터 흐름
[관측 대상] ──► [수집] ──► [저장] ──► [조회/알림]
Laravel storage/logs/*.log ─┐
systemd journal (Go 서비스) ─┼─► Promtail ─► Loki ──┐
Docker containers stdout ─┘ │
├─► Grafana
/metrics endpoints ──────────► Prometheus ──────────┘ │
▼
(Slack / Email /
Report files)
시작하기
로컬 개발
make up NAME=_devtools/monitoring
접속은 배포 환경의 monitoring 도메인을 사용합니다. 관리자 자격증명은 .env의
GRAFANA_ADMIN_PASSWORD로 관리하며 문서에 값을 기록하지 않습니다.