NRG vs MRTG

 - NRG was written based on extensive experience with using and
   enhancing MRTG at WiscNet--one of the world's largest non-profit
   regional networks.  Because of the size of WiscNet, manual
   configuration of MRTG was too time consuming, so scripts where
   written to automate MRTG's interface discovery tool "cfgmaker".
   Many aspects of this system were overly complex and, in general,
   the system was difficult to use.  Further, the WiscNet's MRTG
   system was slow and inefficient.  In the fall of 1999, work was
   started on a rewrite of MRTG which seeks to overcome the usablity
   and scalablity issues of WiscNet's automated MRTG system.
 - There are many pieces of functionality that NRG provides that
   you can not get from MRTG.  NRG is a more rebust system for 
   graphing resources because it has
     - the ability to auto-discover data sources

     - the ability to automatically generate graph web pages
       that display RRDtool graphs of data sources
     - the ability to automatically generate tables that display 
       current data source values in textual form
     - the ability to automate the maintence of the entire web site


Migrating from MRTG to NRG

 - Here is a general outline for migrating from MRTG to NRG:
     - Use the NRG meta-configuration layer to automatically generate 
       NRG .conf strings and .rrd files.  When nrg-rrdkeeper generates
       .rrd files, make note of their location for future use.
     - If your MRTG install writes .log files, use the log2rrd.pl 
       script to convert your .log files to RRDtool database (.rrd) 
       files.
     - Convert the DS names in your MRTG-derived .rrd files to
       the DS names used by NRG.
     - Copy you MRTG data (.rrd files) to the locations of .rrd files
       denoted by nrg-rrdkeeper.
 - You can also convert MRTG cfgs into NRG confs with the "mrtg2nrg" 
   script.
 - Because the manual use of .conf files in NRG should be avoided, the
   "mrtg2nrg" script should not be used to migrate MRTG cfgs "en masse".
 - The "mrtg2nrg" script should be used to migrate complex MRTG
   configurations or used to quickly generate working NRG configuration
   strings which can then be used to make appropiate changes to graph,
   table and/or database templates.
 - There are two caveats to consider when using mrtg2nrg:
     - mrtg2nrg does not support the "Target: a@b:1 + a@b:2" syntax
     - mrtg2nrg does not support the "^" and "$" magic target types
     - mrtg2nrg might screw up (or fix!) any "<Hn>" HTML tags (eg <H1>) 
       in the first two lines of your PageTop[]: definitions.


NRG vs MRTG configuration strings

 - In general, NRG .conf files look pretty much like MRTG .cfg files.
 - NRG does not have the "^" or "$" target types.
 - NRG uses the target "*" for assigning default values to configuration 
   strings.
 - Perl regular expressions can be used for the target value part of 
   most configuration strings.  For example "MaxValue[.*-percent$]: 100" 
   will set the max value to 100 for all targets ending in "-percent".
 - See L<configuration> for more details about NRG configuration strings.