Smarts SAM/Smarts IP: How to reduce errors noted in the sm_notify-file_en_US_UTF-8.log.
search cancel

Smarts SAM/Smarts IP: How to reduce errors noted in the sm_notify-file_en_US_UTF-8.log.

book

Article ID: 304210

calendar_today

Updated On:

Products

VMware

Issue/Introduction

Symptoms:


How to reduce errors noted in the sm_notify-file_en_US_UTF-8.log.

 This is an example of the errors found in the sm_notify_file log errors:  ASL-W-ERROR_RULE_SOURCE-While executing rule set '/opt/InCharge/IP/smarts/rules/notifier/notify.asl'
ASL-ERROR_ACTION-While executing action at:
ASL-CALL_STACK_RULE- RuleName: POPULATE_EVENT, Line: 550
ASL-CALL_STACK_RULE- RuleName: PROCESS_NOTIFY, Line: 384
ASL-CALL_STACK_RULE- RuleName: PROCESS_EVENT, Line: 262
ASL-CALL_STACK_RULE- RuleName: START, Line: 128
ASL-ERROR_GET-While attempting to get property 'Instruments' of object 'SNMPAgent::SNMPAgent-xxxxxx'
CI-EWHILE-While executing function "get(className, instanceName, propertyName)"
SVIF-EREMOTE-Remote error occurred. See exception chain for detail.
MR-PROPERTY_NOT_FOUND-Specified property 'Instruments' not found in class; in file "/work/blackcurrent/DMT-9.0.2.X/7/smarts/repos/mr/classdef.c" at line 2713

Environment

VMware Smart Assurance - SMARTS

Cause

By default the notify.asl has debug turned on in the Instrumentation section.  These errors are for debugging purposes only.

Resolution

sysObj = theObj->getSystem()?LOG("Debug"),IGNORE; Looking at the notify.asl on method "POPULATE_EVENT" the following logic is implemented.
To eliminate the logging of the error message above find the section of the notify.asl shown below.

Use sm_edit to modify the file notify.asl.

1. <BASEDIR>/smarts/bin/sm_edit rules/notifier/notify.asl 

Find the Instrumentation section as shown below.

// ICIM Instrumentation objects have the "Instruments"
// relationship to an object with the "getSystem()" call. If
// the source of the event isn't an instrumentation class
// (i.e. it doesn't have the "Instruments" relationship), just
// try to call "getSystem()".
sysObj = theObj->Instruments->getSystem()?LOG("Debug"),IGNORE; <<<<<<<<
if (!defined(sysObj) || sysObj->isNull()) {
sysObj = theObj->getSystem()?LOG("Debug"),IGNORE; <<<<<<<<<<<<<<<<
}

Change to the following:

sysObj = theObj->Instruments->getSystem()?IGNORE;
if (!defined(sysObj) || sysObj->isNull()) {
sysObj = theObj->getSystem()?IGNORE;

2. Save the file and restart your notifier