From bd243db6dcbf81d208c8146e92fb44bc7eb3a9d9 Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Tue, 20 Mar 2012 16:50:16 +0000 Subject: [PATCH] potentially break all cisco versioning :P git-svn-id: http://www.observium.org/svn/observer/trunk@2912 61d68cd4-352d-0410-923a-c4978735b2b8 --- includes/defaults.inc.php | 9 +++++ includes/discovery/os/ios.inc.php | 8 +++-- includes/functions.php | 24 ------------- includes/polling/cisco-cef.inc.php | 2 +- includes/polling/netstats-ip.inc.php | 2 +- includes/polling/netstats-tcp.inc.php | 2 +- includes/polling/netstats-udp.inc.php | 2 +- includes/polling/os.inc.php | 1 + includes/polling/os/cisco.inc.php | 50 +++++++++++++++++++++++++++ includes/polling/os/ios.inc.php | 38 +++++++++----------- includes/polling/os/iosxr.inc.php | 16 +++++++++ includes/polling/processors.inc.php | 2 +- includes/polling/ucd-mib.inc.php | 2 +- includes/polling/wifi.inc.php | 2 +- 14 files changed, 105 insertions(+), 55 deletions(-) create mode 100644 includes/polling/os/cisco.inc.php create mode 100644 includes/polling/os/iosxr.inc.php diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index b4296a62e..dc446379a 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -41,7 +41,15 @@ $config['sfdp'] = "/usr/bin/sfdp"; if (isset($_SERVER["SERVER_NAME"]) && isset($_SERVER["SERVER_PORT"])) { + if (strpos($_SERVER["SERVER_NAME"] , ":")) + { + # Litteral IPv6 + $config['base_url'] = "http://[" . $_SERVER["SERVER_NAME"] ."]:".$_SERVER["SERVER_PORT"]."/"; + } + else + { $config['base_url'] = "http://" . $_SERVER["SERVER_NAME"] .":".$_SERVER["SERVER_PORT"]."/"; + } } $config['title_image'] = "images/observium-logo.png"; @@ -194,6 +202,7 @@ $config['nfsen_enable'] = 0; #$config['nfsen_suffix'] = "_yourdomain_com"; ### Ignores & Allows +# Has to be lowercase $config['bad_if'][] = "voip-null"; $config['bad_if'][] = "virtual-"; diff --git a/includes/discovery/os/ios.inc.php b/includes/discovery/os/ios.inc.php index 5b30e1426..f807adfa8 100755 --- a/includes/discovery/os/ios.inc.php +++ b/includes/discovery/os/ios.inc.php @@ -1,6 +1,6 @@ \ No newline at end of file +# Fallback case +# If we don't have an OS yet and if the object is in Cisco tree it's most likely an IOS device +#if (empty($os) and substr($sysObjectId, 0, 17) == ".1.3.6.1.4.1.9.1.") { $os = "ios"; } + +?> diff --git a/includes/functions.php b/includes/functions.php index 212a7be65..f6dc898e8 100755 --- a/includes/functions.php +++ b/includes/functions.php @@ -321,30 +321,6 @@ function is_odd($number) return $number & 1; // 0 = even, 1 = odd } -function isValidInterface($if) -{ - global $config; - - $if = strtolower($if); - $nullintf = 0; - foreach ($config['bad_if'] as $bi) - { - $pos = strpos($if, $bi); - if ($pos !== FALSE) - { - $nullintf = 1; - echo("$if matched $bi \n"); - } - } - if (preg_match('/serial[0-9]:/', $if)) { $nullintf = '1'; } - if ($nullintf != '1') - { - return 1; - } else { - return 0; - } -} - function utime() { $time = explode(" ", microtime()); diff --git a/includes/polling/cisco-cef.inc.php b/includes/polling/cisco-cef.inc.php index cdf7e1389..0ad237359 100755 --- a/includes/polling/cisco-cef.inc.php +++ b/includes/polling/cisco-cef.inc.php @@ -3,7 +3,7 @@ echo("Cisco CEF Switching Path: "); $cefs = array(); -$cefs = snmpwalk_cache_threepart_oid($device, "CISCO-CEF-MIB::cefSwitchingStatsEntry", $cefs); +$cefs = snmpwalk_cache_threepart_oid($device, "CISCO-CEF-MIB::cefSwitchingStatsEntry", $cefs, "CISCO-CEF-MIB"); $polled = time(); $cefs_query = dbFetchRows("SELECT * FROM `cef_switching` WHERE `device_id` = ?", array($device['device_id'])); diff --git a/includes/polling/netstats-ip.inc.php b/includes/polling/netstats-ip.inc.php index 90b1b02a5..dcbeaaefa 100755 --- a/includes/polling/netstats-ip.inc.php +++ b/includes/polling/netstats-ip.inc.php @@ -23,7 +23,7 @@ if ($device['os'] != "Snom") $snmpstring .= " IP-MIB::".$oid.".0"; } - $data = snmp_get_multi($device, $snmpstring); + $data = snmp_get_multi($device, $snmpstring, NULL, "IP-MIB"); $rrdupdate = "N"; diff --git a/includes/polling/netstats-tcp.inc.php b/includes/polling/netstats-tcp.inc.php index 30336f606..b1946c2d1 100755 --- a/includes/polling/netstats-tcp.inc.php +++ b/includes/polling/netstats-tcp.inc.php @@ -27,7 +27,7 @@ if ($device['os'] != "Snom") $snmpstring .= " tcpHCInSegs.0"; $snmpstring .= " tcpHCOutSegs.0"; - $data = snmp_get_multi($device, $snmpstring); + $data = snmp_get_multi($device, $snmpstring, NULL, "TCP-MIB"); $rrdupdate = "N"; diff --git a/includes/polling/netstats-udp.inc.php b/includes/polling/netstats-udp.inc.php index 1477839a9..56e407734 100755 --- a/includes/polling/netstats-udp.inc.php +++ b/includes/polling/netstats-udp.inc.php @@ -22,7 +22,7 @@ if ($device['os'] != "Snom") $snmpstring .= " UDP-MIB::".$oid.".0"; } - $data = snmp_get_multi($device, $snmpstring); + $data = snmp_get_multi($device, $snmpstring, NULL, "UDP-MIB"); $rrdupdate = "N"; diff --git a/includes/polling/os.inc.php b/includes/polling/os.inc.php index 5af68fd24..f2e4960d9 100644 --- a/includes/polling/os.inc.php +++ b/includes/polling/os.inc.php @@ -2,6 +2,7 @@ if (is_file($config['install_dir'] . "/includes/polling/os/".$device['os'].".inc.php")) { +echo "os = /includes/polling/os/".$device['os'].".inc.php\n"; /// OS Specific include($config['install_dir'] . "/includes/polling/os/".$device['os'].".inc.php"); } diff --git a/includes/polling/os/cisco.inc.php b/includes/polling/os/cisco.inc.php new file mode 100644 index 000000000..3690d60b1 --- /dev/null +++ b/includes/polling/os/cisco.inc.php @@ -0,0 +1,50 @@ + diff --git a/includes/polling/os/ios.inc.php b/includes/polling/os/ios.inc.php index 27eec4f64..2384f43cc 100755 --- a/includes/polling/os/ios.inc.php +++ b/includes/polling/os/ios.inc.php @@ -1,15 +1,18 @@ diff --git a/includes/polling/os/iosxr.inc.php b/includes/polling/os/iosxr.inc.php new file mode 100644 index 000000000..da28ad9b5 --- /dev/null +++ b/includes/polling/os/iosxr.inc.php @@ -0,0 +1,16 @@ + diff --git a/includes/polling/processors.inc.php b/includes/polling/processors.inc.php index bf51422b3..c21db6e12 100755 --- a/includes/polling/processors.inc.php +++ b/includes/polling/processors.inc.php @@ -9,7 +9,7 @@ foreach (dbFetchRows("SELECT * FROM processors WHERE device_id = ?", array($devi { include($file); } else { - $proc = snmp_get ($device, $processor['processor_oid'], "-O Uqnv"); + $proc = snmp_get ($device, $processor['processor_oid'], "-O Uqnv", "\"\""); } $procrrd = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("processor-" . $processor['processor_type'] . "-" . $processor['processor_index'] . ".rrd"); diff --git a/includes/polling/ucd-mib.inc.php b/includes/polling/ucd-mib.inc.php index ddbfacf7b..a96696163 100755 --- a/includes/polling/ucd-mib.inc.php +++ b/includes/polling/ucd-mib.inc.php @@ -32,7 +32,7 @@ $mem_rrd = $host_rrd . "/ucd_mem.rrd"; #UCD-SNMP-MIB::ssRawSwapIn.0 = Counter32: 602002 #UCD-SNMP-MIB::ssRawSwapOut.0 = Counter32: 937422 -$ss = snmpwalk_cache_oid($device, "systemStats", array()); +$ss = snmpwalk_cache_oid($device, "systemStats", array(), "UCD-SNMP-MIB"); $ss = $ss[0]; ### Insert Nazi joke here. ## Create CPU RRD if it doesn't already exist diff --git a/includes/polling/wifi.inc.php b/includes/polling/wifi.inc.php index 6e9e36530..3e9da04a5 100644 --- a/includes/polling/wifi.inc.php +++ b/includes/polling/wifi.inc.php @@ -50,7 +50,7 @@ if ($device['type'] == 'network' || $device['type'] == 'firewall') { echo("Checking Symbol Wireless clients... "); - $wificlients1 = snmp_get($device, ".1.3.6.1.4.1.388.11.2.4.2.100.10.1.18.1", "-Ovq"); + $wificlients1 = snmp_get($device, ".1.3.6.1.4.1.388.11.2.4.2.100.10.1.18.1", "-Ovq", "\"\""); echo(($wificlients1 +0) . " clients on wireless connector, "); }