IBM Support

MustGather: Tracing Dynamic Routing feature in web server Plug-in for Liberty Profile ND

Troubleshooting


Problem

What information, logs, and traces, should I gather and send to IBM Support to troubleshoot a problem with the Dynamic Routing feature in the web server Plug-in for WebSphere Liberty Profile ND?

Cause

Liberty Profile ND has a feature called Dynamic Routing. If enabled, this feature allows the web server Plug-in to route requests in a dynamic fashion based on configuration information from the Liberty Cluster Controller.

If you are having problems with the Dynamic Routing feature in the Liberty Profile ND, gather this information and send it to IBM support.

Diagnosing The Problem

Resolving The Problem

1) What is your exact level of IBM Liberty Profile ND? On what platform?

2) What web server type are you using? What version? On what platform?

3) What are the symptoms of the "problem"?

  • What is the URL that the user is trying to access?
  • What error message does the user see in the browser?
  • At what time did the problem happen?

4) Enable access to the /server-status page of the web server and change the LogFormat stanza in the httpd.conf file

  • The Apache mod_status servlet must be enabled and access to the /server-status URL must be enabled in your http configuration file.
  • Change the line 
    LogFormat "%h %l %u %t \"%r\" %>s %b %D %{WAS}e %X" common 

    to

    LogFormat "%h %l %u %t \"%r\" %>s %b %D %{WAS}e %{RH}e %X" common
     

5) Set the Plug-in LogLevel to "Trace":

Edit the plugin-cfg.xml file and set the LogLevel to Trace, like this:

LogLevel="Trace"

6) Set the Intelligent Management trace specification to "DEBUG":

Add the following lines to the server.xml of one of your Liberty collective controllers:

<dynamicRouting>

<traceSpecification name="default" specification=":DEBUG" />

</dynamicRouting>

Run the command to generate a new plugin-cfg.xml.

See: Dynamic Routing Liberty collective command actions

Alternatively, you can edit the existing plugin-cfg.xml file, and add the following inside the <IntelligentManagement> xml stanza:

<TraceSpecification name="default" specification=":DEBUG"/>

7) Copy the newly generated plugin-cfg.xml file from the Liberty server directory to the Plugins config directory on the web server. If possible, stop and restart the web server so the trace will show everything from the beginning.

8) Capture a trace of the Dynamic Routing services on the Liberty collective controller and Liberty Member with the application running:

Add the following to the server.xml of the Liberty collective controller servers:

<logging traceSpecification="=event:=audit:com.ibm.ws.collective.controller.=all:com.ibm.ws.collective.repository.=all:com.ibm.ws.collective.routing.=debug:com.ibm.ws.dynamic.routing.=debug:com.ibm.ws.collective.*=all"/>

Add the following to the server.xml of the Liberty collective member:

<logging traceSpecification="=event:=info:com.ibm.ws.collective.=all:com.ibm.ws.dynamic.routing.=debug:com.ibm.ws.jmx*=all:com.ibm.ws.kernel.boot.jmx*=all:com.ibm.ws.session.=all:com.ibm.ws.webcontainer=all:com.ibm.wsspi.webcontainer*=all"/>

9) At the time of the problem, capture additional information:

Capture a "dump" of the Liberty collective controller that the web server is communicating with:


Generating a Liberty server dump from the command line
http://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_setup_dump_server.html

If you have a replica set configured for the Collective Controllers, perform the above dump command for each controller to ensure a consistent view of the Liberty Collective

Examine the output of the /server-status page in the web server to determine the collective controller that the web server is currently communicating with. This is the collective controller that is listed as STARTED under “connectors” on the /server-status page. Save the /server-status page as an html file to send to IBM support.

10) After capturing the traces of the problem,  send the answers to the questions above and these files to IBM Support:

  •  Web server configuration and log files:
    • httpd.conf
    • error_log
    • access_log
  • Plug-in configuration and log files:
    • plugin-cfg.xml
    • http_plugin.log
  • Output of the /server-status page (saved as an html file)
  • zip file the "dump" of the Liberty collective controller
For Liberty versions 16.0.0.4 and earlier:
  • files created by running the curl commands in step 9:
    • DynamicRoutingResponse.txt
    • RoutingInfo.txt
  •  Liberty collective controller configuration and log files:
    • server.xml
    • zip of the entire logs directory and subdirectories

Please ensure that the logs have been captured at the time of the problem, simultaneously across all Controllers, Member Servers, and Web Servers. Omitting parts of the requested trace will delay and in some instances prevent IBM Support from providing the proper diagnosis.

11) After the tracing has been completed, change Plug-in Level back to "Error", and remove the DEBUG trace specification from the Intelligent Management section. Also turn off the Liberty Collective traces by setting the trace specification back to *=info only.

NOTE: keep an eye on the size of the http_plugin.log file. It does NOT wrap like WebSphere Application Server log files. So, if the plug-in log is growing very large (over 2 GB) you will need to stop the web server, and delete or rename the file, then restart the web server. OR, you may want to consider using RotateLogs to automatically rotate the plug-in log to a new file based on time or size.

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Component":"Plug-in","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"8.5.5;9.0","Edition":"","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"}}]

Document Information

Modified date:
06 June 2024

UID

swg21991201