Incorrect metric collection for vendor certification HuaweiEntityTemperatureMib in CAPM
search cancel

Incorrect metric collection for vendor certification HuaweiEntityTemperatureMib in CAPM

book

Article ID: 246493

calendar_today

Updated On:

Products

CA Performance Management - Usage and Administration DX NetOps

Issue/Introduction

The Vendor Certification for HuaweiEntityTemperatureMib is set to collect all indexes and create a metric for each index. This results in a large number of collected metrics with irrelevant and unusable data. 

Huawei Docs - CloudEngine 16800 V200R020C00 MIB Reference; the value for hwEntityTemperature should only be collected on relevant indexes.

Environment

DX NetOps CAPM 20.2 or later

Cause

This is a Vendor (Huawei) issue.

It is related to a minimal Agent / Inventive MIB definition on the Vendor part where they're using one Table and Type / Class Codes to define the type of entry and its value rather than have a separate Temperature / Power / Fan status Table.

The component name and description should contain the meaning values of entPhysicalName and entPhysicalClass, instead of the index which doesn't identify the item.

Resolution

Broadcom Sustaining Engineering has developed a work-around solution of creating a VC Extension where they added three new attrs/OIDs:

<Attribute name=“entPhysicalName” type=“String”>

     <IsKey>false</IsKey>

     <Source>1.3.6.1.2.1.47.1.1.1.1.7</Source>

</Attribute>

<Attribute name=“entPhysicalClass” type=“int”>

     <IsKey>false</IsKey>

     <Source>1.3.6.1.2.1.47.1.1.1.1.5</Source>

</Attribute>

<Attribute name=“entIndex” type=“int”>

     <IsKey>false</IsKey>

     <IsIndex>true</IsIndex>

     <Source>1.3.6.1.2.1.47.1.1.1.1.5</Source>

</Attribute>

Then added a Filter and VariableGroup:

     <Filter>getFromMap( typeMap, Index )==6 || getFromMap( typeMap, Index )==9</Filter>

        <VariableGroup>

          <Variable name=“typeMap”>createMap( entIndex, entPhysicalClass )</Variable>

          <Variable name=“nameMap”>createMap( entIndex, entPhysicalName )</Variable>

        </VariableGroup>

Then modified expressions of  Name and Description:

<Expression destAttr=“Names”>“Temp-” + getFromMap( nameMap, Index )</Expression>

<Expression destAttr=“Descriptions”>“Type ” + getFromMap( typeMap, Index )</Expression>

You can implement the above as a work-around.