Blame doc/mrtg-nw-guide.pod

Packit 667938
=head1 NAME
Packit 667938
Packit 667938
mrtg-nw-guide - MRTG for NetWare
Packit 667938
Packit 667938
=head1 SYNOPSIS
Packit 667938
Packit 667938
This guide is intended to aid in the installation and configuration of MRTG on a NetWare server.
Packit 667938
Packit 667938
=head1 OVERVIEW
Packit 667938
Packit 667938
MRTG is a relative newcomer to the NetWare platform. Earlier versions of NetWare could not run MRTG natively for
Packit 667938
several reasons:
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Absence of NetWare OS support in the MRTG package.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
A NetWare server commandline length limitation.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Absence of the Rateup executable (Rateup.nlm).
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
A standard installation method.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Problems with NetWare's implementation of Perl.
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
Support for the NetWare OS has now been fully added into MRTG, beginning with MRTG release 2.12.2.
Packit 667938
Packit 667938
Liberallly minded operating systems support a commandline length approaching 1000 characters. In such environments it
Packit 667938
was an easy matter to pass the sometimes high number of parameters used by MRTG's Rateup executable directly on the
Packit 667938
commandline. Until NetWare 6.5, NetWare had a commandline limit of 512 characters. This limitation was also removed
Packit 667938
for NetWare 6.0 by Service Pack 5. For other NetWare versions and earlier Service Packs, this limitation remains. To
Packit 667938
permit a 'standard' interface for NetWare, the Rateup executable has been modified to also read its parameters from
Packit 667938
a file, and the MRTG script has been modified to support this method on a NetWare platform.  (See New Rateup Switch)
Packit 667938
Packit 667938
A Rateup NLM is now available, along with the necessary scripts to build it if required. See the  NetWare Support
Packit 667938
section of this document for further details. Additionally, mrtg.pl has been revised because of the unique (to NetWare)
Packit 667938
name of executables (NLM).
Packit 667938
Packit 667938
The absence of a specific installation procedure has caused MRTG to fail in the past because the Perl script could
Packit 667938
not find or load the Rateup executable. The installation method supplied here will solve this problem for now.
Packit 667938
Packit 667938
The MRTG.pl script in the 2.12.2 (or later) version of MRTG has been configured to suit all likely versions of
Packit 667938
NetWare able to use Perl5, and bypasses all of the known problems with NetWare Perl running MRTG.
Packit 667938
Packit 667938
=head1 PREREQUISITES
Packit 667938
Packit 667938
You will need the following:
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Perl 5.8.0 for NetWare with latest Perl Updates (February, 2005 or later; previous versions MAY work)
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
NetWare 5.1 w/ SP8, NetWare 6.0 w/ SP5 or NetWare 6.5 w/ SP2.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
A copy of the MRTG Package (v2.12.2 at time of writting)
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Three .ncf files to execute the Perl scripts at the NetWare server console.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
A copy of the Rateup NLM (Pre-built or compiled)
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Optionally, any NetWare supported Web Server (Netscape, Apache 1.3 or 2.0)
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
For copies of the .ncf files and Rateup NLM, see NetWare Support in this document.
Packit 667938
Packit 667938
=head1 INSTALLING MRTG
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item 1.
Packit 667938
Packit 667938
Install the latest Perl 5.8.x release on your server. See the Perl documentation for details.
Packit 667938
Packit 667938
=item 2.
Packit 667938
Packit 667938
Create the following directories:
Packit 667938
Packit 667938
         SYS:/Mrtg
Packit 667938
         SYS:/Mrtg/bin
Packit 667938
         SYS:/Mrtg/contrib    (Optional for this document)
Packit 667938
         SYS:/Mrtg/doc        (Optional for this document)
Packit 667938
         SYS:/Mrtg/html
Packit 667938
         SYS:/Mrtg/html/images
Packit 667938
         SYS:/Mrtg/html/work
Packit 667938
         SYS:/Mrtg/lib
Packit 667938
         SYS:/Mrtg/logs
Packit 667938
         SYS:/Mrtg/translate
Packit 667938
Packit 667938
=item 3.
Packit 667938
Packit 667938
Copy from the MRTG package the following files:
Packit 667938
Packit 667938
 \bin\*        to  SYS:/Mrtg/bin              All files. See Note 1.
Packit 667938
 
Packit 667938
Note 1: Add a .pl extension to the mrtg, cfgmaker and indexmaker files.
Packit 667938
The rateup.exe will NOT be needed on the NetWare server.
Packit 667938
Packit 667938
 \contrib\*    to  SYS:/Mrtg/contrib/         Include sub-directories
Packit 667938
 \doc\*        to  SYS:/Mrtg/doc/             All files
Packit 667938
 \images\*     to  SYS:/Mrtg/html/images/     All files
Packit 667938
 \translate\*  to  SYS:/Mrtg/translate/       All files. See Note 2.
Packit 667938
Packit 667938
Note 2: For English-only language support, all \translate files EXCEPT Locales_mrtg may be deleted.
Packit 667938
 
Packit 667938
 \lib\*        to  SYS:/Mrtg/lib              Include sub-directories. See Note 3.
Packit 667938
Packit 667938
Note 3: This will create the SYS:/Mrtg/lib/mrtg2 and ./pod directories.
Packit 667938
Packit 667938
=item 4.
Packit 667938
Packit 667938
Create copies of the three .ncf files and install them:
Packit 667938
Packit 667938
 *.ncf         to  SYS:/Mrtg/bin
Packit 667938
Packit 667938
See NetWare Support in this document for details on how to create copies of these files.
Packit 667938
Packit 667938
=item 5.
Packit 667938
Packit 667938
See Compiling Rateup.nlm"> in this document for details on compiling the Rateup NLM yourself if desired.
Packit 667938
A prebuit verion is available in the .\mrtg\bin directory where it must remain.
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
=head1 CONFIGURING MRTG
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Refer to Novell documentation on configuring and loading SNMP support on your server if this is the device to
Packit 667938
be monitored.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Edit sys:/mrtg/bin/MakeMrtgCfg.ncf:
Packit 667938
Packit 667938
replace ccccc with the GET community name for the SNMP device (typically 'public'),
Packit 667938
Packit 667938
replace ddddd with the DNS name or IP address of the device to be monitored.  e.g    public@www.myserver.com, public@10.202.65.180
Packit 667938
Packit 667938
Note 1: These are NOT mail addresses, they just look like one!
Packit 667938
Packit 667938
Note 2: If multiple devices are to be monitored, add their entries to the same line:
Packit 667938
Packit 667938
e.g  perl cfgmaker.pl public@www.myserver.com public@10.202.65.180 > sys:/mrtg/bin/mrtg.cfg
Packit 667938
Packit 667938
In this "Getting Started", it is 'suggested' to only monitor a single device.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
At the server console, run:
Packit 667938
Packit 667938
 sys:/mrtg/bin/MakeMrtgCfg.ncf
Packit 667938
Packit 667938
This will create Mrtg.cfg in sys:/mrtg/bin.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Edit the Mrtg.cfg configuration file created in the previous step. Note the following:
Packit 667938
Packit 667938
It was found, when testing MRTG on a NetWare 6.5 server using a NIC Interface, that mrtg.cfg contained
Packit 667938
the following message:
Packit 667938
Packit 667938
 ### Interface 1 >> Descr: 'Intel(R)-8255x-based-Network-Connection'...
Packit 667938
 ### The following interface is commented out because:
Packit 667938
 ### * has a speed of 0 which makes no sense
Packit 667938
 # 
Packit 667938
 ...
Packit 667938
Packit 667938
If this occurs, edit MakeMrtgCfg.ncf and add the following parameter as shown:
Packit 667938
Packit 667938
 perl sys:\mrtg\bin\cfgmaker.pl --zero-speed=nnn public@10.202.65.180 > sys:\mrtg\bin\Mrtg.cfg
Packit 667938
Packit 667938
where B<nnn> is the interface speed in bits per second. For a 100 Megabit LAN NIC, nnn = 10000000. It will be
Packit 667938
necessary to re-execute the MakeMrtgCfg.ncf script before continuing with this section.
Packit 667938
Packit 667938
Below line 16 (*** Global Defaults), add:
Packit 667938
Packit 667938
 HtmlDir:    e.g  HtmlDir:  sys:/mrtg/html
Packit 667938
 ImageDir:   e.g  ImageDir: sys:/mrtg/html/work
Packit 667938
 LogDir:     e.g  LogDir:   sys:/mrtg/logs
Packit 667938
 IconDir:    e.g  IconDir:  ./images
Packit 667938
Packit 667938
Note 1. The HtmlDir entry specifies where MRTG will create its HTML pages.
Packit 667938
Packit 667938
Note 2. The ImageDir entry specifies where the created graphic icons are placed.
Packit 667938
Packit 667938
Note 3. The IconDir entry specifies where the supplied MRTG icons are located.
Packit 667938
It MUST be a relative path from HtmlDir or absolute URL. The value shown
Packit 667938
is recommended.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
At the server console run:
Packit 667938
Packit 667938
 sys:/mrtg/bin/RunMrtg.ncf
