* [1]Multi Router Traffic Grapher - Configuration File Format
* [2]Global Configuration
* [3]Optional Global Parameters
+ [4]Refresh
+ [5]Interval
+ [6]WriteExpires
+ [7]IconDir
+ [8]LoadMIBs
+ [9]Language
+ [10]UseRRDTool
+ [11]RunAsDaemon
* [12]Configuration for each Target you want to monitor
+ [13]Target
+ [14]RouterUptime
+ [15]MaxBytes
+ [16]MaxBytes1
+ [17]MaxBytes2
+ [18]Title
+ [19]PageTop
* [20]Optional Target Configuration Tags
+ [21]AddHead
+ [22]AbsMax
+ [23]Unscaled
+ [24]WithPeak
+ [25]Suppress
+ [26]Directory
+ [27]XSize and YSize
+ [28]XZoom and YZoom
+ [29]XScale and YScale
+ [30]YTics and YTicsFactor
+ [31]Step
+ [32]Options
+ [33]kilo
+ [34]kMG
+ [35]Colours
+ [36]Background
+ [37]YLegend, ShortLegend, Legend[1234]
+ [38]Timezone
+ [39]Weekformat
* [40]Threshold Checking
+ [41]ThreshDir (GLOBAL)
+ [42]ThreshMinI (PER TARGET)
+ [43]ThreshMaxI (PER TARGET)
+ [44]ThreshDesc (PER TARGET)
+ [45]ThreshProgI (PER TARGET)
+ [46]ThreshProgOKI (PER TARGET)
+ [47]ThreshMinO, ThreshMaxO, ThreshProgO, and ThreshProgOKO
* [48]Two very special Target names
* [49]And one more very special Target name
* [50]NoSpaceChar
* [51]Some example mrtg.cfg files
+ [52]Minimal mrtg.cfg
+ [53]Cfg for several Routers.
_________________________________________________________________
[INLINE]
_________________________________________________________________
Multi Router Traffic Grapher -- Configuration File Format
This file is for use with MRTG 2.8.12
Note:
* Keywords must start at the beginning of a line.
* Lines which follow a keyword line which do start with a blank are
appended to the keyword line
* Empty Lines are ignored
* Lines starting with a # sign are comments.
_________________________________________________________________
Global Configuration
Workdir specifies where the logfiles and the webpages should be
created.
Example:
WorkDir: /usr/tardis/pub/www/stats/mrtg
_________________________________________________________________
Optional Global Parameters
_________________________________________________________________
Refresh
How many seconds apart should the browser (Netscape) be instructed to
reload the page? If this is not defined, the default is 300 seconds (5
minutes).
Example:
Refresh: 600
_________________________________________________________________
Interval
How often do you call mrtg? The default is 5 minutes. If you call it
less often, you should specify it here. This does two things:
* the generated HTML page does contain the right information about
the calling interval ...
* a META header in the generated HTML page will instruct caches
about the time to live of this page .....
In this example we tell mrtg that we will be calling it every 10
minutes. If you are calling mrtg every 5 minutes, you can leave this
line commented out.
Example:
Interval: 10
_________________________________________________________________
WriteExpires
With this switch mrtg will generate .meta files for CERN and Apache
servers which contain Expiration tags for the html and gif files. The
*.meta files will be created in the same directory as the other files,
so you will have to set ``MetaDir .'' and ``MetaFiles on'' in your
apache.conf or .htaccess file for this to work
NOTE: If you are running Apache-1.2 or later, you can use the
mod_expire to achieve the same effect ... see the file htaccess.txt
Example:
WriteExpires: Yes
_________________________________________________________________
IconDir
If you want to keep the mrtg icons in some place other than the
working directory, use the IconDir variable to give its url.
Example:
IconDir: /mrtgicons/
_________________________________________________________________
LoadMIBs
Load the MIB file(s) specified and make its OIDs available as symbolic
names. For better efficiancy, a cache of MIBs is maintained in the
WorkDir.
Example:
LoadMIBs: /dept/net/mibs/netapp.mib,/usr/local/lib/ft100m.mib
_________________________________________________________________
Language
Switch output format to the selected Language (At the moment, the
values: danish, french, english, dutch, brazilian, russian, spanish,
greek and italian are supported)
Example:
Language: danish
_________________________________________________________________
UseRRDTool
Setting UseRRDTool to Yes in your mrtg.cfg file enables rrdtool mode.
In rrdtool mode, mrtg relies on rrdtool to do its logging. Graphs and
html pages will be generated on the fly by the 14all.cgi which can be
found in the contrib section together with a short readme ... This
feature has been contributed by
[54]Rainer.Bawidamann@informatik.uni-ulm.de. Please check his website
for more information: [55]http://www.uni-ulm.de/~rbawidam/mrtg-rrd/
Example:
UseRRDTool: Yes
_________________________________________________________________
RunAsDaemon
The RunAsDaemon keyword enables daemon mode operation. The purpose of
daemon mode is that MRTG is launched once and not at regular basis by
cron as in native mode. This behavior saves computing resourses as
loading and parsing of configuration files only hapens once.
Using daemon mode MRTG itself is responible for timing the measurement
intervals. Therfore its important to set the Interval keyword to an
apropiate value.
Note that using daemon mode MRTG should no longer be started from cron
by regular basis as each started process runs forever. Instead MRTG
should be started from the command prompt or by a system startup
script.
Also note that in daemon mode restart of the process is required in
order to activate changes in the config file.
Under UNIX, the Daemon switch causes mrtg to fork into background
after checking its config file.
Example
RunAsDaemon:Yes
Interval:5
Makes MRTG run as a daemon beginning data collection every 5 minutes
_________________________________________________________________
Configuration for each Target you want to monitor
The configuration keywords Target must be followed by a unique name.
This will also be the name used for the webpages, logfiles and gifs
created for that target.
Note that the Target sections can be auto-generated with the cfgmaker
tool. Check readme.html for instructions.
_________________________________________________________________
Target
With the Target keyword you tell mrtg what it should monitor. The
Target keyword takes arguments in a wide range of formats:
* The most basic format is ``port:community@router'' This will
generate a traffic graph for the interface 'port' of the host
'router' (dns name or IP address) and it will use the community
'community' (snmp password) for the snmp query.
Example:
Target[ezwf]: 2:public@wellfleet-fddi.ethz.ch
* Sometimes you are sitting on the wrong side of the link, and you
would like to have mrtg report Incoming traffic as outgoing and
vice versa. This can be achieved by adding the '-' sign in front
of the ``Target'' description. It flips the incoming and outgoing
traffic rates.
Example:
Target[ezci]: -1:public@ezci-ether.ethz.ch
* You can also explicitly define the OID to query by using the
following syntax 'OID_1&OID_2:community@router' The following
example will retrieve error counts for input and output on
interface 1. MRTG needs to graph two variables, so you need to
specify two OID's such as temperature and humidity or error input
and error output.
Example:
Target[ezwf]: 1.3.6.1.2.1.2.2.1.14.1&1.3.6.1.2.1.2.2.1.20.1:public@myrouter
* MRTG knows a number of symbolical SNMP variable names. See the
file mibhelp.txt for a list of known names. One example are the
ifInErrors and ifOutErrors. This means you can specify the above
as:
Example:
Target[ezwf]: ifInErrors.1&ifOutErrors.1:public@myrouter
* Sometimes SNMP interface index can change, like when new
interfaces are added or removed. This can cause all Target entries
in your config file to become wrong by offset, causing MRTG to
graphs wrong instances etc. MRTG supports IP address instead of
ifindex in target definition. Then MRTG will query snmp device and
try to map IP address to current ifindex, You can use IP address
in every type of target definition, by adding IP address of the
numbered interface after OID and separation char '/'
Make sure that given IP address is used on your same target
router, your same target router, especially when graphing two
different OIDs and/or interface split by '&' delimiter.
Example:
Target[ezwf]: /1.2.3.4:public@wellfleet-fddi.ethz.ch
Target[ezci]: -/1.2.3.4:public@ezci-ether.ethz.ch
Target[ezwf]: 1.3.6.1.2.1.2.2.1.14/1.2.3.4&/1.2.3.4:public@myrouter
Target[ezwf]: ifInErrors/1.2.3.4&ifOutErrors/1.2.3.4:public@myrouter
* When the SNMP interface index changes, you can key that interface
by its 'Physical Address', sometimes called a 'hard address',
which is the SNMP variable 'ifPhysAddress'. Internally, MRTG
matches the Physical Address from the *.cfg file to its current
index, and then uses that index for the rest of the session.
You can use the Physical Address in every type of target
definition, by adding the Physical Address after the OID and
separation char '!' (analogous to the IP address option). The
Physical address is specified as either '-' delimited octets, such
as ``0a-0-f1-5-23-18'' (omit the double quotes) or a string with
exactly two chars per octet such as ``0a00f1052318''. Note that
there are 6 octets for for ethernet hard addresses but other types
of network connections may differ.
There is a utility 'cfgmaker_phys' that can be used to convert
every interface index or IP addresses to the new Physical Address
format, ``cfgmaker_phys old.cfg > new.cfg'' or it can be combined
with 'cfgmaker' as follows ``cfgmaker [56]public@1.2.3.4 |
cfgmaker_phys > new.cfg''. If however you only want to convert
some - not all - of the interfaces, this must be done manually.
Example:
Target[ezwf]: !0a-0b-0c-0d:public@wellfleet-fddi.ethz.ch
Target[ezci]: -!0-f-bb-05-71-22:public@ezci-ether.ethz.ch
Target[ezwf]: 1.3.6.1.2.1.2.2.1.14!0a-00-10-23-44-51&!0a-00-10-23-44-51:public
@myrouter
Target[ezwf]: ifInErrors!0a-00-10-23-44-51&ifOutErrors!0a-00-10-23-44-51:publi
c@myrouter
* In all places where ``community@router'' is accepted, you can add
additional parameters for the SNMP communication using
colon-separated suffixes. The full syntax is as follows:
community@router[:port[:timeout[:retries[:backoff]]]]
where the meaning of each parameter is as follows:
port
the UDP port under which to contact the SNMP agent
(default: 161)
timeout
initial timeout for SNMP queries, in seconds (default:
2.0)
retries
number of times a timed-out request will be retried
(default: 5)
backoff
factor by which the timeout is multiplied on every retry
(default: 1.0).
A value that equals the default value can be omitted. Trailing
colons can be omitted, too.
Example:
Target[ezci]: 1:public@ezci-ether.ethz.ch:9161::4
This would refer to the input/output octet counters for the
interface with ifIndex 1 on ezci-ether.ethz.ch, as known by the
SNMP agent listening on UDP port 9161. The standard initial
timeout (2.0 seconds) is used, but the number of retries is set to
four. The backoff value is the default.
* if you want to monitor something which does not provide data via
snmp you can use some external program to do the data gathering.
The external command must return 4 lines of output:
Line 1
current state of the first variable, normally 'incoming
bytes count'
Line 2
current state of the second variable, normally 'outgoing
bytes count'
Line 3
string (in any human readable format), telling the uptime
of the target.
Line 4
string, telling the name of the target.
Depending on the type of data your script returns you might want
to use the 'gauge' or 'absolute' arguments for the Options
keyword.
Example:
Target[ezwf]: `/usr/local/bin/df2mrtg /dev/dsk/c0t2d0s0`
Note the use of the backticks (`), not apostrophes (') around the
command.
* You can also use several statements in a mathematical expression.
This could be used to aggregate both B channels in an ISDN
connection or multiple T1s that are aggregated into a single
channel for greater bandwidth. Note the whitespace arround the
target definitions.
Example:
Target[ezwf]: 2:public@wellfleetA + 1:public@wellfleetA
* 4:public@ciscoF
_________________________________________________________________
RouterUptime
In cases where you calculate the used bandwidth from several
interfaces you normaly don't get the router uptime and router name
displayed on the web page.
If these interfaces are on the same router and the uptime and name
should be displayed nevertheless you have to specify its community and
address again with the RouterUptime keyword.
Example:
Target[kacisco.comp.edu]: 1:public@194.64.66.250 + 2:public@194.64.66.250
RouterUptime[kacisco.comp.edu]: public@194.64.66.250
_________________________________________________________________
MaxBytes
The maximum value either of the two variables monitored are allowed to
reach. For monitoring router traffic this is normally specified in
bytes per second this interface port can carry.
If a number higher than MaxBytes is returned, it is ignored. Also read
the section on AbsMax for further info. The MaxBytes value is also
used in calculating the Y range for unscaled graphs (see the section
on Unscaled).
Since most links are rated in bits per second, you need to divide
their maximum bandwidth (in bits) by eight (8) in order to get bytes
per second. This is very important to make your unscaled graphs
display realistic information. T1 = 193000, 56K = 7000, Ethernet =
1250000. The MaxBytes value will be used by mrtg to decide whether it
got a valid response from the router.
If you need two different MaxBytes values for the two monitored
variables, you can use MaxBytes1 and MaxBytes2 instead of MaxBytes.
Example:
MaxBytes[ezwf]: 1250000
_________________________________________________________________
MaxBytes1
Same as MaxBytes, for variable 1.
_________________________________________________________________
MaxBytes2
Same as MaxBytes, for variable 2.
_________________________________________________________________
Title
Title for the HTML page which gets generated for the graph.
Example:
Title[ezwf]: Traffic Analysis for Our Nice Company
_________________________________________________________________
PageTop
Things to add to the top of the generated HTML page. Note that you can
have several lines of text as long as the first column is empty.
Note that the continuation lines will all end up on the same line in
the html page. If you want linebreaks in the generated html use the
'\n' sequence.
Example:
PageTop[ezwf]:
Traffic Analysis for ETZ C95.1
Our Campus Backbone runs over an FDDI line\n
with a maximum transfer rate of 12.5 megabytes per
Second.
_________________________________________________________________
Optional Target Configuration Tags
_________________________________________________________________
AddHead
Use this tag like the PageTop header, but its contents will be added
between and .
Example:
AddHead[ezwf]:
_________________________________________________________________
AbsMax
If you are monitoring a link which can handle more traffic than the
MaxBytes value. Eg, a line which uses compression or some frame relay
link, you can use the AbsMax keyword to give the absolute maximum
value ever to be reached. We need to know this in order to sort out
unrealistic values returned by the routers. If you do not set AbsMax,
rateup will ignore values higher than MaxBytes.
Example:
AbsMax[ezwf]: 2500000
_________________________________________________________________
Unscaled
By default each graph is scaled vertically to make the actual data
visible even when it is much lower than MaxBytes. With the Unscaled
variable you can suppress this. It's argument is a string, containing
one letter for each graph you don't want to be scaled: d=day w=week
m=month y=year. In the example scaling for the yearly and the monthly
graph are suppressed.
Example:
Unscaled[ezwf]: ym
_________________________________________________________________
WithPeak
By default the graphs only contain the average values of the monitored
variables - normally the transfer rates for incoming and outgoing
traffic. The following option instructs mrtg to display the peak 5
minute values in the [w]eekly, [m]onthly and [y]early graph. In the
example we define the monthly and the yearly graph to contain peak as
well as average values.
Examples:
WithPeak[ezwf]: ym
_________________________________________________________________
Suppress
By default mrtg produces 4 graphs. With this option you can suppress
the generation of selected graphs. The option value syntax is
analogous to the above two options. In this example we suppress the
yearly graph as it is quite empty in the beginning.
Example:
Suppress[ezwf]: y
_________________________________________________________________
Directory
By default, mrtg puts all the files that it generates for each target
(the GIFs, the HTML page, the log file, etc.) in WorkDir.
If the Directory option is specified, the files are instead put into a
directory under WorkDir. (For example the Directory option below would
cause all the files for a target ezwf to be put into directory
/usr/tardis/pub/www/stats/mrtg/ezwf/ .)
The directory must already exist; mrtg will not create it.
Example:
WorkDir: /usr/tardis/pub/www/stats/mrtg
Directory[ezwf]: ezwf
_________________________________________________________________
XSize and YSize
By default mrtgs graphs are 100 by 400 pixels wide (plus some more for
the labels. In the example we get almost square graphs ...
Note: XSize must be between 20 and 600; YSize must be larger than 20
Example:
XSize[ezwf]: 300
YSize[ezwf]: 300
_________________________________________________________________
XZoom and YZoom
If you want your graphs to have larger pixels, you can ``Zoom'' them.
Example:
XZoom[ezwf]: 2.0
YZoom[ezwf]: 2.0
_________________________________________________________________
XScale and YScale
If you want your graphs to be actually scaled use XScale and YScale.
(Beware while this works, the results look ugly (to be frank) so if
someone wants to fix this: patches are welcome.
Example:
XScale[ezwf]: 1.5
YScale[ezwf]: 1.5
_________________________________________________________________
YTics and YTicsFactor
If you want to show more than 4 lines per graph, use YTics. If you
want to scale the value used for the YLegend of these tics, use
YTicsFactor. The default value for YTics is 4 and the default value
for YTicsFactor is 1.0 .
Example:
Suppose you get values ranging from 0 to 700.
You want to plot 7 lines and want to show
0, 1, 2, 3, 4, 5, 6, 7 instead of 0, 100, 200,
300, 400, 500, 600, 700. You should write then:
YTics[ezwf]: 7
YTicsFactor[ezwf]: 0.01
_________________________________________________________________
Step
Change the default step from 5 * 60 seconds to something else (I have
not tested this well ...)
Example:
Step[ezwf]: 60
_________________________________________________________________
Options
The Options Keyword allows you to set some boolean switches:
growright
The graph grows to the left by default. This option flips the
direction of growth causing the current time to be at the right
edge of the graph and the history values to the left of it.
bits
All the monitored variable values are multiplied by 8 (i.e.
shown in bits instead of bytes) ... looks much more impressive
:-) It also affects the 'factory default' labeling and units
for the given target.
perminute
All the monitored variable values are multiplied by 60 (i.e.
shown in units per minute instead of units per second) in case
of small values more accurate graphs are displayed. It also
affects the 'factory default' labeling and units for the given
target.
perhour
All the monitored variable values are multiplied by 3600 (i.e.
shown in units per hour instead of units per second) in case of
small values more accurate graphs are displayed. It also
affects the 'factory default' labeling and units for the given
target.
noinfo
Suppress the information about uptime and device name in the
generated webpage.
nopercent
Don't print usage percentages
transparent
make the background of the generated gifs transparent ...
integer
Print summary lines below graph as integers without comma
dorelpercent
The relative percentage of IN-traffic to OUT-traffic is
calculated and displayed in the graph as an additional line.
Note: Only a fixed scale is available (from 0 to 100%).
Therefore for IN-traffic greater than OUT-traffic also 100% is
displayed. If you suspect that your IN-traffic is not always
less than or equal to your OUT-traffic you are urged to not use
this options. Note: If you use this option in combination with
the Colours options, a fifth colour-name colour-value pair is
required there.
gauge
Treat the values gathered from target as absolute and not as
ever incrementing counters. This would be useful to monitor
things like disk space, processor load, temperature, and the
like ...
In the absence of 'gauge' and 'absolute' options, MRTG treats
variable as a counter and calculates the difference between the
current and the previous value and divides that by the elapsed
time between the last two readings to get the value to be
plotted.
absolute
This is for data sources which reset their value when they are
read. This means that rateup does not havt to build the
difference between this and the last value read from the data
source. The value obtained is still divided by the elapsed time
between the last two readings, which makes it different from
the 'gauge' option. Useful for external data gatherers.
unknaszero
Log unknown data as zero instead of the default behaviour of
repeating the last value seen. Be careful with this, often a
flat line in the graph is much more obvious than a line at 0.
Example:
Options[ezwf]: growright, bits
_________________________________________________________________
kilo
Use this option to change the multiplier value for building prefixes.
Defaultvalue is 1000. This tag is for the special case that 1kB =
1024B, 1MB = 1024kB and so far.
Example:
kilo[ezwf]: 1024
_________________________________________________________________
kMG
Change the default multiplier prefixes (,k,M,G,T,P). In the tag
ShortLegend define only the basic units. Format: Comma seperated list
of prefixed. Two consecutive commas or a comma at start or end of the
line gives no prefix on this item. Note: If you do not want prefixes,
then leave this line blank.
Example: velocity in nm/s (nanometers per second) displayed in nm/h.
ShortLegend[ezwf]: m/min
kMG[ezwf]: n,u,m,,k,M,G,T,P
options[ezwf]: perhour
_________________________________________________________________
Colours
The Colours tag allows you to override the default colour scheme.
Note: All 4 of the required colours must be specified here. The colour
name ('Colourx' below) is the legend name displayed, while the RGB
value is the real colour used for the display, both on the graph and
in the html doc.
Format is: Colour1#RRGGBB,Colour2#RRGGBB,Colour3#RRGGBB,Colour4#RRGGBB
Important: If you use the dorelpercent options tag a fifth colour name
colour value pair is required:
Colour1#RRGGBB,Colour2#RRGGBB,Colour3#RRGGBB,Colour4#RRGGBB,Colour5#RR
GGBB
Colour1
First variable (normally Input) on default graph
Colour2
Second variable (normally Output) on default graph
Colour3
Max first variable (input)
Colour4
Max second variable (output)
RRGGBB
2 digit hex values for Red, Green and Blue
Example:
Colours[ezwf]: GREEN#00eb0c,BLUE#1000ff,DARK GREEN#006600,VIOLET#ff00ff
_________________________________________________________________
Background
With the Background tag you can configure the background colour of the
generated HTML page
Example:
Background[ezwf]: #a0a0a0a
_________________________________________________________________
YLegend, ShortLegend, Legend[1234]
The following keywords allow you to override the text displayed for
the various legends of the graph and in the HTML document
YLegend
The Y-axis label of the graph. Note that a text which is too
long to fit in the graph will be silently ignored.
ShortLegend
The units string (default 'b/s') used for Max, Average and
Current
Legend[1234IO]
The strings for the colour legend
Example:
YLegend[ezwf]: Bits per Second
ShortLegend[ezwf]: b/s
Legend1[ezwf]: Incoming Traffic in Bits per Second
Legend2[ezwf]: Outgoing Traffic in Bits per Second
Legend3[ezwf]: Maximal 5 Minute Incoming Traffic
Legend4[ezwf]: Maximal 5 Minute Outgoing Traffic
LegendI[ezwf]: In:
LegendO[ezwf]: Out:
Note, if LegendI or LegendO are set to an empty string with
LegendO[ezwf]:
The corresponding line below the graph will not be printed at all.
_________________________________________________________________
Timezone
If you live in an international world, you might want to generate the
graphs in different timezones. This is set in the TZ variable. Under
certain operating systems like Solaris, this will provoke the
localtime call to give the time in the selected timezone ...
Example:
Timezone[ezwf]: Japan
The Timezone is the standard Solaris timezone, ie Japan, Hongkong,
GMT, GMT+1 etc etc.
_________________________________________________________________
Weekformat
By default, mrtg (actually rateup) uses the strftime(3) '%W' option to
format week numbers in the monthly graphs. The exact semantics of this
format option vary between systems. If you find that the week numbers
are wrong, and your system's strftime(3) routine supports it, you can
try another format option. The POSIX '%V' option seems to correspond
to a widely used week numbering convention. The week format character
should be specified as a single letter; either W, V, or U.
Example:
Weekformat[ezwf]: V
_________________________________________________________________
Threshold Checking
Through its threshold checking functionality mrtg is able to detect
threshold problems for the various targets and can call external
scripts to handle those problems (send email or a page to an
administrator).
Threshold checking is configured through the following parameters:
_________________________________________________________________
ThreshDir (GLOBAL)
If you want to be able to detect when a parameter is OK again (back
within threshold), you must define this directory. Temporary files
will be stored here between runnings to indicate which parameters had
threshold problems on the previous running.
_________________________________________________________________
ThreshMinI (PER TARGET)
This is the minimum acceptable value for the Input (first) parameter.
If the parameter falls below this value, the program specified in
ThreshProgI will be run.
_________________________________________________________________
ThreshMaxI (PER TARGET)
This is the maximum acceptable value for the Input (first) parameter.
If the parameter falls above this value, the program specified in
ThreshProgI will be run.
_________________________________________________________________
ThreshDesc (PER TARGET)
Its value will be assigned to the environment variable THRESH_DESC
before any of the programs mentioned below are called. The programms
can use the value of this variable to produce more userfriendly
output.
_________________________________________________________________
ThreshProgI (PER TARGET)
This defines a program to be run if ThreshMinI or ThreshMaxI is
broken. (It currently passes 3 arguments: the $router variable, the
threshold value broken, and the current parameter value. This can be
changed as required.)
_________________________________________________________________
ThreshProgOKI (PER TARGET)
This defines a program to be run if the parameter is currently OK
(based on ThreshMinI and ThreshMaxI), but wasn't OK on the previous
running -- based on the files found in ThreshDir.
_________________________________________________________________
ThreshMinO, ThreshMaxO, ThreshProgO, and ThreshProgOKO
They work the same as their *I counterparts, except on the Output
(second) parameter.
_________________________________________________________________
Two very special Target names
To save yourself some typing you can define a target called '^'. The
text of every Keyword you define for this target will be PREPENDED to
the corresponding Keyword of all the targets defined below this line.
The same goes for a Target called '$' but its text will be APPENDED.
Note that a space is inserted between the prepended text and the
Keyword value, as well as between the Keyword value and the appended
text. This works well for text-valued Keywords, but is not very useful
for other Keywords. See the ``default'' target description below.
The example will make mrtg use a common header and a common contact
person in all the pages generated from targets defined later in this
file.
Example:
PageTop[^]:
NoWhere Unis Traffic Stats
PageTop[$]: Contact Peter Norton if you have any questions
To remove the prepend/append value, specify an empty value, e.g.:
PageTop[^]:
PageTop[$]:
_________________________________________________________________
And one more very special Target name
The target name '_' specifies a default value for that Keyword. In the
absence of explicit Keyword value, the prepended and the appended
keyword value, the default value will be used.
Example:
YSize[_]: 150
Options[_]: growright,bits,nopercent
WithPeak[_]: ymw
Suppress[_]: y
MaxBytes[_]: 1250000
To remove the default value and return to the 'factory default',
specify an empty value, e.g.:
YLegend[_]:
There can be several instances of setting the default/prepend/append
values in the configuration file. The later setting replaces the
previous one for the rest of the configuration file. The
default/prepend/append values used for a given keyword/target pair are
the ones that were in effect at the point in the configuration file
where the target was mentioned for the first time.
Example:
MaxBytes[_]: 1250000
Target[myrouter.somplace.edu.2]: 2:public@myrouter.somplace.edu
MaxBytes[_]: 8000
Title[myrouter.somplace.edu.2]: Traffic Analysis for myrouter.somplace.edu IF
2
The default MaxBytes for the target myrouter.somplace.edu.2 in the
above example will be 1250000, which was in effect where the target
name myrouter.somplace.edu.2 first appeared in the config file.
_________________________________________________________________
NoSpaceChar
With PREPEND and APPEND there is normally a space inserted between the
local value and the PRE- or APPEND value. Sometimes this is not
desirable. You can use the NoSpaceChar config option to define a
character which can be mentioned at the end of a $ or ^ definition in
order to supress the space.
Example:
NoSpaceChar: ~
Target[^]: 1.3.6.1.4.1.482.50.2.4.20.0&1.3.6.1.4.1.482.50.2.4.21.0:get@~
Target[a]: a.tolna.net
Target[b]: b.tolna.net
Target[c]: c.tolna.net
Target[d]: d.tolna.net
_________________________________________________________________
Some example mrtg.cfg files
_________________________________________________________________
Minimal mrtg.cfg
WorkDir: /usr/tardis/pub/www/stats/mrtg
Target[r1]: 2:public@myrouter.somplace.edu
MaxBytes[r1]: 8000
Title[r1]: Traffic Analysis ISDN
PageTop[r1]:
Stats for our ISDN Line
_________________________________________________________________
Cfg for several Routers.
WorkDir: /usr/tardis/pub/www/stats/mrtg
Title[^]: Traffic Analysis for
PageTop[^]:
Stats for
PageTop[$]: Contact The Chief if you notice anybody
MaxBytes[_]: 8000
Options[_]: growright
Title[isdn]: our ISDN Line
PageTop[isdn]: our ISDN Line