fix false positive reboots (is engine uptime higher than device uptime?) Thanks to Michael Hsu from Media Temple.

git-svn-id: http://www.observium.org/svn/observer/trunk@2856 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong
2012-02-04 17:29:51 +00:00
parent 2c21b7f734
commit 8bc2f0fcd2

View File

@ -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']);