Registro de sucesos
Como parte de las posibilidades de supervisión y diagnóstico, WebSphere Application Server Liberty genera sucesos en diferentes componentes de Java Platform, Enterprise Edition para realizar un seguimiento de las solicitudes. La característica eventLogging-1.0 registra estos sucesos cuando se ejecutan las solicitudes de las aplicaciones. Mediante esta característica, el usuario puede realizar un seguimiento de las solicitudes que se ejecutan en WebSphere Application Server Liberty. Cada solicitud está asociada a un correlacionador exclusivo denominado ID de solicitud y a la información contextual que ayuda al usuario a comprender los datos específicos de la solicitud.
La característica de registro de sucesos se controla mediante la configuración del servidor. La característica se configura en el archivo server.xml.
[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
La solicitud se inicia en el suceso BEGIN websphere.servlet.service "contextInfo=TradeWeb | TradeScenarioServlet" (vea la primera línea del código de ejemplo) y finaliza en END websphere.servlet.service "contextInfo=TradeWeb | TradeScenarioServlet" (vea la última línea del código de ejemplo). El tiempo total que tarda esta solicitud también se muestran el final (158.283 milisegundos en el código de ejemplo).
Puede examinar las solicitudes secundarias en BEGIN y END en la solicitud principal. También puede buscar el tiempo que tarda cada una de las solicitudes secundarias.
Para mejorar el rendimiento, puede utilizar el registro binario cuando se habilita el registro de sucesos. Los atributos eventType, contextInfo y requestID de las entradas del registro de sucesos se almacenan como extensiones del registro. Puede utilizar estas extensiones del registro para filtrar los registros con el mandato binaryLog.
Análisis de las entradas del registro en el archivo messages.log
Los registros de sucesos capturan información de los sucesos en el formato siguiente:[Log mode] [Request Identifier] # [Event Type] # [Context Information] # [Duration] (optional)
donde: Log mode indica si el registro se ha registrado en la entrada o en la salida del suceso. BEGIN hace referencia a la entrada del suceso y END hace referencia a la salida del suceso.
- Request Identifier es una serie exclusiva que se asigna a cada solicitud. Se puede utilizar para filtrar sucesos que pertenecen a una solicitud concreta. Ejemplo: requestId=AAY6TalVDTO_AAAAAAAAAAK
- Event Type proporciona información acerca del origen del suceso y puede ser cualquiera de los tipos de sucesos soportados como se indica en la tabla siguiente: El tipo de suceso se puede utilizar para filtrar sucesos de un tipo específico. Ejemplo: eventType=websphere.servlet.service
- Context Information proporciona detalles relacionados con el tipo de suceso. La información varía en función del tipo de suceso. Context Information puede contener varias secciones y están separadas por | (espacio|espacio). En la tabla siguiente se proporcionan ejemplos de información de contexto para diferentes tipos de sucesos.
- Duration indica el periodo de tiempo que dura el suceso. La duración solo aparece en las entradas del suceso de salida. Ejemplo: duration=158.283ms
[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
La siguiente tabla lista los tipos de sucesos soportados por el registro de suceso:Componente | Tipos de sucesos | Información de contexto | Ejemplo |
---|---|---|---|
Servlet |
websphere.servlet.destroy |
[Application Name] | [Servlet Name] | [Path Information] | [Query String] |
contextInfo=TradeWeb | /displayQuote.jsp |
Session |
websphere.session.dbSessionDestroyedByTimeout, websphere.session.getAttribute |
[Session Id] [Session Id] | [Session Attribute Name] |
contextInfo=EuitabHZUOD7J2u01HDdAG0 contextInfo=EuitabHZUOD7J2u01HDdAG0 | userID |
JDBC |
websphere.datasource.execute |
[JJdi Name Of Data Source] | [SQL Query] |
contextInfo=jdbc/TradeDataSource | select * from quoteejb q where q.symbol=? |