Fehler-Überwachung & E-Mail-Alarm


Installationsanleitung, Dokumentation und FAQs zum Shopware Plugin

Was ist Biloba Notificator?

Das Plugin überwacht deinen Shopware-Shop automatisch im Hintergrund und meldet dir Fehler aus dem System-Log per E-Mail, bevor sie deine Kund:innen beeinträchtigen. Du legst fest, ab welchem Schwellenwert eine Meldung ausgelöst wird, wer sie erhält und wie oft höchstens gemailt wird.

Die wichtigsten Vorteile auf einen Blick:

  1. Automatische Überwachung des System-Logs in festen Intervallen
  2. Konfigurierbare Schwellenwerte (z. B. ab Level „error“ oder „critical“)
  3. Mehrere Empfänger:innen pro Alarm
  4. Cooldown gegen E-Mail-Flut, Fehler während des Cooldowns werden gesammelt nachgereicht
  5. Individuelle Mail-Vorlagen und mehrsprachiger Versand
  6. Testversand pro Empfänger:in ohne Cooldown
  7. Rollenbasierte Rechte sowie automatische Maskierung sensibler Daten in Logs
  8. Vollständiges Protokoll aller ausgelösten Alarme in deiner lokalen Zeitzone

Voraussetzungen

  • Shopware 6.7
  • PHP ab 8.2 (von Shopware selbst vorausgesetzt)
  • Konfigurierter Symfony Mailer (MAILER_URL bzw. MAILER_DSN) für den E-Mail-Versand
  • Laufender Messenger Worker für die automatische Ausführung im Hintergrund

Kompatibilität

  • Shopware-Versionen 6.7.x
  • Überwacht die Shopware-eigene log_entry-Tabelle, legt dafür eigene Tabellen an (biloba_notification, biloba_notification_log)
  • Keine Abhängigkeiten zu Drittanbieter-Plugins

Installation

  1. Erwerbe die Erweiterung im Shopware Store
  2. Installiere und aktiviere die Erweiterung im Shopware Backend unter Einstellungen → Erweiterungen → Meine Erweiterungen
  3. Lade die Adminoberfläche neu (F5)
  4. Rufe den neuen Menüpunkt unter Einstellungen → Erweiterungen → E-Mail-Alarme auf

Einrichtung

Nach der Aktivierung legst du deinen ersten E-Mail-Alarm an. Alle Einstellungen können jederzeit im Detailformular angepasst werden.

[SCREENSHOT: Detailformular eines E-Mail-Alarms mit Konfigurationsfeldern]

  1. Klicke im Backend unter Einstellungen → Erweiterungen → E-Mail-Alarme auf „Hinzufügen“
  2. Vergib einen Namen, z. B. „Alarm bei Fehlern“
  3. Wähle den Alarmtyp aus, aktuell steht „Log Entry“ zur Verfügung
  4. Lege das minimale Log-Level fest (z. B. error, critical, alert)
  5. Trage eine oder mehrere Empfänger-E-Mail-Adressen ein
  6. Setze eine Cooldown-Zeit in Sekunden, um Mailfluten zu vermeiden (z. B. 300 Sekunden)
  7. Wähle eine Mail-Vorlage sowie die Sprache aus, in der die Mails versendet werden sollen
  8. Speichere den Alarm

Damit Alarme automatisch geprüft und versendet werden, muss der Symfony-Messenger-Worker laufen (z. B. dauerhaft als Systemd-Dienst mit bin/console messenger:consume). In der Entwicklungsumgebung genügt auch ein manueller Aufruf über bin/console scheduled-task:run.


1 · Alarm-Verwaltung

In der Listenansicht siehst du alle angelegten Alarme mit Status-Anzeige (aktiv/inaktiv). Über die Detailansicht bearbeitest du Name, Typ, Empfänger, Cooldown, Mail-Vorlage und Sprache eines Alarms.

