MRTG
Configuration in Debian
What is MRTG?
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.
Download MRTG
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/download.en.html
MRTG Documentation
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/doc/index.en.html
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/3party.en.html
First you need to install apache2 webserver
for this click here
Now we need to install mrtg and snmp
Installing MRTG in Debian
#apt-get install mrtg snmpd
The installation will create an mrtg subdirectory where the
Apache Web pages reside. On your Debian system the path of this
subdirectory is:
/var/www/mrtg
Now you need to edit the mrtg configuration file to edit the
some of the settings
File is located at /etc/mrtg.cfg
you need to change the global settings as follows
# Global Settings
RunAsDaemon: yes
EnableIPv6: no
WorkDir: /var/www/mrtg
Options[_]: bits,growright
WriteExpires: Yes
Title[^]: Traffic Analysis for
You will find a crontab running every 5 minutes as user root
# cat /etc/cron.d/mrtg
0-55/5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg
]; then env LANG=C /usr/bin/mrtg /etc/mrtg.cfg >> /var/log/mrtg/mrtg.log
2>&1; fi
Now we need to assign the snmp community name in snmp
configration file /etc/snmp/snmpd.conf
# sec.name source community
# com2sec paranoid default public
com2sec readonly default public
#com2sec readwrite default private
Now you need to restart the snmp service
#/etc/init.d/snmpd restrat
The configuration file creating using
#cfgmaker public@localhost > /etc/mrtg.cfg
Creating a configuration file for a device using
#cfgmaker public@192.168.0.1 >> /etc/mrtg.cfg
With the configuration file created correctly there's only one
other thing you have to do and that's to use the indexmaker
utility to create the summary home page. Since you have to
re-run this command every time you make certain changes to the
/etc/mrtg.cfg configuration file,
Creating index file for the webserver using
#indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
Now you need to reboot your system wait for five minutes or so
and then take a look at your summary home page. If your Debian
system's IP address is 172.16.0.20 then you'd type in the
following in the address bar of a browser running on a system on
the same network:
http://172.16.0.20/mrtg/
Your summary home page should come up with a graph for each
target entry in the configuration file. If a graph looks like
there's no data on it, click on it and check the statistics to
see if any traffic is being seen. Small amounts of traffic won't
show up on the graphs because we used the Unscaled statement
Some of examples how to monitor cpu and
memory usage
CPU Usage
/etc/mrtg/cpu.cfg
WorkDir: /var/www/localhost/htdocs/mrtg
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1+
ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1+
ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1
RouterUptime[localhost.cpu]: public@127.0.0.1
MaxBytes[localhost.cpu]: 100
Title[localhost.cpu]: CPU Load
PageTop[localhost.cpu]: <H1>Active CPU Load %</H1>
Unscaled[localhost.cpu]: ymwd
ShortLegend[localhost.cpu]: %
YLegend[localhost.cpu]: CPU Utilization
Legend1[localhost.cpu]: Active CPU in % (Load)
Legend2[localhost.cpu]:
Legend3[localhost.cpu]:
Legend4[localhost.cpu]:
LegendI[localhost.cpu]: Active
LegendO[localhost.cpu]:
Options[localhost.cpu]: growright,nopercent
Memory Usage
/etc/mrtg/mem.cfg
LoadMIBs: /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
Target[localhost.mem]:
.1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:public@localhost
PageTop[localhost.mem]: <H1>Free Memory</H1>
WorkDir: /var/www/localhost/htdocs/mrtg
Options[localhost.mem]: nopercent,growright,gauge,noinfo
Title[localhost.mem]: Free Memory
MaxBytes[localhost.mem]: 1000000
kMG[localhost.mem]: k,M,G,T,P,X
YLegend[localhost.mem]: bytes
ShortLegend[localhost.mem]: bytes
LegendI[localhost.mem]: Free Memory:
LegendO[localhost.mem]:
Legend1[localhost.mem]: Free memory, not including swap, in
bytes
Creating jobs for the above two
examples
CPU
/etc/cron.mrtg/cpu
#!/bin/sh
/usr/bin/mrtg /etc/mrtg/cpu.cfg
Memory
/etc/cron.mrtg/mem
#!/bin/sh
/usr/bin/mrtg /etc/mrtg/mem.cfg
Run each script 3 times (disregard
the warnings)
/etc/cron.mrtg/cpu
/etc/cron.mrtg/mem
Make the Index Files
#/usr/bin/indexmaker --output=/var/www/mrtg/index.html \
--title="Memory and CPU Usage :)" \
--sort=name \
--enumerate \
/etc/mrtg/cpu.cfg \
/etc/mrtg/mem.cfg
Make the mrtg.cfg file
#cfgmaker --global "WorkDir: /var/www/mrtg/" \
--global "Options[_]: growright,bits" \
--ifref=ip \
public@localhost > /etc/mrtg/mrtg.conf
Cronjob setup
/bin/cat >> /var/spool/cron/crontabs/root
*/5 * * * * /bin/run-parts /etc/cron.mrtg 1> /dev/null
Now you logon to your web browser and check you should see the
graphs