Share

NISCA

File Release Notes and Changelog

Release Name: 2.2

Notes: <font face="arial,helvetica,futura,univers,sans" size=3> <center> <h1> <big>N</big>etwork <big>I</big>nterface <big>S</big>tatistics <big>C</big>ollection <big>A</big>gent </h1> <P><B>Welcome to N.I.S.C.A. v2.2 (04 July, 2001)</B></P> <P>Yeah, yeah, I know, this is more of a FAQ than a Readme, but so?</P> </center> <hr size=1 noshade> <h3>About NISCA</h3> <P> The Network Interface Statistics Collection Agent (or N.I.S.C.A.) is a complete network statistics collector and graph generator aimed at helping network administrators do their job by providing functionality that MRTG doesn't offer. </P> <h3>Why does NISCA exist?</h3> <P> NISCA was born to replace the popular <a href="http://www.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg.html">MRTG</a> package. Although MRTG is a fine application respected all over the world, I've always found it lacking some features that I really wanted in a network statistics analyzer; things like true-type fonts, collection of data into a database, the "time zoom" feature, and the ability to generate graphs from any period in the past without losing any detail due to data compression. </P> <h3>NISCA 2.2 features</h3> <UL> <P><LI>Supports creating graphs which combine the stats of more than one interface onto one graph (only supports bytes transferred). This differs from MRTG's method, which requires that you have a special rule set up to <I>collect</I> the stats additively. Nisca allows you to just suddenly decide that you want to see the sum of the transfer rates on any number of interfaces on any number of machines over any time period; all that's required is that they have normal statistics already collected for them. <P><LI>Allows for re-averaging statistics in the database over any time period, like MRTG does automatically; however, NISCA's re-averaging utility must be run manually, and it makes a compressed backup of everything it removes so you can re-import it later should you need stats from some time period in the distant past that haven't been re-averaged. Compression usually results in an 85-90% decrease in file size. <P><LI>Interface names can be collected via several methods to keep them unique; "ifDescr", "ifIndex", "ifName", "Catalyst Port Name", or "MAC Address". ("ifIndex" is the one MRTG uses by default.) <P><LI>Committed Information Rates (CIR) can be defined on any interface and graphs for it will clearly show the CIR so you can see if you're going over it. <P><LI>The "ifSpeed" entry for any interface can be modified; some interfaces don't report an ifSpeed value, and others report the wrong one (like 100BaseT ethernet interfaces usually claiming to only be 10-megabit on Linux boxes). ifSpeed is used while generating graphs and is shown on the report page for each interface being reported on. <P><LI>Human-readable aliases can be defined for all interfaces and hostnames. <P><LI>Context-sensitive help buttons available on almost every page. <P><LI>Graphs can be PNG or JPG format. <P><LI>Uses MySQL to store all the gathered data. <P><LI>Supports SNMPv1 and SNMPv2. (Read the INSTALL file to learn how to activate v2 support in PHP; read <a href="http://nisca.sourceforge.net/SNMPv2.html">this page</a> to know <I>why</I> you want SNMPv2 support.) <P><LI>Graph sizes can be customized. (Default is 700x250.) <P><LI>Date and time formats can be customized to satisfy all possible users' locale/nationalization requirements. <P><LI>All colors used to generate graphs can be customized, both the default set of colors and any single report request. <P><LI>Uses either TrueType fonts or the built-in libGD fonts. (The use of TTFs require a bigger graph size in order to prevent text overlapping. It is suggested you use at least 700x200 with TTFs.) <P><LI>NISCA collects statistics for transferred bytes, transferred packets, transmission errors, and dropped packets for both incoming and outgoing traffic on each monitored interface. <P><LI>Collection interval can be customized from one second to whatever is needed. (ATTENTION! the misuse of this parameter can generate a lot of problems. Please read the Fine Tuning section.) <P><LI>Ability to collect statistics from the PC where NISCA is running without the use of SNMP (though it appears only Linux with the proc filesystem supports this method). <P><LI>SNMP setup uses actual SNMP data collected from the agent to make the list of interfaces you can choose to monitor. <P><LI>There is no limit to the number of interfaces that can be monitored at the same time. (Please read the Fine Tuning section.) <P><LI>Interface naming has no restriction. Names can include blanks and/or symbols. The only exception is "!" and "*"; these are used to separate interfaces from hostnames in certain places, so must not appear in either. <P><LI>Different SNMP communities can be used on a single host for any of its interfaces. <P><LI>Reports can be generated for any time period. <P><LI>Reports can contain graphs and/or text summaries. <P><LI>Graphs can be restricted to incoming data only, outgoing data only, or both. <P><LI>Text summaries can be averaged/summarized per any number of seconds, minutes, hours, days, months, or years, and a grand total of all traffic for that period is displayed. <P><LI>Uses persistent MySQL connections to cut down on overhead. <P><LI>A script is provided to import data from your existing MRTG logs. <P><LI>A script is provided to make sure your collectors stay running. You can also run them from crontab if you want to for some reason. <P><LI>Report options can be stored and reloaded at any time to speed up viewing the reports you view most often. <P><LI>Most configuration options are kept in the database. <P><LI>A Web Administration GUI is provided to configure NISCA. <P><LI>A statistics deletion utility is provided to manage manual database entry removal/cleanup. </UL> <h3>Who has actually contributed?</h3> <UL> <P><LI><a href="mailto:pf@gusp.dyndns.org">Pierfrancesco Caci</a> <P><LI><a href="mailto:fabio.m.d.nitto@ted.ericsson.dk">Fabio Massimo Di Nitto</a> <P>&nbsp;&nbsp;&nbsp;&nbsp;(It wouldn't have been possible without you two... :) <P><LI><a href="mailto:mmotley@la-mirada.net">Mark Motley</a> <P><LI>Sean, of <a href="http://www.hotlinks.co.uk">Hotlinks Internet Services</a> <P><LI><a href="mailto:jimmy@kaplowitz.org">Jimmy Kaplowitz</a> <P><LI>Eddy Lai </UL> <P> New ideas, requests, job offers, and comments are always welcome from everyone. Contributing to NISCA will only improve its quality. <h3>Contact Info-Mation</h3> <table border=0> <tr> <td align=right>Author's email:</td> <td><a href="mailto:phee@isthisthingon.org">phee@isthisthingon.org</a></td> </tr> <tr> <td align=right>Official Site:</td> <td><a href="http://nisca.sourceforge.net/">http://nisca.sourceforge.net/</a></td> </tr> <tr> <td align=right>Author's ICQ #:</td><td>13130273</td> </tr> </table>


