4

I am using MRTG + RRDtool to monitor the bandwidth on each switchport of a Cisco Catalyst 2950 via snmp. Is MRTG capable of generating an hourly graph? With RRDtool I was able to set the interval to 1 minute in hopes of getting a more detailed graph, but the shortest timeframe the graph is 'Daily' graph (5 Minute Average) and the image is too small.

What I am looking to get out of this: I am looking to be able to visually monitor all of the switch ports and tell when port begins to have unusually high traffic, in real time (1 minute interval of snmp poll, graphs generated, and page refreshed).

SuperMicro321
  • 41
  • 2
  • 4

4 Answers4

3

You can use the rrdgraph command line tool to generate graphs using the rrd files that MRTG generates. You can inspect he rrd file and see how soon it is consolidating the data, if it does this only after a day then you will loose the resolution that you are after. So basically I would for where MRTG stores the rra templates and the rrd graph templates.

It might take you a little time but since RRD is the backend graphing library/toolset for MRTG, Cacti, Munin, etc it is worth learning. I blogged about some things you might want to do when creating your own graphs on the Server Fault blog here.

Hopefully someone more familiar with MRTG can give you more details on your specific issue with MRTG.

Kyle Brandt
  • 82,107
  • 71
  • 302
  • 444
2
  1. Modify MRTG to use RRDtool by adding or changing the LogFormat line in your mrtg.cfg and defining the paths if necessary. Decrease your interval to 1 minute.

    LogFormat: rrdtool
    Interval: 1
    PathAdd: /path/to/rrdtool/bin/
    LibAdd: /path/to/rrdtool/lib/perl/
    
  2. Change your cron job to run every minute. (Edit as necessary.)

    vim /etc/cron.d/mrtg
    
  3. Change your index to one of the suggested Perl CGI scripts. This will generate the images on demand, rather than every time the cron job runs. I used the One4All script referenced in the link above and this is how it was modified:

    After my %graphparams = ( insert the new graph 'hourly' => ['-10h', 'now', 60],

    Below;

    # the header lines and tags for the graphics
    my $pngdir = getdirwriteable($cfg->{config}{imagedir}, $cfg->{targets}{directory}{$log});
    

    Add a section for the new hourly graph defined previously.

    if ($sup !~ /h/) {
            print $q->h2("'Hourly' graph (1 Minute Average)"),"\n",
                    $q->img({src => "$url=hourly", alt => "hourly-graph",
                            getpngsize("$pngdir$log-hourly.png")}
                    ), "\n";
    }
    
  4. Modified the Apache configuration to execute the CGI script. (/etc/httpd/conf.d/mrtg.conf)

    Outside of the tag add;

    AddHandler cgi-script .cgi
    

    Inside of the tag add;

    Options +ExecCGI
    
  5. Restart Apache and browse to your new MRTG index page.

Aaron Copley
  • 12,345
  • 5
  • 46
  • 67
0

If you use the Routers2 frontend for MRTG/RRD, then it comes with the ability to make a 4hour graph, if you are collecting data at 1min intervals. At standard resolution, 4h is the graph width with 1pixel per data point. You can enable this in the routers2.conf file.

Steve Shipway
  • 742
  • 5
  • 17
-1

After some modifying, the following patches worked for me: http://www.loplop.net/projects/1minMRTG/

SuperMicro321
  • 41
  • 2
  • 4