Thursday, February 5, 2009

NeDi Network Management System

NeDi is one of the greatest free tools available for managing a network, and this blog is to basically get the word out, and also act as one big review. I'll share some of my experiences with the setup of NeDi, and how to get it working in any environment.


For a Network Managment System (NMS) NeDi has an excellent cost-to-benefit ratio: it's free! NeDi is an open source product, and therefore the source code is freely avaiable for download, and if you have some good ideas, you can contribute to the project.


This really depends on what you want to put it on. I would suggest using the latest verision of CentOS. This is what I've installed NeDi on in the past with the most ease and success. Make sure you've got perl, apache, and mysql, php running on your box at the very minimum. After you've got those, you can just do a yum install of most of your packages:

yum -y install php-mysql php-snmp php-gd perl-Net-Telnet-Cisco perl-Algorithm-Diff perl-Net-Telnet perl-Net-SNMP net-snmp rrdtool

From there you'll want to grab NeDi itself. You can get it from here:


Alright so you've got the install done and you're ready for your first discovery. Excellent! The first thing you want to make sure is that you have your seedlist file under your nedi directory filled out. You COULD leave it blank, however from my experience I've found you're going to want to be familiar with it at the very minimum. In the largest network that I run NeDi in, I have 6 devices listed in my seedlist, and from there I can discover the other 300 Cisco routers, switches, and firewalls.

If you want to run a manual discovery from your linux terminal, you can do the following under your nedi directory:

./ -c

Steady State

This is what I call it when NeDi is in a normal operational mode. Basically feel free to kick back and watch as it does everything you want it to do. Personally I don't use NeDi for everything. For instance, I don't push config changes through it, or use it for monitoring.


If you're having trouble with NeDi, this section will try to help you. The most common problem that I see is missing modules causing config backups not to work. If this is happening to you, I would suggest running this perl script:

use Net::SSH::Perl;
my $host="DEVICEIP";
my $pass='YOURPASSWORD';
my $user="YOURUSERNAME";
my $ssh = Net::SSH::Perl->new($host);
$ssh->login($user, $pass);
my($stdout, $stderr, $exit) = $ssh->cmd("show run");
print "$stdout\n";

This script will test the basic functionality of Net::SSH::Perl. I've found that many times there is something missing, and this will at least give you the oppurtunity to test just that functionality.