Use uptime fetched from Agent.

git-svn-id: http://www.observium.org/svn/observer/trunk@3126 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong
2012-05-03 11:43:29 +00:00
parent 73d8d169ea
commit c25f4d46e5

View File

@ -18,12 +18,14 @@
$poll_device['sysDescr'] = snmp_get($device, "sysDescr.0", "-Oqv", "SNMPv2-MIB");
$poll_device['sysObjectID'] = snmp_get($device, "sysObjectID.0", "-Oqvn", "SNMPv2-MIB");
$poll_device['sysName'] = strtolower($poll_device['sysName']);
$hrSystemUptime = snmp_get($device, "hrSystemUptime.0", "-Oqv", "HOST-RESOURCES-MIB");
if(!empty($agent_data['uptime'])) { list($uptime) = explode(" ", $agent_data['uptime']); $uptime = round($uptime); echo("Using UNIX Agent Uptime ($uptime)\n");}
if ($hrSystemUptime != "" && !strpos($hrSystemUptime, "No") && ($device['os'] != "windows"))
if (empty($uptime))
{
$hrSystemUptime = snmp_get($device, "hrSystemUptime.0", "-Oqv", "HOST-RESOURCES-MIB");
if (!empty($hrSystemUptime) && !strpos($hrSystemUptime, "No") && ($device['os'] != "windows"))
{
echo("Using hrSystemUptime (".$hrSystemUptime.")\n");
$agent_uptime = $uptime; ## Move uptime into agent_uptime
@ -37,7 +39,7 @@
$secs = $secs + ($mins * 60);
$uptime = $secs;
} else {
echo("Using Agent Uptime (".$poll_device['sysUpTime'].")\n");
echo("Using SNMP Agent Uptime (".$poll_device['sysUpTime'].")\n");
#SNMPv2-MIB::sysUpTime.0 = Timeticks: (2542831) 7:03:48.31
$poll_device['sysUpTime'] = str_replace("(", "", $poll_device['sysUpTime']);
$poll_device['sysUpTime'] = str_replace(")", "", $poll_device['sysUpTime']);
@ -48,6 +50,7 @@
$secs = $secs + ($mins * 60);
$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");