Liberty-Repository[8.5.5.6 oder höher]

Ereignisprotokollierung

Im Rahmen der Überwachungs- und Diagnosefunktionen generiert WebSphere Application Server Liberty Profile Ereignisse für verschiedene Komponenten von Java Platform, Enterprise Edition, um die Anforderungen zu verfolgen. Das Feature eventLogging-1.0 protokolliert solche Ereignisse, wenn die Anwendungsanforderungen ausgeführt werden. Mithilfe dieses Features kann der Benutzer die Anforderunge, die in WebSphere Application Server Liberty Profile ausgeführt werden, verfolgen. Jeder Anforderung werden ein eindeutiger Korrelator, die so genannte Anforderungs-ID, und Kontextinformationen zugeordnet, die dem Benutzer helfen, die anforderungsspezifischen Daten zu verstehen.

Das Ereignisprotokollierungsfeature wird über die Serverkonfiguration gesteuert. Das Feature wird in der Datei server.xml konfiguriert.

Im folgenden Beispiel sehen Sie die End-to-End-Ereignisprotokolle für die Anforderungs-ID AAY6TalVDTO_AAAAAAAAAAK und den Kontext TradeWeb:
[12/15/14 18:24:29:528 IST] 0000002e EventLogging		I BEGIN requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | TradeScenarioServlet
[12/15/14 18:24:29:531 IST] 0000002e EventLogging		I BEGIN requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | TradeAppServlet
[12/15/14 18:24:29:532 IST] 0000002e EventLogging		I BEGIN requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | /quote.jsp
[12/15/14 18:24:29:533 IST] 0000002e EventLogging		I BEGIN requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | /displayQuote.jsp
[12/15/14 18:24:29:534 IST] 0000002e EventLogging		I BEGIN requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.datasource.psExecuteQuery # contextInfo=jdbc/TradeDataSource | select * from quoteejb q where q.symbol=?
[12/15/14 18:24:29:547 IST] 0000002e EventLogging		I END requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.datasource.psExecuteQuery # contextInfo=jdbc/TradeDataSource | select * from quoteejb q where q.symbol=? # duration=12.537ms
[12/15/14 18:24:29:556 IST] 0000002e EventLogging		I END requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | /displayQuote.jsp # duration=22.171ms
[12/15/14 18:24:29:671 IST] 0000002e EventLogging		I BEGIN requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | /displayQuote.jsp
[12/15/14 18:24:29:672 IST] 0000002e EventLogging		I BEGIN requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.datasource.psExecuteQuery # contextInfo=jdbc/TradeDataSource | select * from quoteejb q where q.symbol=?
[12/15/14 18:24:29:677 IST] 0000002e EventLogging		I END requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.datasource.psExecuteQuery # contextInfo=jdbc/TradeDataSource | select * from quoteejb q where q.symbol=? # duration=4.968ms
[12/15/14 18:24:29:684 IST] 0000002e EventLogging		I END requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | /displayQuote.jsp # duration=12.569ms
[12/15/14 18:24:29:685 IST] 0000002e EventLogging		I END requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | /quote.jsp # duration=152.752ms
[12/15/14 18:24:29:686 IST] 0000002e EventLogging		I END requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | TradeAppServlet # duration=154.616ms
[12/15/14 18:24:29:687 IST] 0000002e EventLogging		I END requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | TradeScenarioServlet # duration=158.283ms

Die Anforderung beginnt beim Ereignis BEGIN websphere.servlet.service "contextInfo=TradeWeb | TradeScenarioServlet" (siehe die erste Zeile im Beispielcode) und endet beim Ereignis END websphere.servlet.service "contextInfo=TradeWeb | TradeScenarioServlet" (siehe die letzte Zeile im Beispielcode). Am Ende wird außerdem die Gesamtdauer der Anforderung (158,283 Millisekunden im Beispielcode) angezeigt.

Die untergeordneten Anforderungen sehen Sie unter BEGIN und END der Hauptanforderung. Außerdem wird die Dauer jeder untergeordneten Anforderung angezeigt.

Die beste Leistung bei aktivierter Ereignisprotokollierung erzielen Sie mit der Binärprotokollierung. Die Attribute eventType, contextInfo und requestID aus den Ereignisprotokolleinträgen werden als Protokolldatensatzerweiterungen gespeichert. Sie können diese Protokolldatensatzerweiterungen verwenden, um die Protokolle mit dem Befehl binaryLog zu filtern.

