The Support Authority: Choosing the right WebSphere diagnostic tool

This article provides a quick reference guide to help you decide which of the most common WebSphere® diagnostic tools to use at any given time, and some background information that provides a glimpse into how problem determination tools are developed. This content is part of the IBM WebSphere Developer Technical Journal.

Share:

Stefan Kwiatkowski (KWIATKS@uk.ibm.com), Premium Support Analyst , IBM

Stefan Kwiatkowski is a Premium Support Analyst who supports a number of important financial institutes who rely on WebSphere Application Server for their business. He has hands-on experience installing and integrating WebSphere products within customer environments, and specializes in problem determination and resolution. His current focus is to educate customers and IBMers on determining the most efficient tool to aid in problem analysis.



Daniel Julin (dpj@us.ibm.com), Senior Technical Staff Member, EMC

Daniel Julin has 20 years of experience developing and troubleshooting complex online systems. As technical area lead for the WebSphere Serviceability Team, he currently focuses on helping the team define and implement a collection of tools and techniques to assist in problem determination for WebSphere Application Server and to maximize the efficiency of IBM support. He also occasionally assists directly in various critical customer support situations.


developerWorks Contributing author
        level

30 July 2008

Also available in Chinese

In each column, The Support Authority discusses resources, tools, and other elements of IBM Technical Support that are available for WebSphere products, plus techniques and new ideas that can further enhance your IBM support experience.

This just in...

As always, we begin with some new items of interest for the WebSphere® community at large:

  • Version 4.0.1 of IBM Support Assistant has just been released. Some key enhancements include auto configuration of proxy servers, improved navigation, and one major new facility: the Media Viewer, which makes it easy to download rich content from sources such as IBM Education Assistant, and view this content inside IBM Support Assistant, online or offline.
  • Several new tools have been released or updated in IBM Support Assistant Version 4, including:
    • Assist On Site
    • IBM Thread and Monitor Dump Analyzer
    • A new version of the IBM Monitoring and Diagnostic Tools for Java™ - Dump Analyzer
    • A new update to the Memory Dump Diagnostic for Java (MDD4J); this is still a beta release, but we are making progress toward a general release.
    • A new update of the Visual Configuration Explorer (VCE).

    With these updates, all of the problem determination tools that were to be ported from IBM Support Assistant Version 3 to Version 4 have been transitioned.

  • The IBM Guided Activity Assistant team continues to extend the content provided by this tool:
  • Updates to several tools in alphaWorks have also been released, including:
  • For those interested, the WebSphere Application Server V7.0 open beta program is now in full swing. Check the site for news and information about the next version of WebSphere Application Server.
  • The WebSphere Support Technical Exchange series, which we recommended in several previous articles, is experimenting with a new “Open Mic” format, in which recognized experts in one particular technical area will take questions and lead a discussion with the audience, rather than focus primarily on a prepared presentation. The first installment of this new format is tentatively scheduled for August 7, with a session on WebSphere Application Server security. Check back on the WebSphere Support Technical Exchange Web site for updates and more sessions.
  • We have mentioned Knowledge Collections (which create a collection of related documents on the IBM Support Web site) and Featured Documents (which collect the most common information used for support in each individual IBM product) before in this column. Combining these two concepts, a new Knowledge Collection is now available that makes it easy to locate all available Featured Document pages for many WebSphere products all in one place.
  • Regular readers of this column might be interested in the new Redbook Running IBM WebSphere Application Server on System p and AIX Optimization and Best Practices which is currently available in public draft form.

Continue to monitor the various support-related Web sites, as well as this column, for news about other tools as we encounter them.

And now, on to our main topic...


"One more tool and I’m going to scream"

A common question we encounter when speaking with WebSphere product users about problem determination is “Which tool am I supposed to use now?” Since it began, this column has described how and when to use many problem determination tools, but when tools are covered one at a time like this, it can be challenging to keep track of every tool that’s available, let alone determine which tool is the best one for any given situation. This problem is further complicated by the fact that the broader IBM WebSphere Support community is quite a dynamic community of tool developers, which means that the set of available tools is always in flux; the best tool to use one day, might be different a few months later for a similar problem.

