Chapter 1 Overview
This chapter provides a description of the tools, methods, and information
sources available for troubleshooting the Sun Java System Web Server Server 7.0.
Guidelines for evaluating and investigating a problem are included.
Planning Ahead
As applications get deployed, un-deployed, and redeployed, and as you
experiment with different server configuration settings, there may be times
when your server gets into an unstable state. In such cases, it is useful
to have a previously saved working configuration on which to fall back. This
is not problem solving, but rather a way to avoid problems in the first place.
Refer to the Web Server Administrator's Guide for
complete instructions on using the CLI and GUI options. Briefly, however,
for the purposes of this Troubleshooting Guide, use
the following procedure to backup the virtual servers in your configuration:
To back up your virtual server
-
Go to Common Tasks page.
The Common Tasks page is
the home page when you access the administration console. Fore information
on accessing the administration console, refer to the Administrator's Guide.
-
Select the Configuration.
From the Configuration Tasks
page, select the configuration from the drop down box.
-
Copy Virtual Servers.
Select the virtual server from
the list and click Copy button. A window will pop up. Provide the new virtual
server name and click OK. The web applications also gets copied.
Identifying the Problem
Sun Java System Web Servers are typically deployed in complex and highly
sophisticated operating environments. The Sun Java System Web Server covers
a broad range of technologies, including Java, Java Servlets, XML, JSP, JDBC
data sources, and more. Understanding and diagnosing complex issues involving so many disparate components
requires thorough knowledge and a careful diagnostic process.
Gathering any or all of the following information will make it easier
to classify a problem and search for solutions. Note that operating system
utilities, such as pkginfo and showrev on Solaris and rpm on Linux, are helpful in gathering system
information.
Verifying Server Platform
-
What are the exact version numbers of the operating system and
products installed?
-
Have any patches been applied? If so, specify product and operating
system patch numbers.
-
How is the system configured?
-
What system resources does the system have (memory, disk, swap
space, and so on)?
-
How many web servers and directory servers are installed?
-
How is the Web Server connected to the directory server?
-
Are web servers in a cluster or not?
-
Was any upgrade done? If so, what were source and target versions?
-
Was a migration done? If so, what were source and target versions?
-
Have any new web applications been deployed?
-
Is SSL enabled or not?
-
What database is being used?
-
What JDBC driver is being used to access the database?
-
What JDK version is being used?
-
What are the JVM heap, stack, and garbage collection-related parameters
set to?
-
What are the JVM options?
-
What third-party technologies are being used in the installation?
-
Are the interoperating component versions in compliance with the
compatibility matrix specified in the release notes?
After gathering
this information:
-
Collect web server error and access log data (web server instance-specific).
-
Collect any Web Server stack traces. Note that a fresh
set of logs associated with the specific problem should be run. This avoids
scanning gigabytes of irrelevant log information.
-
Determine the sequence of events that occurred when the problem
first appeared, including any steps that may already have been taken to resolve
the problem.
Note –
When you encounter a problem, do not panic. It is better to approach
the problem more systematically by collecting the necessary system specific
details.
Seeking a Solution
After identifying the problem, you are ready to do some investigation.
The following topics are addressed in this section:
Verify System Configuration
Sometimes the most obvious solutions are overlooked, and so the first
step is to verify the system configuration. Refer to the Sun Java System Web Server 7.0 Release
Notes for the most up-to-date system requirements and dependencies.
Evaluate Messages
Messages generally include information about the attempted action, the
outcome of the action, and, if applicable, the cause of jeopardy or failure.
Types of Messages
The log files contain the following general types of message entries:
-
Error – These messages
mark critical failures that cause status to be reported as Failed. Error messages
generally provide detailed information about the nature and the cause of the
problem that occurred.
-
Warning – These messages
mark non-critical failures. Warning messages generally contain information
about the cause and the nature of the failure, and also provide possible remedies.
-
Information – These
messages mark normal completion of particular tasks.
Error Messages
A problem is often accompanied by an error message that prevents the application from proceeding.
-
In some cases, the message is very clear about what is wrong
and what needs to be done, if anything, to fix it. For example the 'Deployment
Pending' link that appears on the administration console whenever an instance
configuration is modified.
In this case, the message gives clear
guidance and the problem can be disregarded.
-
Sometimes an error message gives only general information
about the problem or solution, or suggests multiple possibilities.
In
this case, the problem is not obvious, or there might be multiple things wrong.
You might have to consider various possibilities and perhaps a number of solutions.
If the proposed fix is time consuming or costly, take steps to ensure that
the fix is likely to be correct before actually doing anything.
-
Some error messages are either not helpful or provide little
guidance.
In this case, there is very little information to go
on. It is especially important to identify the exact situation that caused
the error, and what the symptoms are before proceeding.
For descriptions
of all the Web Server error messages, refer to the later sections in this
guide.
Examine Log Files
A number of the Web Server subsystems create log files and log their events to these files. The primary purpose
of these log files is to provide troubleshooting information.
Note –
Web Server Error Logs are the first place you should look for
information, when you need to troubleshoot a runtime issue. For issues related
to installation, see the installation log files.
In addition to the message text, a logged message provides the following
information:
-
Date and time of the event
-
Log level for the event — Web Server-specified log
level ID or name
-
Process identifier (PID) — PID of the Web Server process
-
(optional) Virtual server identifier (VSID) — VSID that
generated the message
-
Message identifier (MID) — subsystem and a four digit
integer
-
Message data
The specific logs associated with
each Web Server problem area are discussed in the associated chapters of
this manual.
Log Levels
The Web Server has many log levels that can be set in the Administration GUI (FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, ALERT, and FATAL). All messages are logged when
the log level is set to FINEST and only serious error messages
appear if the log level is set to FATAL.
Note that the more detailed log levels (FINEST, FINER, FINE) can generate high volumes of log
information for certain events, which may make it appear at first glance that
there is an error condition when in fact there is not.
All messages with a log level less than the default level of INFO (FINEST, FINER, FINE, and CONFIG) provide information related to debugging and must be specifically
enabled. Instructions for doing this are contained in the Sun Java System Web Server Administrator's Guide.
In addition to the standard JDK log levels, the Web Server has added log levels designed to
map more intuitively to the Web Server log file (server.log)
and to tightly integrate with Solaris. The log levels ALERT and FATAL are specific to the Web Server and are not implemented
in the JDK1.4 logging API.
Note –
For information
on the event log mechanism used in the Microsoft Windows operating environment,
refer to the Windows help system index using the keywords Event Logging. If
you choose to send logs to the Windows server.log file, only messages with
a log level of INFO, WARNING, SEVERE, ALERT, or FATAL are logged to the Windows
Event Log.
Log Options
The Administration GUI provides the following two logging
options:
-
Option 1 — Log stdout (System.out.print) content to the event
log
-
Option 2 — Log stderr (System.err.print) content to the event
log
When these options are set, stdout and stderr messages are written to the server.log file. (The event log is a syslog daemon on Solaris and Event Log on Microsoft Windows.)
If the above options are not set:
-
Anything written to stdout or stderr (that
is, using System.out or System.err)
will not appear in the logs.
-
Messages logged with the JDK logger will appear in the logs.
-
Messages written to stdout or stderr appear
with the INFO level, but do not have a message ID.
See if the Problem has been Solved Before
A good initial step is to scan this Troubleshooting Guide to see if
the problem is addressed here. If so, select the appropriate solution. Many
of the solutions contain references to other documents in the Web Server document
collection for additional details, explanations, or examples.
Search the Product Documentation
Start by reading the Release Notes for the version of the product you
are troubleshooting.
The documentation for this Web Server product release is available
at Sun Java System Web Server 7.0 Documentation Center.
Search the Knowledge Base
The Knowledge Base is a collection of articles on product issues that
provide information helpful for troubleshooting. To access the Knowledge Base:
To search the Knowledge Base
-
Go to SunSolve.
-
Under SunSolve Collections, click the Search Collections link.
-
Select the checkbox for the collection(s) to search.
-
Click Next.
-
Enter the search criteria.
-
Click Go.
Search or Participate in the Online Forum
Browse directly in any of the online forums, or log in and register
to start posting messages. The Web Server online forum is available at: http://swforum.sun.com/jive/index.jsp?cat=7
Contact Support
When necessary, gather together the information you have acquired and
contact technical support at http://www.sun.com/service/contacting.