Fehler-Monitoring für FastAPI.

Mit sentry-sdk meldet deine FastAPI-App Ausnahmen und 5xx-Antworten mit Stacktrace und lokalen Variablen an Fehlo. Die Einrichtung ist ein Aufruf vor FastAPI().

Stand: 24.10.2026, sentry-sdk 2.73.0, FastAPI ab 0.79. Das Python-SDK haben wir am 19.10.2026 mit Fehlo getestet.

1. Paket installieren

Terminal
pip install sentry-sdk

Die Integration für FastAPI und Starlette schaltet sich selbst ein, sobald FastAPI installiert ist.

2. SDK starten und testen

Ruf sentry_sdk.init auf, bevor du die App erzeugst:

main.py
import sentry_sdk
from fastapi import FastAPI

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

app = FastAPI()


@app.get("/sentry-debug")
async def trigger_error():
    division_by_zero = 1 / 0

Starte die App mit uvicorn main:app und ruf /sentry-debug auf. Der ZeroDivisionError erscheint in Fehlo mit Stacktrace, lokalen Variablen und der Route.

3. Welche Antworten gemeldet werden

Ausnahmen ohne Statuscode meldet das SDK immer, dazu Antworten mit Status 500 bis 599. Willst du auch 403 sehen, setz failed_request_status_codes an beiden Integrationen:

main.py
from sentry_sdk.integrations.fastapi import FastApiIntegration
from sentry_sdk.integrations.starlette import StarletteIntegration

sentry_sdk.init(
    dsn="...",
    integrations=[
        StarletteIntegration(failed_request_status_codes={403, *range(500, 600)}),
        FastApiIntegration(failed_request_status_codes={403, *range(500, 600)}),
    ],
)

Anfragen mit OPTIONS und HEAD lässt das SDK aus.

Datenschutz

Ohne weitere Optionen sendet das Python-SDK keine IP-Adressen, keine Cookies und keine Nutzerdaten. Setz data_collection nicht: Sobald es gesetzt ist, gelten dessen freizügigere Standards, und das SDK sendet IP-Adressen, Cookies und Bodies mit. Lokale Variablen gehen mit; Passwörter, Tokens und E-Mail-Adressen filtert Fehlo auf dem Server heraus.

Performance messen

main.py
traces_sample_rate=0.2,

Jede gemessene Anfrage ist eine Transaktion und zählt zum Transaktionskontingent deines Plans, nicht zu den Ereignissen.

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.