[rrd-users] newbie perl problem with rrds::graph
    Jaakko Kemppainen 
    jaakko.kemppainen at gmail.com
       
    Thu Jan 14 09:33:56 CET 2010
    
    
  
Hi,
I'm sorry if I bother you with perl problem (lack of skills?) you
might not care about - in that case could someone point me to a
correct perl mailing list to be bothered.
I'm trying to make a perl script to create graphs, much like in
http://martybugs.net/linux/hddtemp2.cgi
Only I would like to pass different amount of data to CreateGraph
function each time and have that function to loop through parameters
and create DEF and LINE/GRAPH -lines based on that.
Something along the lines of (doesn't work but cannot figure out what
I'm doing wrong):
-------------------------------
 &CreateGraph("$computer", "day", "$harddrives);
 &CreateGraph("$computer", "week", "$harddrives);
sub CreateGraph
  {
  # creates graph
  # inputs: $_[0]: computer id
  #         $_[1]: interval (ie, day, week, month, year)
  #         $_[2]: hard drive names for computer (ie, hda, hdb, hdc)
  $size = scalar @_;  # get total amount of parameters
  $defs = '';
  $graphs = '';
  for($i = 2; $i < $size; $i++) {
        $defs .= "DEF:$_[$i]=$rrd/$_[$i].rrd:temp:AVERAGE ";
      $graphs .= "LINE2:$_[$i]#FF9900:$_[$i]\\: ";
      $graphs .= "GPRINT:$_[$i]:MIN:  Min\\: %2.lf ",
      $graphs .= "GPRINT:$_[$i]:MAX: Max\\: %2.lf ",
      $graphs .= "GPRINT:$_[$i]:AVERAGE: Avg\\: %4.1lf ",
      $graphs .= "GPRINT:$_[$i]:LAST: Current\\: %2.lf degrees C\\n ",
      }
      RRDs::graph "$img/$_[0]/hddtemp-$_[1].png",
              "--lazy",
              "-s -1$_[1]",
              "-t hdd temperature :: hard disk drives",
              "-h", "80", "-w", "600",
              "-a", "PNG",
              "-v degrees C",
              "--slope-mode",
              "$defs",
              "$graphs";
      if ( = RRDs::error) { print "$0: unable to generate $_[1] graph:
$ERROR\n"; }
  }
------------------------------------
Could anyone help me on this?
--
Jaakko Kemppainen
jaakko.kemppainen at gmail.com
    
    
More information about the rrd-users
mailing list