Packit 667938
Packit 667938
several times. By the third time it should run without showing error messages on the console screen.
Packit 667938
Packit 667938
This should create.
Packit 667938
Packit 667938
- A HTML page in the (HtmlDir) directory for each monitored device,
Packit 667938
Packit 667938
- A .dat file in the (ImageDir) directory for each monitored device,
Packit 667938
Packit 667938
- Several .png icons in the (ImageDir) directory,
Packit 667938
Packit 667938
- Some log file entries in the (LogDir) directory.
Packit 667938
Packit 667938
Note: If you experience a "Use of uninitialised value in split" error, it will be necessary to
Packit 667938
create a 'Path' environment variable at the server console; use the following example
Packit 667938
Packit 667938
 env path="SYS:\"  (The actual value is immaterial, as long as the var itself exists.)
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Edit sys:/mrtg/bin/MakeMrtgIndex.ncf. Change the indicated E<lt>pathE<gt> shown in the following example to
Packit 667938
match the value entered for (HtmlDir).
Packit 667938
Packit 667938
 perl --noscreen sys:/mrtg/bin/indexmaker.pl sys:/mrtg/bin/Mrtg.cfg > <path>/index.html
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Create an index.html page linking the seperate device HTML page(s). At the server console, run:
Packit 667938
Packit 667938
 sys:/mrtg/bin/MakeMrtgIndex.ncf
Packit 667938
Packit 667938
This will create index.html in the (HtmlDir) directory.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Optionally, configure a Web Server to permit access to the directory specified in (HtmlDir) to view the MRTG
Packit 667938
graphs remotely, at, for example:
Packit 667938
Packit 667938
 http://ip_or_dns/mrtg/index.html
Packit 667938
Packit 667938
A sample configuration for an Apache Webserver is shown:
Packit 667938
Packit 667938
 Alias /mrtg/ "SYS:/mrtg/html/"
Packit 667938
 <Directory "SYS:/mrtg/html">
Packit 667938
             AllowOverride None
Packit 667938
             Order allow,deny
Packit 667938
             Allow from all
Packit 667938
 </Directory>
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Set the property of the directory pointed to by (ImageDir), to 'Purge Immediate'.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Finally, read the MRTG documentation for much more detailed configuration/usage information.
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
Welcome to MRTG!!
Packit 667938
Packit 667938
=head1 MAKE MRTG RUN ALL THE TIME
Packit 667938
Packit 667938
MRTG can be made to run periodically by at least two means:
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Using CRON Scheduling
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Running MRTG in Daemon Mode
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
=head2 CRON Scheduling
Packit 667938
Packit 667938
To use CRON scheduling, create a CRON Scheduler entry to execute the RunMrtg.ncf file on a frequency appropriate for
Packit 667938
the server environment and information desired. The following entry in the sys:\etc\crontab file will execute MRTG
Packit 667938
every five minutes:
Packit 667938
Packit 667938
 0,5,10,15,20,25,30,35,40,45,50,55 * * * * sys:\mrtg\bin\runmrtg.ncf
