Logging und Monitoring


Table of contents


1 Allgemein

In IDL Konsis gibt es unterschiedliche Möglichkeiten, Abläufe durch Logausgaben nachzuvollziehen. Auf dem Server sind es Übersichten aktuell laufender Sessions, konfigurierter Datenbanken sowie eingestellter Logger mit ihren Ausgaben.

Achtung! Logging und Monitoring beeinflusst die Performance des System und sollte mit Bedacht eingeschaltet werden. Nach erfolgreicher Analyse sind die Ausgaben wieder abzuschalten! Die Aktivierung des COBOL-Debugs wird auf dem Client in der Statuszeile unten rechts angezeigt.

2 Server

Für die Kontrolle des laufenden Applikations-Servers steht die IDL Konsis-WebAdmin-Webanwendung zur Verfügung. Zu erreichen ist WebAdmin über einen Link auf der Hauptseite des Applikations-Servers (oben rechts). Die Anwendung ist passwortgeschützt und setzt einen User mit der Menüberechtigung WSADMIN voraus. Da ein Applikations -Server mit mehreren verschiedenen Datenbanken arbeiten kann, ist die für die Authorisierung heranzuziehende Datenbank entweder im Konfigurationsprogramm als "WebService-DB" auszuwählen oder beim Login im Browser dem User verbunden mit dem Zeichen "@" anzuhängen. Beispiel: idladmin@idldb. Die Datenbank kann in jedem Fall auf diese Weise angegeben werden, eine möglicherweise eingestellte "WebService-DB" gilt nur dann, wenn keine im Login angegeben wurde.

WebAdmin hat 3 Untermenüs : SESSIONS, DATABASE CONFIGURATION und LOGGING

SESSIONS
enthält eine Übersicht über alle momentan laufenden Anwendungssessions mit entsprechenden Informationen. Die Version des Servers ist eben falls ersichtlich.
DATABASE CONFIGURATION
stellt alle konfigurierten Datenbankverbindungen in einer Übersicht dar.
LOGGING
zeigt die aktuell eingestellten Level der verschiedenen Logger an, die direkt verändert werden können. Außerdem werden alle Logdateien im Ordner logs angezeigt, wobei die Anzeige mit entsprechenden Filtern erfolgt. Beim Klicken auf einen Dateinamen, wird der Inhalt in einem neuen kompletten Tab angezeigt .

Alle angezeigten Tabellen können durch Klick auf einen Eintrag in der Headerzeile sortiert werden.

2.1 Java-Anwendungsteil

Es können für Logausgaben einzelne Logger auf mögliche Level gesetzt werden. Neben der Eingabe von Leveln für beliebige Logger gibt es die Möglichkeit, vordefinierte Logger zu konfigurieren. Damit soll die Konfiguration vereinfacht werden.

Die vordefinierten Logger und ihre zugehörigen Java-Packages sind:

IDL Logger Level
de.idl
Root Logger Level
Root Logger (alles)
Logger Level des WebService
de.idl.communication.webservice
Logger Level des Imports
de.idl.dataexchange

Unter "ALLE" sind alle aktuell eingestellten Logger, inklusive der vordefinierten, aufgeführt und können dort im Level verändert werden. Die Sortierung ist alphabetisch. Wird der Level "OFF" ausgewählt, wird der Logger aus der angezeigten Liste wieder entfernt.

2.2 COBOL-Anwendungsteil

Das Einschalten des Logs der COBOL-Anwendungen, die grundsätzlich auf dem Server laufen, erfolgt weiterhin über die ini-Datei des Clients. Nicht alle bisher möglichen Einstellungen werden aus der ini-Datei übermittelt. Einige sind auf dem Server fest vorgegeben.

Um das ACUDSS-Logging (COBOL-Datenbankschnittstelle) einzuschalten, sind in der Environment-Variablen ACUDSS_LOG_MODULE entsprechende Module einzutragen. Gleiches gilt für das ACULOG, dafür sind Module in ACULOG_MODULE anzugeben.

Wenn das ACUDSS bzw. das ACULOG oder beide über o.g. Einträge in der ini-Datei des Clients eingeschaltet wurden, dann wird dies in der Statuszeile des IDL Konsis-Clients rechts angezeigt. Es steht dort dann "DebugMode".

Zusätzlich besteht weiterhin die Möglichkeit die Statistik der COBOL-Datenbankschnittstelle ermitteln zu lassen, dazu reicht es aus, in der ini-Datei die Evironment-Variable ACUDSS_STAT_FILE zu setzen. Ein Wert muss nicht zugeordnet werden, dieser wird auf dem Server gesetzt.

Die Log-Dateien liegen im Logverzeichnis des Applikations-Servers und können in der Webadmin-Anwendung mittels Filter "ACU" ausgewählt werden. Pro Anwendungs-Session gibt es eine Logdatei, die Session-Id ist im Namen enthalten.

