MRTG
MRTG is included in RHEL4; if want to install separately do following:
Create user 'mrtg' with private group 'mrtg'. On Linux, use GUI. If it reports problems in /etc/shadow file, use /usr/sbin/pwconv script.
Now do following:
mkdir /www/mrtg2.15.0 chown mrtg.mrtg /www/mrtg2.15.0 cd /usr/local/src chown mrtg.mrtg mrtg-2.15.0 cd mrtg-2.15.0 ./configure --prefix=/www/mrtg2.15.0 make make install
NOTE: mrtg-2.15.0 was used to install on 'clonweb, mrtg-2.15.2 - on clonmon.
Add MRTG-related part to apache config file /www/apache2.2.3/conf/httpd.conf:
Alias /mrtg "/www/mrtg2.15.0/share" <Directory "/www/mrtg2.15.0/share"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
NOTE: temporary fix in:
ERROR: CFG Error in "Interval": should be at least 5 Minutes (unless you use rrdtool) at /misc/clonweb/mrtg2.15.0/bin/../lib/mrtg2/MRTG_lib.pm line 772.
MRTG can be started by following command (do not start it yet !):
env LANG=C /www/mrtg2.15.0/bin/mrtg /www/mrtg2.15.0/etc/mrtg.cfg
Copy contrib/mrtg-startup-script/mrtg to /etc/init.d/ and correct as following (do not forget to make unique second and third number after chkconfig):
# chkconfig: 345 91 33 # config: /www/mrtg2.15.0/etc/mrtg.cfg MRTG="/www/mrtg2.15.0/bin/mrtg" CONFIG="/www/mrtg2.15.0/etc/mrtg.cfg"
Following commands can be used from now on (do not start it yet !):
/etc/init.d/mrtg start /etc/init.d/mrtg stop /etc/init.d/mrtg restart
Add 'mrtg' to the list of services to be started at boot time (enable level 5 only):
chkconfig --add mrtg chkconfig --level 3 mrtg off chkconfig --level 4 mrtg off chkconfig --list mrtg
Copy/create config files (was copied from clasweb-bck):
cd /www/mrtg2.15.0 mkdir etc cd /www/mrtg2.15.0/etc scp clasweb-bck:/etc/mrtg/"*" .
OR: create configuration files using 'cfgmaker' (never worked for me):
#example #cfgmaker --global 'WorkDir: /home/httpd/mrtg' \ # --global 'Options[_]: bits,growright' \ # --output /home/mrtg/cfg/mrtg.cfg \ # community@router.abc.xyz
DOES NOT WORK YET ... /www/mrtg2.15.0/bin/cfgmaker --global 'WorkDir: /www/mrtg2.15.0/etc' \ --global 'Options[_]: bits,growright' \ --output /www/mrtg2.15.0/etc/mrtg.cfg \ mrtg@clonweb.jlab.org DOES NOT WORK YET ...
OR: create configuration files manually (examples from clasweb-bck were used):
etc/mrtg.cfg - main config file, includes *.inc files etc/*.inc - hardware-specific config files
Create 'web' directories:
cd /www/mrtg2.15.0/share mkdir htmls mkdir images mkdir logs
MRTG will produce and update following files while running:
share/htmls/*.html - actual html files to be displayed share/images/*.png (and *.gif ?) - monthly, dayly and yearly charts share/logs/*.log and *.old - current charts
It maybe good idea to copy some old files htmls/*, images/* and logs/* from previously used MRTG (on clasweb-bck in our case). It will preserve history: 'logs/*.log' contains recent history, while images/*.png contains longer history
cd htmls scp clasweb-bck:/var/www/html/mrtg/Hall-B/htmls/* . cd ../images scp clasweb-bck:/var/www/html/mrtg/Hall-B/images/* . cd ../logs scp clasweb-bck:/var/www/html/mrtg/Hall-B/logs/* .
Start MRTG rigth the way to avoid interrupts in history:
/etc/init.d/mrtg start
Generate 'index.html' script in 'share' directory. It will produce file for all channels. It can be splited manually on desired number of smaller files (it maybe possible to generate separate file for every *.inc, but it wanted WorkDir which is defined in mrtg.cfg, and I did not bother to play with it):
/www/mrtg2.15.0/bin/indexmaker /www/mrtg2.15.0/etc/mrtg.cfg --prefix=htmls --show=none --output=/www/mrtg2.15.0/share/index.html
Cron job (another method to update plots ???):
[root@clasweb-bck etc]# ll */mrtg -rw-r--r-- 1 root root 54 Feb 15 2005 cron.d/mrtg -rwxr-xr-x 1 vvsap clas 1140 Mar 2 2005 init.d/mrtg [root@clasweb-bck etc]# more cron.d/mrtg #0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg