$uptime && is_numeric($snmp_uptime)) { $uptime = $snmp_uptime; d_echo('hrSystemUptime or sysUpTime looks like to have rolled, using snmpEngineTime instead'); } if (is_numeric($uptime)) { if ($uptime < $device['uptime']) { log_event('Device rebooted after '.formatUptime($device['uptime']), $device, 'reboot', $device['uptime']); } $tags = array( 'rrd_def' => 'DS:uptime:GAUGE:600:0:U', ); data_update($device, 'uptime', $tags, $uptime); $graphs['uptime'] = true; echo 'Uptime: '.formatUptime($uptime)."\n"; $update_array['uptime'] = $uptime; }//end if $poll_device['sysLocation'] = str_replace('"', '', $poll_device['sysLocation']); // Remove leading & trailing backslashes added by VyOS/Vyatta/EdgeOS $poll_device['sysLocation'] = trim($poll_device['sysLocation'], '\\'); // Rewrite sysLocation if there is a mapping array (database too?) if (!empty($poll_device['sysLocation']) && is_array($config['location_map'])) { $poll_device['sysLocation'] = rewrite_location($poll_device['sysLocation']); } $poll_device['sysContact'] = str_replace('"', '', $poll_device['sysContact']); // Remove leading & trailing backslashes added by VyOS/Vyatta/EdgeOS $poll_device['sysContact'] = trim($poll_device['sysContact'], '\\'); foreach (array('sysLocation', 'sysContact') as $elem) { if ($poll_device[$elem] == 'not set') { $poll_device[$elem] = ''; } } // Save results of various polled values to the database foreach (array('sysContact', 'sysObjectID', 'sysName', 'sysDescr') as $elem) { if ($poll_device[$elem] && $poll_device[$elem] != $device[$elem]) { $update_array[$elem] = $poll_device[$elem]; log_event("$elem -> ".$poll_device[$elem], $device, 'system'); } } if ($poll_device['sysLocation'] && $device['location'] != $poll_device['sysLocation'] && $device['override_sysLocation'] == 0) { $update_array['location'] = $poll_device['sysLocation']; log_event('Location -> '.$poll_device['sysLocation'], $device, 'system'); } if ($config['geoloc']['latlng'] === true) { location_to_latlng($device); }