Sentry Konfiguration
Die Fehlerverfolgung und Leistungsüberwachung sind essenzielle Bestandteile für den stabilen und professionellen Betrieb von CrispyCMS. Durch die native Integration von Sentry können Entwickler und Systemadministratoren detaillierte Einblicke in Systemfehler und Performance-Engpässe gewinnen. Um die Funktionen von Sentry vollständig nutzen zu können, müssen spezifische Umgebungsvariablen sowohl für das Backend als auch für das Frontend sorgfältig konfiguriert werden.
Bevor Sie mit der Konfiguration beginnen, stellen Sie sicher, dass Sie über ein aktives Sentry-Konto sowie die entsprechenden DSN-Zugangsdaten für Ihre separaten Frontend- und Backend-Projekte verfügen.
Übersicht der Umgebungsvariablen
Die Sentry-Integration wird primär über Umgebungsvariablen gesteuert. Diese Variablen bestimmen, wie Daten erfasst, gefiltert und an Ihre Sentry-Instanz weitergeleitet werden. Da CrispyCMS eine klare Trennung zwischen Server-Logik und Client-Interaktion pflegt, sind die Variablen in funktionale Bereiche unterteilt.
Zentrale Konfigurationstabellen
| Umgebungsvariable | Bereich | Beschreibung |
|---|---|---|
SENTRY_DSN | Backend | Der primäre Data Source Name. Verweist bei Nutzung des Relays auf die lokale Adresse. |
SENTRY_RELAY_UPSTREAM_URL | Backend | Die URL Ihrer externen Sentry-Instanz für die Datenweiterleitung des Relays. |
SENTRY_TRACES_SAMPLE_RATE | Backend | Steuert die Rate für das Performance-Tracing. |
SENTRY_PROFILES_SAMPLE_RATE | Backend | Legt die Rate für das Code-Profiling fest. |
SENTRY_CRON_ENABLED | Backend | Aktiviert die Überwachung von Hintergrundprozessen. |
SENTRY_ENABLE_LOGS | Backend | Erfasst Standard-PHP-Fehlerprotokolle direkt in Sentry. |
SENTRY_JS_DSN | Frontend | Der Data Source Name zur Erfassung von clientseitigen Fehlern im Browser. |
SENTRY_JS_SCRIPT | Frontend | Der exakte URL-Pfad zum Sentry-Initialisierungsskript. |
Konfigurationsbereiche im Detail
Die Einrichtung von Sentry teilt sich architektonisch in zwei Hauptbereiche auf. Die serverseitige Überwachung konzentriert sich auf PHP-Fehler und Hintergrundprozesse, während die clientseitige Überwachung Interaktionsfehler im Browser der Redakteure erfasst.
Serverseitige Variablen
Die Integration in das Backend erfolgt primär über den Data Source Name (DSN). Um tiefergehende Einblicke in Ausführungszeiten zu erhalten, bietet CrispyCMS Performance-Tracing an. Dies steuern Sie über SENTRY_TRACES_SAMPLE_RATE.
Clientseitige Variablen
Für die Überwachung im Browser muss das Frontend separat verknüpft werden. Hierfür ist die Variable SENTRY_JS_DSN zuständig. Zusätzlich muss der Pfad zum Sentry-Initialisierungsskript über SENTRY_JS_SCRIPT definiert werden.
Der integrierte Sentry Relay
Um die bestmögliche Leistung zu erzielen und die Ausfallsicherheit zu maximieren, setzt CrispyCMS standardmäßig auf einen eigenen Sentry Relay. Dieser Dienst fungiert als lokaler Zwischenspeicher und leitet alle gesammelten Telemetriedaten asynchron an den definierten Upstream-Server weiter. Diese Architektur stellt sicher, dass das CMS durchgehend reaktionsfähig bleibt, selbst wenn externe Sentry-Dienste verzögert antworten oder ausfallen.
Aufgrund dieser Architektur verweist die Umgebungsvariable SENTRY_DSN in der Standardkonfiguration auf localhost, während das tatsächliche Ziel über SENTRY_RELAY_UPSTREAM_URL definiert wird.
Verwendung eines eigenen DSN mit dem Relay
Wenn Sie einen spezifischen DSN in Verbindung mit dem integrierten Relay nutzen möchten, muss der Host-Teil des DSN angepasst werden. Der öffentliche Schlüssel und die Projekt-ID müssen erhalten bleiben.
- Original:
https://key@sentry.domain.de/2 - Relay-Konfiguration:
http://key@127.0.0.1:3000/2
Deaktivierung des Relays
Sollten Sie den integrierten Relay nicht nutzen wollen, entfernen Sie einfach den Wert der Variable SENTRY_RELAY_UPSTREAM_URL (unset). Sobald diese Variable nicht mehr definiert ist, sendet CrispyCMS die Daten direkt an die in SENTRY_DSN hinterlegte Adresse.
Wichtige Hinweise zur Leistung
Die Konfiguration der Sample-Raten hat direkte Auswirkungen auf die Serverressourcen und Ihr Sentry-Datenkontingent.
Ein zu hoch angesetzter Wert für SENTRY_TRACES_SAMPLE_RATE kann in Hochlastphasen erhebliche Ressourcen beanspruchen. Starten Sie in Produktion stets mit einem niedrigen Wert wie 0.1 oder niedriger.