Sida 1 av 1

Visa tid när graf genererades i graf

Postat: 23 jan 2009, 18:50
av HUSKii
Hej!

Jag skulle vilja visa tiden då en graf genererades på raden under temperatur värdena, jag har kikat runt lite på nätet och kommit fram till följande:

Kod: Markera allt

#!/usr/bin/perl

use RRDs;

my $cur_time = time();
my $start_time = $cur_time - 86400;     # set end time to 24 hours ago
$timeData = localtime(time);
$TestTimeData = time();
RRDs::graph "/var/www/graph_server_24h.png",
         "--start= $start_time",
         "--end= $cur_time",
         "--title= Temperatur i servern",
         "--height= 200",
         "--width= 700",
         "--vertical-label= �C",
         "--watermark=www.HUSKii.st Generated\: $TestTimeData",
         "--alt-autoscale",
         "DEF:ServerTemp=/home/huskii/rrddata/server_temp.rrd:servertemp:AVERAGE",
         "COMMENT:\t\t\t\tNu     Medel    Max    Min\\n",
         "HRULE:0#0000FF",
         "LINE1:ServerTemp#FF00FF:Servern\t\t",
         "GPRINT:ServerTemp:LAST:%6.1lf",
         "GPRINT:ServerTemp:AVERAGE:%6.1lf",
         "GPRINT:ServerTemp:MAX:%6.1lf",
         "GPRINT:ServerTemp:MIN:%6.1lf\\n",
         "COMMENT:\t\t\t\t\t\tGraf genererad $timeData\\n";

my $err=RRDs::error;
if ($err) {print "problem generating the graph: $err\n";}

print "Done!\n"
Men jag får detta som svar:

Kod: Markera allt

problem generating the graph: Garbage ':45:55 2009\n' after command:
COMMENT:                                                Graf genererad Fri Jan 23 17:45:55 2009\n
Done!
och hur gör jag om jag vill ändra sättet som datumet visas, ex ändra till 2009-01-23 kl: 17:45:55.

Re: Visa tid när graf genererades i graf

Postat: 24 jan 2009, 11:35
av HUSKii
Efter en väldans massa sökande på nätet hittade jag denna forumtråden: http://forums.hostmysite.com/about1274.html.
I åttonde posten så finns detta:

Kod: Markera allt

#!/usr/bin/perl

use HTTP::Date;
my ($date, $time) = split(" ", HTTP::Date::time2iso());
my ($hour, $min) = split(":", $time);
print "$hour:$min $date\n\n";
exit;
Jag lade till följande bitar i början av mitt graf genererings script:

Kod: Markera allt

use HTTP::Date;
my ($date, $time) = split(" ", HTTP::Date::time2iso());
my ($hour, $min) = split(":", $time);
och sen detta på den raden där man vill ha tiden och datum när grafen ritades

Kod: Markera allt

         "COMMENT:Graf genererad\\: $hour\\:$min $date\\n",
Om denna raden är den sista så ska det sista tecknet vara ett ";"

Graf genererings scriptet är baserat på HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)
Hoppas att andra också får nytta av detta också.

Re: Visa tid när graf genererades i graf

Postat: 02 aug 2009, 00:57
av Plutonium
Tusen tack!

Re: Visa tid när graf genererades i graf

Postat: 02 aug 2009, 01:23
av HUSKii
Det var så lite så! Äntligen nån som har nytta av det som 'jag' har 'knåpat' ihop. :D
För övrigt går det även att ha tiden i watermark.

Lägg till detta långt upp i scriptet:

Kod: Markera allt

use HTTP::Date;
my ($date, $time) = split(" ", HTTP::Date::time2iso());
my ($hour, $min) = split(":", $time);
sen detta i scriptsnutten som skapar grafen:

Kod: Markera allt

"--watermark= Plutonium | Graf genererad\: $date kl\: $hour\:$min",
Jag har det så, tycker det ser lite snyggt ut så, lite mer diskret.

Re: Visa tid när graf genererades i graf

Postat: 03 aug 2009, 15:46
av Plutonium
Tjusigt! Det tar vi sa polisen. :wink: