- You must have perl. Information about perl can be found at http://perl.com/.
- You must have a web server installed, configured and running. The Apache web server can be found at http://www.apache.org/.
- You must have a full Net-SNMP v5 (or UCD-SNMP v4) install. Currently NRG is developed using RedHat Enterprise Linux 3 (RHEL3) with the net-snmp-5.0.9 and net-snmp-devel-5.0.9 RPMs. Information about Net-SNMP can be found at http://www.net-snmp.org/.
- You must have RRDtool installed. Currently NRG is developed tested under version 1.0.49. Information about RRDtool can be found at http://ee-staff.ethz.ch/~oetiker/webtools/rrdtool/.
- NRG usually installs on top of RRDtool. Make sure the RRDtool directory tree is owned by an ordinary (non-root) user so you can install and operate NRG as an ordinary user. Do this as root:
find /usr/local/rrdtool-* -print | xargs chown your-login
- If you do not want to install NRG on top of RRDtool (eg because you already have an existing RRDtool install), then simply build and install RRDtool using ``./configure --prefix=/usr/local/nrg''
- If you want to graph response times of TCP services, then you need to install the Time::HighRes perl module. NRG is developed using the RHEL3 perl-Time-HiRes-1.38 RPM. The source for Time::HiRes can be found at http://www.cpan.org/.
- If you want to graph name service response times, then you need to have ``dig'' (a program for doing domain name service queries.) Dig is included in the RHEL3 bind-utils-9.2.4 RPM. You can find the source in the BIND contrib package, which can be found via http://www.isc.org/
- If you want to graph Unix resource utilization (load average memory use, virtual memory use, disk use), then you need to install and configure Net-SNMP's snmpd on each Unix host. Net-SNMP can be found at http://www.net-snmp.org/. Instructions for configuring Net-SNMP's snmpd can be found at net-snmp.
- Do ``./configure''.
- Build roverpingd:
make pingd
- Make the symbolic link /usr/local/nrg that points to RRDtool:
cd /usr/local ln -s rrdtool-1.0.x nrg
- Do ``make install''.
- By default, this will install NRG in the /usr/local/nrg directory tree. To install NRG somewhere else, use ``./configure --prefix=/somewhere/else''. (NRG assumes RRDtool is installed in /somewhere/else, so you should have done/do the same ./configure command for building RRDtool.)
- If you built roverpingd, then do ``make install.pingd''
- Make a directory to hold your NRG web pages. For stock Apache, try something like:
mkdir /usr/local/apache/html/nrg chown yourlogin /usr/local/apache/html/nrg
If you have RedHat Linux, do:
mkdir /var/www/html/nrg chown yourlogin /var/www/html/nrg
- For convenience, create a sym link that points /usr/local/nrg/web at your web NRG pages:
ln -s /some/path/to/html/nrg /usr/local/nrg/web
- Install the NRG images:
mkdir /usr/local/apache/html/nrg/icons cp images/* /usr/local/apache/html/nrg/icons - Tell your web server to run as the same user that runs NRG:
vi /usr/local/apache/conf/httpd.conf # generic Apache or vi /etc/httpd/conf/httpd.conf # RedHat linux specific # change "User something" to your unix login
- Tell your web server to execute .cgi files. For Apache, add the configuration string ``AddHandler cgi-script .cgi'' and restart the httpd daemon:
vi /usr/local/apache/conf/httpd.conf # generic Apache or vi /etc/httpd/conf/httpd.conf # RedHat Linux specific
# add the following... <Directory /path/to/html/nrg> Options ExecCGI </Directory> AddHandler cgi-script .cgi
- Tell your web server to expire .gif files so the auto-reloading of web pages works. The known method for doing this is to use Apache with mod_expires and the following configuration stuff:
vi /usr/local/apache/conf/httpd.conf # generic Apache or vi /etc/httpd/conf/httpd.conf # RedHat linux specific # add the following: <Files "*.gif"> ExpiresActive On ExpiresDefault M5 </Files>
- Restart your web server. For Apache, do:
apachectl restart # generic Apache or service httpd restart # RedHat Linux specific
Now read configuration