Pro instalaci jsem volil port net-mgmt/netdisco/ který mi nainstaluje aktuální verzi 1.1.
n e t d i s c o
--------------------------------------------------
Netdisco Version : 1.1
SNMP::Info Version : 2.06
Net-SNMP Version : 5.0701
Perl Version : 118.53.46.49.52.46.50
--------------------------------------------------
Netdisco Version : 1.1
SNMP::Info Version : 2.06
Net-SNMP Version : 5.0701
Perl Version : 118.53.46.49.52.46.50
Netdisco je dle webu vývojářů vyvýjeno na FreeBSD a tudíž v dokumentaci nechybí ani informace potřebné k instalaci. Jistá zastaralost dokumentace znát ovšem je. Volil jsem použití Apache 2.2 a PostgreSQL 9.1 s tím že tuto volbu port akceptuje.
Během instalace jsem měl jen jeden problém s konfliktem dvou balíků pkg_config a pkgconf. Musel jsem pkg_config odinstalovat a s nim i zavislosti. Posléze jsem instaloval port graphics/graphviz, který si pkgconf žádal. Zbytek instalace již nevykazoval problémy.
Po instalaci portu netdisco bylo třeba provést úkony v postinstalačním postupu, který jsem zmiňoval již v prvním příspěvku. Tímto postupem importujeme db schéma do PostgreSQL a nastavíme systém tak, aby služby nastartovaly atd.
Pro přihlášení do Web GUI bylo třeba si přidat patřičného uživatele.
netdisco -u admin
Pro fungování v praxi jsem testoval přidávat switch Dell PowerConnect 5448 s public komunitou.
Pro přídání switchů jsem nejprve užil web GUI, ale i s debug režimem se mi nechtěl přidat i přes prověření funkčnosti SNMP pomocí snmpwalk, které odpovídalo.
snmpwalk -Os -c public -v 2c 192.168.0.42 system
sysDescr.0 = STRING: PowerConnect 5448
sysObjectID.0 = OID: enterprises.674.10895.3021
sysUpTimeInstance = Timeticks: (361894700) 41 days, 21:15:47.00
sysContact.0 = STRING: SmEjDiL
sysDescr.0 = STRING: PowerConnect 5448
sysObjectID.0 = OID: enterprises.674.10895.3021
sysUpTimeInstance = Timeticks: (361894700) 41 days, 21:15:47.00
sysContact.0 = STRING: SmEjDiL
sysName.0 = STRING: switch42
sysLocation.0 = STRING: DKnLsysServices.0 = INTEGER: 2
sysORLastChange.0 = Timeticks: (0) 0:00:00.00
sysORID.1 = OID: enterprises.89.73
sysORDescr.1 = STRING: RS capabilities
sysORUpTime.1 = Timeticks: (0) 0:00:00.00
Dle manuálové stránky patřičného modulu jsem se dočetl o potřebných MIB souborech.
man SNMP::Info::Layer3::Dell
Dále jsem postupoval tak, že jsem zařížení přidával za pomocí cmd.
netdisco -d 192.168.0.42
n e t d i s c o
--------------------------------------------------
[192.168.0.42] Discover starting
[192.168.0.42] [Trying SNMP Version 1]
[192.168.0.42] Fetching Device Info
[192.168.0.42] Fetching Device Info
[192.168.0.42] Fetching Interface Information
[192.168.0.42] 32 Interfaces.
[192.168.0.42] Fetching VLAN Information
[192.168.0.42] Scrubbing VLANs from device_port_vlan table... 0 removed
[192.168.0.42] Scrubbing VLANs from device_vlan table... 0 removed
[192.168.0.42] 28 VLAN Interfaces, 1 names.
[192.168.0.42] Fetching Power Information
[192.168.0.42] 0 Power Modules
[192.168.0.42] Fetching Module Information
[192.168.0.42] 0 Modules.
[192.168.0.42] Fetching Neighbor Information
[192.168.0.42] ! CDP not Enabled.
n e t d i s c o
--------------------------------------------------
[192.168.0.42] Discover starting
[192.168.0.42] [Trying SNMP Version 1]
[192.168.0.42] Fetching Device Info
[192.168.0.42] Fetching Device Info
[192.168.0.42] Fetching Interface Information
[192.168.0.42] 32 Interfaces.
[192.168.0.42] Fetching VLAN Information
[192.168.0.42] Scrubbing VLANs from device_port_vlan table... 0 removed
[192.168.0.42] Scrubbing VLANs from device_vlan table... 0 removed
[192.168.0.42] 28 VLAN Interfaces, 1 names.
[192.168.0.42] Fetching Power Information
[192.168.0.42] 0 Power Modules
[192.168.0.42] Fetching Module Information
[192.168.0.42] 0 Modules.
[192.168.0.42] Fetching Neighbor Information
[192.168.0.42] ! CDP not Enabled.
Tento příkaz již napovídal, že mu chybí potřebné SNMP MIB definice. Netdisco má jeden balík MIBů. Tento balík obsahuje velké množství MIB souborů od ruzných výrobců i ty normované RFC, ale i přesto bylo třeba stáhnout MIBy od výrobce.
netdisco-mibs-0.9 Mibs for use with ports-mgmt/netdisco (and snmp)
Po chvilce googlování jsem požadované soubory postahoval např. z http://www.oidview.com/.
Během používání Netdisco jsem narazil na dvě chybové hlášky.
/usr/local/www/netdisco/device.html 789
Popis problému je v konferenci.
## line 789
## replace:
% for my $f qw(fw hw sw) {
## with:
% for my $f (qw(fw hw sw)) {
Např. pří restartu apache se objevovala tato druhá chyba na řádku ...
/usr/local/lib/perl5/site_perl/5.14.2/netdisco.pm 337
Stejné řešení s popisem problému zde.