diff --git a/includes/polling/system.inc.php b/includes/polling/system.inc.php index acb1c072b..f990cc080 100755 --- a/includes/polling/system.inc.php +++ b/includes/polling/system.inc.php @@ -49,9 +49,15 @@ $uptime = $secs; } + // Use snmpEngineTime (68 year rollover) to cross-reference for false positives in device rebooting due to sysUpTime rollover issues + $snmpEngineTime = (integer)snmp_get($device, "snmpEngineTime.0", "-OUqv", "SNMP-FRAMEWORK-MIB"); + if (!is_numeric($snmpEngineTime)) { + $snmpEngineTime = 0; + } + if (is_numeric($uptime)) { - if ($uptime < $device['uptime']) + if ($uptime < $device['uptime'] && $uptime >= $snmpEngineTime) { notify($device,"Device rebooted: " . $device['hostname'], "Device Rebooted : " . $device['hostname'] . " " . formatUptime($uptime) . " ago."); log_event('Device rebooted after '.formatUptime($device['uptime']), $device, 'reboot', $device['uptime']);