The following sections of this Fix statement explain how Smarts IP for the versions specified above (see Note statement) calculates alarms for InsufficientFreeMemory and VoltageSensor OutOfRange.
Smarts IP InsufficientFreeMemory Memory alarms
To calculate InsufficientFreeMemory alarms, Smarts does the following:
- Smarts first polls for cempMemPoolFree and cempMemPoolUsed as follows:
cempMemPoolFree = "1.3.6.1.4.1.9.9.221.1.1.1.1.8 (to get FreeMemory)
= cempMemPoolFree / 1024 (to refine computed FreeMemory)
cempMemPoolUsed = "1.3.6.1.4.1.9.9.221.1.1.1.1.7 (to get TotalMemory)
= (cempMemPoolUsed + cempMemPoolFree) / 1024; (to refine computed TotalMemory)
- The FreeMemory and TotalMemory values are used to derive the refine computed FreeMemoryPct, which is the percentage of free memory of the total memory:
= TotalMemory > 0 ?
(double(FreeMemory) * 100.0 / double(TotalMemory) ) : 100.0
else 0.0;
- The FreeMemoryPct is now used to derive the InsufficientFreeMemory event. This event indicates that the system is running out of the memory resources and the percentage of free memory is below the FreeMemoryThreshold value. The FreeMemoryThreshold is the value set for the SystemResourceGroups of the Smarts GUI Threshold tab.
= if FreeMemoryThreshold > 0
check FreeMemoryPct < FreeMemoryThreshold ""
TotalBufferAllocationFailures > 0;
VoltageSensor OutOfRange alarms
To calculate VoltageSensor OutOfRange alarms, Smarts does the following:
- To derive at OutofRange events, Smarts first polls for the following entSensorValue and entSensorStatus OIDs of the IOSXR/Cisco Entity MIB:
entSensorValue = "1.3.6.1.4.1.9.9.91.1.1.1.1.4
entSensorStatus = "1.3.6.1.4.1.9.9.91.1.1.1.1.5
- To refine the computed CurrentValue being computed from entSensorValue:
CurrentValue = entSensorValue/1000.0
- The HighThreshold and LowThreshold values are computed from RelativeVoltageThreshold, VoltageSensorHighThreshold and VoltageSensorLowThreshold values which are set it in Threshold tab in the Smarts GUI:
refine computed HighThreshold
= (1 - RelativeVoltageThreshold/100) *
(VoltageSensorHighThreshold);
refine computed LowThreshold
= (1 + RelativeVoltageThreshold/100) *
(VoltageSensorLowThreshold);
refine OutOfRange_attributes
definition:
return "LIST - Status "
" VOLT HighThreshold "
" VOLT LowThreshold "
" VOLT CurrentValue "
" PCT RelativeVoltageThreshold "
" - entSensorValue ";
- Once the OutOfRange attributes are computed, Smarts computes the OutOfRange event as follows:
event OutOfRange
"Indicates that the voltage for this device is outside of the normal "
"operating range and exceeds RelativeVoltageThreshold."
= if ValidThresholds && Status != VoltageSensor::SHUTDOWN
check ValidValue &&
((IsPositiveVoltage &&
(CurrentValue > HighThreshold "" CurrentValue < LowThreshold))
"" (!IsPositiveVoltage &&
(CurrentValue < HighThreshold "" CurrentValue > LowThreshold)));