NestJS · Monitoring Stack

모니터링·로그·트레이스의 역할 분리

모니터링 시스템은 로그 저장소 하나가 아니라, metric으로 이상을 감지하고 trace로 구간을 좁히며 log로 사건 맥락을 확인하는 세 신호의 조합이다.

01

감지

오류율, latency, saturation 지표가 SLO 위반이나 이상 증가를 알려준다.

02

범위 축소

trace가 gateway, service, DB, 외부 API 중 느린 span을 보여준다.

03

맥락 확인

구조화 로그에서 user scope, route, error code, request id를 찾는다.

04

대응

alert가 runbook, 담당자, 롤백 기준과 연결된다.

Metric
양적 신호 rate, error, duration, queue length
대시보드와 알림의 근거
Log
사건 기록 request id와 structured field로 검색 가능
민감값 제외
Trace
분산 흐름 서비스 간 호출과 DB 쿼리를 하나의 요청으로 연결
샘플링 필요
Runbook
대응 절차 증상, 확인 방법, 완화, 복구, 연락 경로
정기 갱신

상관관계 · 알림 · 보존 점검

상관관계 metric에서 시작해 trace와 log로 같은 요청을 좁힐 수 있다.
알림 받은 사람이 취할 행동이 없는 알림은 줄인다.
보존 운영 로그와 감사 로그의 보존 기간이 다르다.
민감값 로그와 trace attribute에 토큰과 개인정보가 남지 않는다.