A quick hack to allow collectdčhtml.pl to work with newer collectd. It isn't
best (function duplicates), but it works.
--- collectd_orig.pl 2009-02-20 14:19:20.000000000 +0200
+++ collectd_mod.pl 2009-02-20 14:23:33.000000000 +0200
@@ -41,7 +41,7 @@
use File::Basename;
use Getopt::Long qw(:config no_ignore_case bundling pass_through);
-my $DIR = "/var/lib/collectd";
+my $DIR = "/var/lib/collectd/rrd/hostname";
my $HOST = undef;
GetOptions (
@@ -116,7 +116,7 @@
# list interesting rrd
my @rrds;
-my @list = `ls $DIR/*.rrd`; chomp(@list);
+my @list = `find $DIR -type f -name "*.rrd"`; chomp(@list);
foreach my $rrd (sort @list){
my $bn = basename($rrd);
@@ -142,10 +142,13 @@
END
# graph interesting rrd
-foreach my $bn (@rrds){
+foreach my $bn (@list){
print "$bn\n";
- my $rrd = "$DIR/${bn}.rrd";
+ my $rrd = "${bn}";
+ my $int_rrd = basename($bn);
+ $int_rrd =~ s/\.rrd$//;
+
my $cmd = "rrdtool info $rrd |grep 'ds\\[' |sed 's/^ds\\[//'"
." |sed 's/\\].*//' |sort |uniq";
my @dss = `$cmd`; chomp(@dss);
@@ -181,15 +184,15 @@
my $cleaned_bn = $bn; $cleaned_bn =~ s/%/_/g;
print OUT <<END;
-<A name="$cleaned_bn"></A><H1>$bn</H1>
+<A name="$cleaned_bn"></A><H1>$int_rrd</H1>
END
# graph various ranges
foreach my $span qw(1hour 1day 1week 1month){
- my $png = "$IMG_DIR/${bn}-$span.png";
+ my $png = "$IMG_DIR/${int_rrd}-$span.png";
my $cmd = "rrdtool graph $png"
- ." -t \"$bn $span\" --imgformat PNG --width 600 --height 100"
+ ." -t \"$int_rrd $span\" --imgformat PNG --width 800 --height 120"
." --start now-$span --end now --interlaced"
." $defs >/dev/null 2>&1";
system($cmd);