Log Listener aktivieren

Prev Next

Keyword Log Listener

Ein Keyword Log Listener "hört" auf hinterlegte Reizwörter im Fehlertext einer Fehlermeldung und sendet ggf. eine Mail mit einer Benachrichtigung. Der Nachrichtentext enthält lediglich die Jobnummer, damit eine Weiterleitung an ein SMS-Gateway funktioniert (Längenbeschränkung des Textes).

Konfigurationsdatei einrichten

Legen Sie unter ./conf eine Datei log_events.properties an.

In dieser Datei müssen mindestens folgende Einträge vorhanden sein (Kommentare beginnen mit #).

# Legt den Absender der E-Mail fest
sender.address=max.mustermann@example.com
# Stundenangabe; Fehler nach dieser Angabe werden ignoriert
time.start=8
# Stundenangabe; Fehler vor dieser Angabe werden ignoriert
time.end=18
# Ist der Wert "false" hinterlegt, gelten die Zeitangaben. D. h. von Montag bis Freitag zwischen 8 und 18 Uhr werden keine zusätzlichen Mails versendet
# "true" ignoriert diese Angaben - es wird immer eine Mail versendet (da z. B. ein Freitag ein Feiertag ist)
ignoreTimeSettings=false
# Um z. B. am Donnerstag von 2:30 Uhr für die nächsten 60 Minuten Fehler zu ignorieren, geben Sie bitte:
exclude.thursday.time=2:30;60
# Hinterlegte Reizwörter für den Empfänger; Reizwörter werden mit Komma getrennt. Verschiedene Reizwörter können 
# unterschiedlichen Empfängern zugewiesen werden
max.mustermann@example.com=mandatory,invalid

Hinweis: Wird Konfigurationsdatei im laufenden Betrieb geändert, werden die neuen Einstellungen ausgelesen.

Keyword Log Listener aktivieren

In der Konfigurationsdatei ./etc/startup.xml tragen Sie nun bitte im Abschnitt Datawizard folgenden Eintrag ein.

<Call name="addLogListener">
	<Arg><New class="com.ebd.hub.datawizard.plugin.LogListener"/></Arg>
</Call>

Damit wird nach dem nächsten Start des Integration Servers der Keyword Log Listener aktiviert.

Hinweis: Der Log Listener sammelt Benachrichtigungen in einem Zeitfenster von 5 Minuten, damit nicht pro Fehler eine einzelne Mail erzeugt wird.

Unknown Segment Log Listener

Kommen in Eingangsdateien Daten an, die nicht in die vorhandene Quellstruktur geparst werden können, dann gehen diese Daten erst einmal verloren (ohne einen Fehler des Profil-Jobs auszulösen).

Es ist aber möglich solche Daten zu loggen, auszuwerten und gegebenenfalls nachzubearbeiten.

Unknown Segment Log Listener aktivieren

Tragen Sie bitte in der Konfigurationsdatei ./etc/startup.xml im Abschnitt Datawizard folgenden Eintrag ein.

<Call name="addLogListener">
	<Arg>
		<New class="com.ebd.hub.datawizard.plugin.UnknownSegmentLogListener"/>
	</Arg>
</Call>

Damit wird nach dem nächsten Start des Integration Servers der "Unknown Segment Log Listener" aktiviert.

Log-Level anpassen

Nun muss noch im Profil-Logging des entsprechenden Profils (oder auch generell im System-Logging) für Phase 2, die Option Unbekannte Segmente gesetzt werden, damit in einem ersten Schritt Meldungen im Job-Log eingetragen werden.

Erzeugte Log-Datei

Der Unknown Segment Log Listener liest die relevanten Meldungen aus allen Job-Logs und erzeugt eine Datei mit dem Namen UnknownSegmentData.work. Eine Zeile dieser Datei hat den folgenden Aufbau.

<Job-Nummer>,<Datum>,"<Job-Log-Meldung>"

Beispiel: 12636,25.09.19 09:07:38.184,"Skipping data 'somematchcode,somedata', no matching node found."

Der Unknown Segment Log Listener merkt sich intern das Alter der Datei. Ist diese älter als 2 Stunden, dann wird beim nächsten Schreiben in die Datei diese umbenannt in UnknownSegmentData.log. Hinweis: Wenn es bereits eine Datei UnknownSegmentData.log im Verzeichnis ./logs gibt, dann wird immer weiter in die Datei UnknownSegmentData.work geschrieben, solange bis die bestehende Datei UnknownSegmentData.log abgeholt/entfernt wurde.

Man kann dann ein weiteres Profil anlegen, um diese Log-Datei zu verarbeiten (zeitgesteuerter Eingangsagent des Typs “Datei”, evtl. mit Option “Auf File-Event reagieren”). Sie können also entweder die unbekannten Daten-Segmente irgendwie verarbeiten oder schlicht eine E-Mail zur Benachrichtigung versenden.

Dokumentenarten

Beachten Sie bitte, dass der Unknown Segment Log Listener nicht bei den Dokumentenarten XML und JSON funktioniert. Der Grund ist, dass bei diesen Formaten ausgehend von der Quellstruktur in den Daten gesucht wird. Unbekannte Elemente werden so also erst gar nicht entdeckt.

Bei allen anderen Dokumentenarten funktioniert es. Dort wird für eine Datenzeile in der Quellstruktur gesucht. Wenn die Zeile dort nicht eingeordnet werden kann, erfolgt ein Log-Eintrag (bei entsprechendem Log-Level, siehe oben).