Technique for logging plug-in decision-making

 < Day Day Up > 



This section describes the technique we devised for studying workload management activity in a WebSphere Application Server cluster. Our technique uses standard Apache directives and is described in more detail in an article we submitted to the WebSphere Developer Domain.

Problem overview

In a WebSphere Application Server cluster, it can be useful to monitor the activities of workload management. In a failover situation where one or more application server nodes or clones become inaccessible or otherwise unavailable, it can be useful to monitor how workload management reacts at the time of failure, at the time the nodes or clones become available again, and during the recovery period. The detailed logging provided by the WebSphere plug-in yields a considerable amount of log data in a high-volume system under load. Because of this, we wanted a mechanism for monitoring workload management decisions that generated a manageable volume of data. The technique described here is the result.

Solution overview

To reduce the quantity of log data while preserving essential information, we piped the log data to a filter program that removed entries of little interest in studying workload management (such as requests for .gif and .jpg files). We accomplished this by exploiting the Apache run time configuration directives CustomLog and LogFormat to collect and log additional information. The CustomLog directive writes additional information into the access log for HTTP headers containing cookies, and the LogFormat pipe writes the data to a script that filters.

The key to this solution is when using session affinity with cookies. The server sets the cookie in the HTTP response header; the client returns the cookie in subsequent HTTP requests. The cookie contains a unique session identifier followed by an eight-character string that identifies the Application Server clone to which the session has affinity. The eight character string corresponds to the entry in the appropriate <Server CloneID='xxxxxxxx' /Server> tag in the plug-in XML configuration file plugin-cfg.xml.

We analyzed the information in the resulting Apache logs to study the workload management and load balancing decisions made by the plug-ins. The information we chose to log in this way was:

  • Time stamp

  • The incoming HTTP GET request (that is, the URL)

  • The HTTP response code (normally 200 indicating success)

  • The PID of the process handling the request

  • The JSESSIONID cookie from the HTTP headers incoming request if there is one

  • The JSESSIONID cookie from a set-cookie HTTP header in the response if there is one

  • The number of bytes served



 < Day Day Up > 



High-Volume Web Sites Team - More about High-Volume Web Sites
High-Volume Web Sites Team - More about High-Volume Web Sites
ISBN: N/A
EAN: N/A
Year: 2003
Pages: 117

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net