Friday, September 27, 2013

Configuring Diagnostic Framework (DFW) Settings

A while ago, I've posted an article titled
Understanding WebLogic Incident and the Diagnostic Framework behind It[1]

This article is a follow-up of that one.  In this article, we will discuss how to configure Diagnostic Framework Settings.

Diagnostic Framework (DFW)


A quick recap what Diagnostic Framework (DFW) is.  Oracle Fusion Middleware includes a Diagnostic Framework (DFW). DFW is available with all FMW 11g installations that run on WebLogic Server. It aids in detecting, diagnosing, and resolving problems, which are targeted in particular critical errors.

There are two ways that you can modify DFW settings:
  1. Modifying the configuration file named dfw_config.xml
  2. Making updates via Fusion Middleware Control (FMW Console)[2]
In this article, we will show how to modify the following setting:
  • maxTotalIncidentSize 
which configures the maximum total disk space allocated to incidents.

Configuration File


DFW's configuration file is named dfw_config.xml.  There is one dfw_config.xml file for each server.  For example, there is one for  CRMCommonServer_1:
  • config/fmwconfig/servers/CRMCommonServer_1/dfw_config.xml
in the CRMDomain.

Here is the sample contents of dfw_config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<diagnosticsConfiguration xmlns="<snipped>" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
  <!-- maxTotalIncidentSize configures the maximum total disk space
       allocated to incidents, in megabytes. -->
  <incidentCleanup maxTotalIncidentSize="500"/>
  <incidentCreation
    incidentCreationEnabled="true"
    logDetectionEnabled="true"
    uncaughtExceptionDetectionEnabled="true"
    floodControlEnabled="true"
    floodControlIncidentCount="5"
    floodControlIncidentTimePeriod="60"
    reservedMemoryKB="512"/>
  <threadDump useExternalCommands="true"/>
  <dumpSampling enabled="true">
    <dumpSample
      sampleName="JVMThreadDump"
      diagnosticDumpName="jvm.threads"
      samplingInterval="60"
      rotationCount="10"
      dumpedImplicitly="true"
      toAppend="true">
      <dumpArgument name="timing" value="true"/>
      <dumpArgument name="context" value="true"/>
    </dumpSample>
    <dumpSample
      sampleName="JavaClassHistogram"
      diagnosticDumpName="jvm.classhistogram"
      samplingInterval="1800"
      rotationCount="5"
      dumpedImplicitly="false"
      toAppend="true">
    </dumpSample>
  </dumpSampling>
</diagnosticsConfiguration> 
In our case, we would like to update
  • maxTotalIncidentSize
to 150 MB from 500 MB.

FMW Console


To start Oracle Enterprise Manager 11g, I have used the following URL:
  • http://myserver.oracle.com:9001/em

The following diagrams show how to configure
  • maxTotalIncidentSize 
using the Fusion Middleware Control System MBean Browser:
  1. From the target navigation pane, expand the farm, then WebLogic Domain.
  2. Select the domain.
  3. From the WebLogic Domain menu, choose System MBean Browser.
  4. The System MBean Browser page is displayed.
  5. Expand Application Defined Beans, then oracle.dfw, then domain.domain_name, then dfw.jmx.DiagnosticsConfigMBean.
  6. Select one of the DiagnosticConfig entries. There is one DiagnosticConfig entry for each server.
  7. In the Application Defined MBean pane, expand Show MBean Information to see the server name.





2 comments:

Anonymous said...

This is a very nice one and gives in-depth information. I am really happy with the quality and presentation of the article. I’d really like to appreciate the efforts you get with writing this post. Thanks for sharing.
CCNA training in Mumbai

iteducationcentre said...

That was a really great post.
CCNA classes in Pune