Blame doc/mrtg-nt-guide.pod

Packit 667938
=head1 NAME
Packit 667938
Packit 667938
mrtg-nt-guide - The MRTG 2.17.7 Windows Installation Guide
Packit 667938
Packit 667938
=head1 SYNOPSIS
Packit 667938
Packit 667938
Installing MRTG on a Windows box is not quite as "click and point" as some
Packit 667938
might want it to be. But then again, it is not all that difficult if you
Packit 667938
follow the instructions below.
Packit 667938
Packit 667938
=head1 PREREQUISITES
Packit 667938
Packit 667938
To get MRTG to work on Windows you need the following:
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
A current copy of Perl.
Packit 667938
For Example ActivePerl 5.8.8 from ActiveState
Packit 667938
http://www.activestate.com/store/activeperl/download/
Packit 667938
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
The latest version of MRTG from http://oss.oetiker.ch/mrtg/pub. Look for
Packit 667938
mrtg-2.17.7.zip or better. The archive also contains a precompiled copy of
Packit 667938
rateup.exe for Win32.
Packit 667938
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
=head1 INSTALLING
Packit 667938
Packit 667938
I suggest you do the following from the machine that will be running MRTG,
Packit 667938
which, in this case, is also a web server. All examples are for doing things
Packit 667938
to a LOCAL machine.
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item First
Packit 667938
Packit 667938
Unzip MRTG to C:\mrtg-2.17.7 on the Windows machine of your choice.
Packit 667938
Packit 667938
=item Next
Packit 667938
Packit 667938
Install Perl on the same Windows machine. You might want to make sure
Packit 667938
that the Perl binary directory is listed in your system path.
Packit 667938
Packit 667938
 C:\Perl\bin;%SystemRoot%\system32;%SystemRoot%;...
Packit 667938
Packit 667938
You can manually check this by going to [Control Panel]->[System]->[Environment]
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
To see if everything is installed properly you can open a Command Shell
Packit 667938
and go into F<c:\mrtg-2.17.7\bin>. Type:
Packit 667938
Packit 667938
 perl mrtg
Packit 667938
Packit 667938
This should give you a friendly error message complaining about the missing MRTG
Packit 667938
configuration file. Now, you have successfully installed MRTG and Perl.
Packit 667938
Packit 667938
=head1 CONFIGURING MRTG
Packit 667938
Packit 667938
Now it is time to create a configuration for MRTG. But before we begin you need to know a few things. Take an
Packit 667938
opportunity to gather the following information:
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
The IP address or hostname and the SNMP port number, (if non standard), of the device you want to monitor.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
If you want to monitor something other than bytes in and out, you must also know the SNMPOID of what you
Packit 667938
want to monitor.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Finally you need to know the read-only SNMP community string
Packit 667938
for your device. If you don't know it, try B<public>, that is the default.
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
For the rest of this document we will be using device B<10.10.10.1> ( a CISCO
Packit 667938
Catalyst 5000) with Community string B<public>. We are interested in monitoring
Packit 667938
traffic, and the CPU load. Let's begin.
Packit 667938
Packit 667938
The first thing we do in setting up MRTG is making a default config file.
Packit 667938
Get to a cmd prompt and change to the F<c:\mrtg-2.17.7\bin> directory. Type the
Packit 667938
following command:
Packit 667938
Packit 667938
 perl cfgmaker public@10.10.10.1 --global "WorkDir: c:\www\mrtg" --output mrtg.cfg
Packit 667938
Packit 667938
This creates an initial MRTG config file for you. Note that in this file all interfaces
Packit 667938
of your router will be stored by number. Unfortunately, these numbers are likely to change whenever you
Packit 667938
reconfigure your router. In order to work around this you can get F<cfgmaker> to produce a configuration
Packit 667938
which is based on Ip numbers, or even Interface Descriptions. Check L<cfgmaker>
Packit 667938
Packit 667938
If you get an error message complaining about B<no such name> or B
Packit 667938
response>, your community name is probably wrong.
Packit 667938
Packit 667938
Now, let's take a look at the mrtg.cfg file that was created.
Packit 667938
Packit 667938
In Perl, a C<#> is a comment, synonymous with C<REM> in DOS.
Packit 667938
Packit 667938
Add the following to the top of the mrtg.cfg file:
Packit 667938
Packit 667938
 WorkDir: c:\www\mrtg