Folgende Environment-Einträge, die bisher vom Client angegeben wurden, werden ignoriert und auf dem Server fest auf den angegebenen Wert gesetzt:

ACUDSS_LOG_FILE
"ACUDSS_" + sessionId + ".log"
ACUDSS_LOG_TARGET
"FILE"
ACUDSS_LOG_AUTOFLUSH
"ON"
ACULOG_FILE
"ACULOG_" + sessionId + ".log"
ACULOG_TARGET
"FILE"

ACUDSS_STAT_FILE wird nur auf Vorhandensein geprüft und serverseitig fest auf ACUDSS_STAT_" + sessionId + ".log" gesetzt .

Die Ansicht der Log-Dateien erfolgt durch einen Klick auf den Dateinamen, ein ganz normaler Link, in einem neuen Tab. Mit "Speichern unter", nach Rechtsklick auf den Dateinamen, kann die Datei heruntergeladen werden.

2.3 Technisches Monitoring

Es ist möglich, ein Monitoring des verwendeten Applikations-Servers jetty zu aktivieren. Damit können dessen laufenden Prozesse und Threads sowie aktive Sessions, der Speicherverbrauch und viele andere Parameter angeschaut, Statistiken darüber erstellt und aufgezeichnet werden. Das integrierte verwendbare Tool ist JavaMelody. Detaillierte Infos sind dem JavaMelody Wiki zu entnehmen.

3 Client

Für das Debuggen des Clients beim Aufruf über Webstart, gibt es neben der Konsis.jnlp eine Datei KonsisDebug.jnlp. Darin wird beim Aufruf dem Client der Parameter /DEBUG übergeben.

Für ein individuelle Konfiguration können in der vom Client genutzten ini-Datei Einträge im Abschnitt LOGGING vorgenommen werden.

Bei Verbindungsabbrüche zwischen Client und Server brauchen wir die Client- und den Server- Logfiles wenn vorhanden die *hs_err.pid Datei nicht *.mdp Files. - bei Absturz des Clients brauchen wir die Client- und den Server- Logfiles wenn vorhanden die *hs_err.pid Datei nicht *.mdp Files. - bei Absturz des Servers brauchen wir den Server- Logfiles wenn vorhanden die *hs_err.pid Datei nicht *.mdp Files. - bei Einfrieren des Clients brauchen wir die Client- und den Server- Logfiles wenn vorhanden die *hs_err.pid Datei nicht *.mdp Files. jcmd.exe %PROZESSID% Thread.print > threadPrint.txt Überprüfen ob die Korrekturen für die Verbindungabbrüche eingespielt wurden (Verbindungsabbrüche korrigieren PAF 14204 160, 14253 Korr160 B, 14266 Korr141 D).

Die LOG-Dateien für eine Konsis Server-Installation befinden sich zentral in dem <Installation>\logs Verzeichnis. Wenn klar ist zu welchem Zeitpunkt der Fehler auftrat, dann können nur die dem Fehlerzeitpunkt korrelierenden Dateien geliefert werden. Wenn das nicht klar ist, dann wird einfach das gesammte logs Verzeichnis gezippt geliefert.

Beispiel im Verzeichis log befinden sich folgende Dateien:

