Direkt zum Hauptinhalt

Überwachungsdienst - Erweiterte Konfiguration

Der Überwachungsdienst wurde bereits im Abschnitt Hauptkomponenten beschrieben. Dieser Abschnitt enthält zusätzliche Details zur Konfiguration und Fehlerbehebung.

Konfigurationsdetails

Container-Konfiguration

environment:
  # No-Rule Warning Job
  - Quartz__NoRuleWarningJob__scheduler=0 0 8 * * ?
  - Quartz__NoRuleWarningJob__enabled=true
  - Quartz__NoRuleWarningJob__startnow=false

Anwendungsfälle

Der No-Rule Warning Service hilft bei der Erkennung verschiedener Probleme:

1. Fehlende Stammdaten

Problem: Für einen Kunden ist keine E-Mail-Adresse hinterlegt.
Ergebnis: Keine Mail wird versendet.
Lösung: Warnung identifiziert fehlende Stammdaten, sodass Daten nachgepflegt werden können.

2. Fehlkonfiguration

Problem: Mail-Einstellungen sind nicht korrekt konfiguriert (z.B. falsche Empfänger-Regeln).
Ergebnis: Keine Mail wird versendet.
Lösung: Warnung zeigt Konfigurationsprobleme, sodass Einstellungen korrigiert werden können.

3. Zu restriktive Filter-Kriterien

Problem: Filter-Kriterien selektieren keine Fälle.
Ergebnis: Keine Mail wird versendet.
Lösung: Warnung macht auf Filter-Probleme aufmerksam, sodass Filter angepasst werden können.

Duplikatsverhinderung

Der Service protokolliert versendete Warnungen in der Datenbank:

  • Jeder gewarnter Fall wird mit Fall-ID, Schritt-Nummer und Workflow-Nummer gespeichert
  • Verhindert mehrfache Warnungen für denselben Fall
  • Protokollierung erfolgt nur bei erfolgreichem E-Mail-Versand
  • Ermöglicht Nachverfolgung der Warnungshistorie

Best Practices

  1. Zeitraum (LookbackPeriod):

    • Wählen Sie einen angemessenen Zeitraum (z.B. 24 Stunden)
    • Zu kurze Zeiträume: Wichtige Fälle könnten übersehen werden
    • Zu lange Zeiträume: Zu viele Warnungen für bereits bekannte Probleme
  2. Grace Period:

    • Setzen Sie auf mindestens das 2-3-fache des Mail-Dienst-Intervalls
    • Standard-Empfehlung: 15-20 Minuten
    • Bei sehr frequenten Mail-Dienst-Ausführungen: 20-30 Minuten
    • Verhindert Fehlalarme für gerade in Bearbeitung befindliche Workflows
  3. Empfänger (WarningRecipients):

    • Konfigurieren Sie administrative E-Mail-Adressen
    • Stellen Sie sicher, dass E-Mails regelmäßig geprüft werden
    • Verwenden Sie Verteiler für Team-Benachrichtigungen
  4. Ausführungshäufigkeit (Scheduler):

    • Täglich um 8:00 Uhr (Standard) für normale Überwachung
    • Mehrmals täglich für kritische Workflows
    • Passen Sie die Cron-Expression an Ihre Anforderungen an
  5. SMTP-Konto:

    • Verwenden Sie ein dediziertes SMTP-Konto für Warnungen
    • Stellt separate Nachverfolgung und Zustellung sicher
    • Fallback auf Standard-SMTP-Konto funktioniert automatisch

Troubleshooting

Problem: Warnungen werden nicht versendet

Mögliche Ursachen:

  • Enabled ist auf false gesetzt
  • Keine gültigen Empfänger konfiguriert (WarningRecipients leer oder ungültig)
  • SMTP-Konto nicht verfügbar oder falsch konfiguriert
  • Job ist in appsettings.json deaktiviert (enabled: false)
  • Cron-Expression ist fehlerhaft

Lösungsschritte:

  1. Überprüfen Sie die Logs nach Fehler-Meldungen
  2. Prüfen Sie die Konfiguration in der Administrationsoberfläche
  3. Testen Sie das SMTP-Konto mit einer Test-Mail
  4. Validieren Sie die Cron-Expression mit einem Online-Tool

Problem: Zu viele Warnungen

Mögliche Ursachen:

  • Der LookbackPeriod ist zu groß (z.B. 7 Tage statt 1 Tag)
  • Die GracePeriod ist zu klein (z.B. 2 Minuten statt 15 Minuten)
  • Viele Workflows haben tatsächliche Konfigurationsprobleme
  • Der Dienst läuft zu häufig (mehrmals stündlich)

Lösungsschritte:

  1. Reduzieren Sie den LookbackPeriod (z.B. auf 24 Stunden)
  2. Erhöhen Sie die GracePeriod (z.B. auf 20-30 Minuten)
  3. Beheben Sie die zugrunde liegenden Konfigurationsprobleme
  4. Passen Sie die Ausführungshäufigkeit an (z.B. nur 1x täglich)

Problem: Duplikate werden versendet

Mögliche Ursachen:

  • E-Mail-Versand schlägt fehl (keine Protokollierung)
  • Datenbank-Commit schlägt fehl
  • Transaktion wird zurückgerollt

Lösungsschritte:

  1. Überprüfen Sie die Logs auf Fehler beim E-Mail-Versand
  2. Prüfen Sie die Datenbank-Verbindung
  3. Kontrollieren Sie die Protokollierungstabelle auf Einträge
  4. Testen Sie mit einem einzelnen Fall

Problem: Grace Period funktioniert nicht

Mögliche Ursachen:

  • Grace Period ist auf 0 oder sehr klein gesetzt
  • Der Mail-Dienst läuft sehr selten
  • Systemzeit ist nicht synchronisiert

Lösungsschritte:

  1. Setzen Sie Grace Period auf mindestens 15 Minuten
  2. Überprüfen Sie die Mail-Dienst-Konfiguration
  3. Validieren Sie die Systemzeit auf allen Servern
  4. Prüfen Sie die SQL-Query in den Logs

Migration und Einrichtung

Bei der ersten Verwendung des Überwachungsdienstes:

  1. Automatische Datenbankerstellung: Die Tabellen werden automatisch erstellt
  2. Konfiguration erstellen: In der Admin-Oberfläche neue Überwachungseinstellungen für gewünschte Mandanten anlegen
  3. Job aktivieren: In appsettings.json oder Container-Umgebungsvariablen aktivieren
  4. Erste Ausführung: Optional startnow: true setzen für sofortigen Test
  5. Monitoring: Logs überprüfen nach erfolgreicher Ausführung

Hinweis: Es sind keine manuellen Migrationsschritte erforderlich. Alle benötigten Tabellen werden automatisch erstellt.