Speicherung der Jobinstanzparameter und des Skriptlogs
In der YUNA Datenbank werden im Schema core in der Tabelle scriptlog alle relevanten Informationen zur Skriptausführung gesichert. Zusätzlich zum eigentlichen Skriptlog werden dort für jede Job-Instanz auch die Werte der Job-Parameter zum Zeitpunkt der Auisführung gesichert.
Werte für Qualifier-Schlüssel
Anhand des Eintrags in der Spalte Qualifier kann man die Einträge in der Tabelle nach Art der Information filtern.
Wert | Parameter | Erläuterung |
---|---|---|
0 | TEXT | Das eigentliche Skriptlog aus der Ausführungsumgebung des Agenten |
1 | Runtime Info | Generelle Laufzeitinfiormationen |
2 | Package load info | Informationen über die in die Laufzeitumgebung des Agenten geladenen Pakete |
3 | Package unload info | Informationen über die aus der Laufzeitumgebung des Agenten entfernten Pakete |
4 | Job start | Information zum Jobstart |
5 | Job finish | Information zum Jobende |
6 | Job parameter | Werte der konfigurierbaren Jobparameter |
7 | Job instance parameter | Werte spezieller Jobinstanzparameter, z.B. das Flag zur manuellen Ausführung (manualExecution), oder Flag für einen gesetzten Filter (evaluateAllData-Flag) |
8 | Job Field | Werte aller intern gesetzten Jobparameter, z.B. der Ausführungstyp (type), die ID des zugehörigen Issue (issue_ID) oder der für die Population eingestellte Filter (populationSubFilter) |
Werte für Level
Die Spalte Level git die Klassifikation des Log-Eintrages an.
Wert | Methode | Erläuterung |
---|---|---|
1 | VERBOSE | Detailinformtaionen, u.a. das Konsolenlog aus der Ausführungsumgebung |
2 | DEBUG | Weiterführende Informationen zur Fehlerdiagnose |
3 | INFO | Standardinformationen zur Jobausführung. |
4 | WARN | Warnungen zu Problemen, die bei der Ausführung aufgetreten sind |
5 | ERROR | Informationen zu Fehlern bei der Ausführung |
6 | FATAL | Informationen zu schweren Fehler, die zu einem Systemabbruch führen |
Source
In der Spalte Source wird die ausführende Instanz die den Logeintrag verursacht angegeben.
Wie kann ich die Werte der Job-Parameter für einzelne Jobinstanzen ermitteln?
Datenbankview
Um die im Skriptlog gespeicherten Parameterwerte einzelner Jobinstanzen leichter auslesen zu können, wird im Schema portal die Datenbankview JobInstanceParameterView bereitsgestellt.
Diese zeigt für jede Jobinstanz die geloggten Jobparameter und ihre Werte sowie den Qualifier an.
Rest Endpunkt
Unter der URL <your-host>/backend/de.eoda.dse.core.job.rest/logs/parameter/{jobInstanceid} ist ein Rest Endpunkt erreichbar, über den die Skriptlogeinträge für alle Jobparameter zu den einzelnen Jobinstanzen abgefragt werden können.
Dazu muss lediglich die jobinstanceid angegeben werden.
Die Jobparameter werden über die Qualifier 6, 7 und 8 (vgl. hierzu Qualifier Tabelle.) in der Skrriptlog-Tabelle gefiltert und durch das Splitten am "=" Zeichen des Eintrags in der Spalte log in Key-Value-Paare zerlegt.
URI | Path Parameter | Beispiel Wert | Komplettes Beispiel |
---|---|---|---|
/backend/de.eoda.dse.core.job.rest/logs/parameter/{jobInstanceid} | jobinstanceid | 15 | /backend/de.eoda.dse.core.job.rest/logs/parameter/15 |
Als Ergebnis eines Aufrufs der Restschnittstelle erhält man ein JSON Liste mit allen Jobparametern zu der angegebenen Jobinstanz. Ein Jobparameter wird darin jeweils durch ein Objekt mit drei Schlüssel-Wert-Paaren, die die Attribute beschrieben, repräsentiert:
- der Schlüssel key hat als Wert den Namen des Jobparameters,
- der Schlüssel value hat als Wert des Jobparameters,
- der Schlüssel qualifier hat als Wert den zugehörigen Qualifier aus der Scriptlogtabelle.
[ { "qualifier": "JOB_FIELD", "key": "responsible_user", "value": "3" }, { "qualifier": "JOB_FIELD", "key": "issue_ID", "value": "13" }, { "qualifier": "JOB_FIELD", "key": "resourceVersion", "value": "1" }, ... ]
Regelmäßiges Löschen von Skriptlog Einträgen
Wenn ein Job ausgeführt wird, werden zahlreiche Einträge in der Tabelle Skriptlog abgelegt. Dadurch können sich über Zeit große Datenmengen in der Tabelle ansammeln.
Um zu vermeiden, dass das Skriptlog zu viel Speicherplatz belegt, kann im ConfigStore der Konfigurationsparameter portal.log.cleanup.after definiert werden. Der zugehörige Wert muss positiv sein und beschreibt die Anzahl Tage, die ein Eintrag in der Tabelle Skriptlog alt sein darf, bevor er gelöscht wird. Werte kleiner oder gleich 0 werden ignoriert, dass heisst es wird nichts gelöscht.
Das Löschen erfolgt automatisch, jedesmal wenn ein neuer Eintrag in der Tabelle aagelegt wird und kann nicht rückgängig gemacht werden.
Es werden nur Skriptlog Einträge mit einem Qualifier kleiner als 6 gelöscht werden, d. h. die Einträge der Jobparameter sind nicht davon betroffen.
Dieser Konfigurationsparameter wirkt sich auch auf die Einträge in der Tabelle CyclicEvaluationLog aus.
Der Wert des Keys darf niemals so groß sein, dass der Tag der Löschung von heute rückwärts gerechnet vor dem liegt.
Bsp.: - 20000 Tage =