Introduction to the WebLogic Diagnostics Framework (WLDF)
Pages: 1, 2, 3

Gathering Data

While MBeans and the Instrumentation component are busy generating data, the next major step is to start gathering the pieces of data you are interested in with the eventual goal of analyzing it. A lot of data can be generated from the MBeans and the Instrumentation component so you will probably want to pick and choose what you wish to view. Several components in WLDF help gather the generated data in different ways.

Data harvesters (collected metrics)

Data harvesters are used to collect, analyze, and archive the metrics that the runtime MBeans generate. Values from selected MBean attributes are gathered by the harvester at a specified sampling rate. Harvesting data is particularly useful for monitoring system state and measuring system performance. The data harvester component is managed by the WLDFHarvesterRuntimeBean, which defines which attributes, instances, and types of other MBeans are harvestable.

Figure 1 and Figure 2 are screenshots from the administration console displaying the configuration of a data harvester.

Figure 1
Figure 1: A data harvester collecting attributes from the JDBCDataSourceRuntimeMBean

Figure 2
Figure 2: Data harvesters can pick the instances from which it gathers the previously chosen attributes.

Watches and notifications

Watches take the generated data and collect the data of interest to you. A watch will then notify you when the data is generated. This comes in handy when you are looking for a particular event or attribute value. Instead of sitting in front of the server trying to catch it happening, you can let WLDF let you know when it happens. Watches can gather data from log records, data events (instrumentation), and harvested metrics. The watch contains a rule expression so when the conditions are met, one or more notifications are launched. For example, if you wanted to be notified when the SocketsOpenedTotalCount for the administration server was over 5, you would set up a watch with a rule expression such as the following:

<rule-expression>

 (${com.bea:Name=MyAdministrationServer,

             Type=ServerRuntime//SocketsOpenedTotalCount} > 5)

</rule-expression>

Once you have defined what you are watching and on what servers, then you need to determine how you want to be notified. The notifications inform you when the rule expression or event you are waiting for happens. There are five different kinds of notifications: JMX, JMS, SNMP, SMTP, and Image.

Each watch can have one or more notifications. The WLDFWatchNotificationMBean can provide statistical information about the watches and notifications managed by each server.

Image capture

A diagnostic image is a server-level state dump for the purpose of diagnosing significant failures. It provides the capability to capture a significant amount of important data in a structured format and then to provide that data to support personnel for analysis. When an image capture is performed, information is collected on the different subsystems, such as JMS, JDBC, EJB, and JNDI, as well as common sources of the server state such as:

The data is saved as a series of XML files in a single archived file. Images can be captured manually through the administration console, via a WLDF notification, as a ""first failure" detection, through WLST and using JMX. The WLDFImageRuntimeMBean is the MBean that supports the creation of a diagnostic image. Each operation performed by the MBean spawns a separate thread to perform the actual work, as shown in Figure 3.

Figure 3
Figure 3: A diagnostic image is a series of .img files (XML files) gathered together into a .zip file.

In summary, other than the standard log files, there are three ways of gathering the data generated by MBeans and instrumentation. The data harvester (collected metrics) will gather data from runtime MBeans so you can pick and choose which runtime MBeans you want data from and what attributes you are interested in. Watches look for a particular event generated from the Instrumentation component, for runtime MBean generated data or for log file entries, gathers the data, and notifies you when it appears. Image capture gathers data about your system by taking a snapshot at a given moment in time. Now it is time to take a look at that data.

Pages: 1, 2, 3

Next Page ยป