Packit 667938
Packit 667938
The CRON Scheduler (cron.nlm) can be started automatically by adding it in AUTOEXEC.ncf or, manually loading it at
Packit 667938
the server console.
Packit 667938
Packit 667938
=head2 MRTG in Daemon Mode
Packit 667938
Packit 667938
Refer to the MRTG-Reference document for information about the 'RunAsDaemon' option. Its use is outside the scope
Packit 667938
of this document.
Packit 667938
Packit 667938
=head1 TROUBLESHOOTING
Packit 667938
Packit 667938
Read the MRTG documents, Perl documents or, finally, submit questions to the MRTG User forums.
Packit 667938
Packit 667938
For NetWare specific issues, submit questions to the Perl forum at 
Packit 667938
news://developer-forums.novell.com/novell.devsup.perl (Novell Developer Forums).
Packit 667938
Packit 667938
=head1 COMPILING RATEUP.NLM
Packit 667938
Packit 667938
In addition to the rateup.c and Makefile.Netware supplied with the MRTG release, you will also need:
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Metrowerks CodeWarrior with NetWare Support OR GCC Compiler (v3.0.3 or later) with NlmConv Utility
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Novell LibC NDK (February 2004 or later)
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
GD Graphics Library (v2.0.33 or later)
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
LibPNG Graphics Library (v1.2.8 or later)
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
ZLib Library (v1.2.3 or later)
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
The get_ver.awk script
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
A copy of the GNU build tools.    (See http://sourceforge.net/projects/gnuwin32/)
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
The auxiliary libraries can be obtained from:
Packit 667938
Packit 667938
GD Graphics Library.   (See http://www.boutell.com/gd/ )
Packit 667938
Packit 667938
PNG Graphics Library.   (See http://libpng.sourceforge.net/ )
Packit 667938
Packit 667938
zLib Compression Library.   (See http://www.gzip.org/zlib/ )
Packit 667938
Packit 667938
Edit the Makefile.Netware file as required to match your installation paths; search
Packit 667938
the file for the key word 'Edit'.
Packit 667938
Packit 667938
=head1 NETWARE SUPPORT
Packit 667938
Packit 667938
For copies of the NCF and get_ver.awk scripts, see Appendix.
Packit 667938
Packit 667938
For NetWare specific issues, submit questions to the Perl forum at 
Packit 667938
news://developer-forums.novell.com/novell.devsup.perl (Novell Developer Forums).
Packit 667938
Packit 667938
To move the MRTG application to a volume other than SYS: you will need to edit the NCF
Packit 667938
scripts provided plus the MRTG[.pl] script itself in two places.
Packit 667938
Packit 667938
=head1 NEW RATEUP SWITCH
Packit 667938
Packit 667938
The MRTG[.pl] script, when used on a NetWare platform, uses Rateup[.nlm] with the new
Packit 667938
commandline switch:
Packit 667938
Packit 667938
     RATEUP -f filename
Packit 667938
Packit 667938
where the filename parameter can include a leading path element.
Packit 667938
Packit 667938
The file format is exactly the same as that used on the commandline by other operating
Packit 667938
systems, including the leading path and name of the Rateup NLM.
Packit 667938
Packit 667938
=head1 APPENDIX
Packit 667938
Packit 667938
The Appendix includes 'copies' of the following files:
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
The NCF files used during MRTG configuration,
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
To create copies of these files, simply 'cut and paste' into your favourite 'B<text editor>' and save
Packit 667938
under their respective names. You should remove the leading space from each line.
Packit 667938
Packit 667938
=head3  MakeMrtgCfg.NCF
Packit 667938
Packit 667938
 # MakeMrtgCfg.NCF
Packit 667938
 # Purpose : Create the MRTG Configuration File
Packit 667938
 # Changed :  5/05/2005  New
Packit 667938
 # Located : SYS:MRTG\BIN
Packit 667938
 # Set For : 
Packit 667938
 # Params  : 
Packit 667938
Packit 667938
 # Edit this file and:
Packit 667938
Packit 667938
 # Replace ccccc with your device GET SNMP Community Name - If unsure try 'public'.
Packit 667938
 # Replace ddddd with your device IP (n.n.n.n) or domain name.
Packit 667938
Packit 667938
 perl --noscreen sys:\mrtg\bin\cfgmaker.pl ccccc@ddddd > sys:\mrtg\bin\Mrtg.cfg
Packit 667938
Packit 667938
 #
Packit 667938
 # End of MakeMrtgCfg.NCF
Packit 667938
Packit 667938
=head3  RunMrtg.NCF
Packit 667938
Packit 667938
 # RunMrtg.NCF
Packit 667938
 # Purpose : Run the MRTG Application
Packit 667938
 # Changed :  5/05/2005  New
Packit 667938
 # Located : SYS:MRTG\BIN
Packit 667938
 # Set For : 
Packit 667938
 # Params  : 
Packit 667938
Packit 667938
 # The paths are as per the examples recommended in "Getting Started".
Packit 667938
Packit 667938
 perl --noscreen sys:\mrtg\bin\mrtg.pl sys:\mrtg\bin\mrtg.cfg
Packit 667938
Packit 667938
 #
Packit 667938
 # End of RunMrtg.NCF
Packit 667938
Packit 667938
=head3  MakeMrtgIndex.NCF
Packit 667938
Packit 667938
 # MakeMrtgIndex.NCF
Packit 667938
 # Purpose : Create the HTML Index File for MRTG HTML data pages
Packit 667938
 # Changed :  5/05/2005  New
Packit 667938
 # Located : SYS:MRTG\BIN
Packit 667938
 # Set For : 
Packit 667938
 # Params  : 
Packit 667938
Packit 667938
 # Note: Edit this file and change the redirected output to the location
Packit 667938
 #       specified for HtmlDir or WorkDir. The sys:\apache2\htdocs\mrtg\index.html
Packit 667938
 #       is based on the examples in "Getting Started".
Packit 667938
Packit 667938
 perl --noscreen sys:\mrtg\bin\indexmaker.pl sys:\mrtg\bin\Mrtg.cfg > sys:\mrtg\html\index.html
Packit 667938
Packit 667938
 #
Packit 667938
 # End of MakeMrtgIndex.NCF
Packit 667938
Packit 667938
=head1 LICENSE
Packit 667938
Packit 667938
GNU General Public License
Packit 667938
Packit 667938
=head1 CREDITS
Packit 667938
Packit 667938
The MRTG for NetWare exists largely through the efforts of Guenter Knauf and feedback from beta testers.
Packit 667938
Packit 667938
=head1 AUTHOR
Packit 667938
Packit 667938
Norm W..
Packit 667938
Packit 667938
=cut