Changes: <h3>Changelog</h3> <hr noshade size=1> <h3>v2.2</h3> <UL> <P><LI> Added one of the neatest features so far, the "Data Re-Averaging Utility." If your database ever gets too large to handle, you can use this utility to trim out some of the statistics in your database (thus effectively re-averaging the data over a longer period). You can also use it if your statistics are too "fuzzy" (collecting at very frequent intervals on a fast interface will make your graphs fuzzy; the more frequent, the fuzzier it gets). It's like two features in one. Oh, and also, when you strip out database entries to re-average it or make it smaller, you have the option of telling it to create *compressed* text (SQL command) archive files so you can change your mind later. <P><LI> Modified the "Stats Deletion Utility" to create archive files like the Re-Averaging Utility does now. <P><LI> Added "multiple" report functionality. This means you can tell it to add up the stats on all the interfaces you have selected and put them all on one graph. This differs from MRTG's method, which requires that you have a special rule set up to <I>collect</I> the stats additively. Nisca allows you to just suddenly decide that you want to see the sum of the transfer rates on any number of interfaces on any number of machines over any time period; all that's required is that they have normal statistics already collected for them. This is only supported for the "In/OutOctets" (byte count) statistics, not packets, drops, or errors, though I could add support for multi-IF graphs on those kinds of data if people wanted it. <P><LI> Added "adm_showconf.phtml" script to the administration section. This script just shows you the contents of the "nisca.conf" and "db.conf" files it's using; I thought it might come in handy to some people. :) <P><LI> Added ability to use one of these methods to uniquely identify interfaces on a host: "ifDescr", "ifIndex", "ifName", "ifPhysAddress", "Cisco iflocDescr", or "Catalyst Portname". This was to help those people stuck with a Catalyst or other machine that has the same "ifDescr" entry on every interface. <P><LI> Added "Committed Information Rate" (CIR) on interfaces so you can see where your graphs go above it. Thanks to <a href="mailto:mmotley@la-mirada.net">Mark Motley</a> for the idea. <P><LI> Added "Host Aliases" so you aren't stuck with an IP or hostname to display a host as (similar to the user-definable Interface Aliases). Mark Motley's idea, too. <P><LI> Added the ability to change or add an "ifSpeed" entry for any SNMP or Localhost interface (adm_snmp2.phtml and adm_local1.phtml). <P><LI> Added the display of how much disk space your database consumes to the report index page. (This requires a bit of setting up; see the end of the "nisca.conf" file for details.) <P><LI> I've had a few requests from people who for whatever reason want to run their collectors from crontab instead of as a daemon. Now, all you have to do is change one variable at the top of "collect.php" or "snmp_collect.php" to toggle daemonic behavior. <P><LI> Added an SNMP timeout variable in snmp_collect.php. This can be adjusted by the user easily (it defaults to 15 seconds... I hope). <P><LI> Changed it so trying to save a report with an existing report's name isn't allowed anymore. <P><LI> Fixed a bug which caused interfaces without an ifSpeed entry to generate wildly inaccurate text-only reports. (This fix has been back-ported to v2.1 as well.) Thanks to <a href="mailto:tim@mkl.com">Timothy Barbeisch</a> for drawing it to my attention. <P><LI> Added the usual "update-to-2.2.php" script. It changes the version in your database to "2.2", adds two "multiple" columns to the "reports" table, adds a column to the "localhost" table for fake ifSpeed entries, and two columns to the "interfaces" table to handle host aliases and IF naming method. <P><LI> Added "PHP_HINTS" to the documentation for the purpose of explaining in excruciating detail how to install the proper Apache, MySQL, and PHP support for NISCA. </UL>