#!/usr/bin/php = '3') { echo("$ciscomodel"); $newhardware = $ciscomodel; } } pollDeviceIOS(); break; case "ProCurve": $sysDescr = str_replace(", ", ",", $sysDescr); list($newhardware, $newfeatures, $newversion) = explode(",", $sysDescr); list($newversion) = explode("(", $newversion); if(!strstr($ciscomodel, " ")) { echo("$ciscomodel"); $newhardware = str_replace("\"", "", $ciscomodel); } include("includes/polling/device-procurve.inc.php"); break; case "Snom": $cmd = "snmpget -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'] . " 1.3.6.1.2.1.7526.2.4"; $sysDescr = `$cmd`; $sysDescr = str_replace("-", " ", $sysDescr); $sysDescr = str_replace("\"", "", $sysDescr); list($newhardware, $newfeatures, $newversion) = explode(" ", $sysDescr); pollDeviceSnom(); break; default: pollDevice(); } $newlocation = str_replace("\"","", $sysLocation); include("includes/polling/temperatures.inc.php"); include("includes/polling/device-netstats.inc.php"); } else { $newstatus = '0'; } if ( $sysDescr && $sysDescr != $device['sysDescr'] ) { $update = "`sysDescr` = '$sysDescr'"; $seperator = ", "; mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'sysDescr -> $sysDescr')"); } if ( $newlocation && $device['location'] != $newlocation ) { $update = "`location` = '$newlocation'"; $seperator = ", "; mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'Location -> $newlocation')"); } if ( $newversion && $device['version'] != $newversion ) { $update .= $seperator . "`version` = '$newversion'"; $seperator = ", "; mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'OS Version -> $newversion')"); } if ( $newfeatures && $newfeatures != $device['features'] ) { $update .= $seperator . "`features` = '$newfeatures'"; $seperator = ", "; mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'OS Features -> $newfeatures')"); } if ( $newhardware && $newhardware != $device['hardware'] ) { $update .= $seperator . "`hardware` = '$newhardware'"; $seperator = ", "; mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'Hardware -> $newhardware')"); } if( $device['status'] != $newstatus ) { $update .= $seperator . "`status` = '$newstatus'"; $seperator = ", "; if ($newstatus == '1') { $stat = "Up"; mysql_query("INSERT INTO alerts (importance, device_id, message) VALUES ('0', '" . $device['device_id'] . "', 'Device is up\n')"); } else { $stat = "Down"; mysql_query("INSERT INTO alerts (importance, device_id, message) VALUES ('9', '" . $device['device_id'] . "', 'Device is down\n')"); } mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'Device status changed to $stat')"); } if ($newuptime) { echo("Uptime : $newuptime\n"); $uptimerrd = "rrd/" . $device['hostname'] . "-uptime.rrd"; if(!is_file($uptimerrd)) { $woo = `rrdtool create $uptimerrd \ DS:uptime:GAUGE:600:0:U \ RRA:AVERAGE:0.5:1:600 \ RRA:AVERAGE:0.5:6:700 \ RRA:AVERAGE:0.5:24:775 \ RRA:AVERAGE:0.5:288:797`; } rrd_update($uptimerrd, "N:$newuptime"); $update_uptime_attrib = mysql_query("UPDATE devices_attribs SET attrib_value = '$newuptime' WHERE `device_id` = '" . $device['device_id'] . "' AND `attrib_type` = 'uptime'"); if(mysql_affected_rows() == '0') { $insert_uptime_attrib = mysql_query("INSERT INTO devices_attribs (`device_id`, `attrib_type`, `attrib_value`) VALUES ('" . $device['device_id'] . "', 'uptime', '$newuptime')"); } } if ($update) { $update_query = "UPDATE `devices` SET "; $update_query .= $update; $update_query .= " WHERE `id` = '" . $device['device_id'] . "'"; echo("Updating " . $device['hostname'] . "\n" . $update_query . "\n\n"); $update_result = mysql_query($update_query); } else { echo("No Changes to " . $device['hostname'] . "\n\n"); } } ?>