Meldungsprotokolle

1                     Themenübersicht

Während des Betriebs eines Application-Servers entstehen Protokolle, die zur Überwachung und zur Erfolgs- oder Problemanalyse eingesehen werden können. Die Meldungsprotokolle dokumentieren Anwendungs- und Systemmeldungen.

Anwendungsmeldungen

Jede Anwendung hat die Möglichkeit Meldungen zu senden. Im Falle einer Dialoganwendung handelt es sich dabei normalerweise um Informationen, Warnungen oder Fehler, die den Kontrollfluss dokumentieren und dem Benutzer interaktiv angezeigt werden. Beim Senden einer Meldung wird das Ziel der Meldung angegeben. Die möglichen Ziele sind die aktuelle Anwendung, die Umgebung aus der die Anwendung gestartet wurde, das Anwendungsprotokoll und das Systemprotokoll. Diese Ziele werden technisch als PROGRAM, PREVIOUS, JOBLOG und SYSLOG bezeichnet. Die Meldungen, die an die Anwendung selbst gesendet werden, werden in einer speziellen Datenstruktur der Anwendung – des Message-Queue – zwischengespeichert, und bleiben dort normalerweise bis zur nächsten Interaktion des Benutzers erhalten.

Zusätzlich kann jede Anwendung bei besonderen Ereignissen oder Zuständen Meldungen in das Meldungsprotokoll der Anwendung schreiben. Das ist vor allem für Hintergrund-Anwendungen relevant, deren Ausführung nachvollziehbar sein soll. Diese Meldungen werden auf der OLTP-Datenbank mit Bezug auf die jeweilige Anwendung gespeichert und können über die Anwendung Meldungsprotokolle abgefragt werden.

Systemmeldungen

Besonders schwerwiegende Anwendungsmeldungen, wie z. B. ein Ausnahmefehler und Systemereignisse, die von besonderem Interesse sind, wie z. B. der Start eines Dienstes oder die Anmeldung eines Benutzers, werden im Meldungsprotokoll der Repository-Datenbank gespeichert. Dieses Meldungsprotokoll bietet eine Grundlage für die System- und bei Bedarf auch Fehlerdiagnose.

Die folgende Grafik stellt die Kontexte in den denen Meldungen entstehen und gespeichert werden, dar:

Traces

Um den Ursprung einer Meldung im Programm genau zu lokalisieren, können Einträge in den Meldungsprotokollen Java-Stacktraces derjenigen Stelle beinhalten, die die Meldung erzeugt hat. Bei Fehlern vom Typ „Schwerer Fehler“, z. B. Exceptions, erfolgt das immer automatisch. Eine Besonderheit der Traces in Comarch ERP Enterprise ist, dass neben der eigentlichen Aufrufhierarchie für jede Java-Klasse die Versionsnummer der entsprechenden Entwicklungsobjekte enthalten ist. Damit lässt sich beispielweise direkt erkennen, ob es sich um eine adaptierte Klasse handelt oder nicht.

Bei der Analyse von Fehlern ist außerdem vorteilhaft, dass bei Bedarf, unabhängig von deren Schweregrad, die Protokollierung sämtlicher auf einem Application-Server auftretender Meldungen erzwungen werden kann. Es erfolgen auch optional die Protokollierung des Java-Stacktraces der jeweiligen Aufrufstelle, deshalb sind die Meldungsprotokolle auch für Anwendungsentwickler interessant. Für die Fehlerdiagnose existieren in der Anwendung „Meldungsprotokolle“ spezielle Filterfunktionen, die beispielsweise alle Vorkommen der gleichen Meldung oder alle Meldungen zu einer Session anzeigen. Damit kann einfach festgestellt werden, ob es sich bei einem Fehler um einen Folgefehler handelt, dessen Ursache bereits weiter zurückliegt.