Ereignisprotokolleinträge in der Datei messages.log parsen

In den Ereignisprotokollen werden die Informationen zu den Ereignissen im folgenden Format erfasst:
[Protokollmodus] [Anforderungs-ID] # [Ereignistyp] # [Kontextinformationen] # [Dauer] (optional)
Erläuterungen:

- Der Protokollmodus gibt an, ob das Protokoll beim Einstieg in das Ereignis oder beim Ausstieg aus dem Ereignis aufgezeichnet wurde. BEGIN verweist auf den Einstieg in das Ereignis und
END auf den Ausstieg aus dem Ereignis.
- Anforderungs-ID ist eine eindeutige Zeichenfolge, die jeder Anforderung zugewiesen wird. Mithilfe dieser ID können Ereignisse gefiltert werden, die zu einer bestimmten
Anforderung gehören. Beispiel: requestId=AAY6TalVDTO_AAAAAAAAAAK
- Der Ereignistyp enthält Informationen zur Ereignisquelle und kann jeder der in der folgenden Tabelle aufgeführten unterstützten Ereignistypen sein. Mithilfe des Ereignistyps können Ereignisse eines bestimmten Typs filtern. Beispiel: eventType=websphere.servlet.service
- Die Kontextinformationen des Ereignisses enthalten relevante Details für den Ereignistyp. Die Informationen
variieren je nach Ereignistyp. Kontextinformationen können mehrere Abschnitte enthalten, die durch | (Leerzeichen|Leerzeichen) getrennt werden. Beispiele für Kontextinformationen
für verschiedene Ereignistypen sind in der folgenden Tabelle aufgeführt.
- Die Dauer gibt an, wie lange das Ereignis gedauert hat. Die Dauer wird nur in Einträgen zum Ausstieg aus einem Ereignis angezeigt. Beispiel:
duration=158.283ms

Mit Ausnahme des Protokollmodus, der durch ein Leerzeichen von den anderen Attributen getrennt wird, werden alle anderen Protokollattribute durch # (Leerezeichen#Leerzeichen) voneinander getrennt. Beispiel:
[12/15/14 18:24:29:687 IST] 0000002e EventLogging		I END requestID=AAY6TalVDTO_AAAAAAAAAAK # eventType=websphere.servlet.service # contextInfo=TradeWeb | TradeScenarioServlet # duration=158.283ms
In der folgenden Tabelle sind die Ereignistypen aufgelistet, die von der Ereignisprotokollierung unterstützt werden:

Tabelle 1. Unterstützte Ereignistypen und relevante Kontextinformationen
Komponente Ereignistypen Kontextinformationen Beispiel

Servlet

websphere.servlet.destroy
websphere.servlet.service

[Application Name] | [Servlet Name] | [Path Information] | [Query String]

contextInfo=TradeWeb | /displayQuote.jsp

Session

websphere.session.dbSessionDestroyedByTimeout,
websphere.session.dbSessionDestroyed
websphere.session.sessionAccessed
websphere.session.sessionCreated
websphere.session.sessionDestroyedByTimeout
websphere.session.sessionDestroyed
websphere.session.sessionLiveCountDec
websphere.session.sessionLiveCountInc
websphere.session.sessionReleased

websphere.session.getAttribute
websphere.session.setAttribute

[Session Id]






[Session Id] | [Session Attribute Name]

contextInfo=EuitabHZUOD7J2u01HDdAG0






contextInfo=EuitabHZUOD7J2u01HDdAG0 | userID

JDBC

websphere.datasource.execute
websphere.datasource.executeQuery
websphere.datasource.executeUpdate
websphere.datasource.psExecute
websphere.datasource.psExecuteQuery
websphere.datasource.psExecuteUpdate
websphere.datasource.rsCancelRowUpdates
websphere.datasource.rsDeleteRow
websphere.datasource.rsInsertRow
websphere.datasource.rsUpdateRow

[Jndi Name Of Data Source] | [SQL Query]

contextInfo=jdbc/TradeDataSource | select * from quoteejb q where q.symbol=?


Symbol das den Typ des Artikels anzeigt. Referenzartikel

Nutzungsbedingungen für Information Center | Feedback


Symbol für Zeitmarke Letzte Aktualisierung: 25.08.2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=rwlp_eventlogging
Dateiname: rwlp_eventlogging.html