Our hope is that this article will clarify for you some of the major problem determination tools that are available today. Below you will find simple reference tables that show, in one place, the most common problem determination tools you are likely to encounter when working with WebSphere Support, and particularly with regard to IBM WebSphere Application Server and the Java Virtual Machine (JVM). These tables are not exhaustive, and the information provided is, by nature, imperfect -- since tools will continue to evolve after this article is published, and different people will value various tools differently. Nonetheless, this information can be a valuable initial reference point, regardless of the tools you ultimately use. If you happen to find this approach successful, please let us know so that we can plan periodic updates for future columns.


The tools we selected

Before getting to the actual tables, it might be helpful to review some of the guiding principles that we used when putting this information together:

  • Availability

    As with most of the problem determination resources directly or indirectly provided by the IBM Support organization, this article focuses exclusively on tools that are available from IBM at no charge. That’s not to say that no other tools exist; IBM (particularly Tivoli®) and other software vendors offer various fee-based problem determination tools that you can use to investigate WebSphere problems. Some of these tools provide capabilities that go well beyond the scope of the fee-free tools mentioned here. However, for the purpose of this article and to ensure that everyone has equal access to these support resources, commercial tools are omitted from these tables.

  • Accessibility

    When evaluating problem determination tools, IBM considers all relevant candidates, regardless of where they reside. In general, however, IBM Support gathers independent tools inside the common platform provided by IBM Support Assistant (unless there is a technical reason to do otherwise). IBM Support Assistant is the central repository currently used for finding all tools, for installing and receiving regular upgrades to existing tools, and for leveraging the potential for integration between multiple tools and other problem determination facilities (for example, linking tools with diagnostic collection and PMR reporting facilities, or feeding the output from one tool as input to another, and so on).

  • Scope

    The tools listed here are limited to those frequently used by customers and IBM Support teams to aid in activities to analyze problem determination artifacts only, and does not include tools that collect problem determination artifacts, or that guide or assist the problem determination process overall.

  • Multiple tools for the same use

    As tools evolve and new tools appear, there is bound to be an overlap in function, all in the name of maximizing innovation and to encourage contributions from many interested tool writers. Therefore, you will find places in these tables where more than one tool is listed for the same purpose. In these cases, information is provided about the key differences between these tools to help you pick the best one for your needs. Usually, one tool will be identified as a primary tool (indicated in bold type), which in our estimation might be the best bet for you to try first when attempting to perform a particular problem determination task. However, you can use an alternative tool if you have a special need for another tool’s specific characteristics. In general, IBM Support invests mainly in enhancements and support for the designated primary tool in each area, and, over time, try to merge the valuable new functions of alternative tools into the primary tool.

  • Support

    While we like to make new tools and new tool features available as quickly as possible, this sometimes means making them available “as-is” soon after they are written. On the other hand, we recognize that many users want and need tools that are robust and dependable. Each tool provided by IBM WebSphere Support is associated with a license agreement that defines the conditions under which the tool is or is not supported. (No information in this article should be be construed as overriding or replacing the information provided in any license agreement.) In general, though:

    • Tools that are delivered through IBM Support Assistant but designated as Tech Preview, as well as those delivered through alphaWorks, are considered “as-is.” Many tools (though not necessarily all) that are initially released in this way eventually become standard, supported tools if they are successful and widely used. These tools are generally excellent, and you can be comfortable using them if no better alternative is available.
    • Tools that are delivered through IBM Support Assistant and not designated as Tech Previews are formally supported (by their author or by IBM WebSphere Support) under the conditions in their license. IBM generally provides assistance and defect reporting for supported tools.
  • Problem vs function

    The tables below organize tools primarily by the type of artifacts they read. They also list the types of problems that each artifact analysis might be used for. Keep this in mind when deciding how to proceed when investigating a problem. This artifact-centric view is often very useful when you need a quick reference; for example, you have a particular type of log or dump file in front of you and you need to quickly find a tool you can use to analyze it. However, the previous Support Authority column made the case that to be productive, a problem determination session should follow a well-defined plan based on the symptoms and their probable causes, and not perform actions at random or analyze various artifacts “just because they are there.” Either way, these tables should help you.

    Alternatively, you might want to take advantage of the IBM Guided Activity Assistant, or one of the other problem determination guidance resources mentioned in previous columns, to help you decide when it might be most productive to examine each artifact and to use each tool.

The tool tables in the next sections are organized by the artifacts with which they are used:

Following each table is a description of each tool from its own documentation, and high level breakdown of each tool's general characteristics.


