This document describes the WebLogic Diagnostics Framework (WLDF), a monitoring and diagnostic framework that defines and implements a set of services that run within WebLogic Server processes and participate in the standard server life cycle. Using WLDF, you can create, collect, analyze, archive, and access diagnostic data generated by a running server and the applications deployed within its containers. This data provides insight into the run-time performance of servers and applications and enables you to isolate and diagnose faults when they occur.
The following sections describe the contents and audience for this guide—Configuring and Using the Diagnostics Framework for Oracle WebLogic Server:
WLDF includes several components for collecting and analyzing data:
Integration with Oracle HotSpot—If WebLogic Server is configured with Oracle HotSpot, WLDF can generate diagnostic information about WebLogic Server that is captured in the Java Flight Recorder file.
Built-in diagnostic system modules—A set of diagnostic modules available out-of-the-box that you can enable dynamically to capture basic performance data about the JVM, the WebLogic Server run time, and primary WebLogic Server subsystems, including JDBC data sources, messaging, and Java EE containers, such as servlets, EJBs, and resource adapters. The built-in diagnostic modules can also be cloned and modified, providing a simple way to create custom diagnostic system modules.
Monitoring Dashboard—Graphically presents the current and historical operating state of WebLogic Server and hosted applications, including information gathered by the built-in diagnostic system modules. The Monitoring Dashboard, which is accessed from the WebLogic Server Administration Console, provides a set of tools for organizing and displaying diagnostic data into views, which surface some of the more critical run-time WebLogic Server performance metrics and the change in those metrics over time.
Diagnostic Image Capture—Creates a diagnostic snapshot from the server that can be used for post-failure analysis. The diagnostic image capture includes Java Flight Recorder data, if it is available, that can be viewed in Java Mission Control.
Archive—Captures and persists data events, log records, and metrics from server instances and applications.
Instrumentation—Adds diagnostic code to WebLogic Server instances and the applications running on them to execute diagnostic actions at specified locations in the code. The Instrumentation component provides the means for associating a diagnostic context with requests so they can be tracked as they flow through the system. The WebLogic Server Administration Console includes a Request Performance page, which shows real-time and historical views of method performance information that has been captured through the WLDF instrumentation capabilities, serving as a tool that can help identify performance problems in applications.
Harvester—Captures metrics from run-time MBeans, including WebLogic Server MBeans and custom MBeans, which can be archived and later accessed for viewing historical data.
Watches and Notifications—Provides the means for monitoring server and application states and sending notifications based on criteria set in the watches.
Logging services—Manage logs for monitoring server, subsystem, and application events. The WebLogic Server logging services are documented separately from the rest of the WebLogic Diagnostics Framework. See Configuring Log Files and Filtering Log Messages for Oracle WebLogic Server.
WLDF provides a set of standardized application programming interfaces (APIs) that enable dynamic access and control of diagnostic data, as well as improved monitoring that provides visibility into the server. Independent Software Vendors (ISVs) can use these APIs to develop custom monitoring and diagnostic tools for integration with WLDF. These APIs can be accessed using the JMX and the WebLogic Scripting Tool (WLST), as described in Chapter 17, "Configuring and Using WLDF Programmatically".
WLDF enables dynamic access to server data through standard interfaces, and the volume of data accessed at any given time can be modified without shutting down and restarting the server.
This document describes and tells how to configure and use the monitoring and diagnostic services provided by WLDF.
WLDF provides features for monitoring and diagnosing problems in running WebLogic Server instances and clusters and in applications deployed to them. Therefore, the information in this document is directed both to system administrators and to application developers. It also contains information for third-party tool developers who want to build tools to support and extend WLDF.
It is assumed that readers are familiar with Web technologies and the operating system and platform where WebLogic Server is installed.
This document is organized as follows:
This chapter, "Introduction and Roadmap," provides an overview of WLDF components and describes the audience for this guide.
Chapter 2, "Overview of the WLDF Architecture," provides a high-level view of the WLDF architecture.
Chapter 3, "Using the Built-in Diagnostic System Modules," describes the built-in system diagnostic modules, which are provided by the WebLogic Diagnostics Framework (WLDF) as a simple and easy-to-use mechanism for performing basic health and performance monitoring of a WebLogic Server instance
Chapter 4, "Using WLDF with Java Flight Recorder," describes the WLDF integration features with Java Flight Recorder, describes basic usage scenarios, and provides a sample walkthrough of using Java Mission Control to examine WebLogic Server events captured in a Java Flight Recorder file.
Chapter 5, "Understanding WLDF Configuration," provides an overview of how WLDF features are configured for servers and applications.
Chapter 6, "Configuring and Capturing Diagnostic Images," describes how to configure and use the WLDF Diagnostic Image Capture component to capture a snapshot of significant server configuration settings and the server state.
Chapter 7, "Configuring Diagnostic Archives," describes how to configure and use the WLDF Diagnostic Archive component to persist diagnostic data to a file store or database.
Chapter 8, "Configuring the Harvester for Metric Collection," describes how to configure and use the WLDF Harvester component to harvest metrics from run-time MBeans, including WebLogic Server MBeans and custom MBeans.
Chapter 9, "Configuring Watches and Notifications," provides an overview of WLDF watches and notifications.
Chapter 10, "Configuring Watches," describes how to configure watches to monitor server instances and applications for specific conditions and send notifications when those conditions are met.
Chapter 11, "Configuring Notifications," describes how to configure notifications that can be triggered by watches.
Chapter 12, "Configuring Instrumentation," describes how to add diagnostic instrumentation code to WebLogic Server classes and to the classes of applications running on the server.
Chapter 13, "Configuring the DyeInjection Monitor to Manage Diagnostic Contexts," describes how to use the DyeInjection monitor and how to use dye filtering with diagnostic monitors.
Chapter 14, "Accessing Diagnostic Data With the Data Accessor," tells how to use the WLDF Data Accessor component to retrieve diagnostic data.
Chapter 15, "Deploying WLDF Application Modules," explains how to configure and manage instrumentation for an application as a diagnostics application module.
Chapter 16, "Using the Monitoring Dashboard," explains how to graphically present the current and historical operating state of WebLogic Server and hosted applications using, in part, diagnostic data captured by WLDF.
Chapter 17, "Configuring and Using WLDF Programmatically," provides an overview of how you can use the JMX API and the WebLogic Scripting Tool (WLST) to configure and use WLDF components.
Appendix A, "WLDF Query Language," describes the WLDF query language that is used for constructing expressions to query diagnostic data using the Data Accessor, constructing watch rules, and constructing rules for filtering logs.
Appendix B, "WLDF Instrumentation Library," describes the predefined diagnostic monitors and diagnostic actions that are included in the WLDF Instrumentation Library.
Appendix C, "Using Wildcards in Expressions," discusses how to use wildcards in WLDF expressions.
Appendix D, "WebLogic Scripting Tool Examples," provides examples of how to perform WLDF monitoring and diagnostic activities using the WebLogic Scripting Tool.
"Glossary" is a glossary of terms used in WLDF.
Configuring Log Files and Filtering Log Messages for Oracle WebLogic Server describes how to use WLDF logging services to monitor server, subsystem, and application events.
"Configure the WebLogic Diagnostics Framework" in the Oracle WebLogic Server Administration Console Online Help describes how to use the visual tools in the WebLogic Administration Console to configure WLDF.
The WLDF system resource descriptor conforms to the
weblogic-diagnostics.xsd schema, available at
In addition to this document, we provide a variety of samples and tutorials that show WLDF configuration and use.
MedRec is an end-to-end sample Java EE application shipped with WebLogic Server that simulates an independent, centralized medical record management system. The MedRec application provides a framework for patients, doctors, and administrators to manage patient data using a variety of different clients.
MedRec demonstrates WebLogic Server and Java EE features, and highlights recommended best practices. MedRec is optionally installed in the WebLogic Server distribution and is available by selecting the Complete Installation type. By default, Medrec is configured post-installation in the
/user_projects/domains/medrec directory, where
ORACLE_HOME represents the Oracle home directory on your machine. For more information, see "Sample Applications and Code Examples" in Understanding Oracle WebLogic Server.
Additional WLDF samples for download can be found at
http://www.oracle.com/technetwork/indexes/samplecode/index.html. These examples are distributed as
.zip files that you can unzip into an existing WebLogic Server samples directory structure. These samples include Oracle-certified ones, as well as samples submitted by fellow developers.
This document contains the following updates to describe the new WLDF features introduced in this release of WebLogic Server:
Built-in diagnostic system modules—provide a simple and easy-to-use mechanism for performing basic health and performance monitoring of a WebLogic Server instance. See Chapter 3, "Using the Built-in Diagnostic System Modules".
Oracle HotSpot support—WLDF now supports Oracle HotSpot and the Java Flight Recorder. Note that Java Flight Recorder is now disabled by default. See Using Java Flight Recorder with Oracle HotSpot.
WLDF Runtime Control—allows you to dynamically activate and deactivate diagnostic system modules without restarting the servers or clusters to which they are targeted. See Configuring Diagnostic System Modules.
New WLST commands to activate and deactivate diagnostic system modules, deploy and undeploy diagnostic system modules based on resource descriptors that are not persisted in the domain configuration, and dump the diagnostic Harvester data collected by a diagnostic system module to a file. See Using WLST to Activate and Deactivate Diagnostic System Modules and WLST Commands for Diagnostics.
For a comprehensive listing of the new WebLogic Server features introduced in this release, see What's New in Oracle WebLogic Server.