Hinweis:
In den Meldungsprotokollen werden, während des Betriebs des ERP-Systems, permanent Einträge erzeugt. Alte, nicht mehr benötigte Einträge sollten unbedingt reorganisiert werden, um die Größe der Datenbank zu begrenzen. Es stehen sowohl Hintergrund-Anwendungen als auch Toolshell-Befehle zur Verfügung. Details finden Sie im Abschnitt Vorgehensweisen.

2                     Zielgruppe

  • Benutzer
  • Systemadministratoren
  • Anwendungsentwickler

3                     Begriffsbestimmung

Meldung

Die Meldungen des Systems haben zwei Funktionen. Einerseits bestätigt eine Meldung die gerade durchgeführte Aktion, wie zum Beispiel: Beschaffungsauftrag 4711 wurde geladen. Andererseits weisen Meldungen auf fehlende Eingaben hin. Meldungen umfassen auch Warnungen, die den Benutzer über den Systemzustand informieren. Meldungen und Warnungen sind typisiert, um einen Schweregrad der Meldung oder Warnung zu kennzeichnen. Damit der Benutzer den Schweregrad leicht erkennt, sind alle Meldungstypen mit einem Bildsymbol (Piktogramm) versehen.

Meldungsprotokoll

Im Meldungsprotokoll werden Meldungen protokolliert, die in einer Session auftreten. Die Meldungsprotokoll-Einträge enthalten neben der eigentlichen Meldung Kontextinformationen, wie den aktiven Benutzer und die aktive Anwendung. Ob und wann Meldungen protokolliert werden, ist abhängig von der Schwere der Meldung, der Anwendungslogik und vom Ein-/Ausgabekanal. Meldungsprotokolle existieren auf der Repository-Datenbank und auf jeder OLTP-Datenbank.

Meldungstyp

Meldungen werden einem Meldungstyp zugeordnet, um einen Schweregrad der Meldung zu kennzeichnen. Damit der Benutzer den Schweregrad leicht erkennt, sind alle Meldungstypen mit einem Bildsymbol (Piktogramm) versehen. Eine Meldung in Form eines Hinweises gibt Auskunft über eine abgeschlossene Transaktion, wie zum Beispiel: Der Auftrag 4711 wurde geladen. Meldungen in Form von Warnungen geben Auskunft über fehlende oder falsche Angaben, die für einen erfolgreichen Abschluss einer Transaktion zu beheben sind.

4                     Anwendungsbeschreibung

Die Anwendung „Meldungsprotokolle“ erlaubt das Abfragen von Meldungen, die in ein Meldungsprotokoll geschrieben wurden. Zu den Meldungen können detaillierte Informationen abgerufen werden. Es ist ebenfalls möglich, Meldungsprotokolle zu reorganisieren, d. h. nicht mehr benötigte Meldungen aus dem Protokoll zu löschen.

Die Anwendung besteht aus einem Abfrage- und einem Arbeitsbereich. Im Abfragebereich können Sie Auswahlkriterien für die Suche eingeben und im Arbeitsbereich werden die gefundenen Meldungen angezeigt.

Im ERP-System existieren mehrere Meldungsprotokolle. Über die Ansicht wählen Sie, welches Protokoll Sie abfragen wollen. Es stehen das System-, das Repository- und für jede OLTP-Datenbank ein OLTP-Protokoll zur Verfügung.

4.1               Abfragebereich

Die im Folgenden beschriebenen Eingabefelder stehen zur Verfügung.

Feld Erläuterung
Benutzer Geben Sie bei Bedarf einen Benutzer an, nach dessen Meldungen Sie suchen möchten. Sie können auch mehrere Benutzer, durch Komma und Leerzeichen getrennt, angeben.

Vorschlagswert ist der angemeldete Benutzer. Das Feld ist nur editierbar, wenn Sie die Berechtigungen zum Anzeigen der Meldungsprotokoll-Einträge anderer Benutzer besitzen.

Erzeugungszeitpunkt Geben Sie einen Zeitraum als Suchmerkmal an. Sie schränken damit die Suche auf Meldungen ein, die in diesem Zeitraum entstanden sind.

