Monitoring Provisioning Tasks

All known provisioning errors thrown by OIM or Yale objects are classified into one of three categories. This category tells the monitoring system how to treat the error.

Category Retry Count Meaning
OK any Listed as OK with a green icon. No further action is necessary.
WARN Not maxed out Listed as OK with a green icon. No immediate action is necessary.
WARN Maxed out Listed as a warning with a yellow icon. No immediate action is necessary.
FAIL Not maxed out Listed as a warning with a yellow icon. No immediate action is necessary.
FAIL Maxed out Listed as a failure with a red icon. Action should be taken to resolve the problem as soon as possible.
Unclassified any
Listed as a warning with a yellow icon.  No immediate action may be necessary.  The error should be added to the classification table.

In addition to the above classifications, if the status page is being checked outside of normal business hours (8:00 AM - 5:00 PM Monday through Friday) the above classifications will all be bumped down one level. So error categories of FAIL above would be downgraded to WARN, and WARN downgraded to OK. This is done because most provisioning errors are not critical ones where someone needs to be contacted off-hours to address the issue.

The oim_error_classification table lists all classified errors. It consists of four columns:

Column Contents
sch_data
Contains the error message stored by OIM.  For classified errors, this matches the sch.sch_data value.
classification This is how the error is classified.  Valid values are OK, WARN or FAIL.
off_hours_ovrd This is a flag to override the downgrading of error classifications outside of normal work hours. When set to Y, the error condition WILL NOT downgrade one level after hours.
display_as English description of the error.

Query for error counts and classifications:

SELECT sch.sch_data,
       obj.obj_name,
       COUNT (*) error_count,
       NVL (cls.classification, 'NONE') classification,
       DECODE (osi.osi_retry_counter,
               0, 'MAXED',
               NULL, 'MAXED',
               'NOT MAXED') oim_retry_status,
       NVL (cls.off_hours_override, 'N'),
       NVL (cls.display_as, 'Not Classified') display_as
  FROM idmgr.oti,
       idmgr.sch,
       idmgr.obj,
       oim_error_classification cls,
       idmgr.osi
 WHERE oti.sch_key = sch.sch_key
   AND obj.obj_key = oti.obj_key
   AND osi.sch_key = sch.sch_key
   AND sch.sch_status = 'R'
   AND sch.sch_data = cls.sch_data(+)
 GROUP BY sch.sch_status,
          sch.sch_data,
          obj.obj_name,
          cls.classification,
          osi.osi_retry_counter,
          cls.off_hours_override,
          cls.display_as;

Build this into a query with classification and retry attempts.

Labels

 
(None)