In the contribs area of the package there is a nice collectd2html.pl script
which assumes that the data is present in /var/lib/collectd and infers the
hostname. All fine and dandy, but there is no way to override this. This is
useful if one generates the data on a machine, but generates the graphs on
another one.
With the attached patch now is possible to specify a different host and/or a
different directory for the data.
The added options are '--host-is' and '--data-dir'.
An invocation for a remote host whose rrd files have been placed in
/var/tmp/collectd-remoteh looks like:
collectd2html.pl --host-is=remoteh --data-dir=/var/tmp/collectd-remoteh
################################################################################
#
################################################################################
#
use strict;
use Fatal qw(open close);
use File::Basename;
use strict;
use Fatal qw(open close);
use File::Basename;
+use Getopt::Long qw(:config no_ignore_case bundling pass_through);
+
+my $DIR = "/var/lib/collectd";
+my $HOST = "_UNDEFINED_";
+
+GetOptions (
+ "host-is=s" => \$HOST,
+ "data-dir=s" => \$DIR
+);
-my $DIR = "/var/lib/collectd";
my @COLORS = (0xff7777, 0x7777ff, 0x55ff55, 0xffcc77, 0xff77ff, 0x77ffff,
0xffff77, 0x55aaff);
my @tmp = `/bin/hostname`; chomp(@tmp);
my @COLORS = (0xff7777, 0x7777ff, 0x55ff55, 0xffcc77, 0xff77ff, 0x77ffff,
0xffff77, 0x55aaff);
my @tmp = `/bin/hostname`; chomp(@tmp);
+$HOST = $tmp[0] if ( $HOST =~ /_UNDEFINED_/ );
my $IMG_DIR = "${HOST}.dir";
my $HTML = "${HOST}.html";
my $IMG_DIR = "${HOST}.dir";
my $HTML = "${HOST}.html";