Copyright © 2008 Stanislav Sinyagin <ssinyagin@k-open.com>
This package is distributed under GNU General Public License.
The development has been sponsored by Sunrise Communications AG.
The Toponet software provides the following features:
The source code is available from SVN repository at Sourceforge.net.
1. Install Jifty from CPAN (www.jifty.org)
2. Install prerequisites from CPAN:
Digest::MD5
Net::Telnet
Net::Netmask
Net::SNMP
JUNOS::Device
3. Patch JUNOS::Access module
http://rt.cpan.org/Public/Bug/Display.html?id=32246
(usually somewhere in /usr/lib/perl5/site_perl/5.8.8/JUNOS/Access.pm)
Remove the lines around line 315:
# If something bad happens kill this process off...
$SIG{INT} = $SIG{__DIE__} = $SIG{HUP} = $SIG{TERM} =
sub { kill 9, $pid; exit };
4. Unpack Toponet archive somewhere (do not run Makefile.PL or "make install").
5. Create a database (presumably MySQL) and a DB user.
6. Change your directory to Toponet directory
7. Edit etc/site_config.yml and enter the database parameters and optionally
the blacklist of system names that will be excluded from inventoty:
---
framework:
Database:
Database: toponet
Driver: mysql
Host: localhost
Password: 'SECRET'
User: 'toponet'
LogLevel: INFO
application:
Toponet:
Inventory:
Blacklist: ^...\d\d(a|(vhg))\d\d$
8. Create the database tables:
./bin/jifty schema --setup
9. See the Jifty manuals for installing the application into your Apache.
Currently only IS-IS topology discovery is implemented. The software supports Cisco IOS and Juniper JunOS and ERX devices. To the moment only Telnet access is supported. 1. Add the default access class ./bin/accessclass --add --login=USER --password=SECRET --community=SECRET 2. Add a seed node to the topology ./bin/add_seednode --hostname=NYC01PE01 --addr=172.168.155.111 The hostname should be exactly the same as shown on the device prompt in a telnet session. 3. Run the discovery ./bin/run_discovery 2>&1 | tee trace.log If no errors seen, the discovery should finish smoothly. 4. Run the hardware inventory ./bin/run_inventory 2>&1 | tee trace.log 5. Navigate the topology in Web UI. 6. Install the cronjobs: 0 1 * * * /usr/local/Toponet/bin/clean_changelog 0 7 * * * /usr/local/Toponet/bin/run_discovery >/tmp/toponet_discovery 2>&1 0 8 * * * /usr/local/Toponet/bin/run_inventory >/tmp/toponet_inventory 2>&1 */5 * * * * /usr/local/Toponet/bin/process_trace_requests >/tmp/toponet_trace 2>&1