Das Problem mit Fehlern in der Produktion

Fehler in Produktionssystemen zu finden ist eine der schwierigsten Aufgaben in der Softwareentwicklung. Ohne strukturiertes Error Tracking passiert folgendes: Ein Nutzer meldet einen Bug, du hast keinen Stack Trace, keinen Kontext, keine Ahnung was passiert ist. Mit einem guten Error-Tracking-System siehst du sofort wo, wann und wie oft ein Fehler aufgetreten ist.

Sentry ist der De-facto-Standard in diesem Bereich. GlitchTip ist eine jüngere Open-Source-Alternative, die speziell für Self-Hoster gebaut wurde. Beide unterstützen das Sentry-SDK, sodass ein Wechsel keine Code-Änderungen erfordert.


Sentry: Der Industriestandard

Sentry wurde 2010 als Open-Source-Projekt gestartet und ist heute die Nummer 1 im Error-Tracking-Markt. Die Cloud-Version unter sentry.io ist einfach zu starten, die Self-Hosted-Version erfordert jedoch deutlich mehr Ressourcen.

Stärken von Sentry

Umfangreiche SDK-Unterstützung: Sentry unterstützt 30+ Plattformen und Sprachen – von JavaScript über Python, PHP, Ruby, Go, Rust bis hin zu Mobile (iOS, Android, React Native, Flutter).

Performance Monitoring: Neben Errors trackt Sentry auch Performance-Probleme: Slow Queries, N+1-Probleme, Frontend-Performance mit Core Web Vitals.

Session Replay: Sentry kann Browser-Sessions aufzeichnen – wenn ein Error auftritt, siehst du genau was der Nutzer getan hat.

Release Tracking: Sentry verknüpft Fehler mit Git-Commits und hilft dabei zu erkennen, welcher Deployment einen Bug eingeführt hat.

Alerts und Integrationen: Slack, PagerDuty, GitHub, JIRA – Sentry hat eine sehr breite Integrationslandschaft.

Schwächen von Sentry Self-Hosted

Der Self-Hosted-Stack von Sentry ist komplex. Die offizielle sentry-self-hosted-Installation benötigt:

  • Mindestens 4 GB RAM (empfohlen 8+ GB)
  • Mindestens 20 GB Disk (schnell wächst auf 100+ GB)
  • Docker Compose mit 10–15 Containern (Redis, PostgreSQL, Kafka, Zookeeper, ClickHouse, ...)
  • Regelmäßige Updates sind aufwendig

Für kleine Teams oder Einzelentwickler ist der Overhead erheblich. Die Cloud-Version ist günstiger in der Betrieb, aber kostet Geld: der Free-Tier erlaubt nur 5.000 Fehler pro Monat, danach wird es teuer.


GlitchTip: Die schlanke Alternative

GlitchTip wurde 2020 als schlanke Sentry-Alternative entwickelt. Das Ziel: Kompatibel mit dem Sentry SDK, aber einfach betreibbar.

Stärken von GlitchTip

Minimale Ressourcenanforderungen: GlitchTip läuft mit:

# docker-compose.yml (vereinfacht)
services:
  postgres:
    image: postgres:14
  redis:
    image: redis
  web:
    image: glitchtip/glitchtip
    environment:
      DATABASE_URL: postgres://...
      SECRET_KEY: ...
    ports:
      - "8000:8000"
  worker:
    image: glitchtip/glitchtip
    command: ./bin/run-celery-with-beat.sh

RAM-Bedarf: ~512 MB bis 1 GB. Das ist ein Unterschied von Faktor 4–8 gegenüber Sentry.

Sentry SDK-Kompatibel: GlitchTip implementiert die Sentry API. Das bedeutet: Du kannst das Sentry SDK in deiner Anwendung verwenden, zeigst aber auf deinen GlitchTip-Server. Kein Code muss geändert werden:

// JavaScript: Einfach DSN anpassen
Sentry.init({
  dsn: "https://abc@glitchtip.example.com/1",
  // alles andere bleibt gleich
});

Django/PostgreSQL-Stack: GlitchTip ist in Django geschrieben und nutzt PostgreSQL. Das ist ein gut verstandener, wartbarer Stack – keine Kafka, kein ClickHouse, kein Zookeeper.

Günstiger SaaS-Plan: GlitchTip bietet auch einen Cloud-Service für $10/Monat mit unbegrenzten Projekten und Benutzern.

Uptime Monitoring: GlitchTip hat ein eingebautes Uptime-Monitoring – ähnlich wie Uptime Kuma, aber direkt integriert.

Schwächen von GlitchTip

Kein Performance Monitoring: GlitchTip trackt nur Errors, keine Performance-Metriken, keine Slow Queries, keine Core Web Vitals.

Kein Session Replay: Diese Feature ist exklusiv für Sentry.

Weniger Integrationen: GlitchTip hat Slack und E-Mail, aber nicht die 100+ Integrationen von Sentry.

Kleinere Community: Sentry ist reifer und hat mehr Dokumentation, Stack Overflow-Antworten und Community-Ressourcen.


Direkter Vergleich

Kriterium Sentry GlitchTip
RAM (Self-Hosted) 4–8 GB 512 MB – 1 GB
Setup-Komplexität Hoch (15+ Container) Niedrig (3–4 Container)
Error Tracking
Performance Monitoring
Session Replay
Uptime Monitoring
Sentry SDK kompatibel
SaaS Free Tier 5.000 Events/Monat Kein Free Tier
SaaS Preis Ab $26/Monat $10/Monat
GitHub-Sterne 38.000+ 1.500+

Wann welche Lösung?

Sentry wählen, wenn:

  • Du Performance Monitoring brauchst
  • Du Session Replay für Frontend-Debugging nutzen willst
  • Du ein Team mit vielen Projekten hast
  • Du Cloud ohne eigene Infrastruktur willst und das Budget vorhanden ist
  • Dein Stack auf einem leistungsstarken Server läuft (8+ GB RAM)

GlitchTip wählen, wenn:

  • Du auf einem kleinen Server (1–2 GB RAM, VPS) betreibst
  • Du nur Error Tracking brauchst (kein Performance Monitoring)
  • Du eine einfache, wartbare Lösung willst
  • Du das Sentry SDK bereits nutzt und migrieren willst
  • Du Budget sparen willst ($10/Monat Cloud vs $26+)

Migration von Sentry zu GlitchTip

Der Wechsel ist dank der API-Kompatibilität einfach:

# Python/Django: DSN-Variable anpassen
import sentry_sdk

sentry_sdk.init(
    # Vorher: "https://KEY@o123.ingest.sentry.io/456"
    # Nachher: Einfach auf GlitchTip-Instanz zeigen
    dsn="https://KEY@glitchtip.deinedomaein.de/1",
    traces_sample_rate=1.0,
)

Ein vollständiger Datenmigrations-Export von Sentry zu GlitchTip ist nicht möglich – historische Fehler bleiben bei Sentry. Aber neue Fehler werden sofort von GlitchTip erfasst.


Fazit

GlitchTip ist die richtige Wahl für Self-Hoster, die Error Tracking ohne den Overhead von Sentry wollen. Wenn du auf einem Hetzner CX21 oder ähnlichem VPS (2–4 GB RAM) arbeitest, ist GlitchTip realistisch betreibbar – Sentry nicht.

Für größere Teams mit Performance-Anforderungen oder wenn Session Replay wichtig ist, bleibt Sentry die bessere Wahl – entweder als Cloud oder auf entsprechend starker Hardware.

Weiterführende Artikel

Verwandte Technologien im Techradar