- 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
- 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.
- 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.