우리가 실제 구축해 쓰는 메트릭 스택이다. monitoring 네임스페이스에 kube-prometheus-stack(Helm chart 58.7.2) 한 묶음으로 배포되며 Prometheus·Grafana·Alertmanager·node-exporter·kube-state-metrics를 함께 설치한다. (알림 라우팅/Alerta는 03. 알림 - Alertmanager와 Alerta 참고.)
앱/노드/ingress(/metrics)
│ ServiceMonitor·PodMonitor (셀렉터 비움 = 전 네임스페이스 수집)
▼
Prometheus ──(remote-write 수신)── Tempo 스팬 메트릭
│ └ traces_spanmetrics_* (APM)
└─ Grafana (대시보드, 데이터소스: Prometheus + Tempo)
serviceMonitorSelector/podMonitorSelector가 비어 있어({}) 전 네임스페이스의 모든 ServiceMonitor/PodMonitor를 수집한다. node-exporter·kube-state-metrics·ingress-nginx·otel-gateway·tempo 등이 포함된다.environment=Production, cluster=do4ai-prod.prometheus.do4ai.com (nginx basic-auth, prometheus-basic-auth 시크릿).역할: 대시보드·시각화. 메트릭(Prometheus)과 트레이스(Tempo)를 한곳에서 본다.
접속: grafana.do4ai.com (NodePort 30300). 영속 스토리지 10Gi.
계정: admin / Admin12!. ⚠️ values.yaml 평문 기본값. 로테이션 대상([개선 과제]).
데이터소스: Prometheus(기본), Tempo(http://tempo.observability.svc.cluster.local:3200, traces→metrics 연동).
프로비저닝 대시보드(코드로 관리):
| 대시보드 | 출처 | 용도 |
|---|---|---|
| kubernetes-cluster | Grafana #7249 | 클러스터 전반 |
| node-exporter | Grafana #1860 | 노드 리소스 |
| nginx-ingress | Grafana #9614 | ingress 트래픽·5xx |
| do4i-api-operations | 커스텀 | do4i 가용 replica·재시작·5xx·CPU/메모리 |
| papersens-operations | 커스텀 | papersens 동일 관점 |
| platform-api-apm | 커스텀(Tempo 스팬 메트릭) | 요청율·에러율·p95(서비스 템플릿) |
monitoring 앱이 멀티소스로 설치한다. ① Helm 차트(kube-prometheus-stack 58.7.2) ② k8s/infra/monitoring/values.yaml ③ k8s/infra/monitoring/manifests/(Alerta·알림 규칙·blackbox 등 kustomize).values-dev.yaml + manifests-dev/.grafana.do4ai.com → 서비스 대시보드(5xx·재시작·리소스).prometheus.do4ai.com)에 떠 있는지 확인.온보딩 트랙 3부. 관측과 SRE
이전: Observability 운영 가이드 · 다음: 알림 - Alertmanager와 Alerta · 전체 경로: 시작하기: 신입 온보딩