$ifDescr", $interface['device_id'], $interface['interface_id']); } if ( $interface['ifName'] != $ifName && $ifName != "" ) { $update .= $seperator . "`ifName` = '$ifName'"; $seperator = ", "; eventlog("ifName -> $ifName", $interface['device_id'], $interface['interface_id']); } if ( $interface['ifAlias'] != $ifAlias && $ifAlias != "" ) { $update .= $seperator . "`ifAlias` = '".mres($ifAlias)."'"; $seperator = ", "; eventlog("ifAlias -> $ifAlias", $interface['device_id'], $interface['interface_id']); } if ( $interface['ifOperStatus'] != $ifOperStatus && $ifOperStatus != "" ) { $update .= $seperator . "`ifOperStatus` = '$ifOperStatus'"; $seperator = ", "; eventlog("Interface went $ifOperStatus", $interface['device_id'], $interface['interface_id']); } if ( $interface['ifAdminStatus'] != $ifAdminStatus && $ifAdminStatus != "" ) { $update .= $seperator . "`ifAdminStatus` = '$ifAdminStatus'"; $seperator = ", "; if($ifAdminStatus == "up") { $admin = "enabled"; } else { $admin = "disabled"; } eventlog("Interface $admin", $interface['device_id'], $interface['interface_id']); } if ($update) { $update_query = "UPDATE `ports` SET "; $update_query .= $update; $update_query .= " WHERE `interface_id` = '" . $interface['interface_id'] . "'"; #echo("Updating : " . $device['hostname'] . " $ifDescr\nSQL :$update_query\n\n"); $update_result = mysql_query($update_query); } else { # echo("Not Updating : " . $device['hostname'] ." $ifDescr ( " . $interface['ifDescr'] . " )\n\n"); } if($ifOperStatus == "up") { $snmp_data_cmd = $config['snmpget'] . " -M ".$config['mibdir'] . " -m IF-MIB -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port']; $snmp_data_cmd .= " ifHCInOctets." . $interface['ifIndex'] . " ifHCOutOctets." . $interface['ifIndex'] . " ifInErrors." . $interface['ifIndex']; $snmp_data_cmd .= " ifOutErrors." . $interface['ifIndex'] . " ifInUcastPkts." . $interface['ifIndex'] . " ifOutUcastPkts." . $interface['ifIndex']; $snmp_data_cmd .= " ifInNUcastPkts." . $interface['ifIndex'] . " ifOutNUcastPkts." . $interface['ifIndex']; $snmp_data = shell_exec($snmp_data_cmd); $snmp_data = str_replace("Wrong Type (should be Counter32): ","", $snmp_data); $snmp_data = str_replace("No Such Instance currently exists at this OID","", $snmp_data); list($ifHCInOctets, $ifHCOutOctets, $ifInErrors, $ifOutErrors, $ifInUcastPkts, $ifOutUcastPkts, $ifInNUcastPkts, $ifOutNUcastPkts) = explode("\n", $snmp_data); if($ifHCInOctets == "" || strpos($ifHCInOctets, "No") !== FALSE ) { $octets_cmd = $config['snmpget'] . " -M ".$config['mibdir'] . " -m IF-MIB -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port']; $octets_cmd .= " ifInOctets." . $interface['ifIndex'] . " ifOutOctets." . $interface['ifIndex']; $octets = shell_exec($octets_cmd); list ($ifHCInOctets, $ifHCOutOctets) = explode("\n", $octets); } $woo = "N:$ifHCInOctets:$ifHCOutOctets:$ifInErrors:$ifOutErrors:$ifInUcastPkts:$ifOutUcastPkts:$ifInNUcastPkts:$ifOutNUcastPkts"; $ret = rrdtool_update("$rrdfile", $woo); } else { #echo("Interface " . $device['hostname'] . " " . $interface['ifDescr'] . " is down\n"); } } $rates = interface_rates ($rrdfile); mysql_query("UPDATE `ports` SET in_rate = '" . $rates['in'] . "', out_rate = '" . $rates['out'] . "' WHERE interface_id= '" . $interface['interface_id'] . "'"); } unset($portifIndex); ?>