Identifying and viewing log file entries

When you install Oracle SOA Suite 12c, you are likely to have four managed servers: AdminServer, wls_wsm1, wsm_soa1, and wsm_osb1 (or whatever names you happen to configure). In a cluster, the number of managed servers may increase with incrementing numerals at the end (for example, wls_soa2, wls_osb2, and so on). Each of these managed servers has several log files that include the following:

  • A managed server log file (for example, wls_soa1.log)
  • A diagnostic log file (for example, wls_soa1-diagnostic.log)
  • A server startup standard out log file (for example, wls_soa1.out)
  • A HTTP access log (access.log)

Fortunately, Fusion Middleware Control provides a means to access and search several of these log files. To download the managed server log and diagnostic log files, perform the following steps:

  1. Log in to Oracle Manager Fusion Middleware Control.
  2. Right-click on soa-infra and then navigate to Logs | View Log Messages.
  3. Click on the Target Log Files button.
  4. Select wls_soa1.log (or any other log file) and then click on the Download button.

In some cases where the composite instance faults do not offer enough information to help with the troubleshooting efforts, it may be necessary to search for the logs for a particular ECID to retrieve additional information. To search for a particular ECID in the log file, go through these steps:

  1. Log in to Oracle Manager Fusion Middleware Control.
  2. Right-click on soa-infra and then navigate to Logs | View Log Messages.
  3. Select the Date Range (for example, Most Recent 1 hour).
  4. Select all Message Types: Incident Error, Error, Warning, Notification, Trace, and Unknown.
  5. Click on the Add Fields button and add ECID.
  6. Enter an ECID in the field and click on the Search button.
  7. Review the output.

The following screenshot shows the results of a search through the log for a particular ECID. Rows relevant to this ECID are displayed, and in this case, we see several notifications showing work item expirations for the BPEL engine.

Identifying and viewing log file entries

Figure 6.16: Searching the logs for a particular ECID through the console

Unfortunately, searching log files through the console is slow and cumbersome, and we recommend you to access the logs themselves directly through the filesystem instead.

Another important mechanism available to monitor and troubleshoot information from log files is to enable Selective Tracing in Fusion Middleware Control.

This can be configured by expanding Weblogic Domain, right-clicking on your domain name, and then navigating to Logs | Selective Tracing. This will bring you to a screen where you can configure your Selective Tracing session. The following screenshot shows how you can select Add Fields to choose the scope of your trace session, trace level, duration of trace, and also specify a custom Trace ID:

Identifying and viewing log file entries

Figure 6.17. Configuring Selective Tracing

You may select the loggers that you want to be active for your tracing session by expanding the Loggers icon. All loggers are enabled by default and there is the option to both sort them by the available columns as well as search. You can enable the configured Selective Tracing session by clicking on the Start Tracing button.

By selecting the Active Traces And Tracing History tab, you will see your tracing session listed. If you now complete the run (success or failure) of the composite for which the tracing session is enabled, you will see that the Log Viewer field presents a filtered search on the Trace ID. You can now export only the trace entries to a new file. Your trace session will expire at the end of the specified duration or you may manually disable it in the Active Traces And Tracing History tab by highlighting the session and clicking on the Disable button. Selective Tracing is currently available only at the domain level.

Relevant log files

In a standard installation, the key log files are located in the following locations on the filesystem:

$MW_HOME/user_projects/domains/[Domain]/servers/[server_name]/logs/[server_name].log
$MW_HOME/user_projects/domains/[Domain]/servers/[server_name]/logs/[server_name].out
$MW_HOME/user_projects/domains/[Domain]/servers/[server_name]/logs/[server_name]-diagnostic.log
$MW_HOME/user_projects/domains/[Domain]/servers/[server_name]/logs/access.log

The wls_soa1.log file logs entries that are specific to both the infrastructure and transaction. In the event that an unclear error is found in a composite instance, locate the timeframe of that instance and search this log file. Here, for example, we can see the details of the error related to the initialization of MQSeriesAdapter:

####<Sep 28, 2015 10:08:00 PM EST> <Error> <Deployer> <soahost1> <wls_soa1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> < a0e9ac28-7d27-4253-9d5f-0ddaf5ce2da0-00005a7b> <1325128080369> <BEA-149205> <Failed to initialize the application 'MQSeriesAdapter' due to error weblogic.application.ModuleException: The ra.xml <connectionfactory-impl-class> class 'oracle.tip.adapter.mq.ConnectionFactoryImpl' could not be loaded from the resource adapter archive/application because of the following error: java.lang.NoClassDefFoundError: oracle/tip/adapter/api/OracleConnectionFactory.

The wls_soa1.out file is generated when you start up the managed server via Node Manager or the Oracle WebLogic Server Administration Console. Review this log for server startup issues. For example, it may include startup information such as JVM heap and CLASSPATH settings as well as runtime infrastructure issues errors:

*******************************************************
** SOA specific environment is already set, skipping...
*******************************************************
.
JAVA Memory arguments: -Xms1536m -Xmx1536m -Xgcprio:throughput -XX:+HeapDumpOnOutOfMemoryError -XXtlasize:min=16k,preferred=128k,wasteLimit=8k
.
WLS Start Mode=Production
.
CLASSPATH=/u01/app/oracle/middleware/oracle_common/modules/oracle.jdbc_12.1.3/ojdbc6dms.jar:/u01/app/oracle/middleware/Oracle_SOA1/soa/modules/user-patch.jar:/u01/app/oracle/middleware/Oracle_SOA1/soa/modules/soa-startup.jar:...

