Hi,
Ah, 32-bit gauge overflow :-)
They provide two values as 32-bit:
cempMemPoolUsed at 1.3.6.1.4.1.9.9.221.1.1.1.1.7 cempMemPoolFree at 1.3.6.1.4.1.9.9.221.1.1.1.1.8
and two values as 64-bit:
cempMemPoolHCUsed at 1.3.6.1.4.1.9.9.221.1.1.1.1.18 cempMemPoolHCFree at 1.3.6.1.4.1.9.9.221.1.1.1.1.20
As you can see the Free gauges are different, and the difference is exactly 4294967296:
iso.3.6.1.4.1.9.9.221.1.1.1.1.3.18788073.1 = STRING: "processor" iso.3.6.1.4.1.9.9.221.1.1.1.1.3.52690955.1 = STRING: "processor" iso.3.6.1.4.1.9.9.221.1.1.1.1.7.18788073.1 = Gauge32: 2872316328 iso.3.6.1.4.1.9.9.221.1.1.1.1.7.52690955.1 = Gauge32: 3474185272 iso.3.6.1.4.1.9.9.221.1.1.1.1.8.18788073.1 = Gauge32: 1225519104 iso.3.6.1.4.1.9.9.221.1.1.1.1.8.52690955.1 = Gauge32: 621715456 iso.3.6.1.4.1.9.9.221.1.1.1.1.18.18788073.1 = Counter64: 2872316328 iso.3.6.1.4.1.9.9.221.1.1.1.1.18.52690955.1 = Counter64: 3474185272 iso.3.6.1.4.1.9.9.221.1.1.1.1.20.18788073.1 = Counter64: 5520486400 iso.3.6.1.4.1.9.9.221.1.1.1.1.20.52690955.1 = Counter64: 4916682752
It seems that observium looks at the 32-bit values and then miscalculates. Just remove some RAM from those routers so they don't overflow the counters ;)
Or maybe I can fix the code...
Cheers, Sander