본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
Prisma Production Guardrails

기반 설계

Ch1. 환경 분리 전략Ch2. 토폴로지와 환경 구성Ch3. Prisma Postgres 활용

마이그레이션

Ch4. 마이그레이션 전략Ch5. 마이그레이션 파이프라인Ch6. 마이그레이션 실패 대응Ch7. 롤백 전략

운영 안정성

Ch8. 백업 및 DR 전략Ch9. 관측 전략Ch10. 운영 트러블슈팅Ch11. 운영 정책과 거버넌스Ch12. Prisma MCP 활용

부록

부록 A. 런북 템플릿검증 리포트업데이트 내역
핸드북›Prisma Production Guardrails›Ch9. 관측 전략

Ch9. 관측 전략

API·Prisma·DB 세 레이어 지표와 OTel 트레이스, slow query 로깅, 배포 직후 강화 관측, SLO/에러버짓 기반 알림 설계를 다룹니다.

핵심 요약

  • 관측을 애플리케이션(요청 실패율·응답시간)·Prisma(쿼리 지연·에러 코드)·DB(연결·락·복제 지연) 세 레이어로 나눠 봅니다.
  • 2026-03-23 @prisma/extension-optimize 지원이 종료되어 withOptimize()를 제거하고 Prisma Postgres Query Insights로 전환합니다.
  • HTTP·서비스·DB 쿼리 span을 같은 trace id로 묶으면 OTel로 장애 원인을 추적하는 시간이 크게 줄어듭니다.
  • slow query를 로깅할 땐 SQL/파라미터 마스킹 정책을 같이 두어 민감정보가 새지 않게 막습니다.
  • 배포 후 30~60분은 error rate·slow query 임계치를 임시 하향하고, 에러버짓 25% 초과 시 신규 스키마 변경을 동결합니다.

관측은 세 레이어로 본다

  1. 애플리케이션: 요청 실패율, 응답 시간, 처리량
  2. Prisma: 쿼리 지연, 타임아웃, 에러 유형
  3. DB: 연결 수, 락 대기, 복제 지연, 디스크/CPU

필수 운영 지표

영역지표용도
APIp95/p99 latency, error rate사용자 체감 영향 감지
Prisma쿼리 지연 분포, Prisma 에러 코드ORM 계층 이상 탐지
DBactive connections, lock wait, deadlock데이터 계층 병목 진단
복제replication lag읽기 일관성 위험 감지
배포migration duration, failed migration count변경 실패 조기 감지

Prisma Optimize 서비스 종료와 대체 경로

2026-03-23: Prisma Optimize 지원 중단

@prisma/extension-optimize 클라이언트 확장의 공식 지원이 끝났습니다. 그동안 withOptimize()를 쓰던 프로젝트는 아래 조치를 진행하세요.

필수 조치:

  1. PrismaClient 초기화에서 withOptimize() 확장 호출을 제거
  2. @prisma/extension-optimize 패키지를 devDependencies/dependencies에서 삭제
  3. Prisma Postgres의 Query Insights(아래 참고)로 쿼리 성능 분석을 전환
// Before (제거 대상)
import { withOptimize } from '@prisma/extension-optimize'

const prisma = new PrismaClient().$extends(withOptimize())

// After
const prisma = new PrismaClient({
  log: [{ emit: 'event', level: 'query' }, 'warn', 'error'],
})

Prisma Postgres Query Insights

Prisma Postgres는 Query Insights 대시보드를 기본으로 제공합니다. Prisma Optimize의 후속 대안으로, 느린 쿼리와 빈번한 쿼리, 에러 패턴을 콘솔에서 한눈에 확인합니다. 별도 APM을 붙이기 전에도 기본 수준의 쿼리 성능은 모니터링할 수 있습니다.

운영 권장:

  • Query Insights로 상위 느린 쿼리 주간 리뷰
  • v7.5.0 향상된 Prisma Studio에서 raw SQL 실행으로 즉석 진단 가능
  • 상세 분석은 OTel 트레이싱과 병행

Prisma Studio v7.5.0 향상 기능

v7.5.0에서 Prisma Studio가 크게 개선되어 운영 진단 도구로 쓰기 좋아졌습니다.

  • 다중 셀 선택: 여러 셀을 한 번에 선택·복사해 데이터를 비교하기 쉬움
  • SQL 필터: 테이블 뷰에서 SQL 조건식으로 직접 필터링 — 복잡한 조건 조회 가능
  • Cmd+K 팔레트: 명령 팔레트로 테이블 탐색, 필터, 작업을 키보드만으로 빠르게 수행

Prisma 쿼리 로깅 예시

import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient({
  log: [{ emit: 'event', level: 'query' }, 'warn', 'error'],
})

prisma.$on('query', (e) => {
  if (e.duration > 500) {
    console.warn(
      JSON.stringify({
        event: 'slow_query',
        duration_ms: e.duration,
        query: e.query,
        target: e.target,
      })
    )
  }
})

운영에서는 민감정보가 로그에 남지 않게 SQL/파라미터 마스킹 정책을 같이 둡니다.

트레이싱(OTel) 권장 구조

  • HTTP request span
  • service/business span
  • DB query span (Prisma/driver)

세 레이어를 같은 trace id로 묶으면 장애가 났을 때 원인을 추적하는 시간이 크게 줄어듭니다.

알림 설계 원칙

  • 페이지 알림(Pager): 사용자 영향 지표 위주
  • 채널 알림(ChatOps): 경고/추세 이상
  • 대시보드: 탐색용, 알림 대체 수단으로 사용하지 않음

배포 직후 강화 관측

배포 30~60분은 임시 룰을 적용합니다.

  • error rate 임계치 하향
  • slow query 임계치 하향
  • migration 관련 로그 키워드 필터 활성화

SLO 기반 운영 예시

SLO: 결제 API 성공률 99.95% (30일)
Error Budget 소진율이 25%를 초과하면:
- 신규 스키마 변경 동결
- 성능/안정성 개선 작업 우선

관련 문서

검증 리포트

Prisma Production Guardrails 핸드북의 구조 및 정합성 검증

업데이트 내역

Prisma Production Guardrails 핸드북 변경 기록

Ch3. 공유 패키지 설계 패턴

엔터프라이즈 프로젝트 설계 · DB(Prisma), UI, utils, config, types 패키지의 설계 패턴과 트리셰이킹

Ch13. 레퍼런스와 아키텍처 결정 기록

엔터프라이즈 프로젝트 설계 · ADR 템플릿, 기술 선택 근거, 전체 참고 문헌

RAG & 검색 증강 생성

Vercel 엔터프라이즈 AI 플랫폼 · Vercel 환경에서 RAG 파이프라인을 설계하고 운영하는 방법을 정리합니다.

Ch8. 백업 및 DR 전략

Prisma 기반 서비스의 백업 계층, PITR, 복구 리허설, DR 운영 표준

Ch10. 운영 트러블슈팅

증상 기반 트리아지 매트릭스와 연결 고갈·락 경합·마이그레이션 드리프트·대량 백필 성능 저하 네 케이스의 진단 SQL과 단계별 조치를 정리합니다.

On this page

관측은 세 레이어로 본다필수 운영 지표Prisma Optimize 서비스 종료와 대체 경로Prisma Postgres Query InsightsPrisma Studio v7.5.0 향상 기능Prisma 쿼리 로깅 예시트레이싱(OTel) 권장 구조알림 설계 원칙배포 직후 강화 관측SLO 기반 운영 예시