Packit 667938
Packit 667938
This is where the web pages are created, usually a web root.
Packit 667938
Packit 667938
 ######################################################################
Packit 667938
 # Description: LCP SUWGB
Packit 667938
 # Contact: Administrator
Packit 667938
 # System Name: LC-Bridge
Packit 667938
 # Location: Here
Packit 667938
 #.....................................................................
Packit 667938
Packit 667938
TargetDevice's IP Address:Interface Number:Community:IP Address
Packit 667938
Packit 667938
 Target[10.10.10.1.1]: 1:public@10.10.10.1
Packit 667938
Packit 667938
This is the interface speed (Default is 10 megabits; for 100Mbit devices use 12500000 and so on...)
Packit 667938
Packit 667938
 MaxBytes[10.10.10.1.1]: 1250000
Packit 667938
Packit 667938
 Title[10.10.10.1.1]: LC-Bridge (sample.device): ether0
Packit 667938
Packit 667938
This section determines how the web page headers will look
Packit 667938
Packit 667938
 PageTop[10.10.10.1.1]: 

Traffic Analysis for ether0

Packit 667938
  
Packit 667938
  System:LC-Bridge inAndover
Packit 667938
  Maintainer:Administrator
Packit 667938
  Interface:ether0(1)
Packit 667938
  IP:sample.device(10.10.10.1)
Packit 667938
  Max Speed:
Packit 667938
  1250.0 kBytes/s (ethernetCsmacd)
Packit 667938
  
Packit 667938
Packit 667938
  Target[10.10.10.1.2]: 2:public@10.10.10.1
Packit 667938
  MaxBytes[10.10.10.1.2]: 1250000
Packit 667938
  Title[10.10.10.1.2]: LC-Bridge (): ulink0
Packit 667938
  PageTop[10.10.10.1.2]: 

Traffic Analysis for ulink0

Packit 667938
   
Packit 667938
   System:LC-Bridge inAndover
Packit 667938
   Maintainer:Administrator
Packit 667938
   Interface:ulink0(2)
Packit 667938
   IP:()
Packit 667938
   Max Speed:
Packit 667938
   1250.0 kBytes/s (ethernetCsmacd)
Packit 667938
   
Packit 667938
Packit 667938
  #---------------------------------------------------------------
Packit 667938
Packit 667938
And that's a very basic MRTG config file. You can run this and see your
Packit 667938
results by going into the F<c:\mrtg-2.17.7\bin> directory and typing:
Packit 667938
Packit 667938
 perl mrtg mrtg.cfg
Packit 667938
Packit 667938
It is normal to get errors for the first two times you run this command. The
Packit 667938
errors will alert you about the fact that there have not been any log files
Packit 667938
in existence before.
Packit 667938
Packit 667938
Packit 667938
If you take a look at those web pages they are not very exciting (yet). You need
Packit 667938
to have the MRTG files run every five minutes to produce the desired results.
Packit 667938
Just run it again after a few minutes. You should now be able to see the first
Packit 667938
lines in your graphs.
Packit 667938
Packit 667938
=head1 MAKE MRTG RUN ALL THE TIME
Packit 667938
Packit 667938
Starting MRTG by hand every time you want to run it is not going to make you
Packit 667938
happy I guess.
Packit 667938
Packit 667938
There is a special option you can set in the MRTG configuration file so
Packit 667938
so that MRTG will not terminate after it was started. Instead it
Packit 667938
will wait for 5 minutes and then run again.
Packit 667938
Packit 667938
Add the option
Packit 667938
Packit 667938
 RunAsDaemon: yes
