mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
more cleanup/reindent, yay
git-svn-id: http://www.observium.org/svn/observer/trunk@1839 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
@@ -1,73 +1,69 @@
|
|||||||
<?php
|
<?php
|
||||||
unset ($mac_table);
|
|
||||||
|
|
||||||
echo("ARP Table : ");
|
unset ($mac_table);
|
||||||
|
|
||||||
$ipNetToMedia_data = snmp_walk($device, 'ipNetToMediaPhysAddress', '-Oq', 'IP-MIB');
|
echo("ARP Table : ");
|
||||||
$ipNetToMedia_data = str_replace("ipNetToMediaPhysAddress.", "", trim($ipNetToMedia_data));
|
|
||||||
$ipNetToMedia_data = str_replace("IP-MIB::", "", trim($ipNetToMedia_data));
|
$ipNetToMedia_data = snmp_walk($device, 'ipNetToMediaPhysAddress', '-Oq', 'IP-MIB');
|
||||||
#echo("$ipNetToMedia_data\n");
|
$ipNetToMedia_data = str_replace("ipNetToMediaPhysAddress.", "", trim($ipNetToMedia_data));
|
||||||
#echo("done\n");
|
$ipNetToMedia_data = str_replace("IP-MIB::", "", trim($ipNetToMedia_data));
|
||||||
foreach(explode("\n", $ipNetToMedia_data) as $data) {
|
|
||||||
list($oid, $mac) = explode(" ", $data);
|
foreach (explode("\n", $ipNetToMedia_data) as $data)
|
||||||
list($if, $first, $second, $third, $fourth) = explode(".", $oid);
|
{
|
||||||
list($m_a, $m_b, $m_c, $m_d, $m_e, $m_f) = explode(":", $mac);
|
list($oid, $mac) = explode(" ", $data);
|
||||||
$interface = mysql_fetch_array(mysql_query("SELECT * FROM ports WHERE device_id = '".$device['device_id']."' AND ifIndex = '".$if."'"));
|
list($if, $first, $second, $third, $fourth) = explode(".", $oid);
|
||||||
$ip = $first .".". $second .".". $third .".". $fourth;
|
list($m_a, $m_b, $m_c, $m_d, $m_e, $m_f) = explode(":", $mac);
|
||||||
$m_a = zeropad($m_a);
|
$interface = mysql_fetch_array(mysql_query("SELECT * FROM ports WHERE device_id = '".$device['device_id']."' AND ifIndex = '".$if."'"));
|
||||||
$m_b = zeropad($m_b);
|
$ip = $first .".". $second .".". $third .".". $fourth;
|
||||||
$m_c = zeropad($m_c);
|
|
||||||
$m_d = zeropad($m_d);
|
$m_a = zeropad($m_a);$m_b = zeropad($m_b);$m_c = zeropad($m_c);$m_d = zeropad($m_d);$m_e = zeropad($m_e);$m_f = zeropad($m_f);
|
||||||
$m_e = zeropad($m_e);
|
$md_a = hexdec($m_a);$md_b = hexdec($m_b);$md_c = hexdec($m_c);$md_d = hexdec($m_d);$md_e = hexdec($m_e);$md_f = hexdec($m_f);
|
||||||
$m_f = zeropad($m_f);
|
$mac = "$m_a:$m_b:$m_c:$m_d:$m_e:$m_f";
|
||||||
$md_a = hexdec($m_a);
|
|
||||||
$md_b = hexdec($m_b);
|
$mac_table[$if][$mac]['ip'] = $ip;
|
||||||
$md_c = hexdec($m_c);
|
$mac_table[$if][$mac]['ciscomac'] = "$m_a$m_b.$m_c$m_d.$m_e$m_f";
|
||||||
$md_d = hexdec($m_d);
|
$clean_mac = $m_a . $m_b . $m_c . $m_d . $m_e . $m_f;
|
||||||
$md_e = hexdec($m_e);
|
$mac_table[$if][$mac]['cleanmac'] = $clean_mac;
|
||||||
$md_f = hexdec($m_f);
|
$interface_id = $interface['interface_id'];
|
||||||
$mac = "$m_a:$m_b:$m_c:$m_d:$m_e:$m_f";
|
$mac_table[$interface_id][$clean_mac] = 1;
|
||||||
$mac_table[$if][$mac]['ip'] = $ip;
|
|
||||||
$mac_table[$if][$mac]['ciscomac'] = "$m_a$m_b.$m_c$m_d.$m_e$m_f";
|
if (mysql_result(mysql_query("SELECT COUNT(*) from ipv4_mac WHERE interface_id = '".$interface['interface_id']."' AND ipv4_address = '$ip'"),0))
|
||||||
$clean_mac = $m_a . $m_b . $m_c . $m_d . $m_e . $m_f;
|
|
||||||
$mac_table[$if][$mac]['cleanmac'] = $clean_mac;
|
|
||||||
$interface_id = $interface['interface_id'];
|
|
||||||
$mac_table[$interface_id][$clean_mac] = 1;
|
|
||||||
if(mysql_result(mysql_query("SELECT COUNT(*) from ipv4_mac WHERE interface_id = '".$interface['interface_id']."' AND ipv4_address = '$ip'"),0))
|
|
||||||
{
|
|
||||||
$sql = "UPDATE `ipv4_mac` SET `mac_address` = '$clean_mac' WHERE interface_id = '".$interface['interface_id']."' AND ipv4_address = '$ip'";
|
|
||||||
$old_mac = mysql_fetch_row(mysql_query("SELECT mac_address from ipv4_mac WHERE ipv4_address='$ip' AND interface_id = '".$interface['interface_id']."'"));
|
|
||||||
if($clean_mac != $old_mac[0] && $clean_mac != '' && $old_mac[0] != '')
|
|
||||||
{
|
|
||||||
if ($debug) { echo("Changed mac address for $ip from $old_mac[0] to $clean_mac\n"); }
|
|
||||||
log_event("MAC change: $ip : " . mac_clean_to_readable($old_mac[0]) . " -> " . mac_clean_to_readable($clean_mac), $device, "interface", $interface['interface_id']);
|
|
||||||
}
|
|
||||||
mysql_query($sql);
|
|
||||||
echo(".");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo("+");
|
|
||||||
#echo("Add MAC $mac\n");
|
|
||||||
mysql_query("INSERT INTO `ipv4_mac` (interface_id, mac_address, ipv4_address) VALUES ('".$interface['interface_id']."','$clean_mac','$ip')");
|
|
||||||
}
|
|
||||||
$interface_id = $interface['interface_id'];
|
|
||||||
}
|
|
||||||
$sql = "SELECT * from ipv4_mac AS M, ports as I WHERE M.interface_id = I.interface_id and I.device_id = '".$device['device_id']."'";
|
|
||||||
$query = mysql_query($sql);
|
|
||||||
while($entry = mysql_fetch_array($query))
|
|
||||||
{
|
{
|
||||||
$entry_mac = $entry['mac_address'];
|
$sql = "UPDATE `ipv4_mac` SET `mac_address` = '$clean_mac' WHERE interface_id = '".$interface['interface_id']."' AND ipv4_address = '$ip'";
|
||||||
$entry_if = $entry['interface_id'];
|
$old_mac = mysql_fetch_row(mysql_query("SELECT mac_address from ipv4_mac WHERE ipv4_address='$ip' AND interface_id = '".$interface['interface_id']."'"));
|
||||||
if(!$mac_table[$entry_if][$entry_mac])
|
|
||||||
|
if ($clean_mac != $old_mac[0] && $clean_mac != '' && $old_mac[0] != '')
|
||||||
{
|
{
|
||||||
mysql_query("DELETE FROM ipv4_mac WHERE interface_id = '".$entry_if."' AND mac_address = '".$entry_mac."'");
|
if ($debug) { echo("Changed mac address for $ip from $old_mac[0] to $clean_mac\n"); }
|
||||||
#echo("Removing MAC $entry_mac from interface ".$interface['ifName']);
|
log_event("MAC change: $ip : " . mac_clean_to_readable($old_mac[0]) . " -> " . mac_clean_to_readable($clean_mac), $device, "interface", $interface['interface_id']);
|
||||||
echo("-");
|
}
|
||||||
}
|
mysql_query($sql);
|
||||||
|
echo(".");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo("+");
|
||||||
|
#echo("Add MAC $mac\n");
|
||||||
|
mysql_query("INSERT INTO `ipv4_mac` (interface_id, mac_address, ipv4_address) VALUES ('".$interface['interface_id']."','$clean_mac','$ip')");
|
||||||
}
|
}
|
||||||
|
$interface_id = $interface['interface_id'];
|
||||||
|
}
|
||||||
|
|
||||||
echo("\n");
|
$sql = "SELECT * from ipv4_mac AS M, ports as I WHERE M.interface_id = I.interface_id and I.device_id = '".$device['device_id']."'";
|
||||||
unset($mac);
|
$query = mysql_query($sql);
|
||||||
|
while ($entry = mysql_fetch_array($query))
|
||||||
|
{
|
||||||
|
$entry_mac = $entry['mac_address'];
|
||||||
|
$entry_if = $entry['interface_id'];
|
||||||
|
if (!$mac_table[$entry_if][$entry_mac])
|
||||||
|
{
|
||||||
|
mysql_query("DELETE FROM ipv4_mac WHERE interface_id = '".$entry_if."' AND mac_address = '".$entry_mac."'");
|
||||||
|
if ($debug) { echo("Removing MAC $entry_mac from interface ".$interface['ifName']); }
|
||||||
|
echo("-");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
echo("\n");
|
||||||
|
unset($mac);
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -40,7 +40,7 @@ if ($config['enable_bgp'])
|
|||||||
|
|
||||||
# FIXME: is .0.ipv6 the only possible value here?
|
# FIXME: is .0.ipv6 the only possible value here?
|
||||||
$result = snmp_walk($device, "jnxBgpM2PeerRemoteAs.0.ipv6", "-Onq", "BGP4-V2-MIB-JUNIPER", $config['install_dir']."/mibs/junos");
|
$result = snmp_walk($device, "jnxBgpM2PeerRemoteAs.0.ipv6", "-Onq", "BGP4-V2-MIB-JUNIPER", $config['install_dir']."/mibs/junos");
|
||||||
$peers = trim(str_replace(".1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.","", $result));
|
$peers = trim(str_replace(".1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.","", $result));
|
||||||
foreach (explode("\n", $peers) as $peer)
|
foreach (explode("\n", $peers) as $peer)
|
||||||
{
|
{
|
||||||
list($peer_ip_snmp, $peer_as) = split(" ", $peer);
|
list($peer_ip_snmp, $peer_as) = split(" ", $peer);
|
||||||
@@ -57,7 +57,8 @@ if ($config['enable_bgp'])
|
|||||||
} # OS junos
|
} # OS junos
|
||||||
} else {
|
} else {
|
||||||
echo("No BGP on host");
|
echo("No BGP on host");
|
||||||
if ($device['bgpLocalAs']) {
|
if ($device['bgpLocalAs'])
|
||||||
|
{
|
||||||
mysql_query("UPDATE devices SET bgpLocalAs = NULL WHERE device_id = '".$device['device_id']."'"); echo(" (Removed ASN) ");
|
mysql_query("UPDATE devices SET bgpLocalAs = NULL WHERE device_id = '".$device['device_id']."'"); echo(" (Removed ASN) ");
|
||||||
} # End if
|
} # End if
|
||||||
} # End if
|
} # End if
|
||||||
@@ -86,10 +87,10 @@ if ($config['enable_bgp'])
|
|||||||
{
|
{
|
||||||
## Get afi/safi and populate cbgp on cisco ios (xe/xr)
|
## Get afi/safi and populate cbgp on cisco ios (xe/xr)
|
||||||
unset($af_list);
|
unset($af_list);
|
||||||
|
|
||||||
$af_data = snmp_walk($device, "cbgpPeerAddrFamilyName." . $peer['ip'], "-OsQ", "CISCO-BGP4-MIB", $config['mibdir']);
|
$af_data = snmp_walk($device, "cbgpPeerAddrFamilyName." . $peer['ip'], "-OsQ", "CISCO-BGP4-MIB", $config['mibdir']);
|
||||||
if ($debug) { echo("afi data :: $af_data \n"); }
|
if ($debug) { echo("afi data :: $af_data \n"); }
|
||||||
|
|
||||||
$afs = trim(str_replace("cbgpPeerAddrFamilyName.".$peer['ip'].".", "", $af_data));
|
$afs = trim(str_replace("cbgpPeerAddrFamilyName.".$peer['ip'].".", "", $af_data));
|
||||||
foreach (explode("\n", $afs) as $af)
|
foreach (explode("\n", $afs) as $af)
|
||||||
{
|
{
|
||||||
@@ -205,5 +206,4 @@ if ($config['enable_bgp'])
|
|||||||
echo("\n");
|
echo("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
@@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
global $valid_sensor;
|
global $valid_sensor;
|
||||||
|
|
||||||
if ($device['os'] == "ios" || $device['os_group'] == "ios")
|
if ($device['os'] == "ios" || $device['os_group'] == "ios")
|
||||||
{
|
{
|
||||||
echo("\nCISCO-ENTITY-SENSOR");
|
echo("\nCISCO-ENTITY-SENSOR");
|
||||||
|
|
||||||
$oids = array();
|
$oids = array();
|
||||||
echo("\nCaching OIDs:");
|
echo("\nCaching OIDs:");
|
||||||
|
|
||||||
if(!is_array($entity_array))
|
if (!is_array($entity_array))
|
||||||
{
|
{
|
||||||
$entity_array = array();
|
$entity_array = array();
|
||||||
echo(" entPhysicalDescr");
|
echo(" entPhysicalDescr");
|
||||||
@@ -39,8 +39,7 @@ if ($device['os'] == "ios" || $device['os_group'] == "ios")
|
|||||||
|
|
||||||
echo("\nSensors: ");
|
echo("\nSensors: ");
|
||||||
|
|
||||||
|
if ($debug) { print_r($oids); }
|
||||||
if($debug) { print_r($oids); }
|
|
||||||
|
|
||||||
$entitysensor['voltsDC'] = "voltage";
|
$entitysensor['voltsDC'] = "voltage";
|
||||||
$entitysensor['voltsAC'] = "voltage";
|
$entitysensor['voltsAC'] = "voltage";
|
||||||
@@ -52,93 +51,96 @@ if ($device['os'] == "ios" || $device['os_group'] == "ios")
|
|||||||
$entitysensor['celsius'] = "temperature";
|
$entitysensor['celsius'] = "temperature";
|
||||||
$entitysensor['watts'] = "watts";
|
$entitysensor['watts'] = "watts";
|
||||||
|
|
||||||
if(is_array($oids))
|
if (is_array($oids))
|
||||||
{
|
{
|
||||||
foreach($oids as $index => $entry)
|
foreach ($oids as $index => $entry)
|
||||||
{
|
{
|
||||||
#echo("[" . $entry['entSensorType'] . "|" . $entry['entSensorValue']. "|" . $index . "]");
|
#echo("[" . $entry['entSensorType'] . "|" . $entry['entSensorValue']. "|" . $index . "]");
|
||||||
|
|
||||||
if($entitysensor[$entry['entSensorType']] && is_numeric($entry['entSensorValue']) && is_numeric($index))
|
if ($entitysensor[$entry['entSensorType']] && is_numeric($entry['entSensorValue']) && is_numeric($index))
|
||||||
{
|
{
|
||||||
$entPhysicalIndex = $index;
|
$entPhysicalIndex = $index;
|
||||||
$descr = $entity_array[$index]['entPhysicalName'];
|
$descr = $entity_array[$index]['entPhysicalName'];
|
||||||
if($descr || $device['os'] == "iosxr")
|
if ($descr || $device['os'] == "iosxr")
|
||||||
{
|
{
|
||||||
$descr = rewrite_entity_descr($descr);
|
$descr = rewrite_entity_descr($descr);
|
||||||
} else {
|
} else {
|
||||||
$descr = $entity_array[$index]['entPhysicalDescr'];
|
$descr = $entity_array[$index]['entPhysicalDescr'];
|
||||||
$descr = rewrite_entity_descr($descr);
|
$descr = rewrite_entity_descr($descr);
|
||||||
}
|
}
|
||||||
|
|
||||||
## Set description based on measured entity if it exists
|
## Set description based on measured entity if it exists
|
||||||
if(is_numeric($entry['entSensorMeasuredEntity']) && $entry['entSensorMeasuredEntity']) {
|
if (is_numeric($entry['entSensorMeasuredEntity']) && $entry['entSensorMeasuredEntity'])
|
||||||
|
{
|
||||||
$measured_descr = $entity_array[$entry['entSensorMeasuredEntity']]['entPhysicalName'];
|
$measured_descr = $entity_array[$entry['entSensorMeasuredEntity']]['entPhysicalName'];
|
||||||
if(!measured_descr)
|
if (!measured_descr)
|
||||||
{
|
{
|
||||||
$measured_descr = $entity_array[$entry['entSensorMeasuredEntity']]['entPhysicalDescr'];
|
$measured_descr = $entity_array[$entry['entSensorMeasuredEntity']]['entPhysicalDescr'];
|
||||||
}
|
}
|
||||||
$descr = $measured_descr . " - " . $descr;
|
$descr = $measured_descr . " - " . $descr;
|
||||||
}
|
}
|
||||||
|
|
||||||
### Bit dirty also, clean later
|
### Bit dirty also, clean later
|
||||||
$descr = str_replace("Temp: ", "", $descr);
|
$descr = str_replace("Temp: ", "", $descr);
|
||||||
$descr = str_ireplace("temperature ", "", $descr);
|
$descr = str_ireplace("temperature ", "", $descr);
|
||||||
|
|
||||||
$oid = ".1.3.6.1.4.1.9.9.91.1.1.1.1.4.".$index;
|
$oid = ".1.3.6.1.4.1.9.9.91.1.1.1.1.4.".$index;
|
||||||
$current = $entry['entSensorValue'];
|
$current = $entry['entSensorValue'];
|
||||||
$type = $entitysensor[$entry['entSensorType']];
|
$type = $entitysensor[$entry['entSensorType']];
|
||||||
|
|
||||||
#echo("$index : ".$entry['entSensorScale']."|");
|
#echo("$index : ".$entry['entSensorScale']."|");
|
||||||
|
|
||||||
### FIXME this stuff is foul
|
### FIXME this stuff is foul
|
||||||
if($entry['entSensorScale'] == "nano") { $divisor = "1000000000"; $multiplier = "1"; }
|
if ($entry['entSensorScale'] == "nano") { $divisor = "1000000000"; $multiplier = "1"; }
|
||||||
if($entry['entSensorScale'] == "micro") { $divisor = "1000000"; $multiplier = "1"; }
|
if ($entry['entSensorScale'] == "micro") { $divisor = "1000000"; $multiplier = "1"; }
|
||||||
if($entry['entSensorScale'] == "milli") { $divisor = "1000"; $multiplier = "1"; }
|
if ($entry['entSensorScale'] == "milli") { $divisor = "1000"; $multiplier = "1"; }
|
||||||
if($entry['entSensorScale'] == "units") { $divisor = "1"; $multiplier = "1"; }
|
if ($entry['entSensorScale'] == "units") { $divisor = "1"; $multiplier = "1"; }
|
||||||
if($entry['entSensorScale'] == "kilo") { $divisor = "1"; $multiplier = "1000"; }
|
if ($entry['entSensorScale'] == "kilo") { $divisor = "1"; $multiplier = "1000"; }
|
||||||
if($entry['entSensorScale'] == "mega") { $divisor = "1"; $multiplier = "1000000"; }
|
if ($entry['entSensorScale'] == "mega") { $divisor = "1"; $multiplier = "1000000"; }
|
||||||
if($entry['entSensorScale'] == "giga") { $divisor = "1"; $multiplier = "1000000000"; }
|
if ($entry['entSensorScale'] == "giga") { $divisor = "1"; $multiplier = "1000000000"; }
|
||||||
if(is_numeric($entry['entSensorPrecision']) && $entry['entSensorPrecision'] > "0") { $divisor = $divisor . str_pad('', $entry['entSensorPrecision'], "0"); }
|
if (is_numeric($entry['entSensorPrecision']) && $entry['entSensorPrecision'] > "0") { $divisor = $divisor . str_pad('', $entry['entSensorPrecision'], "0"); }
|
||||||
$current = $current * $multiplier / $divisor;
|
$current = $current * $multiplier / $divisor;
|
||||||
|
|
||||||
### Set thresholds to null
|
### Set thresholds to null
|
||||||
$limit = NULL; $low_limit = NULL; $warn_limit = NULL; $warn_limit_low = NULL;
|
$limit = NULL; $low_limit = NULL; $warn_limit = NULL; $warn_limit_low = NULL;
|
||||||
|
|
||||||
### Check thresholds for this entry (bit dirty, but it works!)
|
### Check thresholds for this entry (bit dirty, but it works!)
|
||||||
if(is_array($t_oids[$index]))
|
if (is_array($t_oids[$index]))
|
||||||
{
|
{
|
||||||
foreach($t_oids[$index] as $t_index => $entry)
|
foreach ($t_oids[$index] as $t_index => $entry)
|
||||||
{
|
|
||||||
### Critical Limit
|
|
||||||
if($entry['entSensorThresholdSeverity'] == "major" && $entry['entSensorThresholdRelation'] == "greaterOrEqual")
|
|
||||||
{
|
{
|
||||||
$limit = $entry['entSensorThresholdValue'] * $multiplier / $divisor;
|
### Critical Limit
|
||||||
}
|
if ($entry['entSensorThresholdSeverity'] == "major" && $entry['entSensorThresholdRelation'] == "greaterOrEqual")
|
||||||
|
{
|
||||||
|
$limit = $entry['entSensorThresholdValue'] * $multiplier / $divisor;
|
||||||
|
}
|
||||||
|
|
||||||
if($entry['entSensorThresholdSeverity'] == "major" && $entry['entSensorThresholdRelation'] == "lessOrEqual")
|
if ($entry['entSensorThresholdSeverity'] == "major" && $entry['entSensorThresholdRelation'] == "lessOrEqual")
|
||||||
{
|
{
|
||||||
$limit_low = $entry['entSensorThresholdValue'] * $multiplier / $divisor;
|
$limit_low = $entry['entSensorThresholdValue'] * $multiplier / $divisor;
|
||||||
}
|
}
|
||||||
### Warning Limit
|
|
||||||
if($entry['entSensorThresholdSeverity'] == "minor" && $entry['entSensorThresholdRelation'] == "greaterOrEqual")
|
|
||||||
{
|
|
||||||
$warn_limit = $entry['entSensorThresholdValue'] * $multiplier / $divisor;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($entry['entSensorThresholdSeverity'] == "minor" && $entry['entSensorThresholdRelation'] == "lessOrEqual")
|
### Warning Limit
|
||||||
{
|
if ($entry['entSensorThresholdSeverity'] == "minor" && $entry['entSensorThresholdRelation'] == "greaterOrEqual")
|
||||||
$warn_limit_low = $entry['entSensorThresholdValue'] * $multiplier / $divisor;
|
{
|
||||||
|
$warn_limit = $entry['entSensorThresholdValue'] * $multiplier / $divisor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($entry['entSensorThresholdSeverity'] == "minor" && $entry['entSensorThresholdRelation'] == "lessOrEqual")
|
||||||
|
{
|
||||||
|
$warn_limit_low = $entry['entSensorThresholdValue'] * $multiplier / $divisor;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
### End Threshold code
|
### End Threshold code
|
||||||
|
|
||||||
$ok = TRUE;
|
$ok = TRUE;
|
||||||
|
|
||||||
if($current == "-127") { $ok = FALSE; } ## False reading
|
|
||||||
# if($type == "temperature" && $current < 1) { $ok = FALSE; } ## False reading. Temperature <1 :)
|
|
||||||
if($descr == "") { $ok = FALSE; } ## Invalid description. Lots of these on Nexus
|
|
||||||
|
|
||||||
if($ok) {
|
if ($current == "-127") { $ok = FALSE; } ## False reading
|
||||||
|
# if ($type == "temperature" && $current < 1) { $ok = FALSE; } ## False reading. Temperature <1 :)
|
||||||
|
if ($descr == "") { $ok = FALSE; } ## Invalid description. Lots of these on Nexus
|
||||||
|
|
||||||
|
if ($ok) {
|
||||||
# echo("\n$valid_sensor, $type, $device, $oid, $index, 'cisco-entity-sensor', $descr, $divisor, $multiplier, $limit_low, $warn_limit_low, $limit, $warn_limit, $current");
|
# echo("\n$valid_sensor, $type, $device, $oid, $index, 'cisco-entity-sensor', $descr, $divisor, $multiplier, $limit_low, $warn_limit_low, $limit, $warn_limit, $current");
|
||||||
discover_sensor($valid_sensor, $type, $device, $oid, $index, 'cisco-entity-sensor', $descr, $divisor, $multiplier, $limit_low, $warn_limit_low, $limit, $warn_limit, $current);
|
discover_sensor($valid_sensor, $type, $device, $oid, $index, 'cisco-entity-sensor', $descr, $divisor, $multiplier, $limit_low, $warn_limit_low, $limit, $warn_limit, $current);
|
||||||
}
|
}
|
||||||
@@ -150,4 +152,4 @@ if ($device['os'] == "ios" || $device['os_group'] == "ios")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -1,41 +1,44 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
if($config['enable_pseudowires'] && $device['os_group'] == "ios")
|
if ($config['enable_pseudowires'] && $device['os_group'] == "ios")
|
||||||
{
|
{
|
||||||
unset( $cpw_count );
|
unset( $cpw_count );
|
||||||
unset( $cpw_exists );
|
unset( $cpw_exists );
|
||||||
|
|
||||||
echo("Cisco Pseudowires : ");
|
echo("Cisco Pseudowires : ");
|
||||||
|
|
||||||
|
# FIXME snmp_walk
|
||||||
$oids = shell_exec($config['snmpwalk'] . " -M " . $config['mibdir'] . " -m CISCO-IETF-PW-MIB -CI -Ln -Osqn -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " cpwVcID");
|
$oids = shell_exec($config['snmpwalk'] . " -M " . $config['mibdir'] . " -m CISCO-IETF-PW-MIB -CI -Ln -Osqn -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " cpwVcID");
|
||||||
|
|
||||||
$oids = str_replace(".1.3.6.1.4.1.9.10.106.1.2.1.10.", "", $oids);
|
$oids = str_replace(".1.3.6.1.4.1.9.10.106.1.2.1.10.", "", $oids);
|
||||||
|
|
||||||
$oids = trim($oids);
|
$oids = trim($oids);
|
||||||
foreach ( explode("\n", $oids) as $oid )
|
foreach (explode("\n", $oids) as $oid)
|
||||||
{
|
{
|
||||||
if($oid)
|
if ($oid)
|
||||||
{
|
{
|
||||||
list($cpwOid, $cpwVcID) = explode(" ", $oid);
|
list($cpwOid, $cpwVcID) = explode(" ", $oid);
|
||||||
if($cpwOid)
|
|
||||||
|
if ($cpwOid)
|
||||||
{
|
{
|
||||||
list($cpw_remote_id) = split(":", shell_exec($config['snmpget'] . " -M " . $config['mibdir'] . " -m CISCO-IETF-PW-MPLS-MIB -Ln -Osqnv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " cpwVcMplsPeerLdpID." . $cpwOid));
|
list($cpw_remote_id) = split(":", shell_exec($config['snmpget'] . " -M " . $config['mibdir'] . " -m CISCO-IETF-PW-MPLS-MIB -Ln -Osqnv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " cpwVcMplsPeerLdpID." . $cpwOid));
|
||||||
$interface_descr = trim(shell_exec($config['snmpwalk'] . " -M " . $config['mibdir'] . " -m CISCO-IETF-PW-MIB -Oqvn -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " cpwVcName." . $cpwOid));
|
$interface_descr = trim(shell_exec($config['snmpwalk'] . " -M " . $config['mibdir'] . " -m CISCO-IETF-PW-MIB -Oqvn -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " cpwVcName." . $cpwOid));
|
||||||
$cpw_remote_device = @mysql_result(mysql_query("SELECT device_id FROM ipv4_addresses AS A, ports AS I WHERE A.ipv4_address = '".$cpw_remote_id."' AND A.interface_id = I.interface_id"),0);
|
$cpw_remote_device = @mysql_result(mysql_query("SELECT device_id FROM ipv4_addresses AS A, ports AS I WHERE A.ipv4_address = '".$cpw_remote_id."' AND A.interface_id = I.interface_id"),0);
|
||||||
$if_id = @mysql_result(mysql_query("SELECT `interface_id` FROM `ports` WHERE `ifDescr` = '$interface_descr' AND `device_id` = '".$device['device_id']."'"),0);
|
$if_id = @mysql_result(mysql_query("SELECT `interface_id` FROM `ports` WHERE `ifDescr` = '$interface_descr' AND `device_id` = '".$device['device_id']."'"),0);
|
||||||
if($cpw_remote_device && $if_id)
|
|
||||||
|
if ($cpw_remote_device && $if_id)
|
||||||
{
|
{
|
||||||
$hostname = gethostbyid($cpw_remote_device);
|
$hostname = gethostbyid($cpw_remote_device);
|
||||||
#echo("\nOid: " . $cpwOid . " cpwVcID: " . $cpwVcID . " Remote Id: " . $cpw_remote_id . "($hostname(".$cpw_remote_device.") -> $interface_descr($if_id))");
|
#echo("\nOid: " . $cpwOid . " cpwVcID: " . $cpwVcID . " Remote Id: " . $cpw_remote_id . "($hostname(".$cpw_remote_device.") -> $interface_descr($if_id))");
|
||||||
if(mysql_result(mysql_query("SELECT count(*) FROM pseudowires WHERE `interface_id` = '$if_id'
|
if (mysql_result(mysql_query("SELECT count(*) FROM pseudowires WHERE `interface_id` = '$if_id'
|
||||||
AND `cpwVcID`='".$cpwVcID."'"),0))
|
AND `cpwVcID`='".$cpwVcID."'"),0))
|
||||||
{
|
{
|
||||||
echo(".");
|
echo(".");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$insert_query = "INSERT INTO `pseudowires` (`interface_id`,`peer_device_id`,`peer_ldp_id`,`cpwVcID`,`cpwOid`) ";
|
$insert_query = "INSERT INTO `pseudowires` (`interface_id`,`peer_device_id`,`peer_ldp_id`,`cpwVcID`,`cpwOid`) ";
|
||||||
$insert_query .= "VALUES ('$if_id','$cpw_remote_device','$cpw_remote_id','$cpwVcID', '$cpwOid')";
|
$insert_query .= "VALUES ('$if_id','$cpw_remote_device','$cpw_remote_id','$cpwVcID', '$cpwOid')";
|
||||||
mysql_query($insert_query);
|
mysql_query($insert_query);
|
||||||
echo("+");
|
echo("+");
|
||||||
#echo($device['device_id'] . " $cpwOid $cpw_remote_device $if_id $cpwVcID\n");
|
#echo($device['device_id'] . " $cpwOid $cpw_remote_device $if_id $cpwVcID\n");
|
||||||
@@ -49,19 +52,19 @@ if($config['enable_pseudowires'] && $device['os_group'] == "ios")
|
|||||||
$sql = "SELECT * FROM pseudowires AS P, ports AS I, devices as D WHERE P.interface_id = I.interface_id AND I.device_id = D.device_id AND D.device_id = '".$device['device_id']."'";
|
$sql = "SELECT * FROM pseudowires AS P, ports AS I, devices as D WHERE P.interface_id = I.interface_id AND I.device_id = D.device_id AND D.device_id = '".$device['device_id']."'";
|
||||||
$query = mysql_query($sql);
|
$query = mysql_query($sql);
|
||||||
|
|
||||||
while ($cpw = mysql_fetch_array($query))
|
while ($cpw = mysql_fetch_array($query))
|
||||||
{
|
{
|
||||||
unset($exists);
|
unset($exists);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
while ($i < count($cpw_exists) && !$exists)
|
while ($i < count($cpw_exists) && !$exists)
|
||||||
{
|
{
|
||||||
$this_cpw = $cpw['device_id'] . " " . $cpw['cpwOid'] . " " . $cpw['peer_device_id'] . " " . $cpw['interface_id'] . " " . $cpw['cpwVcID'];
|
$this_cpw = $cpw['device_id'] . " " . $cpw['cpwOid'] . " " . $cpw['peer_device_id'] . " " . $cpw['interface_id'] . " " . $cpw['cpwVcID'];
|
||||||
if ($cpw_exists[$i] == $this_cpw) { $exists = 1;
|
if ($cpw_exists[$i] == $this_cpw) { $exists = 1;
|
||||||
# echo($cpw_exists[$i]. " || $this_cpw \n");
|
# echo($cpw_exists[$i]. " || $this_cpw \n");
|
||||||
}
|
}
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
if(!$exists)
|
if (!$exists)
|
||||||
{
|
{
|
||||||
echo("-");
|
echo("-");
|
||||||
# echo($this_cpw . "\n");
|
# echo($this_cpw . "\n");
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
if($device['os_group'] == "ios")
|
if ($device['os_group'] == "ios")
|
||||||
{
|
{
|
||||||
echo("Cisco VLANs : ");
|
echo("Cisco VLANs : ");
|
||||||
|
|
||||||
$vtpversion_cmd = $config['snmpget'] . " -M " . $config['mibdir'] . " -m CISCO-VTP-MIB -Oqv -" . $device['snmpver'] . " -c " . $device['community'] . " ";
|
$vtpversion_cmd = $config['snmpget'] . " -M " . $config['mibdir'] . " -m CISCO-VTP-MIB -Oqv -" . $device['snmpver'] . " -c " . $device['community'] . " ";
|
||||||
$vtpversion_cmd .= $device['hostname'].":".$device['port'] . " .1.3.6.1.4.1.9.9.46.1.1.1.0";
|
$vtpversion_cmd .= $device['hostname'].":".$device['port'] . " .1.3.6.1.4.1.9.9.46.1.1.1.0";
|
||||||
$vtpversion = trim(`$vtpversion_cmd 2>/dev/null`);
|
$vtpversion = trim(`$vtpversion_cmd 2>/dev/null`);
|
||||||
|
|
||||||
if($vtpversion == '1' || $vtpversion == '2' || $vtpversion == 'two' || $vtpversion == 'three') {
|
|
||||||
|
|
||||||
|
if ($vtpversion == '1' || $vtpversion == '2' || $vtpversion == 'two' || $vtpversion == 'three')
|
||||||
|
{
|
||||||
$vtp_domain_cmd = $config['snmpget'] . " -M " . $config['mibdir'] . " -m CISCO-VTP-MIB -Oqv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'];
|
$vtp_domain_cmd = $config['snmpget'] . " -M " . $config['mibdir'] . " -m CISCO-VTP-MIB -Oqv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'];
|
||||||
$vtp_domain_cmd .= " .1.3.6.1.4.1.9.9.46.1.2.1.1.2.1";
|
$vtp_domain_cmd .= " .1.3.6.1.4.1.9.9.46.1.2.1.1.2.1";
|
||||||
$vtp_domain = trim(str_replace("\"", "", `$vtp_domain_cmd 2>/dev/null`));
|
$vtp_domain = trim(str_replace("\"", "", `$vtp_domain_cmd 2>/dev/null`));
|
||||||
@@ -21,36 +21,40 @@ if($device['os_group'] == "ios")
|
|||||||
|
|
||||||
$vlans = trim(`$vlans_cmd | grep -v o`);
|
$vlans = trim(`$vlans_cmd | grep -v o`);
|
||||||
|
|
||||||
foreach(explode("\n", $vlans) as $vlan) {
|
foreach (explode("\n", $vlans) as $vlan)
|
||||||
|
{
|
||||||
$vlan_descr_cmd = $config['snmpget'] . " -M " . $config['mibdir'] . " -m CISCO-VTP-MIB -O nvq -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
$vlan_descr_cmd = $config['snmpget'] . " -M " . $config['mibdir'] . " -m CISCO-VTP-MIB -O nvq -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
||||||
$vlan_descr_cmd .= ".1.3.6.1.4.1.9.9.46.1.3.1.1.4.1." . $vlan;
|
$vlan_descr_cmd .= ".1.3.6.1.4.1.9.9.46.1.3.1.1.4.1." . $vlan;
|
||||||
$vlan_descr = shell_exec($vlan_descr_cmd);
|
$vlan_descr = shell_exec($vlan_descr_cmd);
|
||||||
|
|
||||||
$vlan_descr = trim(str_replace("\"", "", $vlan_descr));
|
$vlan_descr = trim(str_replace("\"", "", $vlan_descr));
|
||||||
|
|
||||||
if(mysql_result(mysql_query("SELECT COUNT(vlan_id) FROM `vlans` WHERE `device_id` = '" . $device['device_id'] . "' AND `vlan_domain` = '" . $vtp_domain . "' AND `vlan_vlan` = '" . $vlan . "'"), 0) == '0') {
|
if (mysql_result(mysql_query("SELECT COUNT(vlan_id) FROM `vlans` WHERE `device_id` = '" . $device['device_id'] . "' AND `vlan_domain` = '" . $vtp_domain . "' AND `vlan_vlan` = '" . $vlan . "'"), 0) == '0')
|
||||||
|
{
|
||||||
mysql_query("INSERT INTO `vlans` (`device_id`,`vlan_domain`,`vlan_vlan`, `vlan_descr`) VALUES (" . $device['device_id'] . ",'" . mres($vtp_domain) . "','$vlan', '" . mres($vlan_descr) . "')");
|
mysql_query("INSERT INTO `vlans` (`device_id`,`vlan_domain`,`vlan_vlan`, `vlan_descr`) VALUES (" . $device['device_id'] . ",'" . mres($vtp_domain) . "','$vlan', '" . mres($vlan_descr) . "')");
|
||||||
echo("+");
|
echo("+");
|
||||||
} else {
|
} else {
|
||||||
echo(".");
|
echo(".");
|
||||||
mysql_query("UPDATE `vlans` SET `vlan_descr`='" . mres($vlan_descr) . "' WHERE `device_id`='" . $device['device_id'] . "' AND `vlan_vlan`='" . $vlan . "' AND `vlan_domain`='" . $vtp_domain . "'");
|
mysql_query("UPDATE `vlans` SET `vlan_descr`='" . mres($vlan_descr) . "' WHERE `device_id`='" . $device['device_id'] . "' AND `vlan_vlan`='" . $vlan . "' AND `vlan_domain`='" . $vtp_domain . "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
$this_vlans[] = $vlan;
|
$this_vlans[] = $vlan;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$device_vlans = mysql_query("SELECT * FROM `vlans` WHERE `device_id` = '" . $device['device_id'] . "' AND `vlan_domain` = '" . $vtp_domain . "'");
|
$device_vlans = mysql_query("SELECT * FROM `vlans` WHERE `device_id` = '" . $device['device_id'] . "' AND `vlan_domain` = '" . $vtp_domain . "'");
|
||||||
while($dev_vlan = mysql_fetch_array($device_vlans)) {
|
while ($dev_vlan = mysql_fetch_array($device_vlans))
|
||||||
|
{
|
||||||
unset($vlan_exists);
|
unset($vlan_exists);
|
||||||
foreach($this_vlans as $test_vlan) {
|
foreach ($this_vlans as $test_vlan)
|
||||||
if($test_vlan == $dev_vlan['vlan_vlan']) { $vlan_exists = 1; }
|
{
|
||||||
|
if ($test_vlan == $dev_vlan['vlan_vlan']) { $vlan_exists = 1; }
|
||||||
}
|
}
|
||||||
if(!$vlan_exists) {
|
|
||||||
mysql_query("DELETE FROM `vlans` WHERE `vlan_id` = '" . $dev_vlan['vlan_id'] . "'");
|
if (!$vlan_exists)
|
||||||
|
{
|
||||||
|
mysql_query("DELETE FROM `vlans` WHERE `vlan_id` = '" . $dev_vlan['vlan_id'] . "'");
|
||||||
echo("-");
|
echo("-");
|
||||||
#echo("Deleted VLAN ". $dev_vlan['vlan_vlan'] ."\n");
|
#echo("Deleted VLAN ". $dev_vlan['vlan_vlan'] ."\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -58,6 +62,6 @@ if($device['os_group'] == "ios")
|
|||||||
unset($this_vlans);
|
unset($this_vlans);
|
||||||
|
|
||||||
echo("\n");
|
echo("\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
if($device['os_group'] == "ios" || $device['os_group'] == "junos" || $device['os'] == "ironware")
|
if ($device['os_group'] == "ios" || $device['os_group'] == "junos" || $device['os'] == "ironware")
|
||||||
{
|
{
|
||||||
|
|
||||||
unset( $vrf_count );
|
unset( $vrf_count );
|
||||||
|
|
||||||
echo("VRFs : ");
|
echo("VRFs : ");
|
||||||
@@ -10,27 +9,27 @@ if($device['os_group'] == "ios" || $device['os_group'] == "junos" || $device['os
|
|||||||
$oid_cmd = $config['snmpwalk'] . " -M " . $config['mibdir'] . " -m MPLS-VPN-MIB -CI -Ln -Osqn -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " mplsVpnVrfRouteDistinguisher";
|
$oid_cmd = $config['snmpwalk'] . " -M " . $config['mibdir'] . " -m MPLS-VPN-MIB -CI -Ln -Osqn -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " mplsVpnVrfRouteDistinguisher";
|
||||||
$oids = shell_exec($oid_cmd);
|
$oids = shell_exec($oid_cmd);
|
||||||
|
|
||||||
if($debug) { echo("$oid_cmd -> $oids \n"); }
|
if ($debug) { echo("$oid_cmd -> $oids \n"); }
|
||||||
|
|
||||||
$oids = str_replace(".1.3.6.1.3.118.1.2.2.1.3.", "", $oids);
|
$oids = str_replace(".1.3.6.1.3.118.1.2.2.1.3.", "", $oids);
|
||||||
$oids = str_replace(" \"", "||", $oids);
|
$oids = str_replace(" \"", "||", $oids);
|
||||||
$oids = str_replace("\"", "", $oids);
|
$oids = str_replace("\"", "", $oids);
|
||||||
|
|
||||||
$oids = trim($oids);
|
$oids = trim($oids);
|
||||||
foreach ( explode("\n", $oids) as $oid )
|
foreach ( explode("\n", $oids) as $oid )
|
||||||
{
|
{
|
||||||
if($oid)
|
if ($oid)
|
||||||
{
|
{
|
||||||
list($vrf['oid'], $vrf['mplsVpnVrfRouteDistinguisher']) = explode("||", $oid);
|
list($vrf['oid'], $vrf['mplsVpnVrfRouteDistinguisher']) = explode("||", $oid);
|
||||||
$vrf['name'] = trim(shell_exec($config['snmpget'] . " -M " . $config['mibdir'] . " -m MPLS-VPN-MIB -Ln -Osq -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " mplsVpnVrfRouteDistinguisher.".$vrf['oid']));
|
$vrf['name'] = trim(shell_exec($config['snmpget'] . " -M " . $config['mibdir'] . " -m MPLS-VPN-MIB -Ln -Osq -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " mplsVpnVrfRouteDistinguisher.".$vrf['oid']));
|
||||||
list(,$vrf['name'],, $vrf['mplsVpnVrfRouteDistinguisher']) = explode("\"", $vrf['name']);
|
list(,$vrf['name'],, $vrf['mplsVpnVrfRouteDistinguisher']) = explode("\"", $vrf['name']);
|
||||||
$vrf['mplsVpnVrfDescription'] = trim(shell_exec($config['snmpget'] . " -M " . $config['mibdir'] . " -m MPLS-VPN-MIB -Ln -Osqvn -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " mplsVpnVrfDescription.".$vrf['oid']));
|
$vrf['mplsVpnVrfDescription'] = trim(shell_exec($config['snmpget'] . " -M " . $config['mibdir'] . " -m MPLS-VPN-MIB -Ln -Osqvn -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " mplsVpnVrfDescription.".$vrf['oid']));
|
||||||
|
|
||||||
if(@mysql_result(mysql_query("SELECT count(*) FROM vrfs WHERE `device_id` = '".$device['device_id']."'
|
if (@mysql_result(mysql_query("SELECT count(*) FROM vrfs WHERE `device_id` = '".$device['device_id']."'
|
||||||
AND `vrf_oid`='".$vrf['oid']."'"),0))
|
AND `vrf_oid`='".$vrf['oid']."'"),0))
|
||||||
{
|
{
|
||||||
$update_query = "UPDATE `vrfs` SET `mplsVpnVrfDescription` = '".$vrf['mplsVpnVrfDescription']."', `mplsVpnVrfRouteDistinguisher` = '".$vrf['mplsVpnVrfRouteDistinguisher']."' ";
|
$update_query = "UPDATE `vrfs` SET `mplsVpnVrfDescription` = '".$vrf['mplsVpnVrfDescription']."', `mplsVpnVrfRouteDistinguisher` = '".$vrf['mplsVpnVrfRouteDistinguisher']."' ";
|
||||||
$update_query .= "WHERE device_id = '".$device['device_id']."' AND vrf_oid = '".$vrf['oid']."'";
|
$update_query .= "WHERE device_id = '".$device['device_id']."' AND vrf_oid = '".$vrf['oid']."'";
|
||||||
mysql_query($update_query);
|
mysql_query($update_query);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -39,7 +38,7 @@ if($device['os_group'] == "ios" || $device['os_group'] == "junos" || $device['os
|
|||||||
$insert_query .= "VALUES ('".$vrf['oid']."','".$vrf['name']."','".$vrf['mplsVpnVrfRouteDistinguisher']."','".$vrf['mplsVpnVrfDescription']."','".$device['device_id']."')";
|
$insert_query .= "VALUES ('".$vrf['oid']."','".$vrf['name']."','".$vrf['mplsVpnVrfRouteDistinguisher']."','".$vrf['mplsVpnVrfDescription']."','".$device['device_id']."')";
|
||||||
mysql_query($insert_query);
|
mysql_query($insert_query);
|
||||||
}
|
}
|
||||||
|
|
||||||
$vrf_id = @mysql_result(mysql_query("SELECT vrf_id FROM vrfs WHERE `device_id` = '".$device['device_id']."' AND `vrf_oid`='".$vrf['oid']."'"),0);
|
$vrf_id = @mysql_result(mysql_query("SELECT vrf_id FROM vrfs WHERE `device_id` = '".$device['device_id']."' AND `vrf_oid`='".$vrf['oid']."'"),0);
|
||||||
$valid_vrf[$vrf_id] = 1;
|
$valid_vrf[$vrf_id] = 1;
|
||||||
echo("\nRD:".$vrf['mplsVpnVrfRouteDistinguisher']." ".$vrf['name']." ".$vrf['mplsVpnVrfDescription']." ");
|
echo("\nRD:".$vrf['mplsVpnVrfRouteDistinguisher']." ".$vrf['name']." ".$vrf['mplsVpnVrfDescription']." ");
|
||||||
@@ -62,41 +61,44 @@ if($device['os_group'] == "ios" || $device['os_group'] == "junos" || $device['os
|
|||||||
|
|
||||||
$sql = "SELECT * FROM ports WHERE device_id = '" . $device['device_id'] . "'";
|
$sql = "SELECT * FROM ports WHERE device_id = '" . $device['device_id'] . "'";
|
||||||
$data = mysql_query($sql);
|
$data = mysql_query($sql);
|
||||||
while($row = mysql_fetch_array($data))
|
while ($row = mysql_fetch_array($data))
|
||||||
{
|
{
|
||||||
$if = $row['interface_id'];
|
$if = $row['interface_id'];
|
||||||
$vrf_id = $row['ifVrf'];
|
$vrf_id = $row['ifVrf'];
|
||||||
if($row['ifVrf'])
|
if ($row['ifVrf'])
|
||||||
{
|
{
|
||||||
if(!$valid_vrf_if[$vrf_id][$if])
|
if (!$valid_vrf_if[$vrf_id][$if])
|
||||||
{
|
{
|
||||||
echo("-");
|
echo("-");
|
||||||
$query = @mysql_query("UPDATE ports SET `ifVrf` = NULL WHERE interface_id = '$if'");
|
$query = @mysql_query("UPDATE ports SET `ifVrf` = NULL WHERE interface_id = '$if'");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo(".");
|
echo(".");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = "SELECT * FROM vrfs WHERE device_id = '" . $device['device_id'] . "'";
|
$sql = "SELECT * FROM vrfs WHERE device_id = '" . $device['device_id'] . "'";
|
||||||
$data = mysql_query($sql);
|
$data = mysql_query($sql);
|
||||||
while($row = mysql_fetch_array($data))
|
while ($row = mysql_fetch_array($data))
|
||||||
{
|
{
|
||||||
$vrf_id = $row['vrf_id'];
|
$vrf_id = $row['vrf_id'];
|
||||||
if(!$valid_vrf[$vrf_id])
|
if (!$valid_vrf[$vrf_id])
|
||||||
{
|
{
|
||||||
echo("-");
|
echo("-");
|
||||||
$query = @mysql_query("DELETE FROM vrfs WHERE vrf_id = '$vrf_id'");
|
$query = @mysql_query("DELETE FROM vrfs WHERE vrf_id = '$vrf_id'");
|
||||||
} else { echo(".");}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo(".");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($valid_vrf_if);
|
unset($valid_vrf_if);
|
||||||
unset($valid_vrf);
|
unset($valid_vrf);
|
||||||
|
|
||||||
echo("\n");
|
echo("\n");
|
||||||
|
|
||||||
} # ios/junos/ironware
|
} # ios/junos/ironware
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -4,104 +4,106 @@ echo("Discovery protocols:");
|
|||||||
|
|
||||||
$community = $device['community'];
|
$community = $device['community'];
|
||||||
|
|
||||||
if($device['os'] == "ironware") {
|
if ($device['os'] == "ironware")
|
||||||
|
{
|
||||||
echo(" Brocade FDP: ");
|
echo(" Brocade FDP: ");
|
||||||
$fdp_array = snmpwalk_cache_twopart_oid($device, "snFdpCacheEntry", array(), "FOUNDRY-SN-SWITCH-GROUP-MIB");
|
$fdp_array = snmpwalk_cache_twopart_oid($device, "snFdpCacheEntry", array(), "FOUNDRY-SN-SWITCH-GROUP-MIB");
|
||||||
if($fdp_array) {
|
if ($fdp_array)
|
||||||
|
{
|
||||||
unset($fdp_links);
|
unset($fdp_links);
|
||||||
foreach( array_keys($fdp_array) as $key)
|
foreach (array_keys($fdp_array) as $key)
|
||||||
{
|
{
|
||||||
$interface = mysql_fetch_array(mysql_query("SELECT * FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '".$key."'"));
|
$interface = mysql_fetch_array(mysql_query("SELECT * FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '".$key."'"));
|
||||||
$fdp_if_array = $fdp_array[$key];
|
$fdp_if_array = $fdp_array[$key];
|
||||||
foreach( array_keys($fdp_if_array) as $entry_key)
|
foreach (array_keys($fdp_if_array) as $entry_key)
|
||||||
{
|
{
|
||||||
$fdp = $fdp_if_array[$entry_key];
|
$fdp = $fdp_if_array[$entry_key];
|
||||||
$remote_device_id = @mysql_result(mysql_query("SELECT `device_id` FROM `devices` WHERE `sysName` = '".$fdp['snFdpCacheDeviceId']."' OR `hostname`='".$fdp['snFdpCacheDeviceId']."'"), 0);
|
$remote_device_id = @mysql_result(mysql_query("SELECT `device_id` FROM `devices` WHERE `sysName` = '".$fdp['snFdpCacheDeviceId']."' OR `hostname`='".$fdp['snFdpCacheDeviceId']."'"), 0);
|
||||||
|
|
||||||
if($remote_device_id) {
|
if ($remote_device_id)
|
||||||
|
{
|
||||||
$if = $fdp['snFdpCacheDevicePort'];
|
$if = $fdp['snFdpCacheDevicePort'];
|
||||||
$remote_interface_id = @mysql_result(mysql_query("SELECT interface_id FROM `ports` WHERE (`ifDescr` = '$if' OR `ifName`='$if') AND `device_id` = '".$remote_device_id."'"),0);
|
$remote_interface_id = @mysql_result(mysql_query("SELECT interface_id FROM `ports` WHERE (`ifDescr` = '$if' OR `ifName`='$if') AND `device_id` = '".$remote_device_id."'"),0);
|
||||||
} else { $remote_interface_id = "0"; }
|
} else { $remote_interface_id = "0"; }
|
||||||
|
|
||||||
discover_link($interface['interface_id'], $fdp['snFdpCacheVendorId'], $remote_interface_id, $fdp['snFdpCacheDeviceId'], $fdp['snFdpCacheDevicePort'], $fdp['snFdpCachePlatform'], $fdp['snFdpCacheVersion']);
|
discover_link($interface['interface_id'], $fdp['snFdpCacheVendorId'], $remote_interface_id, $fdp['snFdpCacheDeviceId'], $fdp['snFdpCacheDevicePort'], $fdp['snFdpCachePlatform'], $fdp['snFdpCacheVersion']);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo(" CISCO-CDP-MIB: ");
|
echo(" CISCO-CDP-MIB: ");
|
||||||
unset($cdp_array);
|
unset($cdp_array);
|
||||||
$cdp_array = snmpwalk_cache_twopart_oid($device, "cdpCache", array(), "CISCO-CDP-MIB");
|
$cdp_array = snmpwalk_cache_twopart_oid($device, "cdpCache", array(), "CISCO-CDP-MIB");
|
||||||
if($cdp_array) {
|
if ($cdp_array)
|
||||||
|
{
|
||||||
unset($cdp_links);
|
unset($cdp_links);
|
||||||
foreach( array_keys($cdp_array) as $key)
|
foreach (array_keys($cdp_array) as $key)
|
||||||
{
|
{
|
||||||
$interface = mysql_fetch_array(mysql_query("SELECT * FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '".$key."'"));
|
$interface = mysql_fetch_array(mysql_query("SELECT * FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '".$key."'"));
|
||||||
$cdp_if_array = $cdp_array[$key];
|
$cdp_if_array = $cdp_array[$key];
|
||||||
foreach( array_keys($cdp_if_array) as $entry_key)
|
foreach (array_keys($cdp_if_array) as $entry_key)
|
||||||
{
|
{
|
||||||
$cdp = $cdp_if_array[$entry_key];
|
$cdp = $cdp_if_array[$entry_key];
|
||||||
$remote_device_id = @mysql_result(mysql_query("SELECT `device_id` FROM `devices` WHERE `sysName` = '".$cdp['cdpCacheDeviceId']."' OR `hostname`='".$cdp['cdpCacheDeviceId']."'"), 0);
|
$remote_device_id = @mysql_result(mysql_query("SELECT `device_id` FROM `devices` WHERE `sysName` = '".$cdp['cdpCacheDeviceId']."' OR `hostname`='".$cdp['cdpCacheDeviceId']."'"), 0);
|
||||||
|
|
||||||
if($remote_device_id)
|
if ($remote_device_id)
|
||||||
{
|
{
|
||||||
$if = $cdp['cdpCacheDevicePort'];
|
$if = $cdp['cdpCacheDevicePort'];
|
||||||
$remote_interface_id = @mysql_result(mysql_query("SELECT interface_id FROM `ports` WHERE (`ifDescr` = '$if' OR `ifName`='$if') AND `device_id` = '".$remote_device_id."'"),0);
|
$remote_interface_id = @mysql_result(mysql_query("SELECT interface_id FROM `ports` WHERE (`ifDescr` = '$if' OR `ifName`='$if') AND `device_id` = '".$remote_device_id."'"),0);
|
||||||
} else { $remote_interface_id = "0"; }
|
} else { $remote_interface_id = "0"; }
|
||||||
|
|
||||||
if($interface['interface_id'] && $cdp['cdpCacheDeviceId'] && $cdp['cdpCacheDevicePort'])
|
if ($interface['interface_id'] && $cdp['cdpCacheDeviceId'] && $cdp['cdpCacheDevicePort'])
|
||||||
{
|
{
|
||||||
discover_link($interface['interface_id'], 'cdp', $remote_interface_id, $cdp['cdpCacheDeviceId'], $cdp['cdpCacheDevicePort'], $cdp['cdpCachePlatform'], $cdp['cdpCacheVersion']);
|
discover_link($interface['interface_id'], 'cdp', $remote_interface_id, $cdp['cdpCacheDeviceId'], $cdp['cdpCacheDevicePort'], $cdp['cdpCachePlatform'], $cdp['cdpCacheVersion']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
echo(" LLDP-MIB: ");
|
echo(" LLDP-MIB: ");
|
||||||
|
|
||||||
unset($lldp_array);
|
unset($lldp_array);
|
||||||
$lldp_array = snmpwalk_cache_threepart_oid($device, "lldpRemoteSystemsData", array(), "LLDP-MIB");
|
$lldp_array = snmpwalk_cache_threepart_oid($device, "lldpRemoteSystemsData", array(), "LLDP-MIB");
|
||||||
$dot1d_array = snmpwalk_cache_oid($device, "dot1dBasePortIfIndex", array(), "BRIDGE-MIB");
|
$dot1d_array = snmpwalk_cache_oid($device, "dot1dBasePortIfIndex", array(), "BRIDGE-MIB");
|
||||||
|
|
||||||
#print_r($lldp_array);
|
if ($lldp_array)
|
||||||
#print_r($dot1d_array);
|
{
|
||||||
|
|
||||||
if($lldp_array) {
|
|
||||||
$lldp_links = "";
|
$lldp_links = "";
|
||||||
foreach( array_keys($lldp_array) as $key) {
|
foreach (array_keys($lldp_array) as $key)
|
||||||
$lldp_if_array = $lldp_array[$key];
|
{
|
||||||
foreach( array_keys($lldp_if_array) as $entry_key)
|
$lldp_if_array = $lldp_array[$key];
|
||||||
{
|
foreach (array_keys($lldp_if_array) as $entry_key)
|
||||||
if(is_numeric($dot1d_array[$entry_key]['dot1dBasePortIfIndex']))
|
{
|
||||||
|
if (is_numeric($dot1d_array[$entry_key]['dot1dBasePortIfIndex']))
|
||||||
{
|
{
|
||||||
$ifIndex = $dot1d_array[$entry_key]['dot1dBasePortIfIndex'];
|
$ifIndex = $dot1d_array[$entry_key]['dot1dBasePortIfIndex'];
|
||||||
} else {
|
} else {
|
||||||
$ifIndex = $entry_key;
|
$ifIndex = $entry_key;
|
||||||
}
|
}
|
||||||
$interface = mysql_fetch_array(mysql_query("SELECT * FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '".$ifIndex."'"));
|
$interface = mysql_fetch_array(mysql_query("SELECT * FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '".$ifIndex."'"));
|
||||||
$lldp_instance = $lldp_if_array[$entry_key];
|
$lldp_instance = $lldp_if_array[$entry_key];
|
||||||
foreach ( array_keys($lldp_instance) as $entry_instance)
|
foreach (array_keys($lldp_instance) as $entry_instance)
|
||||||
{
|
{
|
||||||
$lldp = $lldp_instance[$entry_instance];
|
$lldp = $lldp_instance[$entry_instance];
|
||||||
$remote_device_id = @mysql_result(mysql_query("SELECT `device_id` FROM `devices` WHERE `sysName` = '".$lldp['lldpRemSysName']."' OR `hostname`='".$lldp['lldpRemSysName']."'"), 0);
|
$remote_device_id = @mysql_result(mysql_query("SELECT `device_id` FROM `devices` WHERE `sysName` = '".$lldp['lldpRemSysName']."' OR `hostname`='".$lldp['lldpRemSysName']."'"), 0);
|
||||||
|
|
||||||
if($remote_device_id)
|
if ($remote_device_id)
|
||||||
{
|
{
|
||||||
$if = $lldp['lldpRemPortDesc']; $id = $lldp['lldpRemPortId'];
|
$if = $lldp['lldpRemPortDesc']; $id = $lldp['lldpRemPortId'];
|
||||||
$remote_interface_id = @mysql_result(mysql_query("SELECT interface_id FROM `ports` WHERE (`ifDescr` = '$if' OR `ifName`='$if' OR `ifDescr`= '$id' OR `ifName`='$id') AND `device_id` = '".$remote_device_id."'"),0);
|
$remote_interface_id = @mysql_result(mysql_query("SELECT interface_id FROM `ports` WHERE (`ifDescr` = '$if' OR `ifName`='$if' OR `ifDescr`= '$id' OR `ifName`='$id') AND `device_id` = '".$remote_device_id."'"),0);
|
||||||
} else { $remote_interface_id = "0"; }
|
} else { $remote_interface_id = "0"; }
|
||||||
|
|
||||||
if(is_numeric($interface['interface_id']) && isset($lldp['lldpRemSysName']) && isset($lldp['lldpRemPortId'])) {
|
if (is_numeric($interface['interface_id']) && isset($lldp['lldpRemSysName']) && isset($lldp['lldpRemPortId']))
|
||||||
|
{
|
||||||
discover_link($interface['interface_id'], 'lldp', $remote_interface_id, $lldp['lldpRemSysName'], $lldp['lldpRemPortId'], NULL, $lldp['lldpRemSysDesc']);
|
discover_link($interface['interface_id'], 'lldp', $remote_interface_id, $lldp['lldpRemSysName'], $lldp['lldpRemPortId'], NULL, $lldp['lldpRemSysDesc']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($debug) { print_r($link_exists); }
|
if ($debug) { print_r($link_exists); }
|
||||||
|
|
||||||
$sql = "SELECT * FROM `links` AS L, `ports` AS I WHERE L.local_interface_id = I.interface_id AND I.device_id = '".$device['device_id']."'";
|
$sql = "SELECT * FROM `links` AS L, `ports` AS I WHERE L.local_interface_id = I.interface_id AND I.device_id = '".$device['device_id']."'";
|
||||||
if ($query = mysql_query($sql))
|
if ($query = mysql_query($sql))
|
||||||
@@ -111,16 +113,17 @@ if ($query = mysql_query($sql))
|
|||||||
$local_interface_id = $test['local_interface_id'];
|
$local_interface_id = $test['local_interface_id'];
|
||||||
$remote_hostname = $test['remote_hostname'];
|
$remote_hostname = $test['remote_hostname'];
|
||||||
$remote_port = $test['remote_port'];
|
$remote_port = $test['remote_port'];
|
||||||
if($debug) { echo("$local_interface_id -> $remote_hostname -> $remote_port \n"); }
|
if ($debug) { echo("$local_interface_id -> $remote_hostname -> $remote_port \n"); }
|
||||||
if(!$link_exists[$local_interface_id][$remote_hostname][$remote_port]) {
|
if (!$link_exists[$local_interface_id][$remote_hostname][$remote_port])
|
||||||
|
{
|
||||||
echo("-");
|
echo("-");
|
||||||
mysql_query("DELETE FROM `links` WHERE id = '" . $test['id'] . "'");
|
mysql_query("DELETE FROM `links` WHERE id = '" . $test['id'] . "'");
|
||||||
if($debug) {echo(mysql_affected_rows()." deleted ");}
|
if ($debug) { echo(mysql_affected_rows()." deleted "); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($link_exists);
|
unset($link_exists);
|
||||||
echo("\n");
|
echo("\n");
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -4,19 +4,18 @@ global $valid_sensor;
|
|||||||
|
|
||||||
echo(" ENTITY-SENSOR ");
|
echo(" ENTITY-SENSOR ");
|
||||||
|
|
||||||
echo("\nCaching OIDs:");
|
echo("\nCaching OIDs:");
|
||||||
|
|
||||||
if(!is_array($entity_array))
|
if (!is_array($entity_array))
|
||||||
{
|
{
|
||||||
$entity_array = array();
|
$entity_array = array();
|
||||||
echo(" entPhysicalDescr");
|
echo(" entPhysicalDescr");
|
||||||
$entity_array = snmpwalk_cache_multi_oid($device, "entPhysicalDescr", $entity_array, "CISCO-ENTITY-SENSOR-MIB");
|
$entity_array = snmpwalk_cache_multi_oid($device, "entPhysicalDescr", $entity_array, "CISCO-ENTITY-SENSOR-MIB");
|
||||||
echo(" entPhysicalName");
|
echo(" entPhysicalName");
|
||||||
$entity_array = snmpwalk_cache_multi_oid($device, "entPhysicalName", $entity_array, "CISCO-ENTITY-SENSOR-MIB");
|
$entity_array = snmpwalk_cache_multi_oid($device, "entPhysicalName", $entity_array, "CISCO-ENTITY-SENSOR-MIB");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$oids = array();
|
||||||
$oids = array();
|
|
||||||
echo(" entPhySensorType");
|
echo(" entPhySensorType");
|
||||||
$oids = snmpwalk_cache_multi_oid($device, "entPhySensorType", $oids, "ENTITY-SENSOR-MIB");
|
$oids = snmpwalk_cache_multi_oid($device, "entPhySensorType", $oids, "ENTITY-SENSOR-MIB");
|
||||||
echo(" entPhySensorScale");
|
echo(" entPhySensorScale");
|
||||||
@@ -35,13 +34,13 @@ $entitysensor['percentRH'] = "humidity";
|
|||||||
$entitysensor['rpm'] = "fanspeed";
|
$entitysensor['rpm'] = "fanspeed";
|
||||||
$entitysensor['celsius'] = "temperature";
|
$entitysensor['celsius'] = "temperature";
|
||||||
|
|
||||||
if(is_array($oids))
|
if (is_array($oids))
|
||||||
{
|
{
|
||||||
foreach($oids as $index => $entry)
|
foreach ($oids as $index => $entry)
|
||||||
{
|
{
|
||||||
#echo("[" . $entry['entPhySensorType'] . "|" . $entry['entPhySensorValue']. "|" . $index . "]");
|
#echo("[" . $entry['entPhySensorType'] . "|" . $entry['entPhySensorValue']. "|" . $index . "]");
|
||||||
|
|
||||||
if($entitysensor[$entry['entPhySensorType']] && is_numeric($entry['entPhySensorValue']) && is_numeric($index))
|
if ($entitysensor[$entry['entPhySensorType']] && is_numeric($entry['entPhySensorValue']) && is_numeric($index))
|
||||||
{
|
{
|
||||||
$entPhysicalIndex = $index;
|
$entPhysicalIndex = $index;
|
||||||
$oid = ".1.3.6.1.2.1.99.1.1.1.4.".$index;
|
$oid = ".1.3.6.1.2.1.99.1.1.1.4.".$index;
|
||||||
@@ -49,7 +48,7 @@ if(is_array($oids))
|
|||||||
#ENTITY-SENSOR-MIB::entPhySensorUnitsDisplay.11 = STRING: "C"
|
#ENTITY-SENSOR-MIB::entPhySensorUnitsDisplay.11 = STRING: "C"
|
||||||
|
|
||||||
$descr = $entity_array[$index]['entPhysicalName'];
|
$descr = $entity_array[$index]['entPhysicalName'];
|
||||||
if($descr || $device['os'] == "iosxr")
|
if ($descr || $device['os'] == "iosxr")
|
||||||
{
|
{
|
||||||
$descr = rewrite_entity_descr($descr);
|
$descr = rewrite_entity_descr($descr);
|
||||||
} else {
|
} else {
|
||||||
@@ -60,27 +59,27 @@ if(is_array($oids))
|
|||||||
$valid = TRUE;
|
$valid = TRUE;
|
||||||
|
|
||||||
$type = $entitysensor[$entry['entPhySensorType']];
|
$type = $entitysensor[$entry['entPhySensorType']];
|
||||||
|
|
||||||
### FIXME this stuff is foul
|
### FIXME this stuff is foul
|
||||||
|
|
||||||
if($entry['entPhySensorScale'] == "nano") { $divisor = "1000000000"; $multiplier = "1"; }
|
if ($entry['entPhySensorScale'] == "nano") { $divisor = "1000000000"; $multiplier = "1"; }
|
||||||
if($entry['entPhySensorScale'] == "micro") { $divisor = "1000000"; $multiplier = "1"; }
|
if ($entry['entPhySensorScale'] == "micro") { $divisor = "1000000"; $multiplier = "1"; }
|
||||||
if($entry['entPhySensorScale'] == "milli") { $divisor = "1000"; $multiplier = "1"; }
|
if ($entry['entPhySensorScale'] == "milli") { $divisor = "1000"; $multiplier = "1"; }
|
||||||
if($entry['entPhySensorScale'] == "units") { $divisor = "1"; $multiplier = "1"; }
|
if ($entry['entPhySensorScale'] == "units") { $divisor = "1"; $multiplier = "1"; }
|
||||||
if($entry['entPhySensorScale'] == "kilo") { $divisor = "1"; $multiplier = "1000"; }
|
if ($entry['entPhySensorScale'] == "kilo") { $divisor = "1"; $multiplier = "1000"; }
|
||||||
if($entry['entPhySensorScale'] == "mega") { $divisor = "1"; $multiplier = "1000000"; }
|
if ($entry['entPhySensorScale'] == "mega") { $divisor = "1"; $multiplier = "1000000"; }
|
||||||
if($entry['entPhySensorScale'] == "giga") { $divisor = "1"; $multiplier = "1000000000"; }
|
if ($entry['entPhySensorScale'] == "giga") { $divisor = "1"; $multiplier = "1000000000"; }
|
||||||
|
|
||||||
if(is_numeric($entry['entPhySensorPrecision']) && $entry['entPhySensorPrecision'] > "0") { $divisor = $divisor . str_pad('', $entry['entPhySensorPrecision'], "0"); }
|
if (is_numeric($entry['entPhySensorPrecision']) && $entry['entPhySensorPrecision'] > "0") { $divisor = $divisor . str_pad('', $entry['entPhySensorPrecision'], "0"); }
|
||||||
$current = $current * $multiplier / $divisor;
|
$current = $current * $multiplier / $divisor;
|
||||||
|
|
||||||
if($type == "temperature") { if($current > "200"){ $valid = FALSE; } $descr = preg_replace("/[T|t]emperature[|s]/", "", $descr); }
|
if ($type == "temperature") { if ($current > "200"){ $valid = FALSE; } $descr = preg_replace("/[T|t]emperature[|s]/", "", $descr); }
|
||||||
|
|
||||||
#echo($descr . "|" . $index . "|" .$current . "|" . $multiplier . "|" . $divisor ."|" . $entry['entPhySensorScale'] . "|" . $entry['entPhySensorPrecision'] . "\n");
|
#echo($descr . "|" . $index . "|" .$current . "|" . $multiplier . "|" . $divisor ."|" . $entry['entPhySensorScale'] . "|" . $entry['entPhySensorPrecision'] . "\n");
|
||||||
|
|
||||||
if($current == "-127") { $valid = FALSE; }
|
if ($current == "-127") { $valid = FALSE; }
|
||||||
|
|
||||||
if($valid && mysql_result(mysql_query("SELECT COUNT(*) FROM `sensors` WHERE `device_id` = '".$device['device_id']."' AND `sensor_class` = '".$type."' AND `sensor_type` = 'cisco-entity-sensor' AND `sensor_index` = '".$index."'"),0) == "0")
|
if ($valid && mysql_result(mysql_query("SELECT COUNT(*) FROM `sensors` WHERE `device_id` = '".$device['device_id']."' AND `sensor_class` = '".$type."' AND `sensor_type` = 'cisco-entity-sensor' AND `sensor_index` = '".$index."'"),0) == "0")
|
||||||
## Check to make sure we've not already seen this sensor via cisco's entity sensor mib
|
## Check to make sure we've not already seen this sensor via cisco's entity sensor mib
|
||||||
{
|
{
|
||||||
discover_sensor($valid_sensor, $type, $device, $oid, $index, 'entity-sensor', $descr, $divisor, $multiplier, NULL, NULL, NULL, NULL, $current);
|
discover_sensor($valid_sensor, $type, $device, $oid, $index, 'entity-sensor', $descr, $divisor, $multiplier, NULL, NULL, NULL, NULL, $current);
|
||||||
@@ -91,4 +90,4 @@ if(is_array($oids))
|
|||||||
|
|
||||||
echo("\n");
|
echo("\n");
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -1,21 +1,21 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
### Discover sensors
|
### Discover sensors
|
||||||
function discover_sensor (&$valid, $class, $device, $oid, $index, $type, $descr, $divisor = '1', $multiplier = '1', $low_limit = NULL, $low_warn_limit = NULL, $warn_limit = NULL, $high_limit = NULL, $current = NULL, $poller_type = 'snmp')
|
function discover_sensor(&$valid, $class, $device, $oid, $index, $type, $descr, $divisor = '1', $multiplier = '1', $low_limit = NULL, $low_warn_limit = NULL, $warn_limit = NULL, $high_limit = NULL, $current = NULL, $poller_type = 'snmp')
|
||||||
{
|
{
|
||||||
global $config, $debug;
|
global $config, $debug;
|
||||||
if($debug) { echo("$oid, $index, $type, $descr, $precision\n"); }
|
|
||||||
|
if ($debug) { echo("Discover sensor: $oid, $index, $type, $descr, $precision\n"); }
|
||||||
|
|
||||||
if (mysql_result(mysql_query("SELECT count(sensor_id) FROM `sensors` WHERE poller_type='" . mres($poller_type) . "' AND sensor_class='" . mres($class) . "' AND device_id = '".$device['device_id']."' AND sensor_type = '$type' AND `sensor_index` = '$index'"),0) == '0')
|
if (mysql_result(mysql_query("SELECT count(sensor_id) FROM `sensors` WHERE poller_type='" . mres($poller_type) . "' AND sensor_class='" . mres($class) . "' AND device_id = '".$device['device_id']."' AND sensor_type = '$type' AND `sensor_index` = '$index'"),0) == '0')
|
||||||
{
|
{
|
||||||
|
if (!$high_limit) { $high_limit = sensor_limit($class, $current); }
|
||||||
if(!$high_limit) { $high_limit = sensor_limit($class, $current); }
|
if (!$low_limit) { $low_limit = sensor_low_limit($class, $current); }
|
||||||
if(!$low_limit) { $low_limit = sensor_low_limit($class, $current); }
|
|
||||||
|
|
||||||
$query = "INSERT INTO sensors (`poller_type`,`sensor_class`, `device_id`, `sensor_oid`, `sensor_index`, `sensor_type`, `sensor_descr`, `sensor_divisor`, `sensor_multiplier`, `sensor_limit`, `sensor_limit_warn`, `sensor_limit_low`, `sensor_limit_low_warn`, `sensor_current`) ";
|
$query = "INSERT INTO sensors (`poller_type`,`sensor_class`, `device_id`, `sensor_oid`, `sensor_index`, `sensor_type`, `sensor_descr`, `sensor_divisor`, `sensor_multiplier`, `sensor_limit`, `sensor_limit_warn`, `sensor_limit_low`, `sensor_limit_low_warn`, `sensor_current`) ";
|
||||||
$query .= " VALUES ('" . mres($poller_type) . "','" . mres($class) . "', '".$device['device_id']."', '$oid', '$index', '$type', '$descr', '$divisor', '$multiplier', '$high_limit', '$warn_limit', '$low_limit', '$low_warn_limit', '$current')";
|
$query .= " VALUES ('" . mres($poller_type) . "','" . mres($class) . "', '".$device['device_id']."', '$oid', '$index', '$type', '$descr', '$divisor', '$multiplier', '$high_limit', '$warn_limit', '$low_limit', '$low_warn_limit', '$current')";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
if($debug) { echo("$query\n". mysql_affected_rows() . " inserted\n"); }
|
if ($debug) { echo("$query\n". mysql_affected_rows() . " inserted\n"); }
|
||||||
echo("+");
|
echo("+");
|
||||||
log_event("Sensor Added: ".mres($class)." ".mres($type)." ". mres($index)." ".mres($descr), $device['device_id'], 'sensor', mysql_insert_id());
|
log_event("Sensor Added: ".mres($class)." ".mres($type)." ". mres($index)." ".mres($descr), $device['device_id'], 'sensor', mysql_insert_id());
|
||||||
}
|
}
|
||||||
@@ -23,9 +23,9 @@ function discover_sensor (&$valid, $class, $device, $oid, $index, $type, $descr,
|
|||||||
{
|
{
|
||||||
$sensor_entry = mysql_fetch_assoc(mysql_query("SELECT * FROM `sensors` WHERE sensor_class='" . mres($class) . "' AND device_id = '".$device['device_id']."' AND sensor_type = '$type' AND `sensor_index` = '$index'"));
|
$sensor_entry = mysql_fetch_assoc(mysql_query("SELECT * FROM `sensors` WHERE sensor_class='" . mres($class) . "' AND device_id = '".$device['device_id']."' AND sensor_type = '$type' AND `sensor_index` = '$index'"));
|
||||||
|
|
||||||
if(!$high_limit)
|
if (!$high_limit)
|
||||||
{
|
{
|
||||||
if(!$sensor_entry['sensor_limit'])
|
if (!$sensor_entry['sensor_limit'])
|
||||||
{
|
{
|
||||||
$high_limit = sensor_limit($class, $current);
|
$high_limit = sensor_limit($class, $current);
|
||||||
} else {
|
} else {
|
||||||
@@ -35,18 +35,18 @@ function discover_sensor (&$valid, $class, $device, $oid, $index, $type, $descr,
|
|||||||
|
|
||||||
if ($high_limit != $sensor_entry['sensor_limit'])
|
if ($high_limit != $sensor_entry['sensor_limit'])
|
||||||
{
|
{
|
||||||
$query = "UPDATE sensors SET `sensor_limit` = '".$high_limit."' WHERE `sensor_id` = '".$sensor_entry['sensor_id']."'";
|
$query = "UPDATE sensors SET `sensor_limit` = '".$high_limit."' WHERE `sensor_id` = '".$sensor_entry['sensor_id']."'";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
if($debug) { echo("$query\n". mysql_affected_rows() . " updated\n"); }
|
if ($debug) { echo("$query\n". mysql_affected_rows() . " updated\n"); }
|
||||||
echo("H");
|
echo("H");
|
||||||
log_event("Sensor High Limit Updated: ".mres($class)." ".mres($type)." ". mres($index)." ".mres($descr)." (".$high_limit.")", $device['device_id'], 'sensor', $sensor_id);
|
log_event("Sensor High Limit Updated: ".mres($class)." ".mres($type)." ". mres($index)." ".mres($descr)." (".$high_limit.")", $device['device_id'], 'sensor', $sensor_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$low_limit)
|
if (!$low_limit)
|
||||||
{
|
{
|
||||||
if(!$sensor_entry['sensor_limit_low'])
|
if (!$sensor_entry['sensor_limit_low'])
|
||||||
{
|
{
|
||||||
$low_limit = sensor_low_limit($class, $current);
|
$low_limit = sensor_low_limit($class, $current);
|
||||||
} else {
|
} else {
|
||||||
$low_limit = $sensor_entry['sensor_limit_low'];
|
$low_limit = $sensor_entry['sensor_limit_low'];
|
||||||
}
|
}
|
||||||
@@ -55,13 +55,13 @@ function discover_sensor (&$valid, $class, $device, $oid, $index, $type, $descr,
|
|||||||
if ($sensor_entry['sensor_limit_low'] != $low_limit)
|
if ($sensor_entry['sensor_limit_low'] != $low_limit)
|
||||||
{
|
{
|
||||||
$query = "UPDATE sensors SET `sensor_limit_low` = '".$low_limit."' WHERE `sensor_id` = '".$sensor_entry['sensor_id']."'";
|
$query = "UPDATE sensors SET `sensor_limit_low` = '".$low_limit."' WHERE `sensor_id` = '".$sensor_entry['sensor_id']."'";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
if($debug) { echo("$query\n". mysql_affected_rows() . " updated\n"); }
|
if ($debug) { echo("$query\n". mysql_affected_rows() . " updated\n"); }
|
||||||
echo("L");
|
echo("L");
|
||||||
log_event("Sensor Low Limit Updated: ".mres($class)." ".mres($type)." ". mres($index)." ".mres($descr)." (".$low_limit.")", $device['device_id'], 'sensor', $sensor_id);
|
log_event("Sensor Low Limit Updated: ".mres($class)." ".mres($type)." ". mres($index)." ".mres($descr)." (".$low_limit.")", $device['device_id'], 'sensor', $sensor_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($oid == $sensor_entry['sensor_oid'] && $descr == $sensor_entry['sensor_descr'] && $multiplier == $sensor_entry['sensor_multiplier'] && $divisor == $sensor_entry['sensor_divisor'])
|
if ($oid == $sensor_entry['sensor_oid'] && $descr == $sensor_entry['sensor_descr'] && $multiplier == $sensor_entry['sensor_multiplier'] && $divisor == $sensor_entry['sensor_divisor'])
|
||||||
{
|
{
|
||||||
echo(".");
|
echo(".");
|
||||||
}
|
}
|
||||||
@@ -71,71 +71,70 @@ function discover_sensor (&$valid, $class, $device, $oid, $index, $type, $descr,
|
|||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
echo("U");
|
echo("U");
|
||||||
log_event("Sensor Updated: ".mres($class)." ".mres($type)." ". mres($index)." ".mres($descr), $device['device_id'], 'sensor', $sensor_id);
|
log_event("Sensor Updated: ".mres($class)." ".mres($type)." ". mres($index)." ".mres($descr), $device['device_id'], 'sensor', $sensor_id);
|
||||||
if($debug) { echo("$query\n". mysql_affected_rows() . " updated\n"); }
|
if ($debug) { echo("$query\n". mysql_affected_rows() . " updated\n"); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$valid[$class][$type][$index] = 1;
|
$valid[$class][$type][$index] = 1;
|
||||||
return $return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function sensor_low_limit ($class, $current)
|
function sensor_low_limit($class, $current)
|
||||||
{
|
|
||||||
$limit = NULL;
|
|
||||||
|
|
||||||
switch($class)
|
|
||||||
{
|
|
||||||
case 'temperature':
|
|
||||||
$limit = $current * 0.7;
|
|
||||||
break;
|
|
||||||
case 'voltage':
|
|
||||||
$limit = $current * 0.85;
|
|
||||||
break;
|
|
||||||
case 'humidity':
|
|
||||||
$limit = "70";
|
|
||||||
break;
|
|
||||||
case 'freq':
|
|
||||||
$limit = $current * 0.95;
|
|
||||||
break;
|
|
||||||
case 'current':
|
|
||||||
$limit = $current * 0.80;
|
|
||||||
break;
|
|
||||||
case 'fanspeed':
|
|
||||||
$limit = $current * 0.80;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return $limit;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function sensor_limit ($class, $current)
|
|
||||||
{
|
{
|
||||||
$limit = NULL;
|
$limit = NULL;
|
||||||
|
|
||||||
switch($class)
|
switch($class)
|
||||||
{
|
{
|
||||||
case 'temperature':
|
case 'temperature':
|
||||||
$limit = $current * 1.60;
|
$limit = $current * 0.7;
|
||||||
break;
|
break;
|
||||||
case 'voltage':
|
case 'voltage':
|
||||||
$limit = $current * 1.15;
|
$limit = $current * 0.85;
|
||||||
break;
|
break;
|
||||||
case 'humidity':
|
case 'humidity':
|
||||||
$limit = "70";
|
$limit = "70";
|
||||||
break;
|
break;
|
||||||
case 'freq':
|
case 'freq':
|
||||||
$limit = $current * 1.05;
|
$limit = $current * 0.95;
|
||||||
break;
|
break;
|
||||||
case 'current':
|
case 'current':
|
||||||
$limit = $current * 1.50;
|
$limit = $current * 0.80;
|
||||||
break;
|
break;
|
||||||
case 'fanspeed':
|
case 'fanspeed':
|
||||||
$limit = $current * 1.30;
|
$limit = $current * 0.80;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return $limit;
|
return $limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
function check_valid_sensors($device, $class, $valid)
|
|
||||||
|
function sensor_limit($class, $current)
|
||||||
|
{
|
||||||
|
$limit = NULL;
|
||||||
|
|
||||||
|
switch($class)
|
||||||
|
{
|
||||||
|
case 'temperature':
|
||||||
|
$limit = $current * 1.60;
|
||||||
|
break;
|
||||||
|
case 'voltage':
|
||||||
|
$limit = $current * 1.15;
|
||||||
|
break;
|
||||||
|
case 'humidity':
|
||||||
|
$limit = "70";
|
||||||
|
break;
|
||||||
|
case 'freq':
|
||||||
|
$limit = $current * 1.05;
|
||||||
|
break;
|
||||||
|
case 'current':
|
||||||
|
$limit = $current * 1.50;
|
||||||
|
break;
|
||||||
|
case 'fanspeed':
|
||||||
|
$limit = $current * 1.30;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return $limit;
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_valid_sensors($device, $class, $valid)
|
||||||
{
|
{
|
||||||
$sql = "SELECT * FROM sensors AS S, devices AS D WHERE S.sensor_class='".$class."' AND S.device_id = D.device_id AND D.device_id = '".$device['device_id']."'";
|
$sql = "SELECT * FROM sensors AS S, devices AS D WHERE S.sensor_class='".$class."' AND S.device_id = D.device_id AND D.device_id = '".$device['device_id']."'";
|
||||||
if ($query = mysql_query($sql))
|
if ($query = mysql_query($sql))
|
||||||
@@ -144,8 +143,8 @@ function check_valid_sensors($device, $class, $valid)
|
|||||||
{
|
{
|
||||||
$index = $test['sensor_index'];
|
$index = $test['sensor_index'];
|
||||||
$type = $test['sensor_type'];
|
$type = $test['sensor_type'];
|
||||||
if($debug) { echo($index . " -> " . $type . "\n"); }
|
if ($debug) { echo($index . " -> " . $type . "\n"); }
|
||||||
if(!$valid[$class][$type][$index])
|
if (!$valid[$class][$type][$index])
|
||||||
{
|
{
|
||||||
echo("-");
|
echo("-");
|
||||||
mysql_query("DELETE FROM `sensors` WHERE sensor_class='".$class."' AND sensor_id = '" . $test['sensor_id'] . "'");
|
mysql_query("DELETE FROM `sensors` WHERE sensor_class='".$class."' AND sensor_id = '" . $test['sensor_id'] . "'");
|
||||||
@@ -161,13 +160,13 @@ function discover_juniAtmVp(&$valid, $interface_id, $vp_id, $vp_descr)
|
|||||||
{
|
{
|
||||||
global $config, $debug;
|
global $config, $debug;
|
||||||
|
|
||||||
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `juniAtmVp` WHERE `interface_id` = '".$interface_id."' AND `vp_id` = '".$vp_id."'"),0) == "0")
|
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `juniAtmVp` WHERE `interface_id` = '".$interface_id."' AND `vp_id` = '".$vp_id."'"),0) == "0")
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO `juniAtmVp` (`interface_id`,`vp_id`,`vp_descr`) VALUES ('".$interface_id."','".$vp_id."','".$vp_descr."')";
|
$sql = "INSERT INTO `juniAtmVp` (`interface_id`,`vp_id`,`vp_descr`) VALUES ('".$interface_id."','".$vp_id."','".$vp_descr."')";
|
||||||
mysql_query($sql); echo("+");
|
mysql_query($sql); echo("+");
|
||||||
if($debug) { echo($sql . " - " . mysql_affected_rows() . "inserted "); }
|
if ($debug) { echo($sql . " - " . mysql_affected_rows() . "inserted "); }
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo(".");
|
echo(".");
|
||||||
}
|
}
|
||||||
@@ -184,40 +183,40 @@ function discover_link($local_interface_id, $protocol, $remote_interface_id, $re
|
|||||||
$sql = "INSERT INTO `links` (`local_interface_id`,`protocol`,`remote_interface_id`,`remote_hostname`,`remote_port`,`remote_platform`,`remote_version`)
|
$sql = "INSERT INTO `links` (`local_interface_id`,`protocol`,`remote_interface_id`,`remote_hostname`,`remote_port`,`remote_platform`,`remote_version`)
|
||||||
VALUES ('$local_interface_id','$protocol','$remote_interface_id','$remote_hostname','$remote_port','$remote_platform','$remote_version')";
|
VALUES ('$local_interface_id','$protocol','$remote_interface_id','$remote_hostname','$remote_port','$remote_platform','$remote_version')";
|
||||||
mysql_query($sql);
|
mysql_query($sql);
|
||||||
echo("+"); if($debug) { echo("$sql"); }
|
echo("+"); if ($debug) { echo("$sql"); }
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$data = mysql_fetch_assoc(mysql_query("SELECT * FROM `links` WHERE `remote_hostname` = '$remote_hostname' AND `local_interface_id` = '$local_interface_id'
|
$data = mysql_fetch_assoc(mysql_query("SELECT * FROM `links` WHERE `remote_hostname` = '$remote_hostname' AND `local_interface_id` = '$local_interface_id'
|
||||||
AND `protocol` = '$protocol' AND `remote_port` = '$remote_port'"));
|
AND `protocol` = '$protocol' AND `remote_port` = '$remote_port'"));
|
||||||
if($data['remote_interface_id'] == $remote_interface_id && $data['remote_platform'] == $remote_platform && $remote_version == $remote_version)
|
if ($data['remote_interface_id'] == $remote_interface_id && $data['remote_platform'] == $remote_platform && $remote_version == $remote_version)
|
||||||
{
|
{
|
||||||
echo(".");
|
echo(".");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$sql = "UPDATE `links` SET `remote_interface_id` = $remote_interface_id, `remote_platform` = '$remote_platform', `remote_version` = '$remote_version' WHERE `id` = '".$data['id']."'";
|
$sql = "UPDATE `links` SET `remote_interface_id` = $remote_interface_id, `remote_platform` = '$remote_platform', `remote_version` = '$remote_version' WHERE `id` = '".$data['id']."'";
|
||||||
mysql_query($sql);
|
mysql_query($sql);
|
||||||
echo("U"); if($debug) {echo("$sql");}
|
echo("U"); if ($debug) {echo("$sql");}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$link_exists[$local_interface_id][$remote_hostname][$remote_port] = 1;
|
$link_exists[$local_interface_id][$remote_hostname][$remote_port] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
function discover_storage(&$valid, $device, $index, $type, $mib, $descr, $size, $units, $used = NULL)
|
function discover_storage(&$valid, $device, $index, $type, $mib, $descr, $size, $units, $used = NULL)
|
||||||
{
|
{
|
||||||
global $config, $debug;
|
global $config, $debug;
|
||||||
|
|
||||||
if($debug) { echo("$device, $index, $type, $mib, $descr, $units, $used, $size\n"); }
|
if ($debug) { echo("$device, $index, $type, $mib, $descr, $units, $used, $size\n"); }
|
||||||
if($descr && $size > "0")
|
if ($descr && $size > "0")
|
||||||
{
|
{
|
||||||
if(mysql_result(mysql_query("SELECT count(storage_id) FROM `storage` WHERE `storage_index` = '$index' AND `device_id` = '".$device['device_id']."' AND `storage_mib` = '$mib'"),0) == '0')
|
if (mysql_result(mysql_query("SELECT count(storage_id) FROM `storage` WHERE `storage_index` = '$index' AND `device_id` = '".$device['device_id']."' AND `storage_mib` = '$mib'"),0) == '0')
|
||||||
{
|
{
|
||||||
$query = "INSERT INTO storage (`device_id`, `storage_descr`, `storage_index`, `storage_mib`, `storage_type`, `storage_units`,`storage_size`,`storage_used`)
|
$query = "INSERT INTO storage (`device_id`, `storage_descr`, `storage_index`, `storage_mib`, `storage_type`, `storage_units`,`storage_size`,`storage_used`)
|
||||||
values ('".$device['device_id']."', '$descr', '$index', '$mib','$type', '$units', '$size', '$used')";
|
values ('".$device['device_id']."', '$descr', '$index', '$mib','$type', '$units', '$size', '$used')";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
if($debug) { print $query . "\n"; mysql_error(); }
|
if ($debug) { print $query . "\n"; mysql_error(); }
|
||||||
echo("+");
|
echo("+");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -226,9 +225,9 @@ function discover_storage(&$valid, $device, $index, $type, $mib, $descr, $size,
|
|||||||
$query = "UPDATE `storage` SET `storage_descr` = '".$descr."', `storage_type` = '".$type."', `storage_units` = '".$units."', `storage_size` = '".$size."'
|
$query = "UPDATE `storage` SET `storage_descr` = '".$descr."', `storage_type` = '".$type."', `storage_units` = '".$units."', `storage_size` = '".$size."'
|
||||||
WHERE `device_id` = '".$device['device_id']."' AND `storage_index` = '".$index."' AND `storage_mib` = '".$mib."'";
|
WHERE `device_id` = '".$device['device_id']."' AND `storage_index` = '".$index."' AND `storage_mib` = '".$mib."'";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
if($debug) { print $query . "\n"; }
|
if ($debug) { print $query . "\n"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
$valid[$mib][$index] = 1;
|
$valid[$mib][$index] = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -237,17 +236,17 @@ function discover_storage(&$valid, $device, $index, $type, $mib, $descr, $size,
|
|||||||
function discover_processor(&$valid, $device, $oid, $index, $type, $descr, $precision = "1", $current = NULL, $entPhysicalIndex = NULL, $hrDeviceIndex = NULL)
|
function discover_processor(&$valid, $device, $oid, $index, $type, $descr, $precision = "1", $current = NULL, $entPhysicalIndex = NULL, $hrDeviceIndex = NULL)
|
||||||
{
|
{
|
||||||
global $config, $debug;
|
global $config, $debug;
|
||||||
|
|
||||||
if($debug) { echo("$device, $oid, $index, $type, $descr, $precision, $current, $entPhysicalIndex, $hrDeviceIndex\n"); }
|
if ($debug) { echo("$device, $oid, $index, $type, $descr, $precision, $current, $entPhysicalIndex, $hrDeviceIndex\n"); }
|
||||||
if($descr)
|
if ($descr)
|
||||||
{
|
{
|
||||||
$descr = str_replace("\"", "", $descr);
|
$descr = str_replace("\"", "", $descr);
|
||||||
if(mysql_result(mysql_query("SELECT count(processor_id) FROM `processors` WHERE `processor_index` = '$index' AND `device_id` = '".$device['device_id']."' AND `processor_type` = '$type'"),0) == '0')
|
if (mysql_result(mysql_query("SELECT count(processor_id) FROM `processors` WHERE `processor_index` = '$index' AND `device_id` = '".$device['device_id']."' AND `processor_type` = '$type'"),0) == '0')
|
||||||
{
|
{
|
||||||
$query = "INSERT INTO processors (`entPhysicalIndex`, `hrDeviceIndex`, `device_id`, `processor_descr`, `processor_index`, `processor_oid`, `processor_usage`, `processor_type`, `processor_precision`)
|
$query = "INSERT INTO processors (`entPhysicalIndex`, `hrDeviceIndex`, `device_id`, `processor_descr`, `processor_index`, `processor_oid`, `processor_usage`, `processor_type`, `processor_precision`)
|
||||||
values ('$entPhysicalIndex', '$hrDeviceIndex', '".$device['device_id']."', '$descr', '$index', '$oid', '$current', '$type','$precision')";
|
values ('$entPhysicalIndex', '$hrDeviceIndex', '".$device['device_id']."', '$descr', '$index', '$oid', '$current', '$type','$precision')";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
if($debug) { print $query . "\n"; }
|
if ($debug) { print $query . "\n"; }
|
||||||
echo("+");
|
echo("+");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -256,7 +255,7 @@ function discover_processor(&$valid, $device, $oid, $index, $type, $descr, $prec
|
|||||||
$query = "UPDATE `processors` SET `processor_descr` = '".$descr."', `processor_oid` = '".$oid."', `processor_precision` = '".$precision."'
|
$query = "UPDATE `processors` SET `processor_descr` = '".$descr."', `processor_oid` = '".$oid."', `processor_precision` = '".$precision."'
|
||||||
WHERE `device_id` = '".$device['device_id']."' AND `processor_index` = '".$index."' AND `processor_type` = '".$type."'";
|
WHERE `device_id` = '".$device['device_id']."' AND `processor_index` = '".$index."' AND `processor_type` = '".$type."'";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
if($debug) { print $query . "\n"; }
|
if ($debug) { print $query . "\n"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
$valid[$type][$index] = 1;
|
$valid[$type][$index] = 1;
|
||||||
@@ -267,16 +266,16 @@ function discover_processor(&$valid, $device, $oid, $index, $type, $descr, $prec
|
|||||||
function discover_mempool(&$valid, $device, $index, $type, $descr, $precision = "1", $entPhysicalIndex = NULL, $hrDeviceIndex = NULL)
|
function discover_mempool(&$valid, $device, $index, $type, $descr, $precision = "1", $entPhysicalIndex = NULL, $hrDeviceIndex = NULL)
|
||||||
{
|
{
|
||||||
global $config, $debug;
|
global $config, $debug;
|
||||||
|
|
||||||
if($debug) { echo("$device, $oid, $index, $type, $descr, $precision, $current, $entPhysicalIndex, $hrDeviceIndex\n"); }
|
if ($debug) { echo("$device, $oid, $index, $type, $descr, $precision, $current, $entPhysicalIndex, $hrDeviceIndex\n"); }
|
||||||
if($descr)
|
if ($descr)
|
||||||
{
|
{
|
||||||
if(mysql_result(mysql_query("SELECT count(mempool_id) FROM `mempools` WHERE `mempool_index` = '$index' AND `device_id` = '".$device['device_id']."' AND `mempool_type` = '$type'"),0) == '0')
|
if (mysql_result(mysql_query("SELECT count(mempool_id) FROM `mempools` WHERE `mempool_index` = '$index' AND `device_id` = '".$device['device_id']."' AND `mempool_type` = '$type'"),0) == '0')
|
||||||
{
|
{
|
||||||
$query = "INSERT INTO mempools (`entPhysicalIndex`, `hrDeviceIndex`, `device_id`, `mempool_descr`, `mempool_index`, `mempool_type`, `mempool_precision`)
|
$query = "INSERT INTO mempools (`entPhysicalIndex`, `hrDeviceIndex`, `device_id`, `mempool_descr`, `mempool_index`, `mempool_type`, `mempool_precision`)
|
||||||
values ('$entPhysicalIndex', '$hrDeviceIndex', '".$device['device_id']."', '$descr', '$index', '$type','$precision')";
|
values ('$entPhysicalIndex', '$hrDeviceIndex', '".$device['device_id']."', '$descr', '$index', '$type','$precision')";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
if($debug) { print $query . "\n"; }
|
if ($debug) { print $query . "\n"; }
|
||||||
echo("+");
|
echo("+");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -286,7 +285,7 @@ function discover_mempool(&$valid, $device, $index, $type, $descr, $precision =
|
|||||||
$query .= ", `hrDeviceIndex` = '$hrDeviceIndex' ";
|
$query .= ", `hrDeviceIndex` = '$hrDeviceIndex' ";
|
||||||
$query .= "WHERE `device_id` = '".$device['device_id']."' AND `mempool_index` = '".$index."' AND `mempool_type` = '".$type."'";
|
$query .= "WHERE `device_id` = '".$device['device_id']."' AND `mempool_index` = '".$index."' AND `mempool_type` = '".$type."'";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
if($debug) { print $query . "\n"; }
|
if ($debug) { print $query . "\n"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
$valid[$type][$index] = 1;
|
$valid[$type][$index] = 1;
|
||||||
@@ -296,8 +295,8 @@ function discover_mempool(&$valid, $device, $index, $type, $descr, $precision =
|
|||||||
function discover_toner(&$valid, $device, $oid, $index, $type, $descr, $capacity = NULL, $current = NULL)
|
function discover_toner(&$valid, $device, $oid, $index, $type, $descr, $capacity = NULL, $current = NULL)
|
||||||
{
|
{
|
||||||
global $config, $debug;
|
global $config, $debug;
|
||||||
|
|
||||||
if($debug) { echo("$oid, $index, $type, $descr, $capacity\n"); }
|
if ($debug) { echo("$oid, $index, $type, $descr, $capacity\n"); }
|
||||||
|
|
||||||
if (mysql_result(mysql_query("SELECT count(toner_id) FROM `toner` WHERE device_id = '".$device['device_id']."' AND toner_type = '$type' AND `toner_index` = '$index'"),0) == '0')
|
if (mysql_result(mysql_query("SELECT count(toner_id) FROM `toner` WHERE device_id = '".$device['device_id']."' AND toner_type = '$type' AND `toner_index` = '$index'"),0) == '0')
|
||||||
{
|
{
|
||||||
@@ -305,23 +304,22 @@ function discover_toner(&$valid, $device, $oid, $index, $type, $descr, $capacity
|
|||||||
$query .= " VALUES ('".$device['device_id']."', '$oid', '$index', '$type', '$descr', '$capacity', '$current')";
|
$query .= " VALUES ('".$device['device_id']."', '$oid', '$index', '$type', '$descr', '$capacity', '$current')";
|
||||||
mysql_query($query);
|
mysql_query($query);
|
||||||
echo("+");
|
echo("+");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$toner_entry = mysql_fetch_assoc(mysql_query("SELECT * FROM `toner` WHERE device_id = '".$device['device_id']."' AND toner_type = '$type' AND `toner_index` = '$index'"));
|
$toner_entry = mysql_fetch_assoc(mysql_query("SELECT * FROM `toner` WHERE device_id = '".$device['device_id']."' AND toner_type = '$type' AND `toner_index` = '$index'"));
|
||||||
if($oid == $toner_entry['toner_oid'] && $descr == $toner_entry['toner_descr'] && $capacity == $toner_entry['toner_capacity'])
|
if ($oid == $toner_entry['toner_oid'] && $descr == $toner_entry['toner_descr'] && $capacity == $toner_entry['toner_capacity'])
|
||||||
{
|
{
|
||||||
echo(".");
|
echo(".");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mysql_query("UPDATE toner SET `toner_descr` = '$descr', `toner_oid` = '$oid', `toner_capacity` = '$capacity' WHERE `device_id` = '".$device['device_id']."' AND toner_type = '$type' AND `toner_index` = '$index' ");
|
mysql_query("UPDATE toner SET `toner_descr` = '$descr', `toner_oid` = '$oid', `toner_capacity` = '$capacity' WHERE `device_id` = '".$device['device_id']."' AND toner_type = '$type' AND `toner_index` = '$index' ");
|
||||||
echo("U");
|
echo("U");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$valid[$type][$index] = 1;
|
$valid[$type][$index] = 1;
|
||||||
return $return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo("IP Addresses : ");
|
echo("IPv4 Addresses : ");
|
||||||
|
|
||||||
$oids = trim(snmp_walk($device,"ipAdEntIfIndex","-Osq","IP-MIB"));
|
$oids = trim(snmp_walk($device,"ipAdEntIfIndex","-Osq","IP-MIB"));
|
||||||
$oids = str_replace("ipAdEntIfIndex.", "", $oids);
|
$oids = str_replace("ipAdEntIfIndex.", "", $oids);
|
||||||
foreach(explode("\n", $oids) as $data)
|
foreach (explode("\n", $oids) as $data)
|
||||||
{
|
{
|
||||||
$data = trim($data);
|
$data = trim($data);
|
||||||
list($oid,$ifIndex) = explode(" ", $data);
|
list($oid,$ifIndex) = explode(" ", $data);
|
||||||
@@ -12,18 +12,19 @@ foreach(explode("\n", $oids) as $data)
|
|||||||
$addr = Net_IPv4::parseAddress("$oid/$mask");
|
$addr = Net_IPv4::parseAddress("$oid/$mask");
|
||||||
$network = $addr->network . "/" . $addr->bitmask;
|
$network = $addr->network . "/" . $addr->bitmask;
|
||||||
$cidr = $addr->bitmask;
|
$cidr = $addr->bitmask;
|
||||||
|
|
||||||
if (mysql_result(mysql_query("SELECT count(*) FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'"), 0) != '0' && $oid != "0.0.0.0")
|
if (mysql_result(mysql_query("SELECT count(*) FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'"), 0) != '0' && $oid != "0.0.0.0")
|
||||||
{
|
{
|
||||||
$i_query = "SELECT interface_id FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'";
|
$i_query = "SELECT interface_id FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'";
|
||||||
$interface_id = mysql_result(mysql_query($i_query), 0);
|
$interface_id = mysql_result(mysql_query($i_query), 0);
|
||||||
|
|
||||||
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `ipv4_networks` WHERE `ipv4_network` = '$network'"), 0) < '1')
|
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `ipv4_networks` WHERE `ipv4_network` = '$network'"), 0) < '1')
|
||||||
{
|
{
|
||||||
mysql_query("INSERT INTO `ipv4_networks` (`ipv4_network`) VALUES ('$network')");
|
mysql_query("INSERT INTO `ipv4_networks` (`ipv4_network`) VALUES ('$network')");
|
||||||
#echo("Create Subnet $network\n");
|
#echo("Create Subnet $network\n");
|
||||||
echo("S");
|
echo("S");
|
||||||
}
|
}
|
||||||
|
|
||||||
$ipv4_network_id = @mysql_result(mysql_query("SELECT `ipv4_network_id` from `ipv4_networks` WHERE `ipv4_network` = '$network'"), 0);
|
$ipv4_network_id = @mysql_result(mysql_query("SELECT `ipv4_network_id` from `ipv4_networks` WHERE `ipv4_network` = '$network'"), 0);
|
||||||
|
|
||||||
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `ipv4_addresses` WHERE `ipv4_address` = '$oid' AND `ipv4_prefixlen` = '$cidr' AND `interface_id` = '$interface_id'"), 0) == '0')
|
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `ipv4_addresses` WHERE `ipv4_address` = '$oid' AND `ipv4_prefixlen` = '$cidr' AND `interface_id` = '$interface_id'"), 0) == '0')
|
||||||
@@ -32,7 +33,7 @@ foreach(explode("\n", $oids) as $data)
|
|||||||
#echo("Added $oid/$cidr to $interface_id ( $hostname $ifIndex )\n $i_query\n");
|
#echo("Added $oid/$cidr to $interface_id ( $hostname $ifIndex )\n $i_query\n");
|
||||||
echo("+");
|
echo("+");
|
||||||
} else { echo("."); }
|
} else { echo("."); }
|
||||||
|
|
||||||
$full_address = "$oid/$cidr|$ifIndex";
|
$full_address = "$oid/$cidr|$ifIndex";
|
||||||
$valid_v4[$full_address] = 1;
|
$valid_v4[$full_address] = 1;
|
||||||
} else { echo("!"); }
|
} else { echo("!"); }
|
||||||
@@ -41,7 +42,7 @@ foreach(explode("\n", $oids) as $data)
|
|||||||
$sql = "SELECT * FROM ipv4_addresses AS A, ports AS I WHERE I.device_id = '".$device['device_id']."' AND A.interface_id = I.interface_id";
|
$sql = "SELECT * FROM ipv4_addresses AS A, ports AS I WHERE I.device_id = '".$device['device_id']."' AND A.interface_id = I.interface_id";
|
||||||
$data = mysql_query($sql);
|
$data = mysql_query($sql);
|
||||||
|
|
||||||
while($row = mysql_fetch_array($data))
|
while ($row = mysql_fetch_array($data))
|
||||||
{
|
{
|
||||||
$full_address = $row['ipv4_address'] . "/" . $row['ipv4_prefixlen'] . "|" . $row['ifIndex'];
|
$full_address = $row['ipv4_address'] . "/" . $row['ipv4_prefixlen'] . "|" . $row['ifIndex'];
|
||||||
|
|
||||||
@@ -59,4 +60,5 @@ while($row = mysql_fetch_array($data))
|
|||||||
echo("\n");
|
echo("\n");
|
||||||
|
|
||||||
unset($valid_v4);
|
unset($valid_v4);
|
||||||
?>
|
|
||||||
|
?>
|
||||||
@@ -8,9 +8,9 @@ $oids = str_replace("\"", "", $oids);
|
|||||||
$oids = str_replace("IP-MIB::", "", $oids);
|
$oids = str_replace("IP-MIB::", "", $oids);
|
||||||
$oids = trim($oids);
|
$oids = trim($oids);
|
||||||
|
|
||||||
foreach(explode("\n", $oids) as $data)
|
foreach (explode("\n", $oids) as $data)
|
||||||
{
|
{
|
||||||
if($data)
|
if ($data)
|
||||||
{
|
{
|
||||||
$data = trim($data);
|
$data = trim($data);
|
||||||
list($ipv6addr,$ifIndex) = explode(" ", $data);
|
list($ipv6addr,$ifIndex) = explode(" ", $data);
|
||||||
@@ -18,15 +18,16 @@ foreach(explode("\n", $oids) as $data)
|
|||||||
$sep = ''; $adsep = '';
|
$sep = ''; $adsep = '';
|
||||||
unset($ipv6_address);
|
unset($ipv6_address);
|
||||||
$do = '0';
|
$do = '0';
|
||||||
foreach(explode(":", $ipv6addr) as $part)
|
foreach (explode(":", $ipv6addr) as $part)
|
||||||
{
|
{
|
||||||
$n = hexdec($part);
|
$n = hexdec($part);
|
||||||
$oid = "$oid" . "$sep" . "$n";
|
$oid = "$oid" . "$sep" . "$n";
|
||||||
$sep = ".";
|
$sep = ".";
|
||||||
$ipv6_address = $ipv6_address . "$adsep" . $part;
|
$ipv6_address = $ipv6_address . "$adsep" . $part;
|
||||||
$do++;
|
$do++;
|
||||||
if($do == 2) { $adsep = ":"; $do = '0'; } else { $adsep = "";}
|
if ($do == 2) { $adsep = ":"; $do = '0'; } else { $adsep = "";}
|
||||||
}
|
}
|
||||||
|
|
||||||
$ipv6_prefixlen = snmp_get($device, ".1.3.6.1.2.1.4.34.1.5.2.16.$oid", "", "IP-MIB");
|
$ipv6_prefixlen = snmp_get($device, ".1.3.6.1.2.1.4.34.1.5.2.16.$oid", "", "IP-MIB");
|
||||||
$ipv6_prefixlen = explode(".", $ipv6_prefixlen);
|
$ipv6_prefixlen = explode(".", $ipv6_prefixlen);
|
||||||
$ipv6_prefixlen = str_replace("\"", "", end($ipv6_prefixlen));
|
$ipv6_prefixlen = str_replace("\"", "", end($ipv6_prefixlen));
|
||||||
@@ -43,9 +44,9 @@ if (!$oids)
|
|||||||
$oids = str_replace(".1.3.6.1.2.1.55.1.8.1.2.", "", $oids);
|
$oids = str_replace(".1.3.6.1.2.1.55.1.8.1.2.", "", $oids);
|
||||||
$oids = str_replace("\"", "", $oids); $oids = trim($oids);
|
$oids = str_replace("\"", "", $oids); $oids = trim($oids);
|
||||||
|
|
||||||
foreach(explode("\n", $oids) as $data)
|
foreach (explode("\n", $oids) as $data)
|
||||||
{
|
{
|
||||||
if($data)
|
if ($data)
|
||||||
{
|
{
|
||||||
$data = trim($data);
|
$data = trim($data);
|
||||||
list($if_ipv6addr,$ipv6_prefixlen) = explode(" ", $data);
|
list($if_ipv6addr,$ipv6_prefixlen) = explode(" ", $data);
|
||||||
@@ -60,16 +61,16 @@ if (!$oids)
|
|||||||
$sql = "SELECT * FROM ipv6_addresses AS A, ports AS I WHERE I.device_id = '".$device['device_id']."' AND A.interface_id = I.interface_id";
|
$sql = "SELECT * FROM ipv6_addresses AS A, ports AS I WHERE I.device_id = '".$device['device_id']."' AND A.interface_id = I.interface_id";
|
||||||
$data = mysql_query($sql);
|
$data = mysql_query($sql);
|
||||||
|
|
||||||
while($row = mysql_fetch_array($data))
|
while ($row = mysql_fetch_array($data))
|
||||||
{
|
{
|
||||||
$full_address = $row['ipv6_address'] . "/" . $row['ipv6_prefixlen'];
|
$full_address = $row['ipv6_address'] . "/" . $row['ipv6_prefixlen'];
|
||||||
$interface_id = $row['interface_id'];
|
$interface_id = $row['interface_id'];
|
||||||
$valid = $full_address . "-" . $interface_id;
|
$valid = $full_address . "-" . $interface_id;
|
||||||
if(!$valid_v6[$valid])
|
if (!$valid_v6[$valid])
|
||||||
{
|
{
|
||||||
echo("-");
|
echo("-");
|
||||||
$query = @mysql_query("DELETE FROM `ipv6_addresses` WHERE `ipv6_address_id` = '".$row['ipv6_address_id']."'");
|
$query = @mysql_query("DELETE FROM `ipv6_addresses` WHERE `ipv6_address_id` = '".$row['ipv6_address_id']."'");
|
||||||
if(!mysql_result(mysql_query("SELECT count(*) FROM ipv6_addresses WHERE ipv6_network_id = '".$row['ipv6_network_id']."'"),0))
|
if (!mysql_result(mysql_query("SELECT count(*) FROM ipv6_addresses WHERE ipv6_network_id = '".$row['ipv6_network_id']."'"),0))
|
||||||
{
|
{
|
||||||
$query = @mysql_query("DELETE FROM `ipv6_networks` WHERE `ipv6_network_id` = '".$row['ipv6_network_id']."'");
|
$query = @mysql_query("DELETE FROM `ipv6_networks` WHERE `ipv6_network_id` = '".$row['ipv6_network_id']."'");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,53 +1,56 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
# We're discovering this MIB
|
||||||
### We're discovering this MIB
|
|
||||||
# snmpwalk -v2c -c <community> <hostname> -M mibs/junose/ -m Juniper-UNI-ATM-MIB juniAtmVpStatsEntry
|
# snmpwalk -v2c -c <community> <hostname> -M mibs/junose/ -m Juniper-UNI-ATM-MIB juniAtmVpStatsEntry
|
||||||
|
|
||||||
## JunOSe ATM vps
|
## JunOSe ATM vps
|
||||||
if($device['os'] == "junose" && $config['enable_ports_junoseatmvp'])
|
if ($device['os'] == "junose" && $config['enable_ports_junoseatmvp'])
|
||||||
{
|
{
|
||||||
echo("JunOSe ATM vps : ");
|
echo("JunOSe ATM vps : ");
|
||||||
$vp_array = snmpwalk_cache_multi_oid($device, "juniAtmVpStatsInCells", $vp_array, "Juniper-UNI-ATM-MIB" , $config['install_dir']."/mibs/junose");
|
$vp_array = snmpwalk_cache_multi_oid($device, "juniAtmVpStatsInCells", $vp_array, "Juniper-UNI-ATM-MIB" , $config['install_dir']."/mibs/junose");
|
||||||
$valid_vp = array();
|
$valid_vp = array();
|
||||||
if($debug) { print_r($vp_array); }
|
if ($debug) { print_r($vp_array); }
|
||||||
|
|
||||||
if(is_array($vp_array)) {
|
if (is_array($vp_array))
|
||||||
foreach($vp_array as $index => $entry) {
|
{
|
||||||
|
foreach ($vp_array as $index => $entry)
|
||||||
|
{
|
||||||
|
list($ifIndex,$vp_id)= explode('.', $index);
|
||||||
|
|
||||||
list($ifIndex,$vp_id)= explode('.', $index);
|
$interface_id = mysql_result(mysql_query("SELECT `interface_id` FROM `ports` WHERE `device_id` = '".$device['device_id']."' AND `ifIndex` = '".$ifIndex."'"),0);
|
||||||
|
|
||||||
$interface_id = mysql_result(mysql_query("SELECT `interface_id` FROM `ports` WHERE `device_id` = '".$device['device_id']."' AND `ifIndex` = '".$ifIndex."'"),0);
|
if (is_numeric($interface_id) && is_numeric($vp_id))
|
||||||
|
{
|
||||||
if(is_numeric($interface_id) && is_numeric($vp_id)) {
|
discover_juniAtmvp($valid_vp, $interface_id, $vp_id, NULL);
|
||||||
discover_juniAtmvp($valid_vp, $interface_id, $vp_id, NULL);
|
}
|
||||||
}
|
|
||||||
} ## End Foreach
|
} ## End Foreach
|
||||||
} ## End if array
|
} ## End if array
|
||||||
|
|
||||||
unset ($vp_array);
|
unset ($vp_array);
|
||||||
|
|
||||||
### Remove ATM vps which weren't redetected here
|
## Remove ATM vps which weren't redetected here
|
||||||
|
|
||||||
$sql = "SELECT * FROM `ports` AS P, `juniAtmVp` AS J WHERE P.`device_id` = '".$device['device_id']."' AND J.interface_id = P.interface_id";
|
$sql = "SELECT * FROM `ports` AS P, `juniAtmVp` AS J WHERE P.`device_id` = '".$device['device_id']."' AND J.interface_id = P.interface_id";
|
||||||
$query = mysql_query($sql);
|
$query = mysql_query($sql);
|
||||||
|
|
||||||
if($debug) { print_r ($valid_vp); }
|
if ($debug) { print_r ($valid_vp); }
|
||||||
|
|
||||||
while ($test = mysql_fetch_array($query)) {
|
while ($test = mysql_fetch_array($query))
|
||||||
|
{
|
||||||
$interface_id = $test['interface_id'];
|
$interface_id = $test['interface_id'];
|
||||||
$vp_id = $test['vp_id'];
|
$vp_id = $test['vp_id'];
|
||||||
if($debug) { echo($interface_id . " -> " . $vp_id . "\n"); }
|
if ($debug) { echo($interface_id . " -> " . $vp_id . "\n"); }
|
||||||
if(!$valid_vp[$interface_id][$vp_id]) {
|
if (!$valid_vp[$interface_id][$vp_id])
|
||||||
|
{
|
||||||
echo("-");
|
echo("-");
|
||||||
mysql_query("DELETE FROM `juniAtmvp` WHERE `juniAtmVp` = '" . $test['juniAtmvp'] . "'");
|
mysql_query("DELETE FROM `juniAtmvp` WHERE `juniAtmVp` = '" . $test['juniAtmvp'] . "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($interface_id); unset($vp_id);
|
unset($interface_id); unset($vp_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($valid_vp);
|
unset($valid_vp);
|
||||||
echo("\n");
|
echo("\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -9,20 +9,20 @@ if ($config['discover_services'])
|
|||||||
110 => "pop", 143 => "imap");
|
110 => "pop", 143 => "imap");
|
||||||
|
|
||||||
# Services
|
# Services
|
||||||
if($device['type'] == "server")
|
if ($device['type'] == "server")
|
||||||
{
|
{
|
||||||
$oids = trim(snmp_walk($device, ".1.3.6.1.2.1.6.13.1.1.0.0.0.0", "-Osqn"));
|
$oids = trim(snmp_walk($device, ".1.3.6.1.2.1.6.13.1.1.0.0.0.0", "-Osqn"));
|
||||||
foreach(explode("\n", $oids) as $data)
|
foreach (explode("\n", $oids) as $data)
|
||||||
{
|
{
|
||||||
$data = trim($data);
|
$data = trim($data);
|
||||||
if($data)
|
if ($data)
|
||||||
{
|
{
|
||||||
list($oid, $tcpstatus) = explode(" ", $data);
|
list($oid, $tcpstatus) = explode(" ", $data);
|
||||||
if (trim($tcpstatus) == "listen")
|
if (trim($tcpstatus) == "listen")
|
||||||
{
|
{
|
||||||
$split_oid = explode('.',$oid);
|
$split_oid = explode('.',$oid);
|
||||||
$tcp_port = $split_oid[count($split_oid)-6];
|
$tcp_port = $split_oid[count($split_oid)-6];
|
||||||
if($known_services[$tcp_port])
|
if ($known_services[$tcp_port])
|
||||||
{
|
{
|
||||||
add_service($known_services[$tcp_port]);
|
add_service($known_services[$tcp_port]);
|
||||||
}
|
}
|
||||||
@@ -34,4 +34,4 @@ if ($config['discover_services'])
|
|||||||
echo("\n");
|
echo("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
Reference in New Issue
Block a user