🔍 개요
에러 추적 도구는 앱에서 발생한 에러(예외)를 자동으로 모아 같은 것끼리 묶고 알려 주는 도구입니다.
대표 제품은 Sentry(SaaS + 자체 호스팅)이고, GlitchTip은 Sentry의 SDK를 그대로 받아 주는 가벼운 오픈소스 대체품입니다.
| 구분 | Sentry | GlitchTip |
|---|---|---|
| 한 줄 소개 | 에러 · 로그 · 트레이스 · 리플레이 · 프로파일을 분산 추적으로 엮어 "망가진 것을 찾아 고치도록" 돕는 플랫폼 | Sentry 에러 추적 플랫폼을 오픈소스로 재구현한 "간단한 에러 추적" 도구 |
| 주요 기능 | 이슈 · 에러, 트레이스, 로그, 세션 리플레이, 프로파일링, 릴리스, 크론 · 업타임 모니터, 알림, AI 원인 분석(Seer) 등 | 에러 추적, 성능 모니터링, 업타임 모니터링, 로그 |
| 앱 연동 | Sentry SDK (100개 이상 플랫폼) | Sentry 클라이언트 SDK를 그대로 사용 |
| 운영 방식 | SaaS 또는 자체 호스팅 | SaaS(app.glitchtip.com) 또는 자체 호스팅 |
| 자체 호스팅 무게 | 무거움: 최소 4코어 · RAM 16GB + 스왑 16GB, Kafka · ClickHouse 등 여러 서비스 | 가벼움: 권장 RAM 512MB, PostgreSQL 14 이상만 필수 |
| 라이선스 | FSL(Functional Source License), 2년 뒤 Apache 2.0 | 오픈소스 |
| 무료 플랜(SaaS) | Developer: 사용자 1명, 에러 5천 건, 30일 보관 | Hobby: 이벤트 월 1천 건, 30일 보관 |
요금과 한도
요금 · 무료 한도는 2026년 11월 공식 페이지 기준이며 바뀔 수 있습니다. 도입 전에 각 요금 페이지를 다시 확인하세요.
1. 에러 추적이란
사용자가 버튼을 눌렀는데 서버에서 500 에러가 났다고 가정해 보겠습니다.
- 에러 추적 도구가 없으면: 사용자가 알려 줘야 문제를 알고, 서버 로그를 시간대별로 뒤져 스택 트레이스를 찾아야 합니다.
- 에러 추적 도구가 있으면: 에러가 나는 순간 SDK가 스택 트레이스 · 요청 정보 · 브라우저 · 사용자 · 배포 버전을 묶어 보냅니다. 같은 원인의 에러는 이슈 하나로 묶여 몇 번, 몇 명에게 발생했는지와 함께 보이고, Slack 등으로 알림이 옵니다.
그래서 에러 추적 도구는 "로그를 쌓아 두는 곳"보다는 **"고쳐야 할 버그 목록을 자동으로 만들어 주는 곳"**에 가깝습니다.
2. 동작 방식: SDK와 DSN
연동 순서
- 앱에 SDK(언어별 라이브러리, 예: Python · JavaScript · Java)를 설치합니다.
- SDK에 DSN을 넣습니다. DSN은 "이벤트를 어디로, 어느 프로젝트로 보낼지" 알려 주는 주소 + 키이며, 프로젝트를 만들면 발급됩니다.
- 에러가 나면 SDK가 이벤트를 보내고, 서버가 같은 에러끼리 이슈로 묶습니다.
DSN 특징
- 형식:
https://<공개키>@<호스트>/<프로젝트ID> - 공개해도 안전합니다. 새 이벤트를 보내는 것만 허용하기 때문에 브라우저 JS 코드에 넣어도 됩니다.
- 코드에 DSN을 넣지 않으면 SDK가
SENTRY_DSN환경 변수를 찾습니다.
예를 들어 Python 앱이라면 아래처럼 초기화합니다. GlitchTip을 쓸 때도 코드는 같고, DSN만 GlitchTip에서 발급한 값으로 바꾸면 됩니다.
import sentry_sdk
# DSN은 Sentry 또는 GlitchTip 프로젝트 설정에서 복사
sentry_sdk.init(
dsn="https://myPublicKey@myErrorTrackingHost/1",
)소스맵(source map)
프런트엔드 JS는 배포할 때 압축 · 난독화되어 에러 위치가 a.js:1:20384처럼 나옵니다.
빌드할 때 만든 소스맵 파일을 올려 두면 원래 코드 줄로 되돌려 보여 줍니다. 그래서 자체 호스팅이라면 이 파일을 둘 저장소가 필요합니다.
3. Sentry
- 기능이 가장 많습니다. 에러 외에 트레이스(요청이 서비스 사이를 어떻게 지나갔는지), 세션 리플레이(사용자 화면 재생), 프로파일링, 로그, 크론 · 업타임 모니터까지 제공합니다.
SaaS
- 바로 쓸 수 있고 사용량으로 과금합니다.
- 무료 Developer 플랜은 사용자 1명, 에러 월 5천 건, 30일 보관입니다.
- 유료는 Team 월 $29, Business 월 $89부터 시작합니다.
자체 호스팅
- 무료로 자기 서버에 설치할 수 있습니다. 내부 사용은 되지만 서비스로 판매하거나 Sentry와 경쟁하는 용도로는 쓸 수 없습니다(FSL).
- 무겁습니다. 최소 4코어, RAM 16GB + 스왑 16GB(32GB 권장), 디스크 20GB가 필요하고, Docker Compose로 Kafka · ClickHouse · PostgreSQL · Redis 등 여러 서비스를 띄웁니다. 디스크 I/O 성능도 중요합니다.
- SaaS와 차이: AI 기능(Seer)이 없고, 공식 지원 없이 커뮤니티(Discord) 지원만 받을 수 있습니다.
4. GlitchTip
- Sentry SDK와 호환되는 가벼운 오픈소스 에러 추적 도구입니다. 앱 쪽은 Sentry SDK를 그대로 쓰고, 이벤트만 GlitchTip 서버로 보냅니다.
- 기능: 에러 추적(예외 · 로그 메시지 · CSP 위반), 성능 모니터링, 업타임 모니터링, 로그. 세션 리플레이 · 프로파일링 같은 기능은 공식 소개 페이지에 언급이 없습니다.
- SaaS: 무료 Hobby(이벤트 월 1천 건, 30일 보관), 유료 Small 월 $15(10만 건, 90일 보관)부터 시작합니다.
자체 호스팅 구성 비교
자체 호스팅할 때 띄우는 구성을 Sentry와 나란히 놓으면 무게 차이가 한눈에 보입니다. (Sentry 쪽은 문서에 언급된 주요 구성만 표시했고, 점선은 선택 구성입니다.)
GlitchTip 자체 호스팅 요구사항
| 항목 | 내용 |
|---|---|
| 필수 | PostgreSQL 14 이상. 파티션 테이블 때문에 max_locks_per_transaction = 512 설정 필요 |
| 선택 | Valkey 7 이상(또는 Redis). 없으면 PostgreSQL이 작업 대기열 · 캐시 · 세션을 맡음 |
| 프로세스 | 웹 + 워커를 나누거나 하나로 합쳐 실행. Docker Compose(권장), Kubernetes용 Helm 차트 제공 |
| 자원 | 권장 RAM 512MB, 최소 256MB(올인원). 월 100만 이벤트면 디스크 약 30GB |
| 보관 | 기본 90일, 그중 최근 30일은 PostgreSQL에 두고 이후는 보관 저장소로 이동 |
| 업로드 파일(소스맵 등) | 로컬 디스크 또는 S3 호환 스토리지 · Azure Blob Storage · Google Cloud Storage |
| 기타 | 이메일 발송 설정 필수 |
Azure에서 GlitchTip을 운영한다면
- PostgreSQL은 AKS 안에 직접 띄우기보다 Azure Database for PostgreSQL 유연한 서버 같은 관리형 DB를 쓰는 편이 운영이 쉽습니다. (GlitchTip Helm 차트도 외부 관리형 DB를 권장합니다.)
- 관리형 DB를 쓰더라도
max_locks_per_transaction = 512요구사항은 그대로이므로, 서버 파라미터에서 이 값을 바꿀 수 있는지 먼저 확인하세요. - 소스맵 같은 업로드 파일은 Azure Blob Storage에 둘 수 있습니다.
5. 비슷해 보이는 도구와 차이
한 서비스가 내보내는 신호는 크게 네 가지이고, 각각 받는 도구가 다릅니다.
| 도구 | 무엇을 모으나 | 질문 예 |
|---|---|---|
| Sentry · GlitchTip | 에러 · 예외(이슈로 묶음) | "어떤 버그가 몇 명에게 났나?" |
| Loki (Grafana) | 전체 로그 줄(정상 로그 포함) | "어제 3시에 이 파드가 뭘 찍었나?" |
| Prometheus | 숫자 지표(CPU, 요청 수, 지연 시간) | "지금 에러율이 몇 %인가?" |
| APM · 분산 추적 (Jaeger, Tempo, Application Insights 등) | 요청 하나가 거친 경로와 구간별 시간 | "이 API는 어느 구간에서 느린가?" |
- Sentry는 에러 추적에서 트레이스 · 성능까지 범위가 넓어져 APM과 겹치고, GlitchTip은 에러 추적 중심입니다.
- Azure에서 비슷한 역할은 Application Insights(예외 수집 + APM)입니다. 둘을 함께 쓰면 기능이 겹치므로 역할을 나눠 정하는 것이 좋습니다.
- 운영 환경에서는 보통 **에러 추적 + 메트릭(Prometheus) + 로그(Loki 등)**를 함께 둡니다. 에러 추적만으로는 정상 로그를 볼 수 없습니다.
6. 선택 기준
| 상황 | 추천 |
|---|---|
| 운영 부담 없이 기능을 모두 쓰고 싶다 | Sentry SaaS (사용량 과금) |
| 데이터를 내부에 둬야 하고 기능도 많이 필요하다 | Sentry 자체 호스팅 (서버 사양 · 운영 부담이 큼) |
| 에러 추적 위주로 가볍게 자체 운영하고 싶다 | GlitchTip (Sentry SDK를 그대로 써서 나중에 Sentry로 옮기기도 쉬움) |
Kubernetes 안에 GlitchTip을 둘 때는 다음을 미리 정해 두세요.
- PostgreSQL을 클러스터 안에 둘지, 관리형 DB를 쓸지 (Helm 차트는 외부 관리형 DB 권장)
- 이벤트 보관 기간
- 소스맵 등 업로드 파일 저장 위치
✨ 결론
- 에러 추적 도구는 에러를 자동으로 모아 이슈로 묶어 주는 "버그 목록 자동 생성기"입니다.
- Sentry는 기능이 가장 풍부하지만, 자체 호스팅은 Kafka · ClickHouse 등을 포함해 무겁습니다.
- GlitchTip은 Sentry SDK와 호환되면서 PostgreSQL 하나로도 돌아가는 가벼운 대안입니다. 앱 코드는 그대로 두고 DSN만 바꾸면 되므로 이동이 쉽습니다.
- 에러 추적은 메트릭 · 로그 · 분산 추적을 대신하지 않으므로, 옵저버빌리티 구성의 한 축으로 함께 설계하는 것이 좋습니다.
이 포스트는 2026년 11월 기준 Sentry와 GlitchTip 공식 문서를 바탕으로 작성되었습니다. 최신 정보는 Sentry 제품 문서, Sentry DSN 설명, Sentry 요금, Self-hosted Sentry, GlitchTip, GlitchTip SDK 목록, GlitchTip 설치 문서에서 확인하실 수 있습니다.