Packit 667938
Packit 667938
to your mrtg.cfg file and start it with:
Packit 667938
Packit 667938
 start /Dc:\mrtg-2.17.7\bin wperl mrtg --logging=eventlog mrtg.cfg
Packit 667938
Packit 667938
If you use B<wperl> instead of B<perl>, no console window will show. MRTG is now
Packit 667938
running in the background. If it runs into problems it will tell you so
Packit 667938
over the EventLog. To stop MRTG, open the Task Manager and terminate the
Packit 667938
B<wperl.exe> process. If mrtg has anything to tell you these messages
Packit 667938
can be found in the event log.
Packit 667938
Packit 667938
If you put a shortcut with
Packit 667938
Packit 667938
 Target:    wperl mrtg --logging=eventlog mrtg.cfg
Packit 667938
 Start in:  c:\mrtg-2.17.7\bin
Packit 667938
Packit 667938
into your start-up folder, MRTG will now start whenever you login to your NT
Packit 667938
box.
Packit 667938
Packit 667938
If you do not want to log into your box just to start MRTG. Have a look
Packit 667938
at http://www.firedaemon.com/mrtg-howto.html which describes a free tool to
Packit 667938
start any program as a Service. The pages gives specific instructions for
Packit 667938
MRTG users.
Packit 667938
Packit 667938
=head1 HOW TO SETUP MRTG AS A WINDOWS SERVICE
Packit 667938
Packit 667938
=head2 Additional Prerequisites
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
MRTG must be installed and fully configured on the target system.  In the
Packit 667938
following exercise the assumption is that MRTG is installed under c:\mrtg\
Packit 667938
and all the sample files use this location.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Microsoft Tools B<SRVANY.exe> (Applications as Services Utility) and
Packit 667938
B<INSTSRV.exe> (Service Installer) - Those files can be downloaded from
Packit 667938
Microsoft as a part of Windows 2000 Resource Kit at
Packit 667938
L<http://www.microsoft.com/windows2000/techinfo/reskit/tools/default.asp>. 
Packit 667938
They are also available from other locations such as
Packit 667938
L<http://www.electrasoft.com/srvany/srvany.htm>,
Packit 667938
L<http://www.iopus.com/guides/srvany.htm>, etc.  Detailed instructions on how
Packit 667938
to use this package are available at
Packit 667938
L<http://support.microsoft.com/kb/q137890/>.  In order to follow the steps in
Packit 667938
this HOW-TO you B<MUST> obtain both executables.
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
You must have administrative rights on the target system.
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
=head2 Preparation
Packit 667938
Packit 667938
Please complete the following steps before starting the installation:
Packit 667938
Packit 667938
=over
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Copy B<srvany.exe> and B<instsrv.exe> to c:\mrtg-2.17.7\bin\ (your MRTG bin directory).
Packit 667938
Packit 667938
=item *
Packit 667938
Packit 667938
Create a file called B<mrtg.reg> anywhere on your system and paste the
Packit 667938
following content into it:
Packit 667938
Packit 667938
 Windows Registry Editor Version 5.00
Packit 667938
Packit 667938
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG\Parameters]
Packit 667938
 "Application"="c:\\perl\\bin\\wperl.exe"
Packit 667938
 "AppParameters"="c:\\mrtg-2.17.7\\bin\\mrtg --logging=eventlog c:\\mrtg-2.17.7\\bin\\mrtg.cfg"
Packit 667938
 "AppDirectory"="c:\\mrtg-2.17.7\\bin\\"
Packit 667938
Packit 667938
=back
Packit 667938
Packit 667938
=head2 Service Installation
Packit 667938
Packit 667938
Once again, assuming that MRTG is already fully installed and configured on
Packit 667938
the target system under c:\mrtg\ the following steps are necessary to setup
Packit 667938
MRTG as a service.
Packit 667938
Packit 667938
Using the command prompt go into the temporary directory where you unzipped
Packit 667938
the package.  When there type the following command to create a service
Packit 667938
named "MRTG" in the Windows Services management console:
Packit 667938
 
