Couriergraph does not work with rrdtool version 1.2, graph images are
not created and in web server log you will find:
ERROR: Garbage ':22:24 2005]\l' after command:
COMMENT:[Tue Aug 30 15:22:24 2005]\l
[Tue Aug 30 15:22:24 2005] [error] [client ???.???.???.???] Premature
end of script headers: /usr/lib/cgi-bin/couriergraph.cgi
To solve this problem file /usr/lib/cgi-bin/couriergraph.cgi need to be
modified (subroutines graph and graph_err):
sub graph($$$)
{
my $range = shift;
my $file = shift;
my $title = shift;
my $step = $range*$points_per_sample/$xpoints;
my $date = localtime(time);
$date =~ s|:|\\:|g unless $rrdtool_1_0;
sub graph_err($$$)
{
my $range = shift;
my $file = shift;
my $title = shift;
my $step = $range*$points_per_sample/$xpoints;
my $date = localtime(time);
$date =~ s|:|\\:|g unless $rrdtool_1_0;
Package: couriergraph
Version: 0.24-1
Couriergraph does not work with rrdtool version 1.2, graph images are
not created and in web server log you will find:
ERROR: Garbage ':22:24 2005]\l' after command: cgi-bin/ couriergraph. cgi
COMMENT:[Tue Aug 30 15:22:24 2005]\l
[Tue Aug 30 15:22:24 2005] [error] [client ???.???.???.???] Premature
end of script headers: /usr/lib/
To solve this problem file /usr/lib/ cgi-bin/ couriergraph. cgi need to be
modified (subroutines graph and graph_err):
sub graph($$$) $points_ per_sample/ $xpoints;
{
my $range = shift;
my $file = shift;
my $title = shift;
my $step = $range*
my $date = localtime(time);
$date =~ s|:|\\:|g unless $rrdtool_1_0;
my ($graphret,$xs,$ys) = RRDs::graph($file, label', 'logins/min', exponent' , 0, # don't show milli-messages/s
'--imgformat', 'PNG',
'--width', $xpoints,
'--height', $ypoints,
'--start', "-$range",
'--vertical-
'--lower-limit', 0,
'--units-
'--lazy',
'--color', 'SHADEA#ffffff',
'--color', 'SHADEB#ffffff',
'--color', 'BACK#ffffff',
$rrdtool_1_0 ? () : (
'--slope-mode'
),
"DEF: pop3d_login= $rrd:pop3d_ login:AVERAGE" , mpop3d_ login=$ rrd:pop3d_ login:MAX" , imapd_login= $rrd:imapd_ login:AVERAGE" , mimapd_ login=$ rrd:imapd_ login:MAX" , rpop3d_ login=pop3d_ login,60, *", vpop3d_ login=pop3d_ login,UN, 0,pop3d_ login,IF, $range, *", rmpop3d_ login=mpop3d_ login,60, *", rimapd_ login=imapd_ login,60, *", vimapd_ login=imapd_ login,UN, 0,imapd_ login,IF, $range, *", rmimapd_ login=mimapd_ login,60, *", rpop3d_ login#BB0000: pop3', vpop3d_ login:AVERAGE: total\: %.0lf logins', rmpop3d_ login:MAX: max\: %.0lf logins/min\l', rimapd_ login#009900: imap', vimapd_ login:AVERAGE: total\: %.0lf logins', rmimapd_ login:MAX: max\: %.0lf logins/min\l', ['.$date. ']\r',
"DEF:
"DEF:
"DEF:
"CDEF:
"CDEF:
"CDEF:
"CDEF:
"CDEF:
"CDEF:
'LINE2:
'GPRINT:
'GPRINT:
'LINE2:
'GPRINT:
'GPRINT:
'HRULE:0#000000',
'COMMENT:\s',
'COMMENT:
);
my $ERR=RRDs::error;
die "ERROR: $ERR\n" if $ERR;
}
sub graph_err($$$) $points_ per_sample/ $xpoints;
{
my $range = shift;
my $file = shift;
my $title = shift;
my $step = $range*
my $date = localtime(time);
$date =~ s|:|\\:|g unless $rrdtool_1_0;
my ($graphret,$xs,$ys) = RRDs::graph($file, label', 'logins/min', exponent' , 0, # don't show milli-messages/s
'--imgformat', 'PNG',
'--width', $xpoints,
'--height', $ypoints_err,
'--start', "-$range",
'--vertical-
'--lower-limit', 0,
'--units-
'--lazy',
'--color', 'SHADEA#ffffff',
'--color', 'SHADEB#ffffff',
'--color', 'BACK#ffffff',
$rrdtool_1_0 ? () : (
'--slope-mode'
),
"DEF: pop3d_ssl_ login=$ rrd:pop3d_ ssl_login: AVERAGE" , mpop3d_ ssl_login= $rrd:pop3d_ ssl_login: MAX", imapd_ssl_ login=$ rrd:imapd_ ssl_login: AVERAGE" , mimapd_ ssl_login= $rrd:imapd_ ssl_login: MAX", rpop3d_ ssl_login= pop3d_ssl_ login,3600, *", vpop3d_ ssl_login= pop3d_ssl_ login,UN, 0,pop3d_ ssl_login, IF,$range, *", rmpop3d_ ssl_login= mpop3d_ ssl_login, 3600,*" , rimapd_ ssl_login= imapd_ssl_ login,3600, *", rmimapd_ ssl_login= mimapd_ ssl_login, 3600,*" ,
"DEF:
"DEF:
"DEF:
"CDEF:
"CDEF:
"CDEF:
"CDEF:
"CDEF:
"CDEF:vimapd_ ssl_login= imapd_ssl_ login,UN, 0,imapd_ ssl_login, IF,$range, *", rpop3d_ ssl_login# 000000: pop3', vpop3d_ ssl_login: AVERAGE: total\: %.0lf logins', rmpop3d_ ssl_login: MAX:max\ : %.0lf logins/hour\l', rimapd_ ssl_login# 000099: imap', vimapd_ ssl_login: AVERAGE: total\: %.0lf logins', rmimapd_ ssl_login: MAX:max\ : %.0lf logins/hour\l',
'LINE2:
'GPRINT:
'GPRINT:
'LINE2:
'GPRINT:
'GPRINT:
'HRULE:0#000000',
'COMMENT: ['.$date. ']\r',
);
my $ERR=RRDs::error;
die "ERROR: $ERR\n" if $ERR;
}
I've "copied" these modifies from mailgraph 1.11-1
Thanks for this package,
Lorenzo