Tools for information generated by the JVM

Artifacts of this type include:

  • The Verbose Garbage Collection log (verboseGC) log is probably the most common type of JVM diagnostic. It shows the sequence of garbage collection cycles that occurred throughout the life of that JVM. This is often invaluable to use as an initial problem determination aid for detecting and diagnosing anomalous memory allocation issues, such as memory leaks, fragmentation, performance issues related to GC, and so on.

  • Thread dumps are also a very common type of JVM diagnostic. A thread dump (also known as a javacore) can be triggered on request by an administrator, or automatically when some special condition is encountered in the JVM. A thread dump is a text file that contains a relatively short snapshot of the key aspects of the state of that JVM. The most often used part of that snapshot is the list of currently active threads in the JVM, hence its name. Thread dumps are most commonly used to diagnose the cause of hangs, slowdowns, crashes, or excessive CPU consumption.

  • Heap dumps are another form of dump that can also be generated by a JVM, either on demand or automatically when special conditions occur. A heap dump is typically a very large file that contains a list of all the objects currently on the JVM heap. It is used to perform in-depth analysis when out-of-memory conditions are observed.

  • System dump or core dump is the most expensive dump, but also the most complete. It is a large binary file that reflects the entire contents of the JVM process: every Java object and its fields, every thread, every memory region, and so on. The initial use of a system dump is to help diagnose crashes, hangs, or complex memory allocation issues in cases when the other types of dumps are insufficient or cannot be generated. However, because the system dump is so complete, it can also be used to gain information about many aspects of the current state of the WebSphere Application Server runtime, or even the applications executing in that runtime.

The names and types of some artifacts here are specific to the IBM JDK; other vendors' JDKs might produce similar files. See the Support Authority column on Features and tools for practical troubleshooting for further details about these types of artifacts.

Table 1. Tools for information generated by the JVM
Artifact typeProblem typesTypical inputAvailable tools
Verbose Garbage Collection log (verbosegGC)
  • Memory leak
  • Out-of-memory conditions
  • verbosegc statements in JVM log files for example native_stdout.log
  1. IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer (GCMV)
  2. IBM Pattern Modeling and Analysis Tool for Java Garbage Collector (PMAT)
  3. Diagnostic Tool for Java Garbage Collector
Java dump/javacore
  • Crash, hang, performance bottleneck, JVM terminates unexpectedly
  • javacore.*.txt
  • javacorePID.*.txt
  1. IBM Thread and Monitor Dump Analyzer (TMDA)
  2. Thread Analyzer
Threads
  • Lock analysis
  • Connection to running JVM
  1. IBM Lock Analyzer for Java
Heap dump
  • Memory leak
  • Out-of-memory conditions
  • IBM Portable Heap Dump (heapdump.phd)
  • IBM Text heap dump (heapdump.txt)
  • HPROF heap dump format (hprof.txt)
  1. Memory Dump Diagnostic For Java (MDD4J)
  2. HeapAnalyzer
  3. Heaproots
