Merge pull request #1590 from laf/discovery-debug

Added debug to discovery protocols + stop them running if not configured
This commit is contained in:
Daniel Preussker
2015-08-03 09:06:15 +00:00
2 changed files with 78 additions and 61 deletions

View File

@@ -580,8 +580,13 @@ function edit_service($service, $descr, $service_ip, $service_param = "", $servi
function d_echo($text, $no_debug_text = null) {
global $debug;
if ($debug) {
if (is_array($text)) {
print_r($text);
}
else {
echo "$text";
}
}
elseif ($no_debug_text) {
echo "$no_debug_text";
}

View File

@@ -9,11 +9,13 @@ $community = $device['community'];
if ($device['os'] == 'ironware' && $config['autodiscovery']['xdp'] === true) {
echo ' Brocade FDP: ';
$fdp_array = snmpwalk_cache_twopart_oid($device, 'snFdpCacheEntry', array(), 'FOUNDRY-SN-SWITCH-GROUP-MIB');
d_echo($fdp_array);
if ($fdp_array) {
unset($fdp_links);
foreach (array_keys($fdp_array) as $key) {
$interface = dbFetchRow('SELECT * FROM `ports` WHERE `device_id` = ? AND `ifIndex` = ?', array($device['device_id'], $key));
$fdp_if_array = $fdp_array[$key];
d_echo($fdp_if_array);
foreach (array_keys($fdp_if_array) as $entry_key) {
$fdp = $fdp_if_array[$entry_key];
$remote_device_id = dbFetchCell('SELECT `device_id` FROM `devices` WHERE `sysName` = ? OR `hostname` = ?', array($fdp['snFdpCacheDeviceId'], $fdp['snFdpCacheDeviceId']));
@@ -38,12 +40,15 @@ if ($device['os'] == 'ironware' && $config['autodiscovery']['xdp'] === true) {
echo ' CISCO-CDP-MIB: ';
unset($cdp_array);
$cdp_array = snmpwalk_cache_twopart_oid($device, 'cdpCache', array(), 'CISCO-CDP-MIB');
if ($cdp_array && $config['autodiscovery']['xdp'] === true) {
if ($config['autodiscovery']['xdp'] === true) {
$cdp_array = snmpwalk_cache_twopart_oid($device, 'cdpCache', array(), 'CISCO-CDP-MIB');
d_echo($cdp_array);
if ($cdp_array) {
unset($cdp_links);
foreach (array_keys($cdp_array) as $key) {
$interface = dbFetchRow('SELECT * FROM `ports` WHERE device_id = ? AND `ifIndex` = ?', array($device['device_id'], $key));
$cdp_if_array = $cdp_array[$key];
d_echo($cdp_if_array);
foreach (array_keys($cdp_if_array) as $entry_key) {
$cdp = $cdp_if_array[$entry_key];
if (is_valid_hostname($cdp['cdpCacheDeviceId'])) {
@@ -70,18 +75,23 @@ if ($cdp_array && $config['autodiscovery']['xdp'] === true) {
}//end if
}//end foreach
}//end foreach
}//end if
}//end if
echo ' LLDP-MIB: ';
unset($lldp_array);
$lldp_array = snmpwalk_cache_threepart_oid($device, 'lldpRemoteSystemsData', array(), 'LLDP-MIB');
$dot1d_array = snmpwalk_cache_oid($device, 'dot1dBasePortIfIndex', array(), 'BRIDGE-MIB');
if ($lldp_array && $config['autodiscovery']['xdp'] === true) {
if ($config['autodiscovery']['xdp'] === true) {
$lldp_array = snmpwalk_cache_threepart_oid($device, 'lldpRemoteSystemsData', array(), 'LLDP-MIB');
d_echo($lldp_array);
$dot1d_array = snmpwalk_cache_oid($device, 'dot1dBasePortIfIndex', array(), 'BRIDGE-MIB');
d_echo($dot1d_array);
if ($lldp_array) {
$lldp_links = '';
foreach (array_keys($lldp_array) as $key) {
$lldp_if_array = $lldp_array[$key];
d_echo($lldp_if_array);
foreach (array_keys($lldp_if_array) as $entry_key) {
if (is_numeric($dot1d_array[$entry_key]['dot1dBasePortIfIndex'])) {
$ifIndex = $dot1d_array[$entry_key]['dot1dBasePortIfIndex'];
@@ -92,6 +102,7 @@ if ($lldp_array && $config['autodiscovery']['xdp'] === true) {
$interface = dbFetchRow('SELECT * FROM `ports` WHERE `device_id` = ? AND `ifIndex` = ?', array($device['device_id'], $ifIndex));
$lldp_instance = $lldp_if_array[$entry_key];
d_echo($lldp_instance);
foreach (array_keys($lldp_instance) as $entry_instance) {
$lldp = $lldp_instance[$entry_instance];
$remote_device_id = dbFetchCell('SELECT `device_id` FROM `devices` WHERE `sysName` = ? OR `hostname` = ?', array($lldp['lldpRemSysName'], $lldp['lldpRemSysName']));
@@ -115,6 +126,7 @@ if ($lldp_array && $config['autodiscovery']['xdp'] === true) {
}//end foreach
}//end foreach
}//end foreach
}//end if
}//end if
echo 'OSPF Discovery: ';