Archiving and Graphing non-SNMP Data

 - NRG archives and graphs non-SNMP data by using "collector
   scripts."  Collector scripts gather data for a single data
   source and print the time the data was collected, the uptime
   of the remote agent (when necessary), an integer value for the 
   data source and description for the data source.
 - NRG is configured to use collector scripts by specifying
   an appropiate collector script command with in backtick (`) 
   characters.  For example:
     Variable[SomeServer-apache-tp][requests]: \
       `nrg-apachestat -m bytes x.x.x.x` COUNTER


Discussion of the Collector-to-NRG Interface

 - Collectors report their data by printing to (Unix) stdout.
   At a minimum, they should print three integers on three
   separate lines:
     - On the first line, they should print the "time" the 
       stats are valid for in Unix timestamp format (seconds 
       since Jan 1st 1970.)
     - On the second line, they should print the "uptime" 
       (time since last boot in seconds) of the host whose 
       stats are being monitored.
     - On the third line, they should print the "value" of
       of the desired statistic.
 - Labels, details and/or other comments should be added after 
   the time, uptime and value for readability.  For example:
     bash% nrg-bindstat -m queries_in dns.wiscnet.net 
     937366921 Tue Sep 14 22:43:12 CDT 1999
     321321 uptime
     1231230 queries COUNTER
 - When data collection fails, collector scripts should print
   something besides an integer number, float number or the 
   value "U" for "undefined" for the value.  For example:
     bash% nrg-bindstat -m queries_in dns.wiscnet.net 
     937367221 Tue Sep 14 22:48:12 CDT 1999
     INF uptime
     connection refused 
 
 - The uptime values are used to avoid creating data spikes
   by avoiding logging recently reset counter values.  When
   the data sources being monitored are GAUGEs, the uptime is
   not relevant.  In this case, collector scripts can use the
   value "INF" to denote that the uptime is "infinite."