1. Introduction

MRTG (Multi Router Traffic Grapher) is an application that allows us to observe the traffic of a network. It generates html pages with graphs which are refreshed according to our network’s current state. Its source is written in Perl and C which means that it can be installed in every Operating System we like. We will also need SNMP daemon (Simple Network Management Protocol) which gives us information for a network. The following installation was accomplished under Linux and specifically Fedora Core 6. With some little changes it can be used and under other distros.

2. SNMP server

2.1 Installation

Initially we install the packets needed for SNMP. Yum makes this job a lot easier.

Next we make snmpd service to start automatically for the runlevels we want.

# yum install net-snmp-utils net-snmp 


And we start the server.

# chkconfig --level 345 snmpd


We can see that it is running in port 199.

# service snmpd start


# netstat -natv | grep ':199'

tcp        0      0     *                   LISTEN 

2.2  Configuration

We run ‘snmpwalk’ which creates a “tree” of information for our network.

If you see an output like this one you may proceed with the MRTG installation. Else you should make some configuration first.

# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex  


ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex. = 1

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex. = 2

We keep a backup of snmpd.conf just in case anything goes wrong


# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.original


We open it

# nano /etc/snmp/snmpd.conf


And do the follow changes:

  • we change this line


com2sec notConfigUser  default       public 


with those

com2sec local          localhost        public

com2sec mynetwork      public

where we put what our network is
  • we change those lines
group   notConfigGroup v1           notConfigUser

group   notConfigGroup v2c          notConfigUser

with those

group   MyRWGroup      v1          local

group   MyRWGroup      v2c         local

group   MyRWGroup      usm       local

group   MyROGroup      v1          mynetwork

group   MyROGroup      v2c         mynetwork

group   MyROGroup      usm       mynetwork 

  • we change those lines
view    systemview    included   .

view    systemview    included   . 

with this one


view    all            included      .1              80 


  • we change this line


access  notConfigGroup ""      any       noauth    exact  systemview none none   


with those

access MyROGroup ""      any       noauth    exact  all    none   none

access MyRWGroup ""      any       noauth    exact  all    all    none  

  • and finally we change those lines
syslocation Unknown (edit /etc/snmp/snmpd.conf)

syscontact Root  (configure /etc/snmp/snmp.local.conf)

with something like this

syslocation Linux, Fedora Core 6

syscontact Root root@localhost  


2.3 Check

We restart the server to take affect of the notices


# service snmpd restart 


And we run again


# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex 


Now we should see something like that

IP-MIB::ipAdEntIfIndex. = INTEGER: 2

IP-MIB::ipAdEntIfIndex. = INTEGER: 1

Where is your ip address.



3.1 Installation

We again use yum


# yum install mrtg


3.2 Configuration

We create the folder in which our graphs and html pages will be kept


# mkdir /var/www/html/mrtg/ 


And we run ‘cfgmaker’ for the configuration file to be created.


# cfgmaker --global "workdir: /var/wwwhtml/mrtg" -ifref=ip --output /etc/mrtg/mrtg.cfg --global 'options[_]: growright,bits' public@localhost 


Here you should pay notice to --output /etc/mrtg/mrtg.cfg as long as to public@localhost. With this command we tell MRTG to create a configuration file with the name ‘mrtg.cfg’ for the traffic of our computer (localhost). Instead of localhost you may put the address of any computer you may monitor as long as it runs SNMP.

Next we create our default index page


# indexmaker --output=/var/www/html/mrtg/index.html /etc/mrtg/mrtg.cfg   


3.2.1 Apache configuration

Next we have to configure apache for MRTG to work correctly. MRTG creates a file ‘mrtg.cfg’ under /etc/httpd/conf.d we contains all the necessary for Apache. We change it to contain the ips we want to have access to our MRTG graphs. Here I have added all my network.

Alias /mrtg /var/www/mrtg

<Location /mrtg>
   Order deny,allow

   Deny from all

   Allow from


3.3 Check

We run the following command 

In case you get an error like this

# mrtg /etc/mrtg/mrtg.cfg  


ERROR: Mrtg will most likely not work properly when the environment

      variable LANG is set to UTF-8. Please run mrtg in an environment

      where this is not the case. Try the following command to start:

       env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg 

you have to run the above command more than once till it runs without any error. This is normal.

# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg

23-02-2007 17:28:53, Rateup WARNING: /usr/bin/rateup Can't remove localhost_2.old updating log file

# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg


Finally we open our browser and type  


You should see something like this


And by clicking on it something like this



There are daily, weekly, monthly and yearly graphs which aren’t shown in the screenshot. By changing the .cfg file we can alter the information displayed to what we just want.

4. Outroduction

With the same way it is possible to add as many computers as we want and therefore have a general overview of our network. Enjoy! ;)

Comments (31)

Subscribe to this comment's feed
Error After the process was done
LANG = en_US.UTF-8
I am not abel to run MRTG

Error in Firefox "You don't have permission to access /mrtg/ on this server"

can u please help me out
Pennada Prabhu Kiran , March 29, 2007
Just in case, have you edited
axel , March 29, 2007
Allow from all
I followed these instructions - how can I allow for all to view these pages? I don't need to deny at all. Do I just simply state Allow all?
Joe , June 11, 2007
Hey Joe. Just use this mrtg.cfg and you should be ok.

Alias /mrtg /var/www/mrtg

Order allow,deny
Allow from all
axel , June 14, 2007
try with this

cfgmaker --global "workdir: /var/www/mrtg/html/mrtg" -ifref=ip --output /etc/mrtg/mrtg.cfg --global 'options[_]: growright,bits' public@localhost

beler , March 21, 2008
How to solve Error in Firefox "You don't have permission to access /mrtg/ on this server"
I have also the problem in Fedora 8 "You don't have permission to access /mrtg/ on this server" I followed the comments.. nothing happens smilies/grin.gif
Then Just Change the line in ‘mrtg.cfg’ under /etc/httpd/conf.d as follows:

Alias /mrtg /var/www/mrtg

Order allow,deny
Allow from all

Then restart httpd and find all the graphs in Mozilla firefox smilies/kiss.gif
Md. Zafar Al Masood , September 10, 2008
One thing to rember
Change the word "location" replace with "Directory" in ‘mrtg.cfg’ under /etc/httpd/conf.d
Md. Zafar Al Masood , September 10, 2008
Hello Md. Zafar Al Massod. When I was writing this guide the mrtg.cfg worked for me. Can you try and use this mrtg.cfg

Alias /mrtg /var/www/mrtg

Order deny,allow
Deny from all
Allow from

and then open Firefox like this: ?
axel , September 10, 2008
How could I monitor bandwidth for different Machines in the network?
Could you help me how to configure more than two machine in the network mrtg?
Md. Zafar Al Masood , October 16, 2008
When using the cfgmaker you must choose different IPs and different .cfg names.

cfgmaker --global "workdir: /var/www/mrtg" -ifref=ip1 --output /etc/mrtg/mrtg1.cfg --global 'options[_]: growright,bits' public@localhost

cfgmaker --global "workdir: /var/www/mrtg" -ifref=ip2 --output /etc/mrtg/mrtg2.cfg --global 'options[_]: growright,bits' public@localhost

Then you could make a master.cfg which will include the above .cfg files to gather data from all the machines in your network.

Include: mrtg1.cfg
Include: mrtg2.cfg
axel , October 18, 2008
You don't have permission to access /mrtg/ on this server.
I have installed mrtg but it giving following error.
You don't have permission to access /mrtg/ on this server."
I have tried all the solution suggested above. Can somebody help me to solve this
T. A. Sumesh , March 06, 2009
Hi T.A. Sumesh. Which distribution and mrtg version are you using?

This guide is a little old. I need to update it and check if anything has changed. :/
axel , March 07, 2009
How do I add more machines and more info

How do I add more machines and more info; like system temperature, memory utilization etc to the mrtg? Any good tutorials or links with step by step appreciated.
Dev , July 07, 2009
Hi Dev,

You can use the cfgmaker command to add more computers. You must use a different output file instead of mrtg.cfg e.g. mrtg_pc2.cfg

I haven't used mrtg to monitor temperature so I can't help you with this.
axel , July 10, 2009
Great Work
Your work in this guide is fantastic, this guide fix my live....
P.D. I'm speak espanish my ingles is bad... :-(
Roberto Lezcano , August 22, 2009
Thank you very much Roberto!
axel , August 31, 2009

You don't have permission to access /mrtg/ on this server.
Apache/2.2.11 (Fedora) Server at localhost Port 80
poswer , September 04, 2009
it not show fully
i gave http://localhost/mrtg could not show chart can you help me.

MRTG Index Page

MRTG Multi Router Traffic Grapher
version 2.16.2 Tobias Oetiker and Dave Rand

but and http://hostname/mrtg it show error page.

"You don't have permission to access /mrtg on this server.
Apache/2.2.11 (Fedora) Server at hostname Port 80


You don't have permission to access /mrtg/ on this server.
Apache/2.2.11 (Fedora) Server at Port 80

help me.
poswer , September 04, 2009
at this time I had difficulty, after install mrtg on fedora 11 mrtg can
be run, the value of traffic is not showing the traffic chart does not
any one can show me the way..... thanks..
poswer , September 04, 2009

This instruction is nice. I create default mrtg graph its ok but
When I add new pc 0R device in mrtg graph they are not show...
Index page is show but no graph and inner page is not create

Please help me
FUAD , November 02, 2009
I'm sorry FUAD. It has been a few years since I last used mrtg. Therefore I don't know what you might have done wrong. I only remember that you have to make a different .cfg file for each computer you want to add. smilies/sad.gif
axel , November 03, 2009
And the problem is...
I know, I know... this is to old and everybody moved their life to another tool or solved the problem by themselves BUT... I am the one that reached this page too.

Sooo, to anyone having problems due to permissions, use the command below

cfgmaker --global "workdir: /var/www/html/mrtg" -ifref=ip --output /etc/mrtg/mrtg.cfg --global 'options[_]: growright,bits' community_name@localhost

Tiago , April 19, 2010
Hi Tiago,

Thanks for the heads up. It seems the workdir has changed and the html pages should be in the /var/www/html/mrtg directory, right?

I will update the guide. smilies/smiley.gif
axel , April 20, 2010
IS there any way to monitor all computer internet usage

is there anyway to monitor all pcs in multiple network and their internet bandwidth usage ?
Anbarasu , June 04, 2010
Hi Anbarasu, I'm sorry but I don't know any software to do this. smilies/sad.gif
axel , June 04, 2010
The best solution
Do not use Apache and instead of it use lighttpd. No configuration, works out of the box.
Vratislav Podzimek , May 09, 2011
Help me now

You don't have permission to access /mrtg/ on this server.

BLACK , June 17, 2011
IT Systems Engineer
Great Walk Through. I had many of the problems people have posted here, but most of the answers can be found in the configs....read the config carefully.
There's also a path error in the cfg maker and index maker commands...leave out the html in var/www/hmtl/mrtg/ the config.d file alias's var/www/mrtg to var/www/html so the mrtg folder doesn't actually exist in the var/www/html folder, so you get an error.
config.d also has restrictions on viewing the page, remove the restrictions and change to allow all to resolve. This will fix errors like "forbidden, no permission to view...yada yada"
William Rosenblath , November 21, 2011
Thank you
Thank you
Mohamed , November 27, 2011
You don't have permission to access /mrtg/ on this server.
To fix the bug "You don't have permission to access /mrtg/ on this server", create index.html file into the workdir. For example:
indexmaker --output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg
In this command above the workdir is /var/www/mrtg
Gerard Marcade , February 15, 2012
Wrong file
Hi, the error is:

The workdirectory is: /var/www/html/mrtg not /var/www/mrtg
José Henrique , June 19, 2012

Write comment

smaller | bigger
security image
Write the displayed characters



Login Form

Follow me on...

  • Facebook
  • Twitter
  • Google+: u/0/b/113039112812192417058/
  • Digg
  • Reddit: myguides
  • RSS Feed
  • e-mail

Member Login