ErrorRetrieveCron
Gruppe |
|
Konfigurationsdatei |
./conf/sample_ErrorRetrieveCron.properties |
Beschreibung
Die Klasse ErrorRetrieveCron liefert Informationen über Fehler-Jobs, die aktuell im Control Center unter Jobs/Fehler stehen. Diese Klasse wurde entwickelt, um Anwendern eine Möglichkeit zu geben, durch ein Profil auf bestimmte Fehler automatisch zu reagieren. In Kombination mit anderen Klassen, kann so jeder Anwender flexible Lösungen entwickeln, die eine Teilautomation der Fehlerbehandlung ermöglichen. Dadurch können die Bediener von Routine-Aufgaben entlastet werden, bzw. kann auf regelmäßige nächtliche Nichtverfügbarkeit bestimmter externer Systeme automatisch reagiert werden.
Für diese Klasse kann ein Pfad für eine optionale Konfigurationsdatei im Feld Konfigurationsdatei hinterlegt werden.
Als Ergebnis erhält man eine CSV-Datei mit den zwei folgenden Satzarten:
Satzart Error |
Master-Satz, der einmalig für jeden Fehlereintrag auftritt. |
Satzart Stack |
Optionaler Satz, der nach dem Error-Satz mehrmals auftreten kann und eine genaueste Identifizierung durch den Java-Stacktrace erlaubt. |
Aufbau des Error-Satzes
Der Error-Satz ist ein CSV-Satz mit Satzart Error, Feldtrenner Semikolon und folgendem Aufbau.
<Satzart>;"<Profilname>";<Profil-Phase des Fehlers>;<Fehlernummer - nur intern relevant>;<Zeitstempel im Format yyyyMMdd HHmmss.SSS>;<Jobnummer>;<Fehlertext> |
Beispiel:
Error;"temp";6;40;20130912 094146.139;335306;Error sending ... (HTTP 500)
Aufbau des Stack-Satzes
Der Stack-Satz ist ein CSV-Satz mit Satzart Stack, Feldtrenner Semikolon und folgendem Aufbau.
<Satzart>;<Java Stacktrace-Zeile> |
Beispiel:
Stack;at java.io.FileOutputStream.<init>(FileOutputStream.java:192)
Pro Zeile im Java-Stacktrace wird ein Datensatz erzeugt. Die Auswertung der Stack-Sätze eines Fehlers wird im Normalfall nicht nötig sein.
Hinweise:
Das Feld <Fehlertext> eines Error-Satzes kann, je nach Fehlerbeschreibung, in 1-n aneinandergesetzte Felder aufgeteilt werden.
Falls sich in den CSV-Feldern Werte befinden, welche eine Quotierung benötigen, wird das gesamte Feld in Anführungszeichen (") gesetzt.
Diese Klasse kann z. B. im Zusammenspiel mit der Antwortklasse RestartFailedJob arbeiten. Die Fehlerliste, die vom ErrorRetrieveCron erzeugt wird, kann von einem speziellen Profil verarbeitet werden, das wir nachfolgend "Management-Profil" nennen. In diesem Profil können nochmal genauere Eingrenzungen der Fehler erfolgen, z. B. durch Bewertung des Fehlertextes oder des Stacktraces, um daraus dann die Jobnummern der Fehler-Jobs zu separieren, die automatisch neu gestartet werden sollen. Diese Jobnummern werden als Liste, jeweils eine Jobnummer pro Zeile, an die Antwortklasse RestartFailedJob übergeben. Zusätzlich ist es möglich durch Funktionen oder auf anderem Wege die Verfügbarkeit des Zielsystems zu prüfen, um den Restart der Jobs dann nicht zu beginnen, wenn das Zielsystem noch nicht wieder verfügbar ist.
Parameterbeschreibung
Diese Konfigurationsdatei kann folgende Parameter enthalten:
Parameter |
Beschreibung |
cc.error.profiles |
(optional) Liste der Profilnamen durch | getrennt, oder * für alle Profile. Default: * |
cc.error.phase |
(optional) Liste der Profil-Phasen (1 bis 6) durch | getrennt, oder * für alle Phasen. Default: * |
cc.error.temp.dir |
(optional) Verzeichnis für Temp-Datei. Default: ./temp |
cc.error.onlyJobList |
(optional) Bei true werden nur die Jobnummern zurückgegeben und sonst nichts. Default: false. |
Wenn keine Profil-Liste definiert ist (oder *), wird pro Lauf des Cron nur ein Job erzeugt, in dem alle aktuellen Fehler aller Profile gelistet werden.
Wenn eine Profil-Liste definiert ist, wird pro Lauf des Cron für jeden Profilnamen in der Liste jeweils ein Job erzeugt, in dem nur die Fehler eines Profils gelistet sind.
Wenn keine Liste der Phasen definiert ist (oder *), werden die Fehler aus allen Phasen gelistet. Andernfalls nur die Fehler aus den angegebenen Phasen. Die Werte 1 bis 6 sind erlaubt, andere Phasen-Nummern führen zum Fehler.
Beispiel-Konfigurationsdatei
cc.error.phase=6
cc.error.profiles=*
cc.error.temp.dir=./temp/Fehler-Phase6/
cc.error.onlyJobList=true
Siehe auch
Abschnitt Aufbau einer Properties-Datei
Abschnitt Automatisierung des Neustarts ausgewählter Fehler-Jobs
Abschnitt Systemüberwachung mit Profilen