System or core dump
  • General analysis of the health of the system; detect anomalies; in-depth analysis of system state.
  • Special case: unexpected crash.
  • Filename: operating system dependent (examples are core.dmp, user.dmp, or simply “core”.
  • The file must be processed with the jextract tool before using as input for analysis, yielding a core.dmp.zip file (IBM JVM 5.0 and above) or core.sdff file (IBM JVM 1.4.2).
  • Note: Only for IBM JVMs.
  1. IBM Monitoring and Diagnostic Tools for Java - Dump Analyzer and its extensions in the WebSphere Application Server modules for Dump Analyzer

Tool descriptions

For VerboseGC analysis:

  1. IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer (GCMV)
    A verbose GC data visualizer that parses and plots all IBM verbose GC logs and -Xtgc output (and is extensible to parse and plot other forms of input). It provides graphical display of a wide range of verbose GC data values and it handles optthruput, optavgpause, and gencon GC modes. It has raw log, tabulated data, and graph views, and can save data to jpeg or .csv files (for export to spreadsheets).

    See full description in the IBM Support Assistant.
    Input: verbosegc logs
    Output: Graphical representations, html, jpeg, or csv files
    Support: This tool is supported by IBM and is currently the primary tool for its area.

  2. IBM Pattern Modeling and Analysis Tool (PMAT) for Java Garbage Collector
    Parses IBM verbose GC trace, analyzes Java heap usage, and recommends key configurations based on pattern modeling of Java heap usage. This tool pre-dates the IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer (1) above and provides a different perspective that could be quite useful.

    See full description in the IBM Support Assistant or alphaWorks.
    Input: verbosegc logs
    Output: Graphical and tabular representations of the verbosegc logs
    Other facilities: Generic advice on JVM parameters
    Support: Tech Preview, provided as-is.

  3. Diagnostic Tool for Java Garbage Collector
    Helps to examine the characteristics of the garbage collection for an application running under a JVM by reading the output of the verbose garbage collection, and producing textual and graphical visualizations and related statistics.

    See full description in alphaWorks.
    Input: verbosegc
    Output: Textual and graphical visualizations
    Support: Tool provided as-is.

For Java dump/javacore:

  1. IBM Thread and Monitor Dump Analyzer (TMDA)
    Analyzes one or several Java thread dumps, or javacores, and diagnoses monitor locks and thread activities in order to identify the root cause of hangs, deadlocks, and resource contention or monitor bottlenecks.

    See full description in IBM Support Assistant or alphaWorks.
    Input: Single or multiple javacores to show history of relevant threads
    Output: GUI based views
    Other information: Webcast on Analysis of hangs, deadlocks, and resource contention or monitor bottlenecks using IBM Thread and Monitor Dump Analyzer for Java Technology
    Support: Tech Preview, provided as-is, but is the primary tool for this area.

  2. ThreadAnalyzer
    Provides analysis for Java thread dumps, or javacores, such as those from WebSphere Application Server. Thread usage can be analyzed at several different levels, starting with a high-level graphical view, and drilling down to a detailed tally of individual threads. If any deadlocks exist in the thread dump, ThreadAnalyzer will detect and report them. This tool pre-dates the IBM Thread and Monitor Dump Analyzer tool (4) above, but its functions have been integrated into the latter, which is becoming the primary tool in this area.

    See full description in IBM Support Assistant.
    Input: Java thread dumps/javacores
    Output: Graphical view of threads, ability to load multiple thread dumps to show thread history
    Support: Tech Preview, provided as-is, but is the primary tool for this area. This tool may be phased out; use the IBM Thread and Monitor Dump Analyzer where possible.

For threads:

  1. IBM Lock Analyzer for Java
    Designed to perform lock analysis on a live application in order to highlight threads with lock contention that could affect performance. This tool consists of two packages:

    • The first package is platform-dependent and provides a connection to the JVM for gathering lock statistics on the running application. This package gets loaded at run time along with the application to be monitored.
    • The second package is not platform-dependent and provides a graphical user interface.

    The graphical user interface connects to the platform package and provides the controls and analysis required for identifying badly performing locks.

    See full description in alphaWorks.
    Input: Statistics gathered from JVM
    Output: Graphical view of locks
    Support: Tool provided as-is.

For heapdumps:

  1. Memory Dump Diagnostic for Java (MDD4J)
    Analyzes common formats of memory dumps (heap dumps) from the JVM that is running WebSphere Application Server or any other stand-alone Java application. The analysis of memory dumps is targeted to identifying data structures within the Java heap that might be root causes of memory leaks. The analysis also identifies major contributors to the Java heap footprint of the application and their ownership relationship. The tool is capable of analyzing very large sized memory dumps (will require 2 GB or more RAM) obtained from production environment application servers encountering OutOfMemoryError issues. MDD4J extends the functionality of older IBM HeapAnalyzer (8) below, though the user interfaces of the two tools are radically different.

    See full description in IBM Support Assistant.
    Input: Memory dumps (heap dumps) from the virtual machine (JVM)
    Output: an interactive report showing the main suspects for memory leak along with detailed information about these leaks
    Other facilities: Operates on a single dump. Some versions provide for comparative analysis of multiple dumps.
    Support: This tool is supported by IBM and is currently the primary tool for its area. The current version in IBM Support Assistant at the time of this writing is beta.

  2. HeapAnalyzer
    HeapAnalyzer reads a single Java memory dump (heap dump) and enables you to browse through the dump to view its contents. This tool is a precursor to the Memory Dump Diagnostic for Java (MDD4J) tool (7) above, which now contains most of its functions. At this time, some of the raw trees browsing functions in HeapAnalyzer are more flexible than in MDD4J. On the other hand, HeapAnalyzer lacks some of the more sophisticated leak suspect detection algorithms from MDD4J, and does not support comparative multiple-dump analysis.

    See full description in alphaWorks.
    Input: one java heap dump
    Output: Graphical view of suspect objects and a heap browser
    Support: Tool provided as-is.

  3. HeapRoots
    HeapRoots reads a Java heap dump file and provides commands for analyzing the data. These commands run algorithms on the data or query for information about the data. HeapRoots provides a command-line interactive interface where you enter commands and gets results.

    See full description in alphaWorks.
    Input: Heapdump file
    Output: Graphical view of suspect objects and a heap browser
    Support: Tool provided as-is.

For system/core dump:

  1. IBM Monitoring and Diagnostic Tools for Java - Dump Analyzer
    An extensible tool framework that reads a system dump or core file produced by an IBM JVM, and runs a variety of analysis modules against that dump to diagnose common problems, or to provide in-depth information about in the internal state of that JVM and any middleware or applications that are currently running inside that JVM. Currently, modules are provided to perform basic analysis functions for common JVM problems such as deadlock, hang, crash, memory conditions, and so on. A supplement to the base tool, the WebSphere Applicationi Server Modules for Dump Analyzer, provides additional modules that display the general status of a WebSphere Application Server runtime within the JVM, as well as detailed information about several of the WebSphere Application Server subsystems.

    See full description in IBM Support Assistant.
    Input: Formatted system dump pre-processed by the jextract tool shipped with the JVM
    Output: Displays a report containing the information extracted by the specified analysis module, containing a short summary of observations about potential problems and a details section that provides in-depth information
    Other facilities: Provides an interactive mode to manually examine the contents of the dump. Enables users to write their own new specialized analysis modules and add them to the tool.
    Support: This tool is supported by IBM and is currently the primary tool for its area.


Tools for log and trace files

Activities for these type of artifacts include:

  • Logging is typically used for noting important events that you want to track in your log files. Logging is used to indicate:

    • Important changes in state; for example, when a service starts or stops.
    • Warnings; for example, when a disk you are writing to is running out of space.
    • Errors; for example, when your code is no longer able to continue because an expected service is not available.

    Logging is typically left on all the time, so logging code is necessarily fairly low volume, generally important, and something you should pay attention to.

  • Tracing is typically used to record any information that could be useful in debugging problems with your code. Tracing is often used to indicate which methods are called, what data is passed into a method (or what values are returned from a method), and what data is returned from calls to other methods beyond the boundaries of your code. Trace events can be high in volume, and as such, are only enabled when a problem is being diagnosed. Due to the very detailed and technical content of trace events, they are often only of value to the person who wrote the application. When tracing is turned on, it should be possible to understand any problem that could occur in your code.

Table 2. Tools for log and trace files
Artifact typeProblem typesTypical inputAvailable tools
Log files from multiple products
  • General log analysis: scan one or several log files to find initial symptoms and common problems; general analysis against symptom catalogs.
  • Complex problem that require correlating information between multiple log files.
  • Extensive range of log files from IBM (including WebSphere, Information Management, Rational®, and Tivoli) and other software vendors.
  • Support for OS specific log files (AIX®, z/OS®, RedHat, Sun™). Support for third party logs including Oracle, Apache, Microsoft® SQL Server, SAP, Siebel, and so on).
  • Examples include (from WebSphere): Activity.log, SystemOut.log, SystemErr.log, http_plugin.log.
  1. Log Analyzer
