The PM shows the following information:
The System Object ID: 1.3.6.1.4.1.2011.2.224.317 is not certified for PM yet.
DX NetOps Performance Management 23.3.13
The attrs are probably all integers so it's only doing integer math, and dropping anything < 0.
300 / 900 = 0.333 so it rounds to 0, then * 100 = 0
The workaround is extend the VC (Vendor Certification) to change the Memory Utilization expression
From: ((hwMemoryDevSize - hwMemoryDevFree) / hwMemoryDevSize) * 100
To: snmpProtectedDiv(((100.0)*(hwMemoryDevSize-hwMemoryDevFree)),(hwMemoryDevSize))
Here are the detailed steps:
a) Create the HuaweiMemoryMib_Utilization_change.xml file with this content in the /opt/IMDataAggregator/data/certifications/extensions/ directory of the DA (Data Aggregator) host:
<?xml version="1.0" encoding="UTF-8"?>
<DataModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" namespace="http://im.ca.com/certifications/snmp" xsi:noNamespaceSchemaLocation="SNMPCertificationFacet.xsd">
<Version>1.1</Version>
<Author>CA</Author>
<FacetType descriptorClass="com.ca.im.core.datamodel.certs.CertificationFacetDescriptorImpl" name="HuaweiMemoryMib">
<FacetOf name="Item" namespace="http://im.ca.com/core"/>
<Expressions>
<ExpressionGroup destCert="{http://im.ca.com/normalizer}NormalizedMemoryInfo" name="HuaweiMemoryDS">
<Expression destAttr="Utilization">snmpProtectedDiv(((100.0)*(hwMemoryDevSize-hwMemoryDevFree)),(hwMemoryDevSize))</Expression>
</ExpressionGroup>
</Expressions>
</FacetType>
</DataModel>
Note: If you have DA in Fault Tolerant, the data directory does not exist. Place the file in the /DASharedRepo/certifications/extensions/ directory of the active DA host.
Where DASharedRepo is the shared disk.
b) On the DA (Data Aggregator) host, navigate to the /opt/IMDataAggregator/data/certifications/extensions/ directory and run this cURL syntax to import the certification extension file (HuaweiMemoryMib_Utilization_change.xml).
1) Go to the directory where you placed the xml file:
cd /opt/IMDataAggregator/data/certifications/extensions/
2) Run this cURL syntax to get the current version of the certification extension:
curl -u admin -X GET http://localhost:8581/typecatalog/certifications/snmp/extension/HuaweiMemoryMib (OOB HTTP)
OR
curl -k -u admin -X GET https://localhost:8582/typecatalog/certifications/snmp/extension/HuaweiMemoryMib (If you enabled HTTPS)
3) Run this cURL syntax to import the new certification extension file (HuaweiMemoryMib_Utilization_change.xml) to update the Huawei Memory Utilization expression:
curl -u admin -H "Content-Type: application/xml" -X PUT -d @HuaweiMemoryMib_Utilization_change.xml http://localhost:8581/typecatalog/certifications/snmp/extension/HuaweiMemoryMib
OR
curl -k -u admin -H "Content-Type: application/xml" -X PUT -d @HuaweiMemoryMib_Utilization_change.xml https://localhost:8582/typecatalog/certifications/snmp/extension/HuaweiMemoryMib
You should see statusCode 200, which means successful:
Enter host password for user 'admin':
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type='text/xsl' href='/typecatalog/TCWebServiceStatus.xsl'?>
<TCWebServiceStatus>
<statusCode>200</statusCode>
<statusMessage>Vendor Certification has been successfully uploaded. Some changes may not take effect until automated Change Detection occurs or the "Update Metric Family" button has been pressed.</statusMessage>
<statusMessageTag>com.ca.im.item.ws.impl.TypeCatalogWebServiceEndPointImpl.snmpvc.success</statusMessageTag>
<l10nprops>
<!-- Localization properties for building translated status page -->
<title>Type Catalog Web Service Status</title>
<code>Status code</code>
<message>Message</message>
</l10nprops>
</TCWebServiceStatus>
4) Run this cURL syntax to confirm the new version of the certification extension:
curl -u admin -X GET http://localhost:8581/typecatalog/certifications/snmp/extension/HuaweiMemoryMib (OOB HTTP)
OR
curl -k -u admin -X GET https://localhost:8582/typecatalog/certifications/snmp/extension/HuaweiMemoryMib (If you enabled HTTPS)
The new version, 1.1 will be displayed.
c) On the Portal confirm the Metric Expression has been updated.
d) On the Portal, Polled Metric Families for the Huawei devices, click on Update Metric Family. After discovery is complete, the Memory Utilization should display the correct value.