Vorschlagswert für das Feld ist „beliebig“, sodass der Zeitraum nicht eingeschränkt ist.

Meldungsklasse Geben Sie bei Bedarf eine Meldungsklasse als Suchmerkmal an. Sie schränken damit die Suche auf Meldungen ein, zu der angegebenen Meldungsklasse gehören. Sie können auch mehrere Meldungsklassen, durch Komma und Leerzeichen getrennt, angeben.
Meldungsnummer Geben Sie bei Bedarf eine Meldungsnummer als Suchmerkmal an. Sie schränken damit die Suche auf Meldungen mit der angegebenen Nummer ein. Sie können auch mehrere Meldungsnummern, durch Komma und Leerzeichen getrennt, angeben.
Meldungstyp Wählen Sie Meldungstypen als Suchmerkmal aus. Sie schränken damit die Suche auf Meldungen der angegebenen Meldungstypen ein.

Vorschlagswert sind alle Meldungstypen.

Application-Server Geben Sie bei Bedarf einen Application-Server als Suchmerkmal an. Sie schränken damit die Suche auf Meldungen ein, die auf dem angegebenen Application-Server entstanden sind.
Anwendung Geben Sie bei Bedarf eine Anwendung als Suchmerkmal an. Sie schränken damit die Suche auf Meldungen ein, die in der angegebenen Anwendung oder in einer von ihr aufgerufenen Hintergrund-Anwendung entstanden sind.
Hintergrund-Anwendung Geben Sie bei Bedarf eine Hintergrund-Anwendung als Suchmerkmal an. Sie schränken damit die Suche auf Meldungen ein, die in der angegebenen Hintergrund-Anwendung entstanden sind.
Tracetyp Mit jedem Meldungsprotokoll-Eintrag kann ein Trace der Programmstelle gespeichert werden, die den Eintrag erzeugt hat. Bei Meldung vom Typ „Schwerer Fehler“ erfolgt es automatisch. Der Tracetyp für diese Einträge ist „Mit Exception-Trace“. Zur Fehlersuche kann beispielsweise mit dem Toolshell Befehl „dbgmsgmgr“ auch erzwungen werden, dass alle Meldungen inklusive Trace protokolliert werden. Diese Einträge haben dann den Tracetyp „Mit Stack-Trace“.

Wählen Sie in diesem Feld Trace-Typen als Suchmerkmal aus. Sie schränken damit die Suche auf Meldungen mit den angegebenen Tracetypen ein.

Vorschlagswert sind alle Trace-Typen.

Trace Geben Sie bei Bedarf einen Trace als Suchmerkmal an. Sie schränken damit die Suche auf Meldungen ein, die den angegebenen Text in ihrem Trace enthalten. Sie können auch mehrere Wort, durch Komma und Leerzeichen getrennt, angeben.

Um nach Traces zu suchen, die ein bestimmtes Wort bzw. Zeichenkette enthalten, verwenden Sie Platzhalter (*) vor und hinter dem Wort.

Vorschlagswerte

Mit den Vorschlagswerten für die Eingabefelder sucht die Anwendung alle Meldungen aus dem System-Protokoll, die Ihnen zugeordnet sind.

4.2               Arbeitsbereich

Im Arbeitsbereich zeigt die Anwendung die bei der Suche gefundenen Meldungen in einer Liste an. Die Meldungen werden chronologisch sortiert dargestellt, wobei die neuesten Meldungen als erste angezeigt werden. Oberhalb der Liste befindet sich eine Symbolleiste mit folgenden Buttons:

Button Erläuterung
Eigenschaften Mit dem Button öffnen Sie den Eigenschaften-Dialog für den ausgewählten Eintrag. Der Eigenschaften-Dialog zeigt weitere Informationen zu dem Eintrag an und bietet die Möglichkeit, die Daten zum Eintrag in die Zwischenablage zu kopieren.
Umgebung Durch Drücken des Buttons zeigt die Anwendung in der Liste eine weitere Zeile mit Informationen über die Umgebung an in der der Eintrag erzeugt wurde.
Zugehörige Einträge Durch Drücken auf den Button zeigt die Anwendung alle Einträge aus der Session an, zu der der ausgewählte Eintrag gehört. Dazu wird eine neue Suche durchgeführt, bei der die Eingaben im Abfragebereich jedoch keine Auswirkung auf das Ergebnis haben.
Gleiche Einträge Durch Drücken des Buttons zeigt die Anwendung alle Meldungen mit der gleichen Meldungsklasse und Meldungsnummer wie der ausgewählte Eintrag an. Dazu wird eine neue Suche gestartet. Die Eingaben im Abfragebereich werden bei der Suche nicht berücksichtigt.
Verarbeitungsauftrag Durch Drücken des Buttons öffnen Sie die Anwendung Verarbeitungsaufträge. Wenn der ausgewählte Eintrag durch einen Verarbeitungsauftrag erzeugt wurde, wird dieser in der Anwendung Verarbeitungsaufträge angezeigt. Anderenfalls erscheint eine entsprechende Fehlermeldung.

Die Liste besteht aus folgenden Spalten:

Spalte Erläuterung
Meldungstyp Das Symbol stellt den Meldungstyp dar (Information, Warnung, Fehler, Schwerer Fehler, …).
Meldungs-Kurztext Aufbereiteter Text der Meldung inklusive der Parameterwerte.
Erzeugungszeitpunkt Zeitpunkt, an der Eintrag erzeugt wurde.
Anwendung Anwendung die aktiv war, als der Eintrag erzeugt wurde.

Durch den Knopf „Umgebung“ der Symbolleiste über der Liste zeigt die Liste zu jedem Eintrag in der Liste zusätzliche Informationen. Dazu gibt es folgende Spalten:

Spalte Erläuterung
Benutzer Benutzer, der angemeldet war, als der Eintrag erzeugt wurde.
Datenbank OLTP-Datenbank, an der der Benutzer angemeldet war, als der Eintrag erzeugt wurde.
Application-Server Application-Server, auf der Eintrag erzeugt wurde.
Hintergrund-Anwendung Hintergrund-Anwendung, die aktiv war, als der Eintrag erzeugt wurde.

4.2.1          Dialog „Eigenschaften der Meldung“

Auf diesem Dialog sind die Eigenschaften der Meldung auf mehreren Karteireitern dargestellt.

Karteireiter „Meldung“

Die Felder im Einzelnen:

Feld Erläuterung
Meldungstyp Kategorisierung der Meldung.

·         Statuszeile: Anzeige in der Statuszeile. Kein Einfluss auf den weiteren Ablauf in der Anwendung.

·         Information: Anzeige in der Statuszeile und unter dem Karteireiter „Meldungen“ im Navigationsbereich. Kein Einfluss auf den weiteren Ablauf in der Anwendung.

·         Warnung: Anzeige in der Statuszeile und unter dem Karteireiter „Meldungen“ im Navigationsbereich. Wird die Warnung durch den Benutzer bestätigt, kann die Aktion ausgeführt werden.

·         Fehler: Anzeige in der Statuszeile und unter dem Karteireiter „Meldungen“ im Navigationsbereich. Die Aktion kann nicht ausgeführt werden, solange der Fehler nicht behoben ist.

Meldung Meldungsklasse und Meldungsnummer der Meldung.
Meldungs-Kurztext Meldungstext, der in der Statuszeile und dem Meldungskarteireiter angezeigt wurde.
Meldungs-Langtext Langtext der Meldung.
Karteireiter „Umgebung“

Die Felder im Einzelnen:

Feld Erläuterung
Erzeugungszeitpunkt Zeitpunkt, zu dem die Meldung erzeugt wurde.
Benutzer Benutzer, für den die Meldung erzeugt wurde.
Application-Server Application-Server, auf dem die Meldung erzeugt wurde.
Datenbank OLTP-Datenbank, an der der Benutzer angemeldet war, als die Meldung erzeugt wurde. Bei einigen Meldungen ist aus technischen Gründen keine Datenbank angegeben.
Hauptanwendung Die Meldung wurde von dieser Anwendung oder einer von ihr aufgerufenen Anwendung erzeugt.
Business-Entity Repräsentation des Business Entity als Instance-String, das beim Senden der Meldung gesetzt war. Dieses Feld ist erst dann sichtbar, wenn eine Datenbank nicht mehr ermittelt werden kann. Beispielweise, wenn ein Protokolleintrag für eine Meldung erzeugt wurde, die durch die Serialisierung überführt wurde. Das Feld ist auch dann sichtbar, wenn kein Business Entity beim Senden der Meldung gesetzt wurde. In diesem Fall ist das Feld leer.
Business-Entity-Instanz Business-Entity-Instanz, die beim Senden der Meldung gesetzt war. Das Feld ist erst dann sichtbar, wenn die  Datenbank ermittelt werden kann, an der Sie angemeldet waren, als die Meldung erzeugt wurde.
Dependent Dependent zum Business–Entity, das beim Senden der Meldung gesetzt war. Das Feld ist immer sichtbar, falls Dependent nicht gesetzt wurde, ist das Feld leer.
Aktion „Kopieren“

Im dem Dialog steht die Aktion „Kopieren“ als Button zur Verfügung. Mit dieser Aktion kopieren Sie die Informationen des Dialog-Fensters über die Meldung und über das System in Textform in die Zwischenanlage Ihres Arbeitsplatzes.

5                     Berechtigungen

Das Berechtigungskonzept sowie die generellen anwendungsbezogenen und Entity-bezogenen Berechtigungen können Sie in der Technischen Dokumentation im Dokument Berechtigungen nachlesen.

Die folgenden speziellen Berechtigungen und Fähigkeiten sind für diese Anwendung relevant. Ohne diese Fähigkeiten können Sie lediglich eigene Meldungen anzeigen bzw. löschen.

  • Meldungen anderer Benutzer anzeigen
    Mit dieser Fähigkeit können Sie sich zusätzlich zu Ihren eigenen Meldungen auch Meldungen anderer Benutzer anzeigen lassen.
    Der Technische Name dieser Fähigkeit ist:
    cisag.sys.kernel.messagelog.DisplayOtherUsersEntries
  • Meldungen löschen
    Mit dieser Fähigkeit können Sie Meldungen löschen.
    Der Technische Name dieser Fähigkeit ist:
    cisag.sys.kernel.messagelog.DeleteEntries
  • Meldungen anderer Benutzer löschen
    Mit dieser Fähigkeit können Sie zusätzlich zu Ihren eigenen Meldungen auch Meldungen anderer Benutzer löschen.
    Der Technische Name dieser Fähigkeit ist:
    cisag.sys.kernel.messagelog.DeleteOtherUsersEntries
    Für die Wirksamkeit dieser Fähigkeit muss auch die Fähigkeit „Meldungen löschen“ vergeben werden.

6                     Vorgehensweisen

Folgende Vorgehensweisen werden im Folgenden beschrieben:

6.1               Alte Einträge reorganisieren

  1. Öffnen Sie die Anwendung „Meldungsprotokolle“.
  2. Drücken Sie den Button „Meldungsprotokolle reorganisieren“ in der Standard-Symbolleiste.
  3. Wenn Sie möchten, können Sie die Suche durch Eingaben im Dialog weiter einschränken. Alternativ können Sie durch das Feld „Alle Einträge aller Benutzer löschen“ alle Meldungsprotokolle auf allen verbundenen Repository- und OLTP-Datenbanken löschen. Die Möglichkeit besteht jedoch nur, wenn Sie die Berechtigung zum Löschen der Meldungsprotokolleinträge anderer Benutzer besitzen.
  4. Ergänzen Sie wenn notwendig die Hintergrundeinstellungen.
  5. Drücken Sie den Button „Im Hintergrund“.

