Portál AbcLinuxu, 12. května 2025 05:48

Dotaz: RRD nekresli...Preco?

Michal Fecko avatar 8.7.2005 00:26 Michal Fecko | skóre: 31 | blog: Poznámkový blog
RRD nekresli...Preco?
Přečteno: 233×
Odpovědět | Admin
Zdravim,
rad by som rozchodil grafy teplot na servery, ale nejako sa mi nedari prinutit rrdtools k cinu... Prikladam moj zdrojak na kreslenie teplot. Dakujem za podnetne navrhy, postrehy, pripomienky... (Graf stale vypisuje nuly...) V rrd este len zacinam...
#!/usr/bin/perl

my $rrd = '/home/httpd/html/rra';
my $img = '/home/httpd/html/img';

$hostname=`uname -n`;
chop($hostname);
($nodename)=split(/\./,$hostname);

&Process("lms", "HDD/CPU Temperature Load","$nodename","$hostname");

sub Process
{

my $in = `hddtemp /dev/hde | awk '{print \$3}' | /bin/cut -
d"°" -f1`;

my $out = `sensors | grep "CPU Temp"  |awk '{print \$3}'  |
 /bin/cut -d"°" -f1 |cut -d "+" -f2`;

      
        chomp($in);
        chomp($out);

        print "$_[0] traffic in, out: $in, $out\n";

        # if rrdtool database doesn't exist, create it
        if (! -e "$rrd/$_[2]-$_[0].rrd")
        {
#                print "creating rrd database for $_[0] interface...\n";
                `rrdtool create $rrd/$_[2]-$_[0].rrd -s 300 
DS:in:DERIVE:3600:0:12500000 DS:out:DERIVE:3600:0:12500000 
RRA:AVERAGE:0.5:1:576 RRA:AVERAGE:0.5:6:672 RRA:AVERAGE:0.5:
24:732 RRA:AVERAGE:0.5:144:1460`;
        }

        `rrdtool update $rrd/$_[2]-$_[0].rrd -t in:out N:$in:$out`;

        &CreateGraph($_[0], "day", $_[1],$_[2],$_[3]);
        &CreateGraph($_[0], "week", $_[1],$_[2],$_[3]);
        &CreateGraph($_[0], "month", $_[1],$_[2],$_[3]); 
        &CreateGraph($_[0], "year", $_[1],$_[2],$_[3]);
}

sub CreateGraph
{
        $cmd="rrdtool graph $img/$_[3]-$_[0]-$_[1].png -s -
1$_[1] -t \"$_[4] :: $_[2] / $_[1]\""; 
        $cmd="$cmd --lazy -h 80 -w 600 -l 0 -a PNG -v Celzius ";
        $cmd="$cmd DEF:in=$rrd/$_[3]-$_[0].rrd:in:AVERAGE ";
        $cmd="$cmd DEF:out=$rrd/$_[3]-$_[0].rrd:out:AVERAGE ";
        $cmd="$cmd CDEF:output=out,8,* "; 
        $cmd="$cmd CDEF:input=in,8,* ";
        $cmd="$cmd AREA:input#9FA4EE:HDD ";
        $cmd="$cmd LINE1:input#000080 ";
        $cmd="$cmd GPRINT:input:MAX:\"  Max\\: %5.1lf %s\" ";
        $cmd="$cmd GPRINT:input:AVERAGE:\" Avg\\: %5.1lf %S \" ";
        $cmd="$cmd GPRINT:input:LAST:\" Current\\: %5.1lf %S C\\n\" ";
        $cmd="$cmd LINE1:output#EB0A5F:CPU ";
        $cmd="$cmd GPRINT:output:MAX:\"  Max\\: %5.1lf %S\" ";
        $cmd="$cmd GPRINT:output:AVERAGE:\" Avg\\: %5.1lf %S\" ";
        $cmd="$cmd GPRINT:output:LAST:\" Current\\: %5.1lf %S C\" ";
        $cmd="$cmd HRULE:0#000000";
`$cmd`;
}
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Michal Fecko avatar 8.7.2005 00:32 Michal Fecko | skóre: 31 | blog: Poznámkový blog
Rozbalit Rozbalit vše Re: Trosku sa to zlepsuje...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Resp. po vlozeni DERIVE namiesto GAUGE mi to relativne ide, ale graf nieje spojity, takze neviem... :(

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.