KT Cloud Data Platform 팀이 KCP 클라우드 환경에서 LGTM 스택(Grafana, Loki, Tempo, Mimir)을 기반으로 자체 Alert 관리 서비스를 구축한 사례를 다룬다. 조직별 격리·통합관제 연동·이력 관리를 목표로 외부 SaaS 없이 오픈소스만으로 엔터프라이즈급 Alert 체계를 완성했다.
핵심 포인트- Grafana Alert는 수집 테넌트 기준으로 동작해 조직 단위 격리가 불가 → API 계층에서 Namespace Prefix 주입으로 해결
- 필수 label 체계(type/region/zone/target_name/event_level)를 표준화해 관제 시스템 연동 신뢰성 확보
- Loki 카디널리티를 Stream Label(저)와 JSON Log Line(고)으로 분리해 인덱스 비용 최적화
- PostgreSQL을 Rule 조회 1순위 소스로 사용해 백엔드 안정성과 조회 성능 동시 확보
- Alert는 단순 알림 도구가 아니라 팀별 할당 정책·Silence·이력 추적을 포함한 운영 정책 시스템
상세 정리- 문제 배경: Grafana는 데이터 조회를 조직 단위로 분리하지만 Alert 처리는 수집 테넌트 기준으로 동작, 멀티테넌시 환경에서 조직별 Alert 격리가 불가능했다
- Namespace Prefix 격리: API 계층에서 `cpu-alert` → `teamA_cpu-alert`로 prefix를 주입해 단일 백엔드에서도 조직별 독립 운영 구현
- Label 표준화: type·region·zone·target_name·event_level 등 필수 label을 정의하고 불완전한 label의 Rule 생성을 차단해 관제 시스템 연동 신뢰성 확보
- Loki 카디널리티 설계: status·event_level·type·region 등 저카디널리티 필드는 Stream Label로, event_id·target_ip·fingerprint 등 고카디널리티 필드는 JSON Log Line 내부로 분리해 Loki 인덱스 비용 최소화
- PostgreSQL First 전략: Rule 조회 시 Grafana API 대신 PostgreSQL을 1순위 소스로 사용해 백엔드 안정성과 조회 성능 향상
- 운영 정책 시스템화: Alert 단순 발송을 넘어 팀별 할당 정책·Silence(배포·점검 시 일시 중지)·이력 추적·재발 패턴 분석·통합관제 연동 매핑까지 포함한 전사 운영 체계로 설계
- label 품질이 Alert 품질 결정: 메시지 내용보다 메타데이터 정확성이 운영 효율성에 더 큰 영향을 미친다는 교훈 강조
왜 읽나LGTM 스택 기반 멀티테넌시 Alert 플랫폼을 구축 중인 인프라·SRE 엔지니어에게 실전 설계 결정과 운영 정책 시스템화 패턴 레퍼런스.