WebSphere trace (general)
  • General analysis of WebSphere trace, for a wide variety of deep problems.
  • trace.log
  1. Trace Analyzer for WebSphere Application Server
WebSphere Application Server trace and HTTP plug-in trace
  • Identify delays in system response
  • http_plugin.log, trace.log
  1. IBM Trace and Request Analyzer for WebSphere Application Server
WebSphere Application Server trace (connection pool)
  • Identify problems (leaks) in connection pool management.
  • trace.log
  1. Database Connection Pool Analyzer for IBM WebSphere Application Server
JVM verboseGC trace
  • Memory leak
  • Out of memory condition
  • native_stdout.log
  1. IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer (GCMV)
  2. IBM Pattern Modeling and Analysis Tool for Java Garbage Collector (PMAT)
  3. Diagnostic Tool for Java Garbage Collector

Tool descriptions

  1. Log Analyzer (and related Symptom Editor)
    A graphical user interface that provides a single point of contact for browsing, analyzing, and correlating logs produced by multiple products. This tool is part of the broader IBM Autonomic Computing initiative.

    See full description in the IBM Support Assistant.
    Input: Multiple log files from many software products from IBM and other vendors
    Output: GUI-based views and correlation of log files
    Other facilities: Able to save configuration to aid further analysis by other support engineers. A companion Symptom Editor tool is provided to create your own symptom database.
    Support: Currently the primary tool for its area.

  2. Trace Analyzer for WebSphere Application Server
    A highly interactive utility that enables you to browse through, examine and search complex trace files from WebSphere Application Server in detail.

    See full description in alphaWorks.
    Input: WebSphere Application Server trace.log; more featured if Advanced logging is enabled
    Output: Powerful graphical views with filter and search views
    Other facilities: Able to save configuration to aid further analysis by other support engineers
    Support: Provided as-is, but currently the primary tool for its area.

  3. IBM Trace and Request Analyzer for WebSphere Application Server
    Helps find the source of unusual delays, slow behaviour in a system, or situations when the system appears to hang and then recovers. The tool examines traces files from WebSphere Application Server and the HTTP plug-in, identifies individual requests through these files, and points to areas where a particular operation took a long time to complete, which helps you review suspicious areas in the traces to determine if something is wrong. This tool is sometimes confused with the Trace Analyzer for WebSphere Application Server (12) above, but it is in fact quite different. This tool focuses strictly on locating performance problems and delays as automatically as possible, whereas the Trace Analyzer is a general purpose tool, mainly intended for examining traces manually.

    See full description in alphaWorks.
    Input: HTTP Server logs (http_plugin.log) and WebSphere Application Server trace logs (trace.log)
    Output: Tabular views of analysis
    Support: Provided as-is, but currently the primary tool for its area.

  4. Database Connection Pool Analyzer for IBM WebSphere Application Server
    Employs a heuristic analysis engine to help you resolve problems related to Java Database Connectivity (JDBC) connection pools and diagnose JDBC connection leaks. The tool analyzes JDBC connection pool manager traces and provides these functions:

    • Analysis of JDBC data source.
    • Analysis of JDBC connection pool configuration.
    • JDBC connection chart view.
    • Java stack trace view of getConnection method.

    See MustGather information for the WebSphere Application Server trace settings required for this tool to analyse connection pool issues.

    See full description in alphaWorks.
    Input: JDBC trace logs
    Output: Tabular and graphical analysis of logs
    Support: Provided as-is, but currently the primary tool for this area.


