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

Terminal
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:

config/bundles.php
Sentry\SentryBundle\SentryBundle::class => ['all' => true],
Frosh\SentryBundle\ShopwareSentryBundle::class => ['all' => true],

2. DSN und Einstellungen

.env.local
SENTRY_DSN="https://<key>@app.fehlo.de/<project-id>"
SENTRY_ENVIRONMENT=production
SENTRY_RELEASE=shop@1.0.0

Leg config/packages/sentry.yaml an oder ersetz die Datei, die das Symfony-Rezept angelegt hat:

config/packages/sentry.yaml
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: false

messenger.enabled meldet auch Fehler aus den Message-Queue-Workern. Deprecations bleiben draußen, sonst füllen sie dein Kontingent.

3. Testen

Terminal
bin/console sentry:test

Der 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.

config/packages/sentry.yaml
frosh_sentry:
    storefront:
        enabled: true
        replay_recording:
            enabled: false
        tracing:
            enabled: false

Wenn 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.