Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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.

WertParameterErläuterung
0TEXTDas eigentliche Skriptlog aus der Ausführungsumgebung des Agenten
1Runtime InfoGenerelle Laufzeitinfiormationen
2Package load infoInformationen über die in die Laufzeitumgebung des Agenten geladenen Pakete
3Package unload infoInformationen über die aus der Laufzeitumgebung des Agenten entfernten Pakete
4Job startInformation zum Jobstart
5Job finishInformation zum Jobende
6Job parameterWerte der konfigurierbaren Jobparameter
7Job instance parameter

Werte spezieller Jobinstanzparameter, z.B. das Flag zur manuellen Ausführung (manualExecution), oder Flag für einen gesetzten Filter (evaluateAllData-Flag)

8Job FieldWerte 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

MethodeErlä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. 

Anzeige aller Jobparameter durch Abfrage der View
SELECT * FROM [portal].[JobInstanceParameterView] 

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.

URIPath ParameterBeispiel WertKomplettes Beispiel
/backend/de.eoda.dse.core.job.rest/logs/parameter/{jobInstanceid}jobinstanceid15/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.


Beispiel für das Format der JSON Antwort
[
  {
    "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 =  






  • No labels