App-Netdisco
view release on metacpan or search on metacpan
lib/App/Netdisco.pm view on Meta::CPAN
Run the following command to start the web-app server as a background process:
~/bin/netdisco-web start
The web app listens on port 5000 (for example C<< http://localhost:5000/ >> or
C<< http://yourhost.example.com:5000/ >>).
Run the following command to start the job control daemon (device polling,
port control, etc):
~/bin/netdisco-backend start
=head1 First Run
After installing Netdisco for the first time, you must manually discover at
least one device on your network. Choose a device which speaks CDP, FDP, or
LLDP and knows about its neighbors; Netdisco will then start following this
chain of neighbors to discover the rest of your network.
Either go to the web interface and enter an IP or fully qualified domain name,
OR perform the following step at the command line:
~/bin/netdisco-do discover -d {name or IP address of a switch or router}
=head1 Further Reading
We have several pages with tips for
L<alternate deployment scenarios|https://github.com/netdisco/netdisco/wiki/Install-Tips>,
L<understanding and troubleshooting Netdisco|https://github.com/netdisco/netdisco/wiki/Troubleshooting>,
L<tips and tricks for specific platforms|https://github.com/netdisco/netdisco/wiki/Vendor-Tips>,
and L<all the configuration options|https://github.com/netdisco/netdisco/wiki/Configuration>.
You can also speak to someone in the C<#netdisco@libera> IRC channel, or on
the L<community email list|https://lists.sourceforge.net/lists/listinfo/netdisco-users>.
Before installing or upgrading please always review the latest
L<Release Notes|https://github.com/netdisco/netdisco/wiki/Release-Notes>.
=head1 Upgrading from 2.x
Netdisco requires Perl (5.10+) and PostgreSQL (9.6+).
Always review the latest L<Release Notes|https://github.com/netdisco/netdisco/wiki/Release-Notes>.
Then the process below should be run for each installation:
# upgrade Netdisco
~/bin/localenv cpanm --notest App::Netdisco
ln -sf ~/perl5/bin/{localenv,netdisco-*} ~/bin/
# apply database schema updates, update MIBs and Vendor MACs
~/bin/netdisco-deploy
# restart web service (if you run it)
~/bin/netdisco-web restart
# restart the backend workers (wherever you run them)
~/bin/netdisco-backend restart
Furthermore, whenever you upgrade your Operating System, you must delete the
C<~/perl5> directory and re-run the following command, to update Netdisco's C
library bindings (and then run all of the above upgrade commands again):
curl -L https://cpanmin.us/ | perl - --notest --local-lib ~/perl5 App::Netdisco
=head1 Tips and Tricks
=head2 Searching
The main black navigation bar has a search box which is smart enough to work
out what you're looking for in most cases. For example device names, node IP
or MAC addresses, VLAN numbers, and so on.
=head2 Command-Line Device and Port Actions
Most significant Device jobs and Port actions, as well as several
troubleshooting and housekeeping duties, can be performed at the command-line
with the L<netdisco-do> program. For example:
~/bin/netdisco-do -D discover -d 192.0.2.1
See the L<netdisco-do documentation|netdisco-do> for further details.
=head2 Import Topology
Netdisco 1.x had support for a topology information file to fill in device
port relations which could not be discovered. This is now stored in the
database (and edited in the web interface). To import a legacy topology file,
run:
~/bin/localenv nd-import-topology /path/to/netdisco-topology.txt
=head2 Database API
Bundled with this distribution is a L<DBIx::Class> layer for the Netdisco
database. This abstracts away all the SQL into an elegant, re-usable OO
interface. See the L<Developer|https://github.com/netdisco/netdisco/wiki/Developing>
documentation for further information.
=head2 Plugins
Netdisco includes a Plugin subsystem for customizing the web user interface and backend daemon.
See L<Web Plugins|https://github.com/netdisco/netdisco/wiki/Web-Plugins>
and L<Backend Plugins|https://github.com/netdisco/netdisco/wiki/Backend-Plugins>
for further information.
=head2 Extensions
Using the Plugins mechanism, it's also easy to write new commands (or actions)
for Netdisco. For example, an action has been added to L<generate RANCID
configuration|App::Netdisco::Worker::Plugin::MakeRancidConf>.
=head2 Developing
Lots of information about the architecture of this application is contained
within the L<Developer|https://github.com/netdisco/netdisco/wiki/Developing> documentation.
=head1 AUTHOR
Oliver Gorwits <oliver@cpan.org>
=head1 CONTRIBUTORS
( run in 1.848 second using v1.01-cache-2.11-cpan-2398b32b56e )