Fehler-Monitoring für Django.

Mit sentry-sdk meldet deine Django-App Fehler mit Stacktrace, Request-Daten und lokalen Variablen an Fehlo. Die Einrichtung ist ein Aufruf in settings.py.

Stand: 21.10.2026, sentry-sdk 2.72.0. Das Python-SDK haben wir am 19.10.2026 mit Fehlo getestet.

1. Paket installieren

Terminal
pip install sentry-sdk

Die Django-Integration schaltet sich selbst ein, sobald Django installiert ist. Ein Extra wie sentry-sdk[django] brauchst du nicht.

2. SDK starten

Ruf sentry_sdk.init möglichst früh in settings.py auf:

settings.py
import sentry_sdk

sentry_sdk.init(
    dsn="https://<key>@app.fehlo.de/<project-id>",
    environment="production",
    release="my-site@1.0.0",
)

Ohne Argumente liest das SDK die Werte aus der Umgebung. Das ist praktisch, wenn Staging und Produktion verschiedene Projekte haben:

.env
SENTRY_DSN=https://<key>@app.fehlo.de/<project-id>
SENTRY_ENVIRONMENT=production
SENTRY_RELEASE=my-site@1.0.0
settings.py
import sentry_sdk

sentry_sdk.init()

Das Python-SDK sendet standardmäßig keine IP-Adressen und keine Nutzerdaten. Setz data_collection nur, wenn du mehr willst: Sobald es gesetzt ist, gelten dessen freizügigere Standards.

3. Testen

urls.py
from django.urls import path


def trigger_error(request):
    division_by_zero = 1 / 0


urlpatterns = [
    path("sentry-debug/", trigger_error),
]

Ruf /sentry-debug/ auf. Der ZeroDivisionError erscheint in Fehlo mit Stacktrace und den lokalen Variablen der View. Fehler aus einer interaktiven Shell erfasst das SDK nicht.

Performance messen

Ergänze in sentry_sdk.init:

settings.py
traces_sample_rate=0.2,

Jede Anfrage, die gemessen wird, ist eine Transaktion und zählt zum Transaktionskontingent deines Plans, nicht zu den Ereignissen. Das SDK misst dann Views, Middleware, Datenbankabfragen und Templates.

Häufige Fragen

Es kommt nichts an. Was prüfe ich?

Erstens den DSN: Er muss auf app.fehlo.de zeigen. Zweitens, ob dein Server oder Browser https://app.fehlo.de erreicht (Firewall, Proxy, Werbeblocker). Drittens, ob dein Kontingent für den Monat aufgebraucht ist; dann bekommst du eine Mail. Viertens, ob sampleRate oder beforeSend Ereignisse verwirft. Fehlen nur Performance-Daten, sind vielleicht die Transaktionen des Monats aufgebraucht.