R:\Jetty_QS\logs&gt;dir Datenträger
in Laufwerk R: ist D Volumeseriennummer: 12B7-A91A Verzeichnis von R:\Jetty_QS\logs
23/06/2016 03:38 &lt;DIR&gt; . 23/06/2016 03:38 &lt;DIR&gt; .. 03/06/2016 03:38 3,023 idlappserverqs-stderr.2016-06-01.log
06/06/2016 03:38 3,254 idlappserverqs-stderr.2016-06-03.log 07/06/2016 03:38 3,254
idlappserverqs-stderr.2016-06-06.log 08/06/2016 03:38 5,385 idlappserverqs-stderr.2016-06-07.log
09/06/2016 03:38 734 idlappserverqs-stderr.2016-06-08.log 10/06/2016 03:38 15,611
idlappserverqs-stderr.2016-06-09.log 13/06/2016 03:38 462 idlappserverqs-stderr.2016-06-10.log
14/06/2016 03:38 548 idlappserverqs-stderr.2016-06-13.log 15/06/2016 03:38 548 idlappserverqs-stderr.2016-06-14.log
16/06/2016 03:38 729 idlappserverqs-stderr.2016-06-15.log 17/06/2016 03:38 548 idlappserverqs-stderr.2016-06-16.log
20/06/2016 03:38 779 idlappserverqs-stderr.2016-06-17.log 21/06/2016 03:38 265,227
idlappserverqs-stderr.2016-06-20.log 22/06/2016 03:38 6,392 idlappserverqs-stderr.2016-06-21.log
23/06/2016 03:38 3,370 idlappserverqs-stderr.2016-06-22.log 23/06/2016 12:43 24,390
idlappserverqs-stderr.2016-06-23.log 09/06/2016 03:38 1,832 idlappserverqs-stdout.2016-06-08.log
10/06/2016 03:38 1,983 idlappserverqs-stdout.2016-06-09.log 13/06/2016 03:38 2,252
idlappserverqs-stdout.2016-06-10.log 14/06/2016 03:38 3,032 idlappserverqs-stdout.2016-06-13.log
15/06/2016 03:38 1,948 idlappserverqs-stdout.2016-06-14.log 16/06/2016 03:38 2,756
idlappserverqs-stdout.2016-06-15.log 17/06/2016 03:38 1,812 idlappserverqs-stdout.2016-06-16.log
20/06/2016 03:38 2,868 idlappserverqs-stdout.2016-06-17.log 21/06/2016 03:38 15,529
idlappserverqs-stdout.2016-06-20.log 22/06/2016 03:38 2,573 idlappserverqs-stdout.2016-06-21.log
23/06/2016 03:38 1,942 idlappserverqs-stdout.2016-06-22.log 23/06/2016 12:43 1,358
idlappserverqs-stdout.2016-06-23.log 13/06/2016 03:38 2,442 IDLAppServerQS.2016-06-10.log
14/06/2016 03:38 3,305 IDLAppServerQS.2016-06-13.log 15/06/2016 03:38 3,305 IDLAppServerQS.2016-06-14.log
16/06/2016 03:38 2,449 IDLAppServerQS.2016-06-15.log 17/06/2016 03:38 3,305 IDLAppServerQS.2016-06-16.log
20/06/2016 03:38 4,526 IDLAppServerQS.2016-06-17.log 21/06/2016 03:38 3,305 IDLAppServerQS.2016-06-20.log
22/06/2016 03:38 4,526 IDLAppServerQS.2016-06-21.log 23/06/2016 03:38 3,305 IDLAppServerQS.2016-06-22.log
23/06/2016 12:43 3,114 IDLAppServerQS.2016-06-23.log 23/06/2016 18:00 758,409 jetty.log
14/06/2016 09:47 10,485,774 jetty.log.1 13/05/2016 16:10 10,487,045 jetty.log.2 26/04/2016
02:45 10,489,634 jetty.log.3 25/04/2016 16:58 10,487,717 jetty.log.4 43 Datei(en),
43,116,300 Bytes 2 Verzeichnis(se), 19,904,057,344 Bytes frei

Der Fehler trat am Tag 23.06.2016 auf dann sind die Dateien : IDLAppServerQS.2016-06-23.log idlappserverqs-stderr.2016-06-23.log idlappserverqs-stdout.2016-06-23.log jetty.log zu liefern.

jetty.log.1, jetty.log.2, ... usw. sind ältere jetty.log Dateien, die nach 10 MB mit einer laufenNummer versehen und damit archiviert werden. jetty.log.1 muß nicht geliefert werden, da die Datei zuletzt 14/06/2016 09:47 geschrieben wurde, und der Fehler aber erst am 23.06.2016 auftrat.

Auf der Client-Seite gibt es gibt es zwei Varianten.

Webstart und festinstallierter Client.

Webestart : Unter Windows-Start->Systemsteuerung->Java->TAB(Erweitert)->Java-Konsole->"Konsole anzeigen" auswählen und Anwenden klicken. Nach den Debug-Vorgang Unter Windows-Start->Systemsteuerung->Java->TAB(Erweitert)->Java-Konsole->"Konsole ausblenden" auswählen und Anwenden klicken.

Zum Debug Vorgang des Client wird im Browser z.B. : https://appserverqs.a.idl.de:8447/KonsisDebug.jnlp gestartet. Dafür gibt es keinen Link ! Der Link kann selbst ermittelt werden indem von der Haupseite

Der Text-Inhalt der sich öffnenden Java-Console muß nach aufreten des Fehlers geliefert werden.

Der festinstallierte Client: Die vorhandene StartVerknüfung wird dubliziert und im Ziel ein /debug angefügt. javaw.exe wird durch java.exe ersetzt und gestartet. Beim Starten der Verknüfung offenet sich nun ein Kondolenfenster dessen Inhalt nach auftreten des Fehlers geliefert wird.

Falls der Buffer der Konsole nicht ausreicht, kann dieser mit Windows-Einstellungen angepasst oder die Ausgaben mit anhängen von 2>&1 > log.txt im Ziel in eine Datei gepiped werden. Wednesday, 11 January 2017


Letzte Änderung: RODENHAG 12.01.2017 12:14