File: readme.txt

package info (click to toggle)
mrtg 2.5.2-1
  • links: PTS
  • area: contrib
  • in suites: hamm
  • size: 916 kB
  • ctags: 465
  • sloc: perl: 4,603; ansic: 2,132; makefile: 190; csh: 49; sh: 40
file content (371 lines) | stat: -rw-r--r-- 20,208 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371

   The Multi Router Traffic Grapher
   
  Version 2.5, 24th October 1997
  
   Programming by [1]Tobias Oetiker [2]<oetiker@ee.ethz.ch>
   [3]Dave Rand [4]<dlr@bungi.com>
   and a number of other people from the Global-Village
   Documentation by [5]Tobias Oetiker [6]<oetiker@ee.ethz.ch>
   
   Contents 
     * [7]What is the Multi Router Traffic Grapher
     * [8]Highlights of MRTG
     * [9]The History
     * [10]Release Notes
     * [11]Getting and Installing MRTG
     * [12]Configuration Tips
     * [13]Frequently Asked Questions
     * [14]The MRTG Mailing List
     * [15]Windows NT Notes
       
   What is the Multi Router Traffic Grapher 
   
   The Multi Router Traffic Grapher (MRTG) is a tool to monitor the
   traffic load on network-links. MRTG generates HTML pages containing
   GIF images which provide a LIVE visual representation of this traffic.
   Check [16]http://www.ee.ethz.ch/stats/mrtg/ for an example. MRTG is
   based on Perl and C and works under UNIX and Windows NT. MRTG is being
   successfully used on many sites arrond the net. Check the
   [17]MRTG-Site-Map.
   
   MRTG is available under the GNU PUBLIC LICENSE.
   The only thing I would like to ask happy users to do, is to
   send a Picture Postcard to:
   Tobias Oetiker, D-ELEK, ETH Zentrum, CH-8092 Zurich, Switzerland
   
   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 four 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 50 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.
   
   Highlights of MRTG 
    1. Works on most UNIX platforms and Windows NT
    2. Uses Perl for easy customization
    3. Has a highly portable SNMP implementation written entirely in Perl
       thanks to Simon Leinen. There is no need to install any external
       SNMP package.
    4. MRTG's logfiles do NOT grow. Thanks to the use of a unique data
       consolidation algorithm.
    5. MRTG comes with a semi-automatic configuration tool.
    6. MRTG's query engine checks for port reconfigurations on the router
       and warns the user when they occur.
    7. Time critical routines are written in C thanks to the initiative
       of Dave Rand my Co-Author
    8. Graphics are generated directly in GIF format, using the GD
       library by Thomas Boutell.
    9. The look of the webpages produced by MRTG is highly configurable.
   10. MRTG is available under the GNU PUBLIC LICENSE.
       
   History of MRTG 
   
   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, showing 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 is the
   result of a wonderful collaboration of many people. I would like to
   take this opportunity to thank them all. (See the files CHANGES and
   CONTRIBUTORS in the MRTG distribution.)
   
   Release Notes 
   
   Version 2.5
          Bugfixes: Skewing at log interval bounderies fixed. White space
          at line-endings in cfgfiles handled gracefully. MaxBytes line
          is only drawn if it is stricly inside the graph. Timezone
          handling improved. Further fighting against the overflow bug.
          Features: More compatible cfgmaker (--vendor switch). Added a
          README about the logfile-format. Made a package in zip format
          available for our NT friends. Same goes for rateup.
          Contribs:: PingProbe updated. Atmmaker to create cfg files for
          FORE ASX. Rewrite of mailstats script.
          
   Version 2.4
          Bugfixes: IconDir works now, mrtg.cfg-dist debugged and
          rewritten, replace int by sprintf "%.0f" to better handle large
          numbers, better 'external command' Target parsing, debugged
          BER.pm ...
          Application tips for Apache-1.2 added to mrtg.cfg-dist
          added nopercent option to supress display of percentage in html
          page.
          added contrib by Philippe.Simonet@SWISSTELECOM.com: a
          c-programm to create gifs showing the traffic distribution over
          time
          
   Version 2.3
          New Configuration Options: IconDir, XScale, YScale, Weekformat
          check 'mrtg.cfg-dist' for details.
          New Pingprobe version
          Improved behaviour of rateup with Unscaled Option, MaxBytes and
          AbsMax set. Now, the graphs will be scaled all the same as soon
          as the traffic goes over MaxBytes.
          Several bugfixes in rateup.c
          
   Version 2.2
          Lots of new and exciting things in the contrib area.
          Made graphs in indexmaker generated pages clickable
          made mrtg observe order of routers in cfg file .... as
          suggested by Mick Ghazey
          Added timezone configurable to set a timezone per router.
          Details in mrtg.cfg-dist as suggested by Jun (John) Wu
          Added MaxBytes sanity check ....
          Fixed portability problem of Makefile under IRIX
          
   Getting and Installing MRTG 
    1. Get the latest Version of MRTG from:
       [18]http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/
    2. Get and compile the GD library by Thomas Boutell:
       [19]http://www.boutell.com/gd/
    3. Make sure you have Perl Version 5.003 or later on your system:
       [20]http://www.perl.com/perl/info/software.html
    4. Edit the MRTG Makefile to fit your system. At least change the
       PERL and GD_LIB variables.
       Then use make rateup to create the rateup binary.
       And make substitute to insert the path of your Perl binary into
       the perlscripts which come with MRTG.
    5. Decide where MRTG should store the webpages it creates. Copy the
       mrtg*.gif files into this directory. They will be referenced in
       the generated webpages. You may also want to move the readme.html
       file to this directory so that you have the docs handy when ever
       you need them.
    6. All the other files from the MRTG distribution should go into your
       MRTG binary directory. This directory can be anywhere because MRTG
       will find its location upon startup. The following files are
       required to be in MRTG-bin: BER.pm, SNMP_Session.pm, mrtg, rateup.
    7. Create your personal mrtg.cfg file. You find documentation about
       this in the file [21]mrtg-conf.html See the Configuration Hints
       section for some further help. The difficult part in creating the
       configuration file is getting your router-port assignment correct.
       To help you with this, the cfgmaker tool will generate all the
       router specific parts of your configuration file.
       
     cfgmaker <community>@<router-host-name or IP>
       If you don't know the community of your router, try public as
       community name.
     If you are upgrading from any pre 2.0 version of MRTG, you need to
       run the convert script with your old logfiles, in order to bring
       them over to the mrtg-2.0 log-file-format.
     Try to start MRTG. Type ./mrtg mrtg.cfg on the command line, while
       you are in your MRTG binary directory. MRTG will now parse your
       configuration file, and complain if you have introduced any
       unknown keywords or structures. If MRTG is happy with the cfg
       file, it starts gathering traffic data from the routers you have
       specified. With this information it will then start the rateup
       tool which will create a logfile and a traffic graph GIF for each
       Target. When you start MRTG for the very first time, rateup will
       complain that it can not find any logfiles and the graphs
       generated will look rather empty. Just ignore the complaints. If
       you remove the empty graphs, and run MRTG again, rateup will
       create new graphs which look better.
     Integrate MRTG into your crontab. Just add the following line to
       your crontab file to have MRTG run every 5 minutes (The line is
       broken for readability only. Replace the backslash in the first
       line with the second line):
       0,5,10,15,20,25,30,35,40,45,50,55 * * * * \
       <mrtg-bin>/mrtg <path to mrtg-cfg>/mrtg.cfg
       Configuration Tips 
          + If you are monitoring a number of links, you might want to
            create an overview page. For our own site I have created the
            indexmaker script, which you can use to create a html page
            containing hrefs that point to your individual traffic
            statistics pages. Note, that you need to edit this script for
            your purposes. The script you got, includes our Universities
            Logo (http://www.ee.ethz.ch/eth.199x32.gif) into the page.
            indexmaker <mrtg.cfg> <regexp for router-names>
          + If you are monitoring many targets, use the special target
            names '^' and '$' to prepend or append text to any of the
            Keywords in the sections below. Note that the definition of
            the '^' and '$' targets are position dependant. They always
            influence the lines bleow in the cfg file.
          + Since MRTG updates it's graphs every 5 minutes, you may
            experience problems with proxy caches and local Netscape
            browser caches. Sometimes these caches will return the old
            cached graphics instead of the real and updated versions from
            the webserver.
            If you are running the apache webserver, you can use the
            WriteExpire Keyword in the mrtg.cfg file. With this, mrtg
            will create *.meta files for each gif and html page. These
            files will contain 'Expire' headers which the Apache
            webserver can ship out together with the gif and html pages
            (Use to MetaDir keyword in the apache config file to enable
            this). With the information from the expire headers, Netscape
            and all the proxy caches will know when they have to fetch a
            new version of the file from your website and when they can
            use their cached version.
          + Although MRTG's primary use is traffic monitoring, you can
            observe any SNMP variable you want. People are using it to
            monitor ModemBanks, ServerLoad, ErrorRates on Interfaces and
            many other things. If you are using MRTG for something other
            than traffic monitoring, please send me a short blurb to
            include here. Best would be with a sample URL and some hints
            about how you have configured MRTG ...
       Frequently Asked Question with Answers 
       Q:I need more documentation ... 
       A:Make sure you have checked the files 'mrtg-conf.html' and
       'mibhelp.txt' as well as the contributed scripts in the 'contrib'
       directory of you mrtg distribution. If you need even more infos,
       make sure to check the mailing list archive as well. There has
       also been an article about SNMP and mrtg in a recent Linux
       Journal. It's author David Guerroro has made it available on the
       net. Check [22]http://www.mec.es/~david/papers/snmp 
       Q:My perl complains about the SNMP_Session.pm library ... 
       A:If you are running a version of perl before 5.002 you should use
       'SNMP_Session.pm-for-perl5.001.
       Q:The GIFs created by MRTG look very strange. Not all the grid
       lines are drawn and ... 
       A:Remove the *-{week,day,month,year}.gif files and start MRTG
       again. Using MRTG for the first time, you might have to do this
       twice. This will also help, when you introduce new routers into
       the cfg file.
       Q: What is my Community Name?
       A:Try 'public', as this is the default Community Name.
       Q: I compiled your program and I get the following errors: at the
       command line I typed ./mrtg kirit.cfg and I get :

    Can't locate Socket.pm in @INC at /SNMP_Session.pm line 27.
    BEGIN failed--compilation aborted at /SNMP_Session.pm line 27.
    BEGIN failed--compilation aborted at ./mrtg line 356.
   A: You need to get Perl5 installed properly. Socket.pm comes with
       Perl5 and is an integral part of Perl5. Perl5 comes with compiled
       in defaults about where it should look for its libraries (eg
       Socket.pm). Type 'perl -V' to see what your perl assumes ... And
       get it fixed ... Eg by installing it properly.
       If your questions are still not answered, make sure to check out
       the [23]Official MRTG FAQ Site and browse the [24]MRTG Mailinglist
       Archives. 
       MRTG Mailing List 
       There are two mailing lists for MRTG available. One is called
       'mrtg' and is a discussion list for users and developers. The
       other is called 'mrtg-announce' and is a low volume list for MRTG
       related announcements.
       To subscribe to these mailing lists, send a message with the
       subject line subscribe to either mrtg-request@list.ee.ethz.ch or
       mrtg-announce-request@list.ee.ethz.ch. For posting to the mrtg
       list use the address mrtg@list.ee.ethz.ch.
       Further information about the usage of the mailing lists is
       available by sending a message with the subject line 'help' to
       either one of the request addresses.
       For past activity there is also a mailing list archive available:
       [25]http://www.ee.ethz.ch/~slist/mrtg
       MRTG on Windows NT 
       By Stuart Schneider <SchneiS@testlab.orst.edu>
       To setup mrtg on a WindowsNT system, you can follow the
       instructions already provided for UNIX systems with the following
       addition:
       6.5. Change the $main::OS setting at the top of the mrtg script to
       equal 'NT'.
       Or, for those who need a little extra help, follow these steps:
          + Download and unpack the latest version of mrtg from:
            [26]http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/.
          + Download and install the latest version of Perl 5 for Win32
            from [27]Activware. Check the [28]Perl for Win32 FAQ for more
            info on perl.
          + Download the pre-compiled version of rateup from:
            [29]http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/
          + Edit the main mrtg script downloaded in step #1 and remove
            the "#" from the beginning of the line that reads "$main::OS
            = 'NT';".
          + Create a batch file with the following command: perl {path to
            mrtg}\mrtg {path to mrtg.cfg}\mrtg.cfg
            For example: perl c:\mrtg\mrtg c:\mrtg\mrtg.cfg
          + Use cfgmaker or manually configure your mrtg.cfg file
            (documentation on the structure of the file is in the file
            mrtg.cfg-dist).
          + Execute your batch file from step #6 from a command prompt to
            verify that there are no errors in your mrtg.cfg file and
            that everything is working correctly. (On the first pass it
            is normal to see four warnings from Rateup about your log
            files for each router interface).
          + If everything looks good, configure the scheduler (AT)
            service to run the batch file from step #6 every 5 minutes.
            Alternatively you might want to use this perlscript to start
            mrtg every 300 seconds:


  $interval=300;
  while (1) {
    sleep( $interval - time() % $interval );
    system 'c:\bin\perl mrtg mrtg.cfg';
  }
         _____________________________________________________________
       
       If you have any questions about this program, or have it up and
       running,
       we would like to hear from you:
       [30][31]MRTG [32]
       2.5-1997/10/24 [33]Tobias Oetiker [34]<oetiker@ee.ethz.ch>
       and [35]Dave Rand [36]<dlr@bungi.com>

References

   1. http://ee-staff.ethz.ch/~oetiker
   2. mailto:oetiker@ee.ethz.ch
   3. http://www.bungi.com/
   4. mailto:dlr@bungi.com
   5. http://ee-staff.ethz.ch/~oetiker
   6. mailto:oetiker@ee.ethz.ch
   7. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/readme.html#WHAT
   8. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/readme.html#HIGH
   9. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/readme.html#HIST
  10. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/readme.html#RELE
  11. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/readme.html#INST
  12. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/readme.html#TIPS
  13. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/readme.html#FAQ
  14. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/readme.html#LIST
  15. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/readme.html#NT
  16. http://www.ee.ethz.ch/stats/mrtg/
  17. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/users.html
  18. http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/
  19. http://www.boutell.com/gd/
  20. http://www.perl.com/perl/info/software.html
  21. file://localhost/usr/tardis/delek/staff/support/data/tools/www/mrtg/mrtg-conf.html
  22. http://www.mec.es/~david/papers/snmp
  23. http://www.ltinet.net/info/mrtg/noflashmrtg.htm
  24. http://www.ee.ethz.ch/~slist/mrtg
  25. http://www.ee.ethz.ch/~slist/mrtg
  26. http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/
  27. http://www.activestate.com/software/default.htm
  28. http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.html
  29. http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/
  30. http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
  31. http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
  32. http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
  33. http://ee-staff.ethz.ch/~oetiker
  34. mailto:oetiker@ee.ethz.ch
  35. http://www.bungi.com/
  36. mailto:dlr@bungi.com