From 211e9d0283bb6d141b630134eb4ffe9bd912d1e1 Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Mon, 28 Dec 2009 12:00:57 +0000 Subject: [PATCH] HURRAH FOR SID3WINDR git-svn-id: http://www.observium.org/svn/observer/trunk@560 61d68cd4-352d-0410-923a-c4978735b2b8 --- database-schema.sql | 4 ++-- database-update.sql | 2 +- discovery.php | 19 +++++++++++++++++-- html/includes/print-menubar.php | 20 +++++--------------- html/pages/device/edit.inc.php | 2 +- html/pages/iftype.php | 4 ++-- html/pages/storage.php | 2 +- includes/discovery/interfaces.php | 4 ++-- includes/discovery/storage.php | 6 +++--- includes/polling/hr-mib_storage.inc.php | 2 +- poll-device.php | 4 ++-- 11 files changed, 37 insertions(+), 32 deletions(-) diff --git a/database-schema.sql b/database-schema.sql index 52cbde21db..f137b639e0 100644 --- a/database-schema.sql +++ b/database-schema.sql @@ -213,14 +213,14 @@ CREATE TABLE `devices` ( `hardware` text, `features` text, `location` text, - `os` varchar(8) default NULL, + `os` varchar(12) default NULL, `status` tinyint(4) NOT NULL default '0', `ignore` tinyint(4) NOT NULL default '0', `disabled` tinyint(1) NOT NULL default '0', `lastchange` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `last_polled` timestamp NOT NULL default '0000-00-00 00:00:00', `purpose` varchar(64) default NULL, - `type` varchar(8) NOT NULL default 'other', + `type` varchar(8) NOT NULL default 'unknown', PRIMARY KEY (`device_id`), KEY `status` (`status`), KEY `hostname` (`hostname`), diff --git a/database-update.sql b/database-update.sql index 7112beb846..9578c94b1f 100644 --- a/database-update.sql +++ b/database-update.sql @@ -58,7 +58,7 @@ ALTER TABLE `interfaces` ADD `ifPromiscuousMode` VARCHAR( 12 ) NULL DEFAULT NUL ALTER TABLE `interfaces` ADD `ifConnectorPresent` VARCHAR( 12 ) NULL DEFAULT NULL AFTER `ifSpeed`; ALTER TABLE `interfaces` ADD `ifName` VARCHAR( 64 ) NULL DEFAULT NULL AFTER `ifDescr`; ALTER TABLE `interfaces` ADD `portName` VARCHAR( 128 ) NULL DEFAULT NULL AFTER `ifName`; -ALTER TABLE `interfaces` ADD `ifHighSpeed` INT ( 11 ) NULL DEFAULT NULL AFTER `ifSpeed`; +ALTER TABLE `interfaces` ADD `ifHighSpeed` BIGINT ( 20 ) NULL DEFAULT NULL AFTER `ifSpeed`; ALTER TABLE `interfaces` DROP `in_rate`; ALTER TABLE `interfaces` DROP `out_rate`; ALTER TABLE `interfaces` DROP `in_errors`; diff --git a/discovery.php b/discovery.php index b3e9826d16..38957682c9 100755 --- a/discovery.php +++ b/discovery.php @@ -77,10 +77,13 @@ while ($device = mysql_fetch_array($device_query)) { ## hr-device.inc.php include("includes/discovery/hr-device.inc.php"); - if($device['os'] == "netscreen") { } + if($device['os'] == "netscreen") { + if ($device['type'] == "unknown") { $device['type'] = 'firewall'; } + } if($device['os'] == "junos") { include("includes/discovery/bgp-peers.php"); + if ($device['type'] == "unknown") { $device['type'] = 'network'; } # FIXME: could also be a Netscreen... } if($device['os'] == "powerconnect" || $device['os'] == "ios" || $device['os'] == "iosxe" || $device['os'] == "catos" || $device['os'] == "asa" || $device['os'] == "pix") { @@ -93,10 +96,22 @@ while ($device = mysql_fetch_array($device_query)) { include("includes/discovery/cemp-mib.php"); include("includes/discovery/cmp-mib.php"); include("includes/discovery/cisco-cdp.inc.php"); + + if ($device['type'] == "unknown") { $device['type'] = 'network'; }; + } + + if ($device['os'] == "procurve") + { + if ($device['type'] == "unknown") { $device['type'] = 'network'; }; + } + + if ($device['os'] == "asa" || $device['os'] == "pix") + { + if ($device['type'] == "unknown") { $device['type'] = 'firewall'; } } $update_query = "UPDATE `devices` SET "; - $update .= " `last_discovered` = NOW()"; + $update_query .= " `last_discovered` = NOW(), `type` = '" . $device['type'] . "'"; $update_query .= " WHERE `device_id` = '" . $device['device_id'] . "'"; $update_result = mysql_query($update_query); diff --git a/html/includes/print-menubar.php b/html/includes/print-menubar.php index a21af2db2a..ad153c561f 100644 --- a/html/includes/print-menubar.php +++ b/html/includes/print-menubar.php @@ -23,8 +23,7 @@