[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

Understanding the Diagnostic Subsystem for AIX

Automatic Error Log Analysis (DIAGELA)

Automatic Error Log Analysis (diagela) provides the capability to do error log analysis whenever a permanent hardware error is logged. Whenever a permanent hardware resource error is logged and the diagela program is enabled, the diagela program is invoked. Automatic Error Log Analysis is enabled by default on all platforms.

The diagela program determines whether the error should be analyzed by the diagnostics. If the error should be analyzed, a diagnostic application will be invoked and the error will be analyzed. No testing is done. If the diagnostics determines that the error requires a service action, it sends a message to your console and to all system groups. The message contains the SRN, or a corrective action.

Running diagnostics in this mode is similar to using the diag -c -e -d device command.

Notification can also be customized by adding a stanza to the PDiagAtt object class. The following example illustrates how a customer's program can be invoked in place of the normal mail message:

PDiagAtt:

DClass = ""
DSClass = ""
DType = ""
attribute = "diag_notify"
value = "/usr/bin/customer_notify_program $1 $2 $3 $4 $5 $6"
DApp = ""

If DClass, DSClass, and DType are blank, then the customer_notify_program will apply for ALL devices. Filling in the DClass, DSClass, and DType with specifics will cause the customer_notify_program to be invoked only for that device type.

Once the above stanza is added to the ODM data base, problems will be displayed on the system console and the program specified in the value field of the diag_notify pre-defined attribute will be invoked. The following keywords will be expanded automatically as arguments to the notify program:

$1 the keyword diag_notify
$2 the resource name that reported the problem
$3 the Service Request Number
$4 the device type
$5 the error label from the error log entry
$6 the process id of the diagnostic session reporting the problem

In the case where no diagnostic program is found to analyze the error log entry, or analysis is done but no error was reported, a separate program can be specified to be invoked. This is accomplished by adding a stanza to the PDiagAtt object class with an attribute = diag_analyze. The following example illustrates how a customer's program can be invoked for this condition:

PDiagAtt:
        DClass = ""
        DSClass = ""
        DType = ""
        attribute = "diag_analyze"
        value = "/usr/bin/customer_analyzer_program $1 $2 $3 $4 $5"
        rep = "s"
        DApp = "" 

If DClass, DSClass, and DType are blank, then the customer_analyzer_program will apply for ALL devices. Filling in the DClass, DSClass, and DType with specifics will cause the customer_analyzer_program to be invoked only for that device type.

Once the above stanza is added to the ODM data base, the program specified will be invoked if there is no diagnostic program specified for the error, or if analysis was done, but no error found. The following keywords will be expanded automatically as arguments to the analyzer program:

$1 the keyword diag_analyze
$2 the resource name that reported the problem
$3 the error label from the error log entry if invoked for ELA, or
the keyword PERIODIC if invoked for Periodic Diagnostics, or
the keyword REMINDER if invoked for providing a Diagnostic Reminder
$4 the device type
$5 the keyword: no_trouble_found, if analyzer was run, but no trouble was found; or
no_analyzer, if analyzer not available.

To activate the Automatic Error Log Analysis feature, log in as root and type the following command:

/usr/lpp/diagnostics/bin/diagela ENABLE

To disable the Automatic Error Log Analysis feature, log in as root and type the following command:

/usr/lpp/diagnostics/bin/diagela DISABLE

Diagela can also be enabled and disabled using the Periodic Diagnostic Service Aid.

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]