diff --git a/README b/README
index 056316d25..6f850eeee 100644
--- a/README
+++ b/README
@@ -9,6 +9,16 @@ Observer is an auto-discovering network monitoring system.
It's designed to be an easily-navigable interface to the health of your network.
+Planned Features
+----------------
+
+* Full IPv6 capabilities
+* Pseudowire (MPLS/L2TP) tracking
+* MPLS IP-VPN tracking
+* 6500/7600 non-MSFC CPU tracking (pfc/dfc et al)
+* 6500/7600 non-MSFC memory tracking
+* 95th and metered usage tracking
+
Installation
------------
diff --git a/discover-cdp.php b/discover-cdp.php
index ee042698c..1218f13be 100755
--- a/discover-cdp.php
+++ b/discover-cdp.php
@@ -26,7 +26,7 @@ while ($device = mysql_fetch_array($device_query)) {
$ports = $snmp->getports();
$cdp = $snmp->explore_cdp($ports);
- unset($cdp_links);
+ $cdp_links = "";
foreach (array_keys($cdp) as $key) {
$port = $ports[$key];
diff --git a/discovery-test.php b/discovery-test.php
index 90fb4e2eb..44b631cb3 100755
--- a/discovery-test.php
+++ b/discovery-test.php
@@ -36,7 +36,9 @@ while ($device = mysql_fetch_array($device_query)) {
echo($device['hostname'] ."\n");
- include("includes/discovery/unix-memory.php");
+# include("includes/discovery/unix-memory.php");
+
+ include("cisco-vrf.php");
echo("\n"); $devices_polled++;
}
diff --git a/html/includes/dev-overview-data.inc.php b/html/includes/dev-overview-data.inc.php
index 83dfdb361..e49f48674 100644
--- a/html/includes/dev-overview-data.inc.php
+++ b/html/includes/dev-overview-data.inc.php
@@ -4,7 +4,15 @@
$uptime = @mysql_result(mysql_query("SELECT `attrib_value` FROM `devices_attribs` WHERE `device_id` = '" . $device['device_id'] . "' AND `attrib_type` = 'uptime'"), 0);
- echo("
+ if(is_file("images/devices/" . $device['hardware'] . ".gif")) {
+ $dev_img = "

";
+ } elseif (is_file("images/devices/" . $device['hardware'] . ".jpg")) {
+ $dev_img = "
";
+ } else { unset($dev_img); }
+
+
+
+ echo("$ddev_img
| Operating System |
diff --git a/html/includes/print-interface.inc b/html/includes/print-interface.inc
index 1207fa5f8..08d18ebe4 100644
--- a/html/includes/print-interface.inc
+++ b/html/includes/print-interface.inc
@@ -47,7 +47,7 @@
}
echo("");
- echo("");
+ echo(" | ");
if($interface['ifOperStatus'] == "up") {
$in_perc = @round($interface['in_rate']/$interface['ifSpeed']*100);
diff --git a/html/pages/bgp.php b/html/pages/bgp.php
index 1f33a2714..a9970853f 100644
--- a/html/pages/bgp.php
+++ b/html/pages/bgp.php
@@ -30,8 +30,9 @@
if($peerhost) { $peername = generatedevicelink($peerhost, shorthost($peerhost['hostname'])); } else { unset($peername); }
echo(" |
- | $i |
- ".generatedevicelink($peer, shorthost($peer['hostname']))." |
+ |
+ " . $peer['bgpLocalAddr'] . " ".generatedevicelink($peer, shorthost($peer['hostname']))." |
+ -> |
" . $peer['bgpPeerIdentifier'] . " ".$peername." |
$peer_type |
AS" . $peer['bgpPeerRemoteAs'] . " " . $peer['astext'] . " |
diff --git a/html/pages/default.php b/html/pages/default.php
index 4d2b34fc8..48a4b6070 100644
--- a/html/pages/default.php
+++ b/html/pages/default.php
@@ -154,8 +154,7 @@ if($_SESSION['userlevel'] >= '5') {
$seperator = ",";
}
- $sql = "select * from interfaces as I, devices as D WHERE `ifAlias` like 'Transit: %' AND I.device_id = D.device_id AND D.hostname LIKE '%";
- $sql .= $config['mydomain'] . "' ORDER BY I.ifAlias";
+ $sql = "select * from interfaces as I, devices as D WHERE `ifAlias` like 'Transit: %' AND I.device_id = D.device_id ORDER BY I.ifAlias";
$query = mysql_query($sql);
unset ($seperator);
while($interface = mysql_fetch_array($query)) {
@@ -172,6 +171,9 @@ if($_SESSION['userlevel'] >= '5') {
$seperator = ",";
}
+ $interfaces['broadband'] = "2490,2509";
+ $interfaces['wave_broadband'] = "2098";
+
if($interfaces['transit']) {
echo("', CENTER, LEFT, FGCOLOR, '#e5e5e5', BGCOLOR, '#e5e5e5', WIDTH, 400, HEIGHT, 250);\" onmouseout=\"return nd();\" >".
@@ -180,19 +182,19 @@ if($_SESSION['userlevel'] >= '5') {
"&from=".$day."&to=".$now."&width=200&height=100'>");
}
- if($interfaces['l2tp']) {
- echo("', LEFT, FGCOLOR, '#e5e5e5', BGCOLOR, '#e5e5e5', WIDTH, 400, HEIGHT, 250);\" onmouseout=\"return nd();\" >".
- "L2TP ADSL
".
- "
Broadband".
+ "
");
}
- if($interfaces['voip']) {
- echo("', LEFT, FGCOLOR, '#e5e5e5', BGCOLOR, '#e5e5e5', WIDTH, 400, HEIGHT, 250);\" onmouseout=\"return nd();\" >".
- "VoIP to PSTN
".
- "
Wave Broadhand".
+ "
");
}
diff --git a/html/pages/iftype.php b/html/pages/iftype.php
index 8bd8d9f25..5759dff87 100644
--- a/html/pages/iftype.php
+++ b/html/pages/iftype.php
@@ -4,7 +4,7 @@ echo("");
if($_GET['type']) {
$type = $_GET['type'];
- $sql = "select * from interfaces as I, devices as D WHERE `ifAlias` like '$type: %' AND I.device_id = D.device_id AND D.hostname LIKE '%" . $config['mydomain'] . "' ORDER BY I.ifAlias";
+ $sql = "select * from interfaces as I, devices as D WHERE `ifAlias` like '$type: %' AND I.device_id = D.device_id ORDER BY I.ifAlias";
$query = mysql_query($sql);
while($interface = mysql_fetch_array($query)) {
$done = "yes";
diff --git a/includes/functions.php b/includes/functions.php
index 0b5b899b8..47aa7c046 100755
--- a/includes/functions.php
+++ b/includes/functions.php
@@ -395,29 +395,30 @@ function humanmedia($media) {
function humanspeed($speed) {
- $speed = preg_replace("/^0$/", "-", $speed);
- $speed = preg_replace("/^9000$/", "9Kbps", $speed);
- $speed = preg_replace("/^48000$/", "48Kbps", $speed);
- $speed = preg_replace("/^56000$/", "56Kbps", $speed);
- $speed = preg_replace("/^64000$/", "64Kbps", $speed);
- $speed = preg_replace("/^128000$/", "128Kbps", $speed);
- $speed = preg_replace("/^256000$/", "256Kbps", $speed);
- $speed = preg_replace("/^448000$/", "448Kbps", $speed);
- $speed = preg_replace("/^512000$/", "512Kbps", $speed);
- $speed = preg_replace("/^768000$/", "768Kbps", $speed);
- $speed = preg_replace("/^1024000$/", "1Mbps", $speed);
- $speed = preg_replace("/^2048000$/", "2Mbps", $speed);
- $speed = preg_replace("/^4192000$/", "4Mbps", $speed);
- $speed = preg_replace("/^10000000$/", "10Mbps", $speed);
- $speed = preg_replace("/^34000000$/", "34Mbps", $speed);
- $speed = preg_replace("/^45000000$/", "45Mbps", $speed);
- $speed = preg_replace("/^54000000$/", "54Mbps", $speed);
- $speed = preg_replace("/^100000000$/", "100Mbps", $speed);
- $speed = preg_replace("/^155000000$/", "155Mbps", $speed);
- $speed = preg_replace("/^622000000$/", "622Mbps", $speed);
- $speed = preg_replace("/^1000000000$/", "1Gbps", $speed);
- $speed = preg_replace("/^10000000000$/", "10Gbps", $speed);
- $speed = preg_replace("/^4294967295$/", "", $speed);
+# $speed = preg_replace("/^0$/", "-", $speed);
+# $speed = preg_replace("/^9000$/", "9Kbps", $speed);
+# $speed = preg_replace("/^48000$/", "48Kbps", $speed);
+# $speed = preg_replace("/^56000$/", "56Kbps", $speed);
+# $speed = preg_replace("/^64000$/", "64Kbps", $speed);
+# $speed = preg_replace("/^128000$/", "128Kbps", $speed);
+# $speed = preg_replace("/^256000$/", "256Kbps", $speed);
+# $speed = preg_replace("/^448000$/", "448Kbps", $speed);
+# $speed = preg_replace("/^512000$/", "512Kbps", $speed);
+# $speed = preg_replace("/^768000$/", "768Kbps", $speed);
+# $speed = preg_replace("/^1024000$/", "1Mbps", $speed);
+# $speed = preg_replace("/^2048000$/", "2Mbps", $speed);
+# $speed = preg_replace("/^4192000$/", "4Mbps", $speed);
+# $speed = preg_replace("/^10000000$/", "10Mbps", $speed);
+# $speed = preg_replace("/^34000000$/", "34Mbps", $speed);
+# $speed = preg_replace("/^45000000$/", "45Mbps", $speed);
+# $speed = preg_replace("/^54000000$/", "54Mbps", $speed);
+# $speed = preg_replace("/^100000000$/", "100Mbps", $speed);
+# $speed = preg_replace("/^155000000$/", "155Mbps", $speed);
+# $speed = preg_replace("/^622000000$/", "622Mbps", $speed);
+# $speed = preg_replace("/^1000000000$/", "1Gbps", $speed);
+# $speed = preg_replace("/^10000000000$/", "10Gbps", $speed);
+# $speed = preg_replace("/^4294967295$/", "", $speed);
+ $speed = formatRates($speed);
if($speed == "") { $speed = "-"; }
return $speed;
}
@@ -559,6 +560,7 @@ function fixifName ($inf) {
$inf = str_replace("vlan", "Vlan", $inf);
$inf = str_replace("ether", "Ether", $inf);
$inf = str_replace("-802.1q Vlan subif", "", $inf);
+ $inf = str_replace("-802.1q", "", $inf);
$inf = str_replace("tunnel", "Tunnel", $inf);
$inf = str_replace("serial", "Serial", $inf);
$inf = str_replace("-aal5 layer", " aal5", $inf);
@@ -575,8 +577,10 @@ function fixifName ($inf) {
function fixIOSFeatures($features){
+ $features = preg_replace("/^PK9S$/", "IP w/SSH LAN Only", $features);
$features = str_replace("LANBASEK9", "Lan Base Crypto", $features);
$features = str_replace("LANBASE", "Lan Base", $features);
+ $features = str_replace("ADVENTERPRISEK9", "Advanced Enterprise Crypto", $features);
$features = str_replace("ADVSECURITYK9", "Advanced Security Crypto", $features);
$features = str_replace("K91P", "Provider Crypto", $features);
$features = str_replace("K4P", "Provider Crypto", $features);
@@ -584,13 +588,15 @@ function fixIOSFeatures($features){
$features = str_replace("ADVIPSERVICES", "Adv IP Services", $features);
$features = str_replace("IK9P", "IP Plus Crypto", $features);
$features = str_replace("SPSERVICESK9", "SP Services Crypto", $features);
- $features = str_replace("PK9SV", "Provider Crypto", $features);
+ $features = preg_replace("/^PK9SV$/", "IP MPLS/IPV6 W/SSH + BGP", $features);
$features = str_replace("IS", "IP Plus", $features);
$features = str_replace("IPSERVICESK9", "IP Services Crypto", $features);
$features = str_replace("BROADBAND", "Broadband", $features);
$features = str_replace("IPBASE", "IP Base", $features);
$features = str_replace("IPSERVICE", "IP Services", $features);
$features = preg_replace("/^P$/", "Service Provider", $features);
+ $features = preg_replace("/^P11$/", "Broadband Router", $features);
+ $features = preg_replace("/^G4P5$/", "NRP", $features);
$features = str_replace("JK9S", "Enterprise Plus Crypto", $features);
$features = str_replace("IK9S", "IP Plus Crypto", $features);
$features = str_replace("I6Q4L2", "Layer 2", $features);
diff --git a/includes/polling/bgpPeer.inc.php b/includes/polling/bgpPeer.inc.php
index 00f93f788..1b7f9a579 100755
--- a/includes/polling/bgpPeer.inc.php
+++ b/includes/polling/bgpPeer.inc.php
@@ -14,10 +14,11 @@ while($peer = mysql_fetch_array($peers)) {
$peer_cmd = $config['snmpget'] . " -Ovq -" . $device['snmpver'] . " -c" . $device['community'] . " " . $device['hostname'] . " ";
$peer_cmd .= "bgpPeerState." . $peer['bgpPeerIdentifier'] . " bgpPeerAdminStatus." . $peer['bgpPeerIdentifier'] . " bgpPeerInUpdates." . $peer['bgpPeerIdentifier'] . " bgpPeerOutUpdates." . $peer['bgpPeerIdentifier'] . " bgpPeerInTotalMessages." . $peer['bgpPeerIdentifier'] . " ";
- $peer_cmd .= "bgpPeerOutTotalMessages." . $peer['bgpPeerIdentifier'] . " bgpPeerFsmEstablishedTime." . $peer['bgpPeerIdentifier'] . " bgpPeerInUpdateElapsedTime." . $peer['bgpPeerIdentifier'] . "";
+ $peer_cmd .= "bgpPeerOutTotalMessages." . $peer['bgpPeerIdentifier'] . " bgpPeerFsmEstablishedTime." . $peer['bgpPeerIdentifier'] . " bgpPeerInUpdateElapsedTime." . $peer['bgpPeerIdentifier'] . " ";
+ $peer_cmd .= "bgpPeerLocalAddr." . $peer['bgpPeerIdentifier'] . "";
$peer_data = trim(`$peer_cmd`);
- list($bgpPeerState, $bgpPeerAdminStatus, $bgpPeerInUpdates, $bgpPeerOutUpdates, $bgpPeerInTotalMessages, $bgpPeerOutTotalMessages, $bgpPeerFsmEstablishedTime, $bgpPeerInUpdateElapsedTime) = explode("\n", $peer_data);
+ list($bgpPeerState, $bgpPeerAdminStatus, $bgpPeerInUpdates, $bgpPeerOutUpdates, $bgpPeerInTotalMessages, $bgpPeerOutTotalMessages, $bgpPeerFsmEstablishedTime, $bgpPeerInUpdateElapsedTime, $bgpLocalAddr) = explode("\n", $peer_data);
$peerrrd = $rrd_dir . "/" . $device['hostname'] . "/bgp-" . $peer['bgpPeerIdentifier'] . ".rrd";
@@ -37,7 +38,7 @@ while($peer = mysql_fetch_array($peers)) {
rrdtool_update($peerrrd, "N:$bgpPeerOutUpdates:$bgpPeerInUpdates:$bgpPeerOutTotalMessages:$bgpPeerInTotalMesages:$bgpPeerFsmEstablishedTime");
$update = "UPDATE bgpPeers SET bgpPeerState = '$bgpPeerState', bgpPeerAdminStatus = '$bgpPeerAdminStatus', ";
- $update .= "bgpPeerFsmEstablishedTime = '$bgpPeerFsmEstablishedTime', bgpPeerInUpdates = '$bgpPeerInUpdates' , bgpPeerOutUpdates = '$bgpPeerOutUpdates'";
+ $update .= "bgpPeerFsmEstablishedTime = '$bgpPeerFsmEstablishedTime', bgpPeerInUpdates = '$bgpPeerInUpdates' , bgpLocalAddr = '$bgpLocalAddr' , bgpPeerOutUpdates = '$bgpPeerOutUpdates'";
$update .= " WHERE `device_id` = '".$device['device_id']."' AND bgpPeerIdentifier = '" . $peer['bgpPeerIdentifier'] . "'";
mysql_query($update);