MRTG(1)                              mrtg                              MRTG(1)



NNAAMMEE
       mrtg - What is MRTG ?

DDEESSCCRRIIPPTTIIOONN
       The Multi Router Traffic Grapher (MRTG) is a tool to monitor the
       traffic load on network links.  MRTG generates HTML pages containing
       PNG images which provide a LIVE visual representation of this traffic.

       Go to http://oss.oetiker.ch/mrtg for all the details about mrtg.

HHIIGGHHLLIIGGHHTTSS
       Portable
           MRTG works on most UNIX platforms and Windows NT.

       Perl
           MRTG is written in Perl and comes with full source.

       Portable SNMP
           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.

       SNMPv2c support
           MRTG can read the new SNMPv2c 64bit counters. No more counter
           wrapping.

       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
           consolidation algorithm.

       Automatic Configuration
           MRTG comes with a set of configuration tools which make
           configuration and setup very simple.

       Performance
           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.

       Customizability
           The look of the webpages produced by MRTG is highly configurable.

       RRDtool
           MRTG has built-in hooks for using RRDtool. If you are strapped for
           performance this may help.

DDEETTAAIILLSS
       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
       representations 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.
       Therefore you can monitor 200 or more network links from any halfway
       decent UNIX box.

       MRTG is not limited to monitoring traffic, though.  It is possible to
       monitor any SNMP variable you choose. You can even use an external
       program 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.

HHIISSTTOORRYY
       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
       support I received from of many people. I would like to take this
       opportunity to thank them all. (See the files CHANGES for a long list
       of folk people who helped to make MRTG what it is today.)

CCoommmmaanndd--lliinnee
       Mrtg is also the name of the script you have to run to poll data and
       generate the graphs. Most configuration is set through the
       configuration file; some command-line options exist all the same.

       ----uusseerr _u_s_e_r_n_a_m_e  and ----ggrroouupp _g_r_o_u_p_n_a_m_e
           Run as the given user and/or group. (Unix Only)

       ----lloocckk--ffiillee _f_i_l_e_n_a_m_e
           Use an alternate lock-file (the default is to use the
           configuration-file appended with "_l").

       ----ccoonnffccaacchhee--ffiillee _f_i_l_e_n_a_m_e
           Use an alternate confcache-file (the default is to use the
           configuration-file appended with ".ok")

       ----llooggggiinngg _f_i_l_e_n_a_m_e|eevveennttlloogg
           If this is set to writable filename, all output from mrtg
           (warnings, debug messages, errors) will go to _f_i_l_e_n_a_m_e. If you are
           running on Win32 you can specify eevveennttlloogg instead of a filename
           which will send all error to the windows event log.

           NNOOTTEE::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, complaining about the fact that
           mrtg has no message dll. If any of the Windows folks want to
           contribute one, they are welcome.

       ----ddaaeemmoonn
           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)

       ----ffhhss
           Configure all mrtg paths to conform to the FHS specification
           <http://www.pathname.com/fhs/>. The following default values are
           assumed:

            confcachefile - /var/lib/mrtg/mrtg.ok
            pid-file      - /run/mrtg/mrtg.pid
            lock-file     - /var/lock/mrtg/mrtg.lck
            log-file      - /var/log/mrtg/mrtg.log

       ----cchheecckk
           Only check the cfg file for errors. Do not do anything.

       ----ppiidd--ffiillee==ss
           Define the name and path of the pid file for mrtg running as a
           daemon

       ----lloogg--oonnllyy
           Only update the logfile, do not produce graphics or html pages

       ----ddeebbuugg==ss
           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

           Example:

            --debug="cfg,snpo"

RREEAADD OONN
       Learn more about MRTG by going to the mrtg home page on:
       http://oss.oetiker.ch/mrtg

AAUUTTHHOORR
       Tobias Oetiker <tobi@oetiker.ch> and many contributors



2.17.10                           2022-01-19                           MRTG(1)
