From 05582754148a5b8d7402cf7fb8365c290482e42b Mon Sep 17 00:00:00 2001 From: laf Date: Sun, 17 Jan 2016 14:39:17 +0000 Subject: [PATCH 01/13] Added verbose debugging, normal debugging will now try and mask certain information --- alerts.php | 18 ++++++++++++++++++ discovery.php | 8 ++++++-- includes/common.php | 20 ++++++++++++++++++-- includes/snmp.inc.php | 6 +++--- poller.php | 8 ++++++-- 5 files changed, 51 insertions(+), 9 deletions(-) diff --git a/alerts.php b/alerts.php index 9d6defca5..6d791d213 100755 --- a/alerts.php +++ b/alerts.php @@ -28,6 +28,8 @@ require_once 'includes/defaults.inc.php'; require_once 'config.php'; +$options = getopt('d::'); + $lock = false; if (file_exists($config['install_dir'].'/.alerts.lock')) { $pids = explode("\n", trim(`ps -e | grep php | awk '{print $1}'`)); @@ -48,6 +50,22 @@ require_once $config['install_dir'].'/includes/definitions.inc.php'; require_once $config['install_dir'].'/includes/functions.php'; require_once $config['install_dir'].'/includes/alerts.inc.php'; +if (isset($options['d'])) { + echo "DEBUG!\n"; + $debug = true; + ini_set('display_errors', 1); + ini_set('display_startup_errors', 1); + ini_set('log_errors', 1); + ini_set('error_reporting', 1); +} +else { + $debug = false; + // ini_set('display_errors', 0); + ini_set('display_startup_errors', 0); + ini_set('log_errors', 0); + // ini_set('error_reporting', 0); +} + if (!defined('TEST') && $config['alert']['disable'] != 'true') { echo 'Start: '.date('r')."\r\n"; echo "RunFollowUp():\r\n"; diff --git a/discovery.php b/discovery.php index 5dc6ff8de..289e92109 100755 --- a/discovery.php +++ b/discovery.php @@ -23,7 +23,7 @@ require 'includes/discovery/functions.inc.php'; $start = microtime(true); $runtime_stats = array(); $sqlparams = array(); -$options = getopt('h:m:i:n:d::a::q',array('os:','type:')); +$options = getopt('h:m:i:n:d::v::a::q',array('os:','type:')); if (!isset($options['q'])) { echo $config['project_name_version']." Discovery\n"; @@ -82,8 +82,11 @@ if (isset($options['i']) && $options['i'] && isset($options['n'])) { $doing = $options['n'].'/'.$options['i']; } -if (isset($options['d'])) { +if (isset($options['d']) || isset($options['v'])) { echo "DEBUG!\n"; + if (isset($options['v'])) { + $vdebug = true; + } $debug = true; ini_set('display_errors', 1); ini_set('display_startup_errors', 1); @@ -111,6 +114,7 @@ if (!$where) { echo "\n"; echo "Debugging and testing options:\n"; echo "-d Enable debugging output\n"; + echo "-v Enable verbose debugging output\n"; echo "-m Specify single module to be run\n"; echo "\n"; echo "Invalid arguments!\n"; diff --git a/includes/common.php b/includes/common.php index f80583a83..877a5d430 100644 --- a/includes/common.php +++ b/includes/common.php @@ -33,9 +33,25 @@ function format_number_short($number, $sf) { } function external_exec($command) { - d_echo($command."\n"); + global $debug,$vdebug; + if ($debug && !$vdebug) { + $debug_command = preg_replace('/-c [\S]+/','-c COMMUNITY',$command); + $debug_command = preg_replace('/(udp|udp6|tcp|tcp6):(.*):([\d]+)/','\1:HOSTNAME:\3',$debug_command); + d_echo($debug_command); + } + elseif ($vdebug) { + d_echo($command."\n"); + } + $output = shell_exec($command); - d_echo($output."\n"); + + if ($debug && !$vdebug) { + $debug_output = preg_replace('/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/', '*', $output); + d_echo("$debug_output\n"); + } + elseif ($vdebug) { + d_echo($output."\n"); + } return $output; } diff --git a/includes/snmp.inc.php b/includes/snmp.inc.php index 6d1c32238..c04b4b06a 100644 --- a/includes/snmp.inc.php +++ b/includes/snmp.inc.php @@ -745,7 +745,7 @@ function snmp_cache_portName($device, $array) { function snmp_gen_auth(&$device) { - global $debug; + global $debug, $vdebug; $cmd = ''; @@ -781,11 +781,11 @@ function snmp_gen_auth(&$device) { } else { if ($debug) { - print 'DEBUG: '.$device['snmpver']." : Unsupported SNMP Version (wtf have you done ?)\n"; + print 'DEBUG: '.$device['snmpver']." : Unsupported SNMP Version (shouldn't be possible to get here)\n"; } }//end if - if ($debug) { + if ($vdebug) { print "DEBUG: SNMP Auth options = $cmd\n"; } diff --git a/poller.php b/poller.php index 6361d345b..c8631577d 100755 --- a/poller.php +++ b/poller.php @@ -33,7 +33,7 @@ echo "MySQL: ".$versions['mysql_ver']."\n"; echo "RRDTool: ".$versions['rrdtool_ver']."\n"; echo "SNMP: ".$versions['netsnmp_ver']."\n"; -$options = getopt('h:m:i:n:r::d::a::f::'); +$options = getopt('h:m:i:n:r::d::v::a::f::'); if ($options['h'] == 'odd') { $options['n'] = '1'; @@ -83,14 +83,18 @@ if (!$where) { echo "-r Do not create or update RRDs\n"; echo "-f Do not insert data into InfluxDB\n"; echo "-d Enable debugging output\n"; + echo "-d Enable verbose debugging output\n"; echo "-m Specify module(s) to be run\n"; echo "\n"; echo "No polling type specified!\n"; exit; } -if (isset($options['d'])) { +if (isset($options['d']) || isset($options['v'])) { echo "DEBUG!\n"; + if (isset($options['v'])) { + $vdebug = true; + } $debug = true; ini_set('display_errors', 1); ini_set('display_startup_errors', 1); From 40d17b4c4a27b505cf0b38dcce3a976595c3e024 Mon Sep 17 00:00:00 2001 From: vitalisator Date: Sun, 24 Jan 2016 20:35:29 +0100 Subject: [PATCH 02/13] resolve problem with absent VLAN's on devices with reported version 2 ieee8021QBridgeVlanVersionNumber ieee8021QBridgeVlanVersionNumber OBJECT-TYPE SYNTAX INTEGER { version1(1), version2(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The version number of IEEE 802.1Q that this device supports. Reported as 1 by VLAN Bridges that support only SST operation, and reported as 2 by VLAN Bridges that support MST operation." REFERENCE "12.10.1.1" ::= { ieee8021QBridgeEntry 2 } --- includes/discovery/vlans/q-bridge-mib.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/discovery/vlans/q-bridge-mib.inc.php b/includes/discovery/vlans/q-bridge-mib.inc.php index 83908fbd9..c994887c0 100644 --- a/includes/discovery/vlans/q-bridge-mib.inc.php +++ b/includes/discovery/vlans/q-bridge-mib.inc.php @@ -4,7 +4,7 @@ echo 'Q-BRIDGE-MIB VLANs : '; $vlanversion = snmp_get($device, 'dot1qVlanVersionNumber.0', '-Oqv', 'Q-BRIDGE-MIB'); -if ($vlanversion == 'version1') { +if ($vlanversion == 'version1' || $vlanversion == '2' ) { echo "VLAN $vlanversion "; $vtpdomain_id = '1'; From 995897b75ca1d89a7233e9de9789ea82c68e4793 Mon Sep 17 00:00:00 2001 From: vitalisator Date: Sun, 24 Jan 2016 20:50:42 +0100 Subject: [PATCH 03/13] switch to newer IEEE8021-Q-BRIDGE-MIB --- includes/discovery/vlans/q-bridge-mib.inc.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/discovery/vlans/q-bridge-mib.inc.php b/includes/discovery/vlans/q-bridge-mib.inc.php index c994887c0..6de0c9423 100644 --- a/includes/discovery/vlans/q-bridge-mib.inc.php +++ b/includes/discovery/vlans/q-bridge-mib.inc.php @@ -1,14 +1,14 @@ $vlan) { echo " $vlan_id"; From dc44133a2d69f2fa44223925606bc21b15966065 Mon Sep 17 00:00:00 2001 From: laf Date: Sun, 24 Jan 2016 21:23:42 +0000 Subject: [PATCH 04/13] Updated changelog 24/01/2016 --- doc/General/Changelog.md | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/doc/General/Changelog.md b/doc/General/Changelog.md index b206a59fd..67d4e2bf0 100644 --- a/doc/General/Changelog.md +++ b/doc/General/Changelog.md @@ -3,16 +3,58 @@ #### Bug fixes - Discovery / Polling: - Ignore HC Broadcast and Multicast counters for Cisco SB (PR2552) + - Fix Cisco temperature discovery (PR2765) + - WebUI: + - Fix ajax_search.php returning null instead of [] (PR2695) + - Fix notification links (PR2721) + - Fix wrong suggestion to install PEAR in Web installer (PR2727) + - Fixed mysqli support for Web installer (PR2730) + - Misc: + - Fix deleting device_perf entries (PR2755) + - Fix for schema updates to device table when poller is running (PR2825) #### Improvements - WebUI: - Converted arp pages to use bootgrid (PR2669) - Updated VMWare listing page (PR2684) + - Updated typeahead.js (PR2698) + - Added ability to set notes for ports (PR2688) + - Use browser width to scale CPU and Bandwidth graphs (PR2537, PR2633) + - Removed onClick from ports list (PR2744) + - Added support for showing sysName when hostname is IP (PR2796) + - Updated rancid support for different hostnames (PR2807) + - Added combined HTTP Auth and LDAP Auth authentication module (PR2835) + - Added ability to filter alerts using widgets (PR2834) + - Discovery / Polling: + - Print runtime info per poller/discovery modules (PR2713) + - Improved polling/discovery vmware module performance (PR2696) + - Added STP/RSTP support (PR2690) + - Moved system poller module to core module (PR2637) + - Added lookup of IP for devices with hostname (PR2798) + - Centralised sensors module file structure (PR2794) + - Graph poller module run times (PR2849) + - Updated vlan support using IEEE8021-Q-BRIDGE-MIB (PR2851) - Added detection for: - Added support for Samsung printers (PR2680) - Added support for Canon printers (PR2687) + - Added support for Sub10 support (PR2469) + - Added support for Zyxel GS range (PR2729) + - Added support for HWGroup Poseidon (PR2742) + - Added support for Samsung SCX printers (PR2760) + - Added additional support for HP MSM (PR2766, PR2768) + - Added additional support for Cisco ASA and RouterOS (PR2784) + - Added support for Lenovo EMC Nas (PR2795) + - Added support for Infoblox (PR2801) + - API: + - Added support for Oxidized groups (PR2745) - Misc: - Added option to specify Smokeping ping value (PR2676) + - Added backend support for InfluxDB (PR2208) + - Alpha2 release of MIB Polling released (PR2536, PR2763) + - Centralised version info (PR2697) + - Added username support for libvirt over SSH (PR2728) + - Added Oxidized reload call when adding device (PR2792) + - Added components system to centralize data in MySQL (PR2623) ### December 2015 From 2a2c32787a7af35d55539955c3da7172bbe66101 Mon Sep 17 00:00:00 2001 From: laf Date: Sun, 24 Jan 2016 23:36:38 +0000 Subject: [PATCH 05/13] Fixed silly sql build for vminfo table --- build.sql | 1 - includes/callback.php | 2 +- sql-schema/001.sql | 1 - sql-schema/004.sql | 3 --- sql-schema/094.sql | 1 + 5 files changed, 2 insertions(+), 6 deletions(-) create mode 100644 sql-schema/094.sql diff --git a/build.sql b/build.sql index 9f4526069..8a03c7e98 100644 --- a/build.sql +++ b/build.sql @@ -51,7 +51,6 @@ CREATE TABLE IF NOT EXISTS `users` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, CREATE TABLE IF NOT EXISTS `users_prefs` ( `user_id` int(16) NOT NULL, `pref` varchar(32) NOT NULL, `value` varchar(128) NOT NULL, PRIMARY KEY (`user_id`), UNIQUE KEY `user_id.pref` (`user_id`,`pref`), KEY `pref` (`pref`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `vlans` ( `vlan_id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) DEFAULT NULL, `vlan_vlan` int(11) DEFAULT NULL, `vlan_domain` text, `vlan_descr` text, PRIMARY KEY (`vlan_id`), KEY `device_id` (`device_id`,`vlan_vlan`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `vminfo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) NOT NULL, `vm_type` varchar(16) NOT NULL DEFAULT 'vmware', `vmwVmVMID` int(11) NOT NULL, `vmwVmDisplayName` varchar(128) NOT NULL, `vmwVmGuestOS` varchar(128) NOT NULL, `vmwVmMemSize` int(11) NOT NULL, `vmwVmCpus` int(11) NOT NULL, `vmwVmState` varchar(128) NOT NULL, PRIMARY KEY (`id`), KEY `device_id` (`device_id`), KEY `vmwVmVMID` (`vmwVmVMID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE IF NOT EXISTS `vmware_vminfo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) NOT NULL, `vmwVmVMID` int(11) NOT NULL, `vmwVmDisplayName` varchar(128) NOT NULL, `vmwVmGuestOS` varchar(128) NOT NULL, `vmwVmMemSize` int(11) NOT NULL, `vmwVmCpus` int(11) NOT NULL, `vmwVmState` varchar(128) NOT NULL, PRIMARY KEY (`id`), KEY `device_id` (`device_id`), KEY `vmwVmVMID` (`vmwVmVMID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `vrfs` ( `vrf_id` int(11) NOT NULL AUTO_INCREMENT, `vrf_oid` varchar(256) NOT NULL, `vrf_name` varchar(128) DEFAULT NULL, `mplsVpnVrfRouteDistinguisher` varchar(128) DEFAULT NULL, `mplsVpnVrfDescription` text NOT NULL, `device_id` int(11) NOT NULL, PRIMARY KEY (`vrf_id`), KEY `device_id` (`device_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `bill_history` ( `bill_hist_id` int(11) NOT NULL AUTO_INCREMENT, `bill_id` int(11) NOT NULL, `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `bill_datefrom` datetime NOT NULL, `bill_dateto` datetime NOT NULL, `bill_type` text NOT NULL, `bill_allowed` bigint(20) NOT NULL, `bill_used` bigint(20) NOT NULL, `bill_overuse` bigint(20) NOT NULL, `bill_percent` decimal(10,2) NOT NULL, `rate_95th_in` bigint(20) NOT NULL, `rate_95th_out` bigint(20) NOT NULL, `rate_95th` bigint(20) NOT NULL, `dir_95th` varchar(3) NOT NULL, `rate_average` bigint(20) NOT NULL, `rate_average_in` bigint(20) NOT NULL, `rate_average_out` bigint(20) NOT NULL, `traf_in` bigint(20) NOT NULL, `traf_out` bigint(20) NOT NULL, `traf_total` bigint(20) NOT NULL, `pdf` longblob, PRIMARY KEY (`bill_hist_id`), UNIQUE KEY `unique_index` (`bill_id`,`bill_datefrom`,`bill_dateto`), KEY `bill_id` (`bill_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ; CREATE TABLE IF NOT EXISTS `entPhysical_state` ( `device_id` int(11) NOT NULL, `entPhysicalIndex` varchar(64) NOT NULL, `subindex` varchar(64) DEFAULT NULL, `group` varchar(64) NOT NULL, `key` varchar(64) NOT NULL, `value` varchar(255) NOT NULL, KEY `device_id_index` (`device_id`,`entPhysicalIndex`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/includes/callback.php b/includes/callback.php index bc4517f41..18ae71b6e 100644 --- a/includes/callback.php +++ b/includes/callback.php @@ -59,7 +59,7 @@ if ($enabled == 1) { 'toner' => 'SELECT COUNT(`toner_id`) AS `total`,`toner_type` FROM `toner` GROUP BY `toner_type`', 'vlans' => 'SELECT COUNT(`vlan_id`) AS `total`,`vlan_type` FROM `vlans` GROUP BY `vlan_type`', 'vminfo' => 'SELECT COUNT(`id`) AS `total`,`vm_type` FROM `vminfo` GROUP BY `vm_type`', - 'vmware' => 'SELECT COUNT(`id`) AS `total` FROM `vmware_vminfo`', + 'vmware' => 'SELECT COUNT(`id`) AS `total` FROM `vminfo`', 'vrfs' => 'SELECT COUNT(`vrf_id`) AS `total` FROM `vrfs`', 'mysql_version' => 'SELECT 1 AS `total`, @@version AS `version`', ); diff --git a/sql-schema/001.sql b/sql-schema/001.sql index d47414243..468472c12 100644 --- a/sql-schema/001.sql +++ b/sql-schema/001.sql @@ -51,7 +51,6 @@ CREATE TABLE IF NOT EXISTS `users` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, CREATE TABLE IF NOT EXISTS `users_prefs` ( `user_id` int(16) NOT NULL, `pref` varchar(32) NOT NULL, `value` varchar(128) NOT NULL, PRIMARY KEY (`user_id`), UNIQUE KEY `user_id.pref` (`user_id`,`pref`), KEY `pref` (`pref`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `vlans` ( `vlan_id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) DEFAULT NULL, `vlan_vlan` int(11) DEFAULT NULL, `vlan_domain` text, `vlan_descr` text, PRIMARY KEY (`vlan_id`), KEY `device_id` (`device_id`,`vlan_vlan`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `vminfo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) NOT NULL, `vm_type` varchar(16) NOT NULL DEFAULT 'vmware', `vmwVmVMID` int(11) NOT NULL, `vmwVmDisplayName` varchar(128) NOT NULL, `vmwVmGuestOS` varchar(128) NOT NULL, `vmwVmMemSize` int(11) NOT NULL, `vmwVmCpus` int(11) NOT NULL, `vmwVmState` varchar(128) NOT NULL, PRIMARY KEY (`id`), KEY `device_id` (`device_id`), KEY `vmwVmVMID` (`vmwVmVMID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE IF NOT EXISTS `vmware_vminfo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) NOT NULL, `vmwVmVMID` int(11) NOT NULL, `vmwVmDisplayName` varchar(128) NOT NULL, `vmwVmGuestOS` varchar(128) NOT NULL, `vmwVmMemSize` int(11) NOT NULL, `vmwVmCpus` int(11) NOT NULL, `vmwVmState` varchar(128) NOT NULL, PRIMARY KEY (`id`), KEY `device_id` (`device_id`), KEY `vmwVmVMID` (`vmwVmVMID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `vrfs` ( `vrf_id` int(11) NOT NULL AUTO_INCREMENT, `vrf_oid` varchar(256) NOT NULL, `vrf_name` varchar(128) DEFAULT NULL, `mplsVpnVrfRouteDistinguisher` varchar(128) DEFAULT NULL, `mplsVpnVrfDescription` text NOT NULL, `device_id` int(11) NOT NULL, PRIMARY KEY (`vrf_id`), KEY `device_id` (`device_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `bill_history` ( `bill_hist_id` int(11) NOT NULL AUTO_INCREMENT, `bill_id` int(11) NOT NULL, `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `bill_datefrom` datetime NOT NULL, `bill_dateto` datetime NOT NULL, `bill_type` text NOT NULL, `bill_allowed` bigint(20) NOT NULL, `bill_used` bigint(20) NOT NULL, `bill_overuse` bigint(20) NOT NULL, `bill_percent` decimal(10,2) NOT NULL, `rate_95th_in` bigint(20) NOT NULL, `rate_95th_out` bigint(20) NOT NULL, `rate_95th` bigint(20) NOT NULL, `dir_95th` varchar(3) NOT NULL, `rate_average` bigint(20) NOT NULL, `rate_average_in` bigint(20) NOT NULL, `rate_average_out` bigint(20) NOT NULL, `traf_in` bigint(20) NOT NULL, `traf_out` bigint(20) NOT NULL, `traf_total` bigint(20) NOT NULL, `pdf` longblob, PRIMARY KEY (`bill_hist_id`), UNIQUE KEY `unique_index` (`bill_id`,`bill_datefrom`,`bill_dateto`), KEY `bill_id` (`bill_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ; CREATE TABLE IF NOT EXISTS `entPhysical_state` ( `device_id` int(11) NOT NULL, `entPhysicalIndex` varchar(64) NOT NULL, `subindex` varchar(64) DEFAULT NULL, `group` varchar(64) NOT NULL, `key` varchar(64) NOT NULL, `value` varchar(255) NOT NULL, KEY `device_id_index` (`device_id`,`entPhysicalIndex`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/sql-schema/004.sql b/sql-schema/004.sql index 620bde194..0839f3fda 100644 --- a/sql-schema/004.sql +++ b/sql-schema/004.sql @@ -28,10 +28,7 @@ ALTER TABLE sensors MODIFY sensor_descr VARCHAR(255); ALTER TABLE `vrfs` MODIFY `mplsVpnVrfRouteDistinguisher` VARCHAR(128); ALTER TABLE `vrfs` MODIFY `vrf_name` VARCHAR(128); ALTER TABLE `ports` MODIFY `ifDescr` VARCHAR(255); -CREATE TABLE IF NOT EXISTS `vminfo` (`id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) NOT NULL, `vmwVmVMID` int(11) NOT NULL, `vmwVmDisplayName` varchar(128) NOT NULL, `vmwVmGuestOS` varchar(128) NOT NULL, `vmwVmMemSize` int(11) NOT NULL, `vmwVmCpus` int(11) NOT NULL, `vmwVmState` varchar(128) NOT NULL, PRIMARY KEY (`id`), KEY `device_id` (`device_id`), KEY `vmwVmVMID` (`vmwVmVMID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `ports` MODIFY `port_descr_type` VARCHAR(255); -RENAME TABLE `vmware_vminfo` TO `vminfo` ; -ALTER TABLE `vminfo` ADD `vm_type` VARCHAR(16) NOT NULL DEFAULT 'vmware' AFTER `device_id`; CREATE TABLE IF NOT EXISTS `cef_switching` ( `device_id` int(11) NOT NULL, `entPhysicalIndex` int(11) NOT NULL, `afi` varchar(4) COLLATE utf8_unicode_ci NOT NULL, `cef_index` int(11) NOT NULL, `cef_path` varchar(16) COLLATE utf8_unicode_ci NOT NULL, `drop` int(11) NOT NULL, `punt` int(11) NOT NULL, `punt2host` int(11) NOT NULL, `drop_prev` int(11) NOT NULL, `punt_prev` int(11) NOT NULL, `punt2host_prev` int(11) NOT NULL,`updated` INT NOT NULL , `updated_prev` INT NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `mac_accounting` CHANGE `peer_mac` `mac` VARCHAR( 32 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; ALTER TABLE `mac_accounting` DROP `peer_ip`, DROP `peer_desc`, DROP `peer_asn`; diff --git a/sql-schema/094.sql b/sql-schema/094.sql new file mode 100644 index 000000000..b547fbbe4 --- /dev/null +++ b/sql-schema/094.sql @@ -0,0 +1 @@ +DROP TABLE `vmware_vminfo`; From ceec16e0ed4da3ed1a6cc43fecd0fdad8f003b29 Mon Sep 17 00:00:00 2001 From: laf Date: Sun, 24 Jan 2016 23:38:30 +0000 Subject: [PATCH 06/13] Updated to check table exists --- sql-schema/094.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql-schema/094.sql b/sql-schema/094.sql index b547fbbe4..e9dc9c777 100644 --- a/sql-schema/094.sql +++ b/sql-schema/094.sql @@ -1 +1 @@ -DROP TABLE `vmware_vminfo`; +DROP TABLE IF EXISTS `vmware_vminfo`; From 9b1d2f31a1bf7459f6fad92f044df231b8c05326 Mon Sep 17 00:00:00 2001 From: laf Date: Sun, 24 Jan 2016 23:57:24 +0000 Subject: [PATCH 07/13] Added Lexmark printer support --- html/images/os/lexmark.png | Bin 0 -> 19572 bytes includes/definitions.inc.php | 8 ++++++++ includes/discovery/os/lexmarkprinter.inc.php | 6 ++++++ includes/polling/os/lexmarkprinter.inc.php | 4 ++++ 4 files changed, 18 insertions(+) create mode 100644 html/images/os/lexmark.png create mode 100644 includes/discovery/os/lexmarkprinter.inc.php create mode 100644 includes/polling/os/lexmarkprinter.inc.php diff --git a/html/images/os/lexmark.png b/html/images/os/lexmark.png new file mode 100644 index 0000000000000000000000000000000000000000..d1614ee0f181d91a39a76031ef1d2d9479abdf29 GIT binary patch literal 19572 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 E2g+d-^Z)<= literal 0 HcmV?d00001 diff --git a/includes/definitions.inc.php b/includes/definitions.inc.php index 3053ae128..9d1e960dc 100644 --- a/includes/definitions.inc.php +++ b/includes/definitions.inc.php @@ -1178,6 +1178,14 @@ $config['os'][$os]['type'] = 'printer'; $config['os'][$os]['over'][0]['graph'] = 'device_toner'; $config['os'][$os]['over'][0]['text'] = 'Toner'; +$os ='lexmarkprinter'; +$config['os'][$os]['group'] = 'printer'; +$config['os'][$os]['text'] = 'Lexmark Printer'; +$config['os'][$os]['type'] = 'printer'; +$config['os'][$os]['icon'] = 'lexmark'; +$config['os'][$os]['over'][0]['graph'] = 'device_toner'; +$config['os'][$os]['over'][0]['text'] = 'Toner'; + $os = '3com'; $config['os'][$os]['text'] = '3Com'; $config['os'][$os]['over'][0]['graph'] = 'device_bits'; diff --git a/includes/discovery/os/lexmarkprinter.inc.php b/includes/discovery/os/lexmarkprinter.inc.php new file mode 100644 index 000000000..c337dd9a3 --- /dev/null +++ b/includes/discovery/os/lexmarkprinter.inc.php @@ -0,0 +1,6 @@ + Date: Mon, 25 Jan 2016 14:14:08 +0000 Subject: [PATCH 08/13] Typo in Daily --- daily.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daily.sh b/daily.sh index 795311e90..17591fa8f 100755 --- a/daily.sh +++ b/daily.sh @@ -42,7 +42,7 @@ if [ -z "$arg" ]; then fi cnf=$(echo $(grep '\[.distributed_poller.\]' config.php | egrep -v -e '^//' -e '^#' | cut -d = -f 2 | sed 's/;//g')) - cnd=${cnf,,} + cnf=${cnf,,} if [ -z "$cnf" ] || [ "$cnf" == "0" ] || [ "$cnf" == "false" ]; then # Call ourself again in case above pull changed or added something to daily.sh $0 post-pull From b9448a61a81ce3bf6d1444b1d26a0f33f788b648 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Mon, 25 Jan 2016 13:10:51 -0600 Subject: [PATCH 09/13] Remove Success output from homepage when using AD Auth. --- html/includes/authentication/active_directory.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/includes/authentication/active_directory.inc.php b/html/includes/authentication/active_directory.inc.php index 9df49bacc..d936b44c8 100644 --- a/html/includes/authentication/active_directory.inc.php +++ b/html/includes/authentication/active_directory.inc.php @@ -18,9 +18,9 @@ ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); function authenticate($username, $password) { global $config, $ds; - if ($username && $ds) { + if ($ds) { // bind with sAMAccountName instead of full LDAP DN - if (ldap_bind($ds, "{$username}@{$config['auth_ad_domain']}", $password)) { + if ($username && ldap_bind($ds, "{$username}@{$config['auth_ad_domain']}", $password)) { // group membership in one of the configured groups is required if (isset($config['auth_ad_require_groupmembership']) && $config['auth_ad_require_groupmembership'] > 0) { From 44ac0e9cf932e5f4d73af04d1b314505da836fb9 Mon Sep 17 00:00:00 2001 From: laf Date: Mon, 25 Jan 2016 22:04:12 +0000 Subject: [PATCH 10/13] Added link back to hardware node for VMs --- html/includes/device-header.inc.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/html/includes/device-header.inc.php b/html/includes/device-header.inc.php index 456646f8d..a3a2f11c2 100644 --- a/html/includes/device-header.inc.php +++ b/html/includes/device-header.inc.php @@ -21,11 +21,20 @@ if ($device['disabled'] == '1') { $type = strtolower($device['os']); $image = getImage($device); +$host_id = dbFetchCell("SELECT `device_id` FROM `vminfo` WHERE `vmwVmDisplayName` = ? OR `vmwVmDisplayName` = ?", array($device['hostname'],$device['hostname'].'.'.$config['mydomain'])); echo ' - '.$image.' - '.generate_device_link($device).' + '.$image.' + '; +if ($host_id > 0) { + echo ' + + '; +} + +echo ' + '.generate_device_link($device).'
'.generate_link($device['location'], array('page' => 'devices', 'location' => $device['location'])).' '; From 24c14f25259a78e96ea06e49fd7bc30587c867c1 Mon Sep 17 00:00:00 2001 From: laf Date: Mon, 25 Jan 2016 23:14:32 +0000 Subject: [PATCH 11/13] Updated install docs so users do not chown logs directory --- doc/Installation/Installation-(Debian-Ubuntu).md | 1 - doc/Installation/Installation-(RHEL-CentOS).md | 6 ------ doc/Installation/Installation-Lighttpd-(Debian-Ubuntu).md | 1 - 3 files changed, 8 deletions(-) diff --git a/doc/Installation/Installation-(Debian-Ubuntu).md b/doc/Installation/Installation-(Debian-Ubuntu).md index bda460578..e07ac9bd2 100644 --- a/doc/Installation/Installation-(Debian-Ubuntu).md +++ b/doc/Installation/Installation-(Debian-Ubuntu).md @@ -107,7 +107,6 @@ First, create and chown the `rrd` directory and create the `logs` directory: mkdir rrd logs chown -R librenms:librenms /opt/librenms - chown www-data:www-data logs chmod 775 rrd > NOTE: If you're not running Ubuntu or Debian, you will need to change `www-data` to the user and group which run the Apache web server. diff --git a/doc/Installation/Installation-(RHEL-CentOS).md b/doc/Installation/Installation-(RHEL-CentOS).md index 366bfd61f..b899aa242 100644 --- a/doc/Installation/Installation-(RHEL-CentOS).md +++ b/doc/Installation/Installation-(RHEL-CentOS).md @@ -265,12 +265,6 @@ First, create and chown the `rrd` directory and create the `logs` directory mkdir rrd logs chown -R librenms:librenms /opt/librenms chmod 775 rrd - - # For HTTPd (Apache): - chown apache:apache logs - - # For Nginx: - chown nginx:nginx logs ``` > If you're planing on running rrdcached, make sure that the path is also chmod'ed to 775 and chown'ed to librenms:librenms. diff --git a/doc/Installation/Installation-Lighttpd-(Debian-Ubuntu).md b/doc/Installation/Installation-Lighttpd-(Debian-Ubuntu).md index b1150b05f..ed4889813 100644 --- a/doc/Installation/Installation-Lighttpd-(Debian-Ubuntu).md +++ b/doc/Installation/Installation-Lighttpd-(Debian-Ubuntu).md @@ -108,7 +108,6 @@ First, create and chown the `rrd` directory and create the `logs` directory mkdir rrd logs chown -R librenms:librenms /opt/librenms - chown www-data:www-data logs chmod 775 rrd > NOTE: If you're planing on running rrdcached, make sure that the path is also chmod'ed to 775 and chown'ed to librenms:librenms. From b7630667f482e5e6c681bdcc435c736c9d7a5328 Mon Sep 17 00:00:00 2001 From: laf Date: Mon, 25 Jan 2016 23:17:02 +0000 Subject: [PATCH 12/13] Removed logs folder from being excluded from validate check --- validate.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/validate.php b/validate.php index 6bb3f6047..13db33efd 100755 --- a/validate.php +++ b/validate.php @@ -104,8 +104,7 @@ if (class_exists('Net_IPv6') === false) { if (isset($config['user'])) { $tmp_user = $config['user']; $tmp_dir = $config['install_dir']; - $tmp_log = $config['log_dir']; - $find_result = rtrim(`find $tmp_dir \! -user $tmp_user -not -path $tmp_log`); + $find_result = rtrim(`find $tmp_dir \! -user $tmp_user`); if (!empty($find_result)) { // This isn't just the log directory, let's print the list to the user $files = explode(PHP_EOL, $find_result); From 26d96ba718bb03ef91994155d1d600772ea05c27 Mon Sep 17 00:00:00 2001 From: laf Date: Mon, 25 Jan 2016 23:58:38 +0000 Subject: [PATCH 13/13] Fixed nagios transport --- includes/alerts/transport.nagios.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/alerts/transport.nagios.php b/includes/alerts/transport.nagios.php index df943baf2..cac5e5179 100644 --- a/includes/alerts/transport.nagios.php +++ b/includes/alerts/transport.nagios.php @@ -40,8 +40,8 @@ $format .= $obj['timestamp']."\t"; $format .= $obj['hostname']."\t"; $format .= md5($obj['rule'])."\t"; //FIXME: Better entity $format .= ($obj['state'] ? $obj['severity'] : "ok")."\t"; -$format .= 0."\t"; -$format .= 0."\t"; +$format .= "0\t"; +$format .= "0\t"; $format .= str_replace("\n","",nl2br($obj['msg']))."\t"; $format .= "NULL"; //FIXME: What's the HOSTPERFDATA equivalent for LibreNMS? Oo $format .= "\n";