Hinweis:
Alternativ können Sie in der Toolshell mit Hilfe des Befehls „wrkmle“ (work message log entries) ebenfalls Einträge löschen.

6.2               Eigene Einträge anzeigen

  1. Öffnen Sie die Anwendung „Meldungsprotokolle“.
  2. Wenn Sie möchten, können Sie die Suche durch Eingaben im Abfragebereich weiter einschränken.
  3. Drücken Sie den Button „Aktualisieren“ in der Standard-Symbolleiste
  • Die Anwendung zeigt Ihre Meldungen an.

6.3               Weitere Informationen zu Einträgen anzeigen

Voraussetzungen

Die Anwendung ist geöffnet, Meldungen werden angezeigt.

Anleitung
  1. Drücken Sie den Button „Umgebung“.
  • Zu den angezeigten Meldungen werden weitere Informationen in der Liste angezeigt.

oder:

  1. Wählen Sie einen Eintrag aus, in dem Sie ganz links in die Zeile der Meldung klicken.
  2. Drücken Sie den Button „Eigenschaften“.
  • In einem eigenen Dialog werden weitere Informationen zu der ausgewählten Meldung angezeigt.

6.4               Einen Eintrag in die Zwischenablage kopieren

Voraussetzungen

Die Anwendung ist geöffnet, Meldungen werden angezeigt.

Anleitung
  1. Wählen Sie einen Eintrag aus, in dem Sie ganz links in die Zeile der Meldung klicken.
  2. Drücken Sie den Button „Eigenschaften“.
  • In einem eigenen Dialog werden weitere Informationen zu dem ausgewählten Eintrag angezeigt.
  1. Drücken Sie den Button “Kopieren”.
  • Die Daten zum Eintrag wurden als Text in Ihre Zwischenablage kopiert. Von dort aus können Sie diese beispielsweise in eine E-Mail einfügen um einen Fehler weiterzuleiten.

6.5               Erzwingen, dass alle Meldungen eines Application-Servers in die Meldungsprotokolle geschrieben werden

Voraussetzungen

Sie sind an der Toolshell des Application-Servers angemeldet.

Anleitung
  1. Führen Sie den Befehl dbgmsmgr –logLevel:0 –traceLevel:0
  • Alle auftretenden Meldungen werden unabhängig vom Meldungstyp als Eintrag in das jeweilige Meldungsprotokoll geschrieben. Zusätzlich wird dabei auch jeweils der Trace der Aufrufstelle protokolliert.
  1. Melden Sie sich an und führen Sie Aktion aus, deren Meldungen Sie untersuchen möchten.
  2. Öffnen Sie die Anwendung „Meldungsprotokolle“.
  • Führen Sie den Befehl dbgmsmgr –logLevel:25 –traceLevel:25 aus um das Protokollieren wieder auf das Standardverhalten umzustellen.

Hinweis:
Das Erzwingen des Schreibens der Meldungsprotokoll-Einträge beeinträchtigt auf Grund des Datenvolumens die Systemleistung und sollte ausschließlich zur Fehlersuche verwendet werden.

7                     Anwendungsbezogene Aktion: Meldungsprotokolle reorganisieren

Mit der Aktion „Meldungsprotokolle reorganisieren“ können Sie nicht mehr benötigte Meldungen aus den Meldungsprotokollen löschen.

Drücken Sie dazu auf den Button, worauf ein Dialog erscheint. Legen Sie in dem Dialog fest, welche Meldungen Sie löschen möchten.  Durch den Button “Sofort” wird der Löschvorgang sofort gestartet; durch den Button “Im Hintergrund” können Sie den Löschvorgang zeitgesteuert im Hintergrund ablaufen lassen.

Czy ten artykuł był pomocny?