#!/usr/bin/perl

#
# Monitors load
#
# creates database if it does not exist
# or adds values for actual time
#


require "./rrstats.conf";



$rrdb = $rrdstore."/base_load";		# rrd for this iface
$wwwdir = $wwwdir."/";


if ( !( -e "$rrdb.rrd") ) {
	$tm = time;
	# every 600 [s] (10min), 1200s maximum interval between feeding data
	# 1. AVERAGE, every 1st value, store 144 (6*24) values (1day)
	# 2. AVERAGE, every 6th value (each hour), store 720 values (30days)
	system ("$rrdtoolp create $rrdb.rrd --start $tm -s 600 \\
			    DS:input:GAUGE:1200:U:500 \\
			    RRA:MAX:0.5:1:144 \\
			    RRA:MAX:0.5:6:720");
	print "Database created.\n";
	exit;
}

$load = `cat /proc/loadavg`;

chomp($load);
@splited = split (" ", $load);
$load5 = $splited[1];

#print "$load5\n";

$tm = time;
system("$rrdtoolp update $rrdb.rrd $tm:$load5");

#86400 = 24h
$img = $wwwdir."load.gif";
$size1 = `$rrdtoolp graph $img --start -86400 -X 0 -i \\
		    --vertical-label load \\
		    DEF:inoctets=$rrdb.rrd:input:MAX \\
		    AREA:inoctets#00E000:\"Load\"  \\
		    HRULE:1#0000FF:"Normal load"`;

#25932000 = 30*86400
$img = $wwwdir."load.30d.gif";
$size2 = `$rrdtoolp graph $img --start -2592000 -X 0 -i \\
		    --vertical-label load \\
		    DEF:inoctets=$rrdb.rrd:input:MAX \\
		    AREA:inoctets#00E000:\"Load\"  \\
		    HRULE:1#0000FF:"Normal load"`;
