-
Problem report
-
Resolution: Workaround proposed
-
Trivial
-
None
-
None
-
Arista Switch Models: DCS-7050SX3-96YC8, CCS-720XP-96ZC2, CCS-722XPM-48Y4
Firmware Versions: EOS version 4.29.4M, EOS version 4.28.6.1M
-
Prev.Sprint, S24-W34/35
-
0.5
The official template for monitoring Arista switches via SNMP (https://www.zabbix.com/integrations/arista#arista_snmp) contains an error in the calculation of RAM utilization, leading to incorrect trigger alerts. This issue is particularly evident in switches running newer firmware versions where a new OID is used for "memory in use."
Problem Details:
The SNMP template currently includes OIDs that calculate memory utilization using the hrStorage values. However, these calculations are not aligned with the vendor's recommendations and include memory from buffers and cache.
Arista's latest firmware introduces OID 100, which is intended to represent "memory in use" more accurately.
Attachments:
- Vendor Docs: https://arista.my.site.com/AristaCommunity/s/article/memory-utilization-on-eos-devices
- MIB file for Arista devices: http://www.net-snmp.org/docs/mibs/HOST-RESOURCES-TYPES.txt
- Screenshot showing the incorrect memory utilization calculation in Zabbix:
- Example SNMP walk output for hrStorage and related OIDs.
HOST-RESOURCES-MIB::hrStorageIndex.1 = INTEGER: 1 HOST-RESOURCES-MIB::hrStorageIndex.2 = INTEGER: 2 HOST-RESOURCES-MIB::hrStorageIndex.3 = INTEGER: 3 HOST-RESOURCES-MIB::hrStorageIndex.4 = INTEGER: 4 HOST-RESOURCES-MIB::hrStorageIndex.5 = INTEGER: 5 HOST-RESOURCES-MIB::hrStorageIndex.6 = INTEGER: 6 HOST-RESOURCES-MIB::hrStorageIndex.7 = INTEGER: 7 HOST-RESOURCES-MIB::hrStorageIndex.8 = INTEGER: 8 HOST-RESOURCES-MIB::hrStorageIndex.100 = INTEGER: 100 HOST-RESOURCES-MIB::hrStorageType.1 = OID: HOST-RESOURCES-TYPES::hrStorageRam HOST-RESOURCES-MIB::hrStorageType.2 = OID: HOST-RESOURCES-TYPES::hrStorageRam HOST-RESOURCES-MIB::hrStorageType.3 = OID: HOST-RESOURCES-TYPES::hrStorageRam HOST-RESOURCES-MIB::hrStorageType.4 = OID: HOST-RESOURCES-TYPES::hrStorageFlashMemory HOST-RESOURCES-MIB::hrStorageType.5 = OID: HOST-RESOURCES-TYPES::hrStorageVirtualMemory HOST-RESOURCES-MIB::hrStorageType.6 = OID: HOST-RESOURCES-TYPES::hrStorageVirtualMemory HOST-RESOURCES-MIB::hrStorageType.7 = OID: HOST-RESOURCES-TYPES::hrStorageVirtualMemory HOST-RESOURCES-MIB::hrStorageType.8 = OID: HOST-RESOURCES-TYPES::hrStorageVirtualMemory HOST-RESOURCES-MIB::hrStorageType.100 = OID: HOST-RESOURCES-TYPES::hrStorageRam HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: RAM HOST-RESOURCES-MIB::hrStorageDescr.2 = STRING: RAM (Buffers) HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: RAM (Cache) HOST-RESOURCES-MIB::hrStorageDescr.4 = STRING: Flash HOST-RESOURCES-MIB::hrStorageDescr.5 = STRING: Tmp HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: Root HOST-RESOURCES-MIB::hrStorageDescr.7 = STRING: Log HOST-RESOURCES-MIB::hrStorageDescr.8 = STRING: Core HOST-RESOURCES-MIB::hrStorageDescr.100 = STRING: RAM (Unavailable) HOST-RESOURCES-MIB::hrStorageAllocationUnits.1 = INTEGER: 1024 Bytes HOST-RESOURCES-MIB::hrStorageAllocationUnits.2 = INTEGER: 1024 Bytes HOST-RESOURCES-MIB::hrStorageAllocationUnits.3 = INTEGER: 1024 Bytes HOST-RESOURCES-MIB::hrStorageAllocationUnits.4 = INTEGER: 4096 Bytes HOST-RESOURCES-MIB::hrStorageAllocationUnits.5 = INTEGER: 4096 Bytes HOST-RESOURCES-MIB::hrStorageAllocationUnits.6 = INTEGER: 4096 Bytes HOST-RESOURCES-MIB::hrStorageAllocationUnits.7 = INTEGER: 4096 Bytes HOST-RESOURCES-MIB::hrStorageAllocationUnits.8 = INTEGER: 4096 Bytes HOST-RESOURCES-MIB::hrStorageAllocationUnits.100 = INTEGER: 1024 Bytes HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: 8147100 HOST-RESOURCES-MIB::hrStorageSize.2 = INTEGER: 8147100 HOST-RESOURCES-MIB::hrStorageSize.3 = INTEGER: 8147100 HOST-RESOURCES-MIB::hrStorageSize.4 = INTEGER: 1860826 HOST-RESOURCES-MIB::hrStorageSize.5 = INTEGER: 16384 HOST-RESOURCES-MIB::hrStorageSize.6 = INTEGER: 305517 HOST-RESOURCES-MIB::hrStorageSize.7 = INTEGER: 203678 HOST-RESOURCES-MIB::hrStorageSize.8 = INTEGER: 203678 HOST-RESOURCES-MIB::hrStorageSize.100 = INTEGER: 8147100 HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 5929192 HOST-RESOURCES-MIB::hrStorageUsed.2 = INTEGER: 360908 HOST-RESOURCES-MIB::hrStorageUsed.3 = INTEGER: 3701292 HOST-RESOURCES-MIB::hrStorageUsed.4 = INTEGER: 603976 HOST-RESOURCES-MIB::hrStorageUsed.5 = INTEGER: 0 HOST-RESOURCES-MIB::hrStorageUsed.6 = INTEGER: 21182 HOST-RESOURCES-MIB::hrStorageUsed.7 = INTEGER: 35893 HOST-RESOURCES-MIB::hrStorageUsed.8 = INTEGER: 0 HOST-RESOURCES-MIB::hrStorageUsed.100 = INTEGER: 2183800 HOST-RESOURCES-MIB::hrStorageAllocationFailures.1 = Counter32: 0 HOST-RESOURCES-MIB::hrStorageAllocationFailures.2 = Counter32: 0 HOST-RESOURCES-MIB::hrStorageAllocationFailures.3 = Counter32: 0 HOST-RESOURCES-MIB::hrStorageAllocationFailures.4 = Counter32: 0 HOST-RESOURCES-MIB::hrStorageAllocationFailures.5 = Counter32: 0 HOST-RESOURCES-MIB::hrStorageAllocationFailures.6 = Counter32: 0 HOST-RESOURCES-MIB::hrStorageAllocationFailures.7 = Counter32: 0 HOST-RESOURCES-MIB::hrStorageAllocationFailures.8 = Counter32: 0 HOST-RESOURCES-MIB::hrStorageAllocationFailures.100 = Counter32: 0