<Jan 1, 2015 2:59:42 PM EST> <Error> <oracle.sdp.messaging.engine> <SDP-25088> <Unable to refresh the driver locator cache, due to the following error: EJB Exception: : Local Exception Stack:
Exception [TOPLINK-4002] (Oracle TopLink - 12g Release 1 (12.1.3) (Build 10305)): oracle.toplink.exceptions.DatabaseException
Internal Exception: weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO Error: Socket read timed out

The wls_soa1-diagnostic.log file writes entries in the Oracle Diagnostic Logging (ODL) format. The following figure provides the prototype of a log message in the ODL format. This is a text file, and the entries in this file conform to an Oracle standard that includes information such as the timestamp, server name, error type, component ID, user, and other log information.

Relevant log files

Figure 6.18: The anatomy of an ODL log file

In the following log snippet, the entry in the file shows the CustomerProduce operation, which inserts a message into a JMS queue, failing due to a connection issue:

[2015-10-01T17:12:05.211-05:00] [wls_soa1] [ERROR] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: cb680017c6a0acfe:-606797c4:134357968da:-8000-00000000000011fa,0:2] [WEBSERVICE_PORT.name: CustomerJMSProduce_pt] [APP: soa-infra] [composite_name: JMSProducer] [component_name: CustomerJMSProduce] [component_instance_id: 12] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: customerjmsproduce_client_ep] [J2EE_APP.name: soa-infra] JCABinding=>  JMSProducer:CustomerJMS [ CustomerProduce_ptt::CustomerProduce(opaque) ]  Could not invoke operation 'CustomerProduce' against the 'null' due to: [[
BINDING.JCA-12511
JCA Binding Component connection issue.

By right-clicking on soa-infra and navigating to Logs | Log Configuration, you will be taken to the page that allows you to configure the logger levels. This is shown in the following screenshot:

Relevant log files

Figure 6.19: Reviewing and modifying logger levels

Navigate to oracle.soa | oracle.soa.bpel | oracle.soa.bpel.engine |oracle.soa.bpel.engine.deployment and set the logging level from NOTIFICATION:1 (INFO) to TRACE:1 (FINE).

Now, rerun the JMSProducer composite results with considerably more information in the wls_soa1-diagnostic.log file, including the payload:

[2015-10-01T22:35:56.144-05:00] [wls_soa1] [TRACE] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: cb680017c6a0acfe:-3f1527ec:13487d1ea4c:-8000-0000000000000fe1,0:2] [SRC_CLASS: oracle.integration.platform.blocks.adapter.fw.log.LogManagerImpl] [WEBSERVICE_PORT.name: CustomerJMSProduce_pt] [APP: soa-infra] [composite_name: JMSProducer] [component_name: CustomerJMSProduce] [component_instance_id: 30005] [J2EE_MODULE.name: fabric] [SRC_METHOD: log] [WEBSERVICE.name: customerjmsproduce_client_ep] [J2EE_APP.name: soa-infra] JMS Adapter  JMSProducer:CustomerJMS [ CustomerProduce_ptt::CustomerProduce(body) ]  JmsProducer_execute:[default destination = jndi/CustomerJMSQueue]: Successfully produced message.
[2015-10-01T22:35:56.256-05:00] [wls_soa1] [NOTIFICATION] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@16bc6851] [userId: <anonymous>] [ecid: cb680017c6a0acfe:-5675273b:1348cccad75:-8000-0000000000055743,0] [APP: soa-infra] JMSAdapter JMSConsumer JMSMessageConsumer_consume: Got message with ID ID:<458362.1325475356144.0> from destination jndi/CustomerJMSQueue

[2015-10-01T22:35:56.261-05:00] [wls_soa1] [TRACE] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@16bc6851] [userId: <anonymous>] [ecid: cb680017c6a0acfe:-5675273b:1348cccad75:-8000-0000000000055743,0] [SRC_CLASS: oracle.integration.platform.blocks.adapter.fw.log.LogManagerImpl] [APP: soa-infra] [SRC_METHOD: log] JMS Adapter  JMSProducer:CustomerJMS [ CustomerProduce_ptt::CustomerProduce(body) ]  XMLHelper_convertJmsMessageHeadersAndPropertiesToXML: <JMSInboundHeadersAndProperties xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/">[[
   <JMSInboundHeaders>
      <JMSCorrelationID></JMSCorrelationID>
      <JMSDeliveryMode>2</JMSDeliveryMode>
      <JMSExpiration>0</JMSExpiration>
      <JMSMessageID>ID:&lt;458362.1325475356144.0></JMSMessageID>
      <JMSPriority>0</JMSPriority>
      <JMSRedelivered>false</JMSRedelivered>
      <JMSType></JMSType>
      <JMSTimestamp>1325475356144</JMSTimestamp>
   </JMSInboundHeaders>
   <JMSInboundProperties>
      <Property name="tracking_ecid" value="cb680017c6a0acfe:-3f1527ec:13487d1ea4c:-8000-0000000000000fe1"/>
      <Property name="tracking_compositeInstanceId" value="30006"/>
      <Property name="tracking_parentComponentInstanceId" value="bpel:30005"/>
      <Property name="tracking_conversationId" value="urn:E115FC7034F211E1BF23313DB35B2981"/>
      <Property name="JMSXDeliveryCount" type="integer" value="1"/>
   </JMSInboundProperties>
</JMSInboundHeadersAndProperties>

The access.log file logs all HTTP requests to the internal web server following the standard Apache HTTP Server log format. Reviewing this may help in identifying all the SOAP requests that have hit your managed server, as this is the first touch point of the server. This is an example of an entry in the access.log file:

192.168.97.111 - - [18/Oct/2015:12:12:59 -0500] "POST /soa-infra/services/default/HelloWorld/helloworld_client_ep HTTP/1.1" 200 466

Note

The same message may be duplicated across many of these log files, so you should gain familiarity with each of them; after this, you will know what to look for.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.225.254.192