Prometheus
Prometheus는 kube-prometheus-stack 차트로 배포되지만, Lumie는 이를 기본 설치와 다르게 사용합니다. 대부분의 워크로드 스크레이프는 OpenTelemetry collector에 위임되고, Prometheus는 주로 메트릭 저장, 평가, 제공을 담당합니다.
소스 경로
lumie-infra/observability/prometheus/argocd.yamllumie-infra/observability/prometheus/helm-values.yamllumie-infra/observability/prometheus/common-values.yaml
런타임 역할
prometheus네임스페이스에서 Prometheus replica 1개 실행- 네이티브 OTLP receiver를
enableOTLPReceiver: true로 활성화 - 로컬 보존을
3d만 유지 - Thanos sidecar service는 활성화하지만 오브젝트 스토어 업로드는 구성하지 않음
- 별도
alertmanager네임스페이스의 Alertmanager 배포로 알림 전송
핵심 계약
다음 값이 가장 중요한 동작을 정의합니다.
enableOTLPReceiver: true
retention: 3d
serviceMonitorSelector:
matchLabels:
scrape-by: prometheus-only
소스 경로: lumie-infra/observability/prometheus/helm-values.yaml
즉, Prometheus 자체는 명시적으로 라벨링된 좁은 대상만 스크레이프합니다. 광범위한 ServiceMonitor 발견은 여기 아니라 OpenTelemetry에서 수행됩니다.
저장하고 제공하는 것
- OpenTelemetry collector가 OTLP로 export한 메트릭
- 일부 noisy rule group을 비활성화한 기본 kube-prometheus rule 및 recording
- 다음을 위한 커스텀 Lumie rule group
- OOM 이벤트
- grading queue와 latency
- report generation queue와 latency
- analysis worker 오류와 latency
- chatbot stream 상태
- CNPG backup 상태
- MinIO replication 지연 또는 실패
의존성
- 대부분의 target scraping을 담당하는 OpenTelemetry collector
- 알림 전송을 위한 Alertmanager
- 운영자 UI 접근을 위한 Teleport
- 레지스트리 자격 증명과 일부 secret-backed 구성을 위한 VaultStaticSecret 렌더링
현재 한계
- 로컬 보존이 3일뿐입니다.
- Thanos 오브젝트 스토어 업로드는 의도적으로 비활성화되어 있으므로, 오늘날 저장소 기반 장기 Prometheus block archive는 없습니다.
- 시계열 수와 메모리 압박을 줄이기 위해
kubeApiServer,kubeEtcd같은 일부 kube control-plane 메트릭은 명시적으로 비활성화됩니다.
장애 지점
- OpenTelemetry에서 Prometheus로의 exporter가 깨지면 Prometheus는 healthy한 채로 워크로드 메트릭이 조용히 끊길 수 있습니다.
- 팀이 기본 kube-prometheus ServiceMonitor 동작을 기대하면, Lumie가 collector를 통해 스크레이프 모델을 사실상 뒤집었다는 점을 놓치게 됩니다.
- 메모리 압박이 커지면 retention을 늘리기 전에 ServiceMonitor target의 시리즈 cardinality 변화나 alert rule 증가부터 확인하세요.
검증
kubectl get applications.argoproj.io -n argocd prometheus
kubectl get pods -n prometheus
kubectl get prometheusrules -n prometheus
kubectl get servicemonitors -A
kubectl describe pod -n prometheus prometheus-prometheus-kube-prometheus-prometheus-0
관측성
- Grafana는 Thanos를 기본 Prometheus 호환 datasource로 사용하고, 직접 Prometheus는 보조 datasource로 유지합니다.
- 알림 라우팅은 Alertmanager에 정의됩니다.
- OTLP 수집 경로와 target discovery 경로는 OpenTelemetry에 설명되어 있습니다.