Tools for static configuration files and related information

Table 3. Static configuration-related files
Artifact typeProblem typesTypical inputAvailable tools
Configuration files from multiple products
  • General configuration issues
  • Various configuration files (typically *.xml) from many IBM products, including WebSphere Application Server, WebSphere MQ, DB2® UDB, Tivoli Directory Server, and so on.
  • These files are sometimes collected into a file named VCE portable collector JAR.
  1. Visual Configuration Explorer
WebSphere Application Server http plug-in configuration files
  • Issues with the http plug-in (no response to requests, incorrect load balancing, and so on).
  • Plugin-cfg.xml, http_plugin.log
  1. IBM Web Server Plug-in Analyzer for WebSphere Application Server
WebSphere Application Server configuration (read from the runtime, no directly visible files)
  • Configuration errors in WebSphere Application Server.
  • In the administrative console, select Troubleshooting => Configuration Validation.
  1. Configuration Validator in the WebSphere Application Server admin console
WebSphere Application classloader configuration (read from the runtime, no directly visible files)
  • Classloading issues: class not found, incorrect class being loaded, and so on.
  • In the administrative console, select Troubleshooting => Class loader viewer
  1. Classloader Viewer in the WebSphere Application Server admin console
WebSphere product installation
  • Corrupted installation
  • Reads input directly from the software installation. Also uses “sys.inv” files that contain previous snapshots of the installation.
  1. WebSphere Install Verification Utility (IVU / (installver)
Multiple product configurations and runtime network status
  • Port conflicts
  • Reads product configuration files and runtime network status.
  1. IBM Port Scanning Tool

Tool descriptions

  1. Visual Configuration Explorer (VCE)
    Provides a way to visualize, explore, and analyze configuration information from diverse sources, such as WebSphere Application Server, WebSphere MQ, and DB2. This tool lets you:

    • Compare different snapshots of the same runtime environment.
    • Create diagrams that show configuration information in a graphical format, including key relationships between configuration elements.
    • Access detailed configuration properties.
    • Search across and within configurations for properties.
    • Compare configurations.
    • Correlate configuration information between different products.
    • Save and restore your work.
    • Collaborate with others during problem determination.
    • Work in a standalone or client/server environment.

    See full description in the IBM Support Assistant.
    Input: JAR file produced from a VCE remote collector tool shipped with VCE
    Output: Graphical picture of configurations. Difference reports of configurations (saved in XML format)
    Other facilities: Able to save configuration to aid further analysis by other support engineers. A companion Symptom Editor tool is provided to create your own symptom database.
    Support: Tech Preview, but it is the primary tool in its area.

  2. IBM Web Server Plug-in Analyzer for WebSphere Application Server
    Helps discover potential problems related to the HTTP plug-in component of WebSphere Application Server. The tool parses both plug-in configuration and corresponding trace files and then applies pattern recognition algorithms in order to alert users of possible inconsistencies. The tool provides a list of HTTP return codes, URI and graphical presentations of available clusters, and server topologies from the configuration and trace files.

    See full description in alphaWorks.
    Input: WebSphere plug-in log file (http_plugin.log) and WebSphere Application Server trace files (trace.log).
    Output: Displays a visual mapping of the cluster and member topology from the plugin-cfg.xml file and analysis of trace.log.
    Support: Provided as-is, but currently the primary tool in its area.

  3. Configuration Validator
    This tool, part of the WebSphere administrative console, helps identify and view problems that exist in the current configuration in WebSphere Application Server

    See full description in WebSphere Application Server Information Center.
    Input: Operates on a running instance of WebSphere Application Server, accessed through the administrative console.
    Output: Table view of configuration problems (separate options of Error, Warning; information available in the administration console).
    Support: Included as part of WebSphere Application Server, subject to the same support processes as the main product.

  4. Classloader Viewer
    Provides a detailed listing of all the classloaders that are currently active within an instance of a WebSphere Application Server and all classes that they have loaded. This helps diagnose a range of problems related to class loading, such as failure to load a desired class, loading an unexpected version of a class, problems of visibility between multiple classes, and so on.

    See full description in WebSphere Application Server Information Center.
    Input: Operates on a running instance of WebSphere Application Server, accessed through the administrative console.
    Output: Tree view breakdown in WebSphere Application Server administrative console; can be saved to a file for later analysis.
    Support: Included as part of WebSphere Application Server, subject to the same support processes as the main product.

  5. Install Verification Utility (IVU)
    Delivered as a program named “installver” that is available within WebSphere Application Server, this program performs a checksum on the files that comprise the current WebSphere Application Server installation and compares them against a reference file that is either included with WebSphere Application Server, or generated during a previous execution of the tool. This tool helps detect corrupt installations where, for example, ad-hoc modifications or patches could have been installed and then forgotten.

    See full description in WebSphere Application Server Information Center.
    Input: WebSphere Application Server files, run tool using verifyinstallver.bat or .sh.
    Output: Messages indicating successful check of files.
    Support: Included as part of WebSphere Application Server, subject to the same support processes as the main product.

  6. IBM Port Scanning Tool
    Scans for available ports during installation, configuration, or activation of a product to help prevent port conflicts.

    See full description in IBM Support Assistant.
    Input: Range of port numbers to check
    Output: report listing any ports in use and any potential conflicts
    Support: Tech Preview, but currently the primary tool for its area.


Summary

This concludes our overview of some of the most commonly-encountered problem determination tools for WebSphere products, with some information to help you determine when each might be appropriate to use. Hopefully, this information will help you launch your problem solving tasks quickly and as efficiently as possible. Remember that the set of tools provided by IBM is constantly evolving and growing, so be sure to regularly check for the most recent information about each tool, and come back to this column for more news from the problem determination front.


Acknowledgements

The authors wish to thank Russell Wright for his valuable review and comments on early drafts of this article.

Resources

Learn

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere, Commerce
ArticleID=325138
ArticleTitle=The Support Authority: Choosing the right WebSphere diagnostic tool
publish-date=07302008