Packit 667938
 instsrv MRTG c:\mrtg\bin\srvany.exe
Packit 667938
Packit 667938
Now you need to create the B<App*> entries required for the new service.  You
Packit 667938
can do this by either right-clicking on the mrtg.reg file and selecting
Packit 667938
'merge' or by running the following command:
Packit 667938
Packit 667938
 regedit /s mrtg.reg
Packit 667938
Packit 667938
After setting up the registry entry it is time to point it to your MRTG
Packit 667938
installation.  If you have installed MRTG under F<c:\mrtg\>, you can skip this
Packit 667938
step.  Open your registry editor (Start -E<gt> Run -E<gt> regedt32), and locate the
Packit 667938
B<[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG]> key.  Make
Packit 667938
sure that the B<ImagePath> variable is correctly pointing to B<srvany.exe>
Packit 667938
located in your MRTG bin directory (for example c:\mrtg\bin\srvany.exe). 
Packit 667938
Next you have to expand the MRTG tree, and go to the
Packit 667938
B<[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG\Parameters]>
Packit 667938
key.  Under Parameters make sure that all the  B<Application> variables are
Packit 667938
setup properly.
Packit 667938
Packit 667938
At this point you are ready to run the service.  The only thing left to do
Packit 667938
is to start the MRTG service in the Services management console.  After you
Packit 667938
do this, you should see two new processes running on your system: srvany.exe
Packit 667938
and wperl.exe.  Make sure to stop any previously running MRTG processes to
Packit 667938
avoid conflict.
Packit 667938
Packit 667938
Note that it is imperative to set the B<RunAsDaemon: yes> option or the
Packit 667938
service will stop after just one single run!
Packit 667938
Packit 667938
=head1 EXAMPLE
Packit 667938
Packit 667938
Now lets look at a config file to monitor what we wanted to on our mythical
Packit 667938
Cisco Cat 5000 -- utilization on ports 3, 5, 10, and 24, and the CPU Load,
Packit 667938
which will show us nonstandard mrtg configurations as well as more options..
Packit 667938
Packit 667938
 WorkDir: c:\www\mrtg
Packit 667938
 RunAsDaemon: yes
Packit 667938
Packit 667938
 ######################################################################
Packit 667938
 # Description: LCP SUWGB
Packit 667938
 # Contact: Administrator
Packit 667938
 # System Name: LC-Bridge
Packit 667938
 # Location: Here
Packit 667938
 #.....................................................................
Packit 667938
Packit 667938
 Target[10.10.10.1.1]: 3:public@10.10.10.1
Packit 667938
 MaxBytes[10.10.10.1.1]: 1250000
Packit 667938
 Title[10.10.10.1.1]: LC-Bridge (sample-device): ether0
Packit 667938
 PageTop[10.10.10.1.1]: 

Traffic Analysis for ether0

Packit 667938
  
Packit 667938
 System:LC-Bridge inAndover
Packit 667938
 Maintainer:Administrator
Packit 667938
 Interface:ether0(3)
Packit 667938
 IP:sample-device(10.10.10.1)
Packit 667938
 Max Speed:
Packit 667938
 1250.0 kBytes/s (ethernetCsmacd)
Packit 667938
 
Packit 667938
Packit 667938
 #---------------------------------------------------------------
Packit 667938
Packit 667938
 Target[10.10.10.1.2]: 5:public@10.10.10.1
Packit 667938
 MaxBytes[10.10.10.1.2]: 1250000
Packit 667938
 Title[10.10.10.1.2]: LC-Bridge (): ulink0
Packit 667938
 PageTop[10.10.10.1.2]: 

Traffic Analysis for ulink0

Packit 667938
  
Packit 667938
  System:LC-Bridge inAndover
Packit 667938
  Maintainer:Administrator
Packit 667938
  Interface:ulink0(5)
Packit 667938
  IP:()
Packit 667938
  Max Speed:
