Fehler-Monitoring für Shopware 6.
Mit dem Bundle der Friends of Shopware und dem Symfony-SDK meldet dein Shop Fehler aus Storefront-Controllern, Admin-API und Queue-Workern an Fehlo, mit Verkaufskanal und Sprache.
Stand: 24.10.2026, frosh/sentry-bundle 0.4.0 von den Friends of Shopware mit sentry/sentry-symfony 5.14.0, Shopware 6.4.20 bis 6.7. Das PHP-SDK haben wir noch nicht selbst gegen Fehlo laufen lassen; es spricht dasselbe Protokoll wie die getesteten SDKs.
Shopware 6 ist eine Symfony-Anwendung. Das Bundle der Friends of Shopware verbindet das Symfony-SDK mit Shopware: Es übernimmt Shopwares Liste der Ausnahmen, die keine Fehler sind (etwa „Produkt nicht gefunden“), hängt Verkaufskanal, Sprache und Währung an jedes Ereignis und kann auf Wunsch auch JavaScript-Fehler aus der Storefront melden.
1. Pakete installieren
composer require "frosh/sentry-bundle:*" "sentry/sentry-symfony:*"Trag beide Bundles in config/bundles.php ein. Hat Symfony Flex schon eine Zeile für das SentryBundle angelegt, die nur für prod gilt, ersetz sie:
Sentry\SentryBundle\SentryBundle::class => ['all' => true],
Frosh\SentryBundle\ShopwareSentryBundle::class => ['all' => true],2. DSN und Einstellungen
SENTRY_DSN="https://<key>@app.fehlo.de/<project-id>"
SENTRY_ENVIRONMENT=production
SENTRY_RELEASE=shop@1.0.0Leg config/packages/sentry.yaml an oder ersetz die Datei, die das Symfony-Rezept angelegt hat:
parameters:
env(SENTRY_DSN): ''
env(SENTRY_RELEASE): ''
env(SENTRY_ENVIRONMENT): '%kernel.environment%'
sentry:
dsn: "%env(SENTRY_DSN)%"
messenger:
enabled: true
options:
error_types: E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED
integrations:
- 'Frosh\SentryBundle\Integration\UseShopwareExceptionIgnores'
environment: '%env(SENTRY_ENVIRONMENT)%'
release: '%env(SENTRY_RELEASE)%'
send_default_pii: falsemessenger.enabled meldet auch Fehler aus den Message-Queue-Workern. Deprecations bleiben draußen, sonst füllen sie dein Kontingent.
3. Testen
bin/console sentry:testDer Befehl schickt eine Testnachricht an den eingestellten DSN. Sie erscheint nach wenigen Sekunden in Fehlo. Leer danach den Cache, wenn du die YAML-Datei später änderst.
Fehler aus der Storefront
Das Bundle kann JavaScript-Fehler aus dem Shop melden. Das ist standardmäßig aus, und das hat einen Grund: Das Bundle lädt das Browser-SDK von browser.sentry-cdn.com. Jeder Besucher deines Shops baut dann eine Verbindung zu Sentrys CDN auf, mit seiner IP-Adresse. Für einen deutschen Shop gehört das in die Datenschutzerklärung und braucht eine Rechtsgrundlage.
frosh_sentry:
storefront:
enabled: true
replay_recording:
enabled: false
tracing:
enabled: falseWenn du die Storefront-Fehler willst, liefer das SDK besser selbst aus, indem du den Twig-Block sentry des Bundles überschreibst. Session Replay lass aus: Die Vorlage des Bundles maskiert dabei weder Text noch Medien.
Datenschutz
send_default_pii steht auf false: keine Header, Cookies oder IP-Adressen. Das Bundle setzt als Nutzer nur die Kunden-ID von Shopware, eine UUID ohne E-Mail. Fehlo entfernt die IP-Adresse des Absenders zusätzlich und filtert E-Mail-Adressen, Passwörter und Tokens. Setz die neue Option data_collection nicht: Sobald es gesetzt ist, gelten dessen freizügigere Standards, und das SDK sendet IP-Adressen, Cookies und Bodies mit.
Headless-Installationen ohne das Paket shopware/storefront können Version 0.4.0 nicht installieren, weil das Bundle es voraussetzt. Dort nimmst du das Symfony-SDK allein, siehe Symfony einrichten.
Häufige Fragen
Gibt es ein Plugin im Shopware Store?
Für Fehler-Monitoring mit den sentry-SDKs ist das Composer-Paket frosh/sentry-bundle der übliche Weg. Es ist kein Store-Plugin, sondern ein Symfony-Bundle, das du per Composer installierst.
Funktioniert das mit Shopware 6.7?
Ja. Version 0.4.0 unterstützt Shopware 6.4.20 bis 6.7.
Kostet die Storefront-Überwachung extra?
Nein, aber jeder JavaScript-Fehler zählt als Ereignis. Bei vielen Besuchern und einem fehlerhaften Plugin kann das schnell gehen. Fang mit dem Server an.
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.