MRTG(1) mrtg MRTG(1)
mrtg - What is MRTG
The Multi Router Traffic Grapher (MRTG) is a tool to monitor the traf-
fic load on network links. MRTG generates HTML pages containing PNG
images which provide a LIVE visual representation of this traffic.
Check http://www.stat.ee.ethz.ch/mrtg/ to see what it does.
http://people.ee.ethz.ch/~oetiker/webtools/mrtg for all the details
Most items are set through the configuration file; command-line options
are specified here:
--user username and --group groupname
Run as the given user and/or group. (Unix Only)
Use an alternate lock-file (the default is to use the configura-
tion-file appended with "_l").
Use an alternate confcache-file (the default is to use the configu-
ration-file appended with ".ok")
If this is set to writable filename, all output from mrtg (warn-
ings, debug messages, errors) will go to filename. If you are run-
ning on Win32 you can specify eventlog instead of a filename which
will send all error to the windows event log.
NOTE:Note, there is no Message DLL for mrtg. This has the side
effect that the windows event logger will display a nice message
with every entry in the event log, complaing about the fact that
mrtg has no message dll. If any of the Windows folks want to con-
tribute one, they are welcome.
Put MRTG into the background, running as a daemon. This works the
same way as the config file option, but the switch is required for
proper FHS operation (because /var/run is writable only by root)
Configure all mrtg paths to conform to the FHS specification;
Only check the cfg file for errors. Do not do anything.
Define the name and path of the pid file for mrtg running as a dae-
Enable debug options. The argument of the debug option is a comma
separated list of debug values:
cfg - watch the config file reading
dir - directory mangeling
base - basic program flow
tarp - target parser
snpo - snmp polling
fork - forking view
time - some timing info
log - logging of data via rateup or rrdtool
MRTG is written in Perl and C and works under UNIX and Windows NT. MRTG
is being successfully used on many sites around the net. Check the
MRTG works on most UNIX platforms and Windows NT.
MRTG is written in Perl and comes with full source.
MRTG Uses a highly portable SNMP implementation written entirely in
Perl (thanks to Simon Leinen). There is no need to install any
external SNMP package.
MRTG can read the new SNMPv2c 64bit counters. No more counter wrap-
Reliable Interface Identification
Router interfaces can be identified by IP address, description and
ethernet address in addition to the normal interface number.
Constant size Logfiles
MRTG’s logfiles do NOT grow thanks to the use of a unique data con-
MRTG comes with a set of configuration tools which make configura-
tion and setup very simple.
Time critical routines are written in C (thanks to the initiative
of Dave Rand my Co-Author).
GIF free Graphics
Graphics are generated directly in PNG format using the GD library
by Thomas Boutell.
The look of the webpages produced by MRTG is highly configurable.
MRTG has built-in hooks for using RRDtool. If you are strapped for
performance this may help.
MRTG consists of a Perl script which uses SNMP to read the traffic
counters of your routers and a fast C program which logs the traffic
data and creates beautiful graphs representing the traffic on the
monitored network connection. These graphs are embedded into webpages
which can be viewed from any modern Web-browser.
In addition to a detailed daily view, MRTG also creates visual repre-
sentations of the traffic seen during the last seven days, the last
five weeks and the last twelve months. This is possible because MRTG
keeps a log of all the data it has pulled from the router. This log is
automatically consolidated so that it does not grow over time, but
still contains all the relevant data for all the traffic seen over the
last two years. This is all performed in an efficient manner. There-
fore you can monitor 200 or more network links from any halfway decent
MRTG is not limited to monitoring traffic, though. It is possible to
monitor any SNMP variable you choose. You can even use an external pro-
gram to gather the data which should be monitored via MRTG. People are
using MRTG, to monitor things such as System Load, Login Sessions,
Modem availability and more. MRTG even allows you to accumulate two or
more data sources into a single graph.
In 1994 I was working at a site where we had one 64kbit line to the
outside world. Obviously, everybody was interested in knowing how the
link was performing. So I wrote a quick hack which created a constantly
updated graph on the web that showed the traffic load on our Internet
link. This eventually evolved into a rather configurable Perl script
called MRTG-1.0 which I released in spring 1995. After a few updates, I
left my job at DMU to start work at the Swiss Federal Institute of
Technology. Due to lack of time I had to put MRTG aside. One day in
January of 1996, I received email from Dave Rand asking if I had any
ideas why MRTG was so slow. Actually, I did. MRTG’s programming was not
very efficient and it was written entirely in Perl. After a week or so,
Dave wrote back to me and said he had tried what I had suggested for
improving MRTG’s speed. Since the changes did not help much, he had
decided to rewrite the time-critical sections of MRTG in C. The code
was attached to his email. His tool increased the speed of MRTG by a
factor of 40! This got me out of my ’MRTG ignorance’ and I started to
spend my spare time developing of MRTG-2.
Soon after MRTG-2 development had begun I started to give beta copies
to interested parties. In return I got many feature patches, a lot of
user feedback and bug fixes. The product you are getting now wouldn’t
be in this state if it hadn’t been for the great contributions and sup-
port I received from of many people. I would like to take this opportu-
nity to thank them all. (See the files CHANGES for a long list of folk
people who helped to make MRTG what it is today.)
Learn more about MRTG by going to the mrtg home page on:
Tobias Oetiker <firstname.lastname@example.org> and many contributors
2.11.1 2005-01-06 MRTG(1)
Man(1) output converted with