From 317333f47dd2e427e1cfc507f7fe8ef0421bf390 Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Mon, 4 Apr 2011 09:52:09 +0000 Subject: [PATCH] add ability to chose only one module in discovery.php. give module name for cemp mempools. use sensor name for cisco-entity-sensors. git-svn-id: http://www.observium.org/svn/observer/trunk@2015 61d68cd4-352d-0410-923a-c4978735b2b8 --- discovery.php | 61 +++++++++++-------- .../discovery/cisco-entity-sensor.inc.php | 13 ++-- includes/discovery/mempools/cemp.inc.php | 7 ++- 3 files changed, 48 insertions(+), 33 deletions(-) diff --git a/discovery.php b/discovery.php index 823f802797..04ed2330fc 100755 --- a/discovery.php +++ b/discovery.php @@ -24,7 +24,7 @@ $runtime_stats = array(); echo("Observium v".$config['version']." Discovery\n\n"); -$options = getopt("h:t:i:n:d::a::"); +$options = getopt("h:m:i:n:d::a::"); if (isset($options['h'])) { @@ -79,9 +79,12 @@ if (!$where) echo("-h new Poll all devices that have not had a discovery run before\n\n"); echo("-i -n Poll as instance of \n"); echo(" Instances start at 0. 0-3 for -n 4\n\n"); - echo("-d Enable debugging output\n"); echo("\n"); - echo("No polling type specified!\n"); + echo("Debugging and testing options:\n"); + echo("-d Enable debugging output\n"); + echo("-m Specify single module to be run\n"); + echo("\n"); + echo("Invalid arguments!\n"); exit; } @@ -164,29 +167,37 @@ while ($device = mysql_fetch_array($device_query)) #include("includes/discovery/os.inc.php"); - include("includes/discovery/ports.inc.php"); - include("includes/discovery/entity-physical.inc.php"); - include("includes/discovery/processors.inc.php"); - include("includes/discovery/mempools.inc.php"); - include("includes/discovery/ipv4-addresses.inc.php"); - include("includes/discovery/ipv6-addresses.inc.php"); - include("includes/discovery/sensors.inc.php"); - include("includes/discovery/storage.inc.php"); - include("includes/discovery/hr-device.inc.php"); - include("includes/discovery/discovery-protocols.inc.php"); - include("includes/discovery/arp-table.inc.php"); - include("includes/discovery/junose-atm-vp.inc.php"); - include("includes/discovery/bgp-peers.inc.php"); - include("includes/discovery/q-bridge-mib.inc.php"); - include("includes/discovery/cisco-vlans.inc.php"); - include("includes/discovery/cisco-mac-accounting.inc.php"); - include("includes/discovery/cisco-pw.inc.php"); - include("includes/discovery/cisco-vrf.inc.php"); - include("includes/discovery/vmware-vminfo.inc.php"); - include("includes/discovery/toner.inc.php"); - include("includes/discovery/ucd-diskio.inc.php"); - include("includes/discovery/services.inc.php"); + if($options['m']) + { + if(is_file("includes/discovery/".$options['m'].".inc.php")) + { + include("includes/discovery/".$options['m'].".inc.php"); + } + } else { + include("includes/discovery/ports.inc.php"); + include("includes/discovery/entity-physical.inc.php"); + include("includes/discovery/processors.inc.php"); + include("includes/discovery/mempools.inc.php"); + include("includes/discovery/ipv4-addresses.inc.php"); + include("includes/discovery/ipv6-addresses.inc.php"); + include("includes/discovery/sensors.inc.php"); + include("includes/discovery/storage.inc.php"); + include("includes/discovery/hr-device.inc.php"); + include("includes/discovery/discovery-protocols.inc.php"); + include("includes/discovery/arp-table.inc.php"); + include("includes/discovery/junose-atm-vp.inc.php"); + include("includes/discovery/bgp-peers.inc.php"); + include("includes/discovery/q-bridge-mib.inc.php"); + include("includes/discovery/cisco-vlans.inc.php"); + include("includes/discovery/cisco-mac-accounting.inc.php"); + include("includes/discovery/cisco-pw.inc.php"); + include("includes/discovery/cisco-vrf.inc.php"); + include("includes/discovery/vmware-vminfo.inc.php"); + include("includes/discovery/toner.inc.php"); + include("includes/discovery/ucd-diskio.inc.php"); + include("includes/discovery/services.inc.php"); + } if ($device['type'] == "unknown" || $device['type'] == "") { if ($config['os'][$device['os']]['type']) diff --git a/includes/discovery/cisco-entity-sensor.inc.php b/includes/discovery/cisco-entity-sensor.inc.php index fb21980f78..c4fae15103 100644 --- a/includes/discovery/cisco-entity-sensor.inc.php +++ b/includes/discovery/cisco-entity-sensor.inc.php @@ -60,10 +60,10 @@ if ($device['os'] == "ios" || $device['os_group'] == "ios") if ($entitysensor[$entry['entSensorType']] && is_numeric($entry['entSensorValue']) && is_numeric($index)) { $entPhysicalIndex = $index; - $descr = $entity_array[$index]['entPhysicalName']; - if ($descr || $device['os'] == "iosxr") + if ($entity_array[$index]['entPhysicalName'] || $device['os'] == "iosxr") { - $descr = rewrite_entity_descr($descr); + $descr = rewrite_entity_descr($entity_array[$index]['entPhysicalName']) . " - " . rewrite_entity_descr($entity_array[$index]['entPhysicalDescr']); + } else { $descr = $entity_array[$index]['entPhysicalDescr']; $descr = rewrite_entity_descr($descr); @@ -73,10 +73,13 @@ if ($device['os'] == "ios" || $device['os_group'] == "ios") if (is_numeric($entry['entSensorMeasuredEntity']) && $entry['entSensorMeasuredEntity']) { $measured_descr = $entity_array[$entry['entSensorMeasuredEntity']]['entPhysicalName']; - if (!measured_descr) + if (!$measured_descr) { $measured_descr = $entity_array[$entry['entSensorMeasuredEntity']]['entPhysicalDescr']; } + + echo("descr: $descr | measured: $measured_descr\n"); + $descr = $measured_descr . " - " . $descr; } @@ -152,4 +155,4 @@ if ($device['os'] == "ios" || $device['os_group'] == "ios") } } -?> \ No newline at end of file +?> diff --git a/includes/discovery/mempools/cemp.inc.php b/includes/discovery/mempools/cemp.inc.php index 41fc9b5109..77b0d1b487 100755 --- a/includes/discovery/mempools/cemp.inc.php +++ b/includes/discovery/mempools/cemp.inc.php @@ -15,8 +15,9 @@ if ($device['os'] == "ios" || $device['os_group'] == "ios") if (is_numeric($entry['cempMemPoolUsed']) && $entry['cempMemPoolValid'] == "true") { list($entPhysicalIndex) = explode(".", $index); - $entPhysicalName = snmp_get($device, "entPhysicalDescr.".$entPhysicalIndex, "-Oqv", "ENTITY-MIB"); - $descr = $entPhysicalDescr." - ".$entry['cempMemPoolName']; + $entPhysicalName = snmp_get($device, "entPhysicalName.".$entPhysicalIndex, "-Oqv", "ENTITY-MIB"); + + $descr = $entPhysicalName." - ".$entry['cempMemPoolName']; $descr = str_replace("Cisco ", "", $descr); $descr = str_replace("Network Processing Engine", "", $descr); @@ -27,4 +28,4 @@ if ($device['os'] == "ios" || $device['os_group'] == "ios") } } -?> \ No newline at end of file +?>