[OK] Installed from package; no Composer required
[OK] Database connection successful
[OK] Database schema correct
[WARN] Non-git install, updates are manual or from package
We just ran into this after upgrading from junos 15 to 18 on Juniper QFX and MX routers. I believe Juniper introduced a bug somewhere between 15 and 18. In junos 15 all instances of jnxOperatingDRAMSize always returned “0” (correct since its depreciated). However after upgrading to junos 18 jnxOperatingDRAMSize started returning the wacky negative numbers.
Perhaps jnxOperatingDRAMSize should be completely removed from junos discovery and pollers since its officially depreciated, or at least updated to ignore negative values?
Problem is its looking for jnxOperatingDRAMSize first, and when it gets any non-zero value (including negative values) it uses that instead of looking at jnxOperatingMemory. Maybe it should look for jnxOperatingMemory first and only fallback to jnxOperatingDRAMSize as a last resort?
From librenms/includes/polling/mempools/junos.inc.php:
// FIX ME -- Maybe another OID? Some equipment do not provide jnxOperatingDRAMSize like MX960
if ($entry['jnxOperatingDRAMSize']) {
$memory_available = $entry['jnxOperatingDRAMSize'];
} else {
$memory_available = ($entry['jnxOperatingMemory'] * 1024 * 1024);
}
Since jnxOperatingDRAMSize was bogus, I completely removed the “if else” condition and went with jnxOperatingMemory only.
we are now running junos 19.x and it works well