In the real estate world, the mantra is location, location, location. In the network and server administration world, the mantra is visibility, visibility, visibility. If you don't know what your network and servers are doing at every second of the day, you're flying blind. Sooner or later, you're going to meet with disaster.
Fortunately, there are a plethora of good tools, both commercial and open source that can shine much-needed light into your environment. Because good and free always beats good and costly, I've compiled a list of my favorite open source tools that prove their worth day in and day out in networks of any size. From network and server monitoring to trending, graphing, and even switch and router configuration backups, these utilities will see you through.
First, there was MRTG. Back in the heady days of the 1990s, Tobi Oetiker saw fit to write a simple graphing tool built on a round-robin database scheme that was perfectly suited to displaying router throughput. MRTG begat RRDTool, which is the self-contained round-robin database and graphing solution in use in a staggering number of open source tools today. Cacti is the current standard-bearer of open source network graphing, and takes the original goals of MRTG to whole new levels.
Cacti is a LAMP/WAMP (Linux/Windows, Apache, MySQL, and Perl/PHP/Python) application that provides a complete graphing framework for data of nearly every sort. In some of my more advanced installations of Cacti, I'm collecting data on everything from fluid return temperatures in datacenter cooling units to free space on filer volumes to FLEXlm license utilization. If a device or service returns numeric data, it can probably be integrated into Cacti. There are templates to monitor a wide variety of devices, from Linux and Windows servers to Cisco routers and switches -- basically anything that speaks SNMP. There are also collections of contributed templates for an even greater array of hardware and software. I've written several data templates for Cacti that can be downloaded from the project site, including the FLEXlm monitoring code.
Cacti's default collection method is SNMP, but local Perl or PHP scripts can be used as well. The framework deftly separates data collection and graphing into discrete instances, so it's easy to rework and reorganize existing data into different displays. Not only that, but you can easily select specific timeframes and sections of graphs just by clicking and dragging. In some of my installations, I have data going back several years, which proves invaluable when determining if current behavior of a network device or server is truly anomalous or, in fact, occurs with some regularity.
Using the PHP Network Weathermap plug-in for Cacti, you can easily create live network maps showing link utilization between network devices, complete with graphs that appear when you hover over a depiction of a network link. In many places where I've implemented Cacti, these maps wind up running 24x7 on 42-inch LCD monitors mounted high on the wall, providing the whole IT staff with at-a-glance updates on network utilization and link status.