Packit 667938
  1250.0 kBytes/s (ethernetCsmacd)
Packit 667938
  
Packit 667938
Packit 667938
 #---------------------------------------------------------------
Packit 667938
Packit 667938
 Target[10.10.10.1.1]: 10:public@10.10.10.1
Packit 667938
 MaxBytes[10.10.10.1.1]: 1250000
Packit 667938
 Title[10.10.10.1.1]: LC-Bridge (sample-device): ether0
Packit 667938
 PageTop[10.10.10.1.1]: 

Traffic Analysis for ether0

Packit 667938
  
Packit 667938
  System:LC-Bridge inAndover
Packit 667938
  Maintainer:Administrator
Packit 667938
  Interface:ether0(10)
Packit 667938
  IP:sample-device(10.10.10.1)
Packit 667938
  Max Speed:
Packit 667938
  1250.0 kBytes/s (ethernetCsmacd)
Packit 667938
  
Packit 667938
Packit 667938
 #---------------------------------------------------------------
Packit 667938
Packit 667938
 Target[10.10.10.1.2]: 24:public@10.10.10.1
Packit 667938
 MaxBytes[10.10.10.1.2]: 1250000
Packit 667938
 Title[10.10.10.1.2]: LC-Bridge (): ulink0
Packit 667938
 PageTop[10.10.10.1.2]: 

Traffic Analysis for ulink0

Packit 667938
  
Packit 667938
  System:LC-Bridge inAndover
Packit 667938
  Maintainer:Administrator
Packit 667938
  Interface:ulink0(24)
Packit 667938
  IP:()
Packit 667938
  Max Speed:
Packit 667938
  1250.0 kBytes/s (ethernetCsmacd)
Packit 667938
  
Packit 667938
Packit 667938
 #---------------------------------------------------------------
Packit 667938
Packit 667938
 # Router CPU load %
Packit 667938
 Target[cpu.1]:1.3.6.1.4.1.9.2.1.58.0&1.3.6.1.4.1.9.2.1.58.0:public@10.10.10.1
Packit 667938
 RouterUptime[cpu.1]: public@10.10.10.1
Packit 667938
 MaxBytes[cpu.1]: 100
Packit 667938
 Title[cpu.1]: CPU LOAD
Packit 667938
 PageTop[cpu.1]: 

CPU Load %

Packit 667938
 Unscaled[cpu.1]: ymwd
Packit 667938
 ShortLegend[cpu.1]: %
Packit 667938
 XSize[cpu.1]: 380
Packit 667938
 YSize[cpu.1]: 100
Packit 667938
 YLegend[cpu.1]: CPU Utilization
Packit 667938
 Legend1[cpu.1]: CPU Utilization in % (Load)
Packit 667938
 Legend2[cpu.1]: CPU Utilization in % (Load)
Packit 667938
 Legend3[cpu.1]:
Packit 667938
 Legend4[cpu.1]:
Packit 667938
 LegendI[cpu.1]:
Packit 667938
 LegendO[cpu.1]:  Usage
Packit 667938
 Options[cpu.1]: gauge
Packit 667938
Packit 667938
This is a nice example of how to monitor any SNMP device if you know what OID
Packit 667938
you want to use. Once again, for an explanation of the more advance features of
Packit 667938
mrtg, please see the rest of the documentation.
Packit 667938
Packit 667938
=head1 AUTHORS
Packit 667938
Packit 667938
Tobi Oetiker E<lt>tobi@oetiker.chE<gt>,
Packit 667938
David S. Divins E<lt>ddivins@moon.jic.comE<gt>,
Packit 667938
Steve Pierce E<lt>MRTG@HDL.comE<gt>,
Packit 667938
Artyom Adjemov E<lt>one.bofh@gmail.comE<gt>,
Packit 667938
Ilja Ivanov E<lt>ivanov@bseu.byE<gt>
Packit 667938
Karel Fajkus E<lt>http://fajkus.cz/E<gt>
Packit 667938
Packit 667938