Graphing DNS Service Response Times

 - DNS server response times can be ingested into NRG by using
   the nrg-bindresponse script.  Contrary to it's name, 
   nrg-bindresponse can provide response times for any DNS server.

 - NRG utilizes the BIND command "dig" to time queries.  If you
   don't have dig, you can get it via the BIND contrib package
   at http://www.isc.org/
 - An example of DNS response time graphs can be found at
     http://nrg.hep.wisc.edu/nrg-demo/bind/Basil/Basil-bind-resp.cgi


Graphing BIND Service Statistics

 - The BIND name server (named) writes a statistics file when
   sent the SIGILL signal (eg with "kill -ILL pid_of_named".)
 - nrg-bindstatd is installed on name servers to provide the global
   values from the named statistics file via port 88888.
 - The name server statistics can then be ingested into NRG using 
   nrg-bindstat, which connects to port 88888 and parses named stats 
   file output into NRG collector format output.


Instructions Graphing BIND Statistics Using nrg-bindstat

 - Verify that you have BIND 8 and that "kill -ILL <pid_named>" 
   causes /var/tmp/named.stats to be created.  If you have 
   BIND 4, use "kill -IOT <pid_named>".  (If your named boot file 
   contains a directory statement, then your named.stats file 
   will be created in that directory instead of /var/tmp.)
 - Install /usr/local/etc/nrg-bindstatd on the name server

 - If your name server's named.pid file is not /etc/named.pid,
   then adjust the $pid_file variable at the top of nrg-bindstatd.
   (If you have a custom build of named, then named.pid will exist
   in the etc directory off the root prefix of your build.  For
   example, if you have named in /usr/local/sbin/named, then the
   named.pid file will be /usr/local/etc/named.pid.)
 - If your name servers' named.stats file is not /var/tmp/named.stats, 
   then adjust the $named_stats variable at the top of nrg-bindstatd.
 - Test nrg-bindstatd on the name server by doing
   "/usr/local/etc/nrg-bindstatd".  This should print three 
   lines of a BIND statistics dump.
 - Configure the name server to provide the nrg-bindstat service
      - edit /etc/services and /etc/inetd.conf and add an entry 
        for "nrg-bindstat":
          - /etc/services:
              nrg-bindstat 88888/tcp
          - /etc/inetd.conf:
              nrg-bindstat stream tcp nowait root \
                /usr/local/etc/nrg-bindstatd nrg-bindstatd
      - do "kill -HUP <pid_of_inetd>"
 - Test nrg-bindstat service: do "telnet name-server 88888"
 - Add the appropiate .mconf strings to Site.mconf using
   examples/bind.mconf as your guide.
 - Tell NRG about the new meta target:
     make update
     make notify


An Example /etc/services Entry for nrg-bindstat

 nrg-bindstat 88888/tcp


An Example /etc/inetd.conf Entry for nrg-bindstat

 nrg-bindstat stream tcp nowait root /usr/local/etc/nrg-bindstatd nrg-bindstatd