X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/upsgraph/blobdiff_plain/46ead44b92d43186d9bfb7353f9ed391ff4a90bd..75dbe166d9f11f8655f68cb93a53a9baacbf0e89:/upsgraph.pl diff --git a/upsgraph.pl b/upsgraph.pl index c61b6c0..e846a23 100755 --- a/upsgraph.pl +++ b/upsgraph.pl @@ -8,6 +8,7 @@ if ((@ARGV != 1) && (@ARGV != 2)) { use Net::SNMP; use IO::Socket::INET; use RRDs; +use File::Copy; use Data::Dumper; $UPSGRAPH::outdir = ""; @@ -323,14 +324,15 @@ while(1) { } foreach my $var (@{$host->{'fields'}}) { - my @graphdef = ("-t", $hostname." - ".$vars->{$var}->{'name'}, "DEF:${var}=${rrdfile}.${var}:${var}:AVERAGE", "LINE1:${var}#FF0000"); + my @graphdef = ("--lazy", "-t", $hostname." - ".$vars->{$var}->{'name'}, "DEF:${var}=${rrdfile}.${var}:${var}:AVERAGE", "LINE1:${var}#FF0000"); (my $averages, my $width, my $height) = - RRDs::graph("${outdir}/${hostname}.${var}.png.new", + RRDs::graph("${outdir}/${hostname}.${var}.png.work", "-w", "720", @graphdef); if (RRDs::error) { print "Error while graphing: " . RRDs::error . "\n"; } else { + copy("${outdir}/${hostname}.${var}.png.work", "${outdir}/${hostname}.${var}.png.new"); rename("${outdir}/${hostname}.${var}.png.new", "${outdir}/${hostname}.${var}.png"); } @@ -354,36 +356,39 @@ while(1) { push @graphdef, "GPRINT:cur:Current\\: %.2lf"; ($averages, $width, $height) = - RRDs::graph("${outdir}/${hostname}.${var}.long.png.new", + RRDs::graph("${outdir}/${hostname}.${var}.long.png.work", "-w", "1008", @graphdef); if (RRDs::error) { print "Error while graphing: " . RRDs::error . "\n"; } else { + copy("${outdir}/${hostname}.${var}.long.png.work", "${outdir}/${hostname}.${var}.long.png.new"); rename("${outdir}/${hostname}.${var}.long.png.new", "${outdir}/${hostname}.${var}.long.png"); } print HTML2 "
"; ($averages, $width, $height) = - RRDs::graph("${outdir}/${hostname}.${var}.week.png.new", + RRDs::graph("${outdir}/${hostname}.${var}.week.png.work", "-w", "1008", "-e", "now", "-s", "end-1w", @graphdef); if (RRDs::error) { print "Error while graphing: " . RRDs::error . "\n"; } else { + copy("${outdir}/${hostname}.${var}.week.png.work", "${outdir}/${hostname}.${var}.week.png.new"); rename("${outdir}/${hostname}.${var}.week.png.new", "${outdir}/${hostname}.${var}.week.png"); } print HTML2 "
"; ($averages, $width, $height) = - RRDs::graph("${outdir}/${hostname}.${var}.year.png.new", + RRDs::graph("${outdir}/${hostname}.${var}.year.png.work", "-w", "1008", "-e", "now", "-s", "end-1y", @graphdef); if (RRDs::error) { print "Error while graphing: " . RRDs::error . "\n"; } else { + copy("${outdir}/${hostname}.${var}.year.png.work", "${outdir}/${hostname}.${var}.year.png.new"); rename("${outdir}/${hostname}.${var}.year.png.new", "${outdir}/${hostname}.${var}.year.png"); }