[SCREENSHOT: Listenansicht der E-Mail-Alarme mit Aktiv-Status]


2 · Log-Überwachung (Log Entry Watcher)

Der Alarmtyp „Log Entry“ überwacht die System-Log-Tabelle deines Shops und löst aus, sobald Einträge mit dem konfigurierten Mindest-Level (z. B. error) auftreten. Weitere Alarmtypen können nachträglich technisch ergänzt werden.


3 · Cooldown & Sammelmeldung

Der Cooldown verhindert, dass du bei vielen Fehlern in kurzer Zeit mit E-Mails überflutet wirst. Während der Cooldown-Zeit ausgelöste Fehler gehen nicht verloren: sie werden gesammelt und in der nächsten Meldung mit dem Hinweis „(N während Cooldown)“ nachgereicht.


4 · Testversand

Über den Button „Testmail“ im Detailformular kannst du pro Empfänger:in eine Testmail auslösen, unabhängig vom Cooldown. So prüfst du Vorlage und Zustellung, ohne auf einen echten Fehler warten zu müssen.


5 · Mehrsprachiger Mailversand

Für jeden Alarm wählst du die Sprache, in der die Mail gerendert wird, begrenzt auf die Sprachen, die die gewählte Mail-Vorlage tatsächlich bereitstellt. So werden auch automatisch im Hintergrund versendete Mails immer in der gewünschten Sprache zugestellt, unabhängig von der Systemsprache des Shops.


6 · Protokoll & Verlauf

Im Log-Tab der Detailansicht findest du den vollständigen Verlauf ausgelöster Alarme mit Zeitpunkt, Status und Kurzbeschreibung. Ein Klick auf die Kurzbeschreibung öffnet ein Detailfenster mit vollständigem Fehlertext und den zugehörigen Log-Einträgen. Einzelne Einträge lassen sich löschen oder das Protokoll komplett leeren. Einträge, die älter als 180 Tage sind, werden automatisch täglich entfernt.

[SCREENSHOT: Protokoll-Tab mit Verlauf ausgelöster Alarme]


7 · Datenschutz: Maskierung sensibler Daten

Fehlertexte und Protokolldaten werden vor dem Speichern und der Ausgabe automatisch nach sensiblen Daten wie Zugangsdaten oder Tokens durchsucht und maskiert. So gelangen keine vertraulichen Informationen in E-Mails oder das Backend-Protokoll.


FAQs

Prüfe zunächst, ob der Symfony Mailer korrekt konfiguriert ist (Umgebungsvariable MAILER_URL bzw. MAILER_DSN). Kontrolliere anschließend das Protokoll im Detailformular des Alarms auf einen Fehlerstatus.

Das ist der Cooldown. Während der konfigurierten Cooldown-Zeit wird kein neuer Alarm ausgelöst, damit du nicht mit E-Mails überflutet wirst. Fehler aus dieser Zeit gehen nicht verloren, sie werden in der nächsten Meldung nach Ablauf des Cooldowns gesammelt nachgereicht.

Standardmäßig alle 60 Sekunden über eine geplante Aufgabe (Scheduled Task). Voraussetzung dafür ist ein laufender Symfony-Messenger-Worker.

Die Sprache, die du beim jeweiligen Alarm im Detailformular ausgewählt hast, begrenzt auf die Sprachen, die die gewählte Mail-Vorlage bereitstellt. Das gilt sowohl für automatische als auch für Test-Mails.

Protokolleinträge, die älter als 180 Tage sind, werden automatisch über eine tägliche geplante Aufgabe entfernt. Du kannst Einträge außerdem jederzeit manuell einzeln oder gesammelt löschen.

Die Erweiterung ist technisch für weitere Alarmtypen (z. B. hängende Warteschlangen-Nachrichten oder Zahlungsfehler) vorbereitet. Sprich uns bei Bedarf gerne über den Support an.


Support

Bei Fragen oder Problemen stehen wir zur Verfügung: