Revision 3535716b
Added by Hamish Coleman over 16 years ago
- ID 3535716ba15d0e014fd9b07d8130438d7ebde5d2
gnuplot-mrtg | ||
---|---|---|
#!/bin/bash
|
||
#
|
||
# given a list of MRTG nrproc files, plot the loadavg
|
||
#
|
||
|
||
if [ -z "$1" ]; then
|
||
echo need a mrtg file
|
||
exit 1
|
||
fi
|
||
|
||
if [ ! -f $1 ]; then
|
||
echo file $1 does not exist
|
||
exit 1
|
||
fi
|
||
|
||
TIMEOFFSET=39600
|
||
|
||
TEMPFILE=`tempfile`
|
||
(
|
||
cat <<EOF
|
||
set terminal png size 700,135
|
||
|
||
set mouse clipboardformat 5
|
||
set mouse mouseformat 5
|
||
set xdata time
|
||
set timefmt "%s"
|
||
set datafile missing "0"
|
||
set grid
|
||
set format y "%.0s %c"
|
||
|
||
set title "MRTG from $1"
|
||
set ylabel "Bytes per Second"
|
||
set xlabel "Time"
|
||
|
||
plot "$1" using (\$1+$TIMEOFFSET):4 t 'In' lt rgb 'green' w filledcurves y1=0 , \
|
||
"$1" using (\$1+$TIMEOFFSET):5 t 'Out' lt rgb 'blue' w lines
|
||
|
||
|
||
EOF
|
||
) >$TEMPFILE
|
||
|
||
gnuplot $TEMPFILE
|
||
rm -f $TEMPFILE
|
||
|
||
|
||
|
||
|
||
|
gnuplot.cgi | ||
---|---|---|
#!/usr/bin/perl
|
||
use warnings;
|
||
use strict;
|
||
#
|
||
# Given the name of a MRTG log file in the current directory, output a PNG
|
||
#
|
||
|
||
use CGI ':all';
|
||
use CGI::Carp qw(fatalsToBrowser);
|
||
|
||
my $log = param('log');
|
||
if (!defined $log) {
|
||
die "No logfile";
|
||
}
|
||
if (! -e $log) {
|
||
die "logfile does not exist";
|
||
}
|
||
|
||
my $xsize = param('xs') || 700;
|
||
my $ysize = param('ys') || 135;
|
||
my $ylabel = param('ylabel') || 'Bytes per Second';
|
||
my $li = param('li') || 'In';
|
||
my $lo = param('lo') || 'Out';
|
||
|
||
# FIXME - calulate the timezone
|
||
my $timezone_offset=39600;
|
||
|
||
print "Content-Type: image/png\n\n";
|
||
|
||
open( GNUPLOT, "|/usr/bin/gnuplot");
|
||
print GNUPLOT <<EOF;
|
||
set terminal png size $xsize,$ysize
|
||
set key left top
|
||
set grid
|
||
|
||
set xdata time
|
||
set format y "%.0s %c"
|
||
set timefmt "%s"
|
||
set datafile missing "0"
|
||
|
||
# set title "MRTG from $log"
|
||
# set xlabel "Time"
|
||
set ylabel "$ylabel"
|
||
|
||
plot "$log" using (\$1+$timezone_offset):4 t '$li' lt rgb 'green' w filledcurves y1=0 , \\
|
||
"$log" using (\$1+$timezone_offset):5 t '$lo' lt rgb 'blue' w lines
|
||
EOF
|
||
|
||
|
||
|
||
|
||
|
||
|
Also available in: Unified diff
Add two systems for plotting MRTG log data in gnuplot