Diagnostic Providers are a quick method for viewing configuration
and the current state of individual components within an application
server environment.
WebSphere® Application Server components
can be considered as being divisible into diagnostic domains.
A diagnostic domain refers to a set of classes within the component
that share a set of diagnostics. Some larger components might have
multiple diagnostic domains. For example, the Connection Manager logically
consists of multiple data sources and connection factories that each
have separate diagnostic domains.
Figure 1. Diagnostic providers.
This image shows the
relationships between the parts that make up the Diagnostic Provider
(DP) utility.
A single diagnostic domain receives its diagnostic services from
a Diagnostic Provider MBean. The Diagnostic Provider MBean enables
you to query the startup configuration, current configuration, and
current state of the diagnostic domain. In addition, Diagnostic Provider
MBeans can also provide access to any self diagnostic tests that are
available from the diagnostic domain. Some characteristics of Diagnostic
Provider MBeans include:
- Diagnostic Provider MBeans are Java Management
Extensions (JMX) MBeans
- Diagnostic Provider MBeans all implement a DiagnosticProvider
interface which includes methods for configuration dumps, state dumps,
and self diagnostic tests
- Diagnostic Provider MBeans provide a way to expose information
about running components so administrators can more easily debug problems
related to those components. As with other MBeans running in WebSphere Application Server, they can
be accessed from JMX client code, or through the wsadmin tool.
Diagnostic Provider MBeans are efficient at delivering Java object representations of configuration,
state, and self test information. This is good for when programs interact.
For human users to access the information, WebSphere Application
Server provides a set of facilities to extend the value of Diagnostic
Provider MBeans.
- The Diagnostic Service MBean
- provides methods to convert Diagnostic Provider MBean output
into human readable formats. The Diagnostic Service MBean also provides
some methods to facilitate looking up the Diagnostic Provider MBeans
on the same server as the Diagnostic Service MBean. For administrators
that want to access diagnostic data from a command line, the wsadmin
tool can be used directly with the Diagnostic Service MBean to get
formatted results
- The Diagnostic Provider utility
- a set of panels included in the WebSphere Application
Server administration console through which administrators can interact
with Diagnostic Provider MBeans. The Diagnostic Provider utility is
a simple front end in the administration console that presents the
available set of Diagnostic Provider MBeans present on each managed
server, and provides a means to execute and view the results of configuration
dumps, state dumps, and diagnostic self tests.
.
The purpose of Diagnostic Providers
Diagnostic
Providers give you more information for quickly discovering and diagnosing
system problems. The following scenario contrasts the experience of
an administrator working with a component that does not have a Diagnostic
Provider to one that does.
When the administrator works with
a component that is without a Diagnostic Provider, the events are
as follows:
- A log entry indicates that a particular component is experiencing
a problem.
- The system administrator sees the log entry through the runtime
messages panel.
- The system administrator cannot tell what is wrong, so calls IBM® support
for assistance, with a potentially ill-defined problem.
When the administrator works with a component with a Diagnostic
Provider, and the Diagnostic Provider ID is registered with the component's
logger, the situation changes as follows:
- A log entry that contains a Diagnostic Provider ID (DPID) indicates
that something has gone wrong in a specific component.
- The system administrator sees the log entry through the runtime
messages panel.
- The administrator clicks a button on the runtime message panel
to execute a state dump or a configuration dump, or to be taken to
the list of component self tests.
- From the self test, the administrator is warned that the component
is configured in a way that could lead to poor performance or failures.
Furthermore, when the administrator works with a component
with a Diagnostic Provider, and the Diagnostic Provider ID is
not registered
with the component's logger, the situation might unfold like this:
- A log entry which doesn’t contain a DPID indicates that something
has gone wrong in a component.
- The system administrator sees the log entry through the runtime
messages panel.
- The system administrator uses the administrative console to navigate
through the available set of Diagnostic Providers and selects one
that sounds appropriate.
- He runs a configuration dump, a state dump, or a self diagnostic
test against the Diagnostic Provider to collect information about
the component.
- From the state dump, the administrator is able to notice that
the component state is not what would be expected for its workload.
- The administrator works with the test team to determine which
of the flows is causing the state of the component to diverge from
what is expected (as evidenced by repeated execution of the state
dump).