]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - config/cfgroot/graphs.pl
Merge branch 'next' of git.ipfire.org:/pub/git/ipfire-2.x into next
[people/teissler/ipfire-2.x.git] / config / cfgroot / graphs.pl
index 668e8934a22bb1d4b83b4797282a368cdeafe15c..cc00c665bcb94cf0e2805053270aa9c70b15d82d 100644 (file)
@@ -3,7 +3,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2008  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2005-2010  IPFire Team                                        #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -53,7 +53,7 @@ if ( $mainsettings{'RRDLOG'} eq "" ){
 
 my $count = 0;
 my @sensorsgraphs = ();
-my @sensorsdir = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/sensors-*/`;
+my @sensorsdir = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/sensors-*/ 2>/dev/null`;
 foreach (@sensorsdir){
        chomp($_);chop($_);
        foreach (`ls $_/*`){
@@ -100,7 +100,7 @@ sub makegraphbox {
 # collectd we are now able to handle any kind of cpucount
 
 sub updatecpugraph {
-       my $cpucount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/cpu-*/ | wc -l`;
+       my $cpucount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/cpu-*/ 2>/dev/null | wc -l`;
        my $period    = $_[0];
        my @command = (
                "-",
@@ -116,7 +116,7 @@ sub updatecpugraph {
                "-l 0",
                "-u 100",
                "-r",
-               "-t ".$Lang::tr{'cpu usage per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'cpu usage per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'percentage'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -249,7 +249,7 @@ sub updateloadgraph {
                "-h 125",
                "-l 0",
                "-r",
-               "-t Load Average".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t Load Average ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'processes'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -257,11 +257,11 @@ sub updateloadgraph {
                "DEF:load1=".$mainsettings{'RRDLOG'}."/collectd/localhost/load/load.rrd:shortterm:AVERAGE",
                "DEF:load5=".$mainsettings{'RRDLOG'}."/collectd/localhost/load/load.rrd:midterm:AVERAGE",
                "DEF:load15=".$mainsettings{'RRDLOG'}."/collectd/localhost/load/load.rrd:longterm:AVERAGE",
-               "AREA:load1".$color{"color13"}."A0:1 Minute:",
+               "AREA:load1".$color{"color13"}."A0:1 ".$Lang::tr{'minute'}.":",
                "GPRINT:load1:LAST:%5.2lf",
-               "AREA:load5".$color{"color18"}."A0:5 Minuten:",
+               "AREA:load5".$color{"color18"}."A0:5 ".$Lang::tr{'minutes'}.":",
                "GPRINT:load5:LAST:%5.2lf",
-               "AREA:load15".$color{"color14"}."A0:15 Minuten:",
+               "AREA:load15".$color{"color14"}."A0:15 ".$Lang::tr{'minutes'}.":",
                "GPRINT:load15:LAST:%5.2lf\\j",
                "LINE1:load5".$color{"color13"},
                "LINE1:load1".$color{"color18"},
@@ -288,7 +288,7 @@ sub updatememorygraph {
                "-l 0",
                "-u 100",
                "-r",
-               "-t ".$Lang::tr{'memory usage per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'memory usage per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'percentage'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -350,13 +350,13 @@ sub updateswapgraph {
                "-l 0",
                "-u 100",
                "-r",
-               "-t ".$Lang::tr{'swap usage per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'swap usage per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'percentage'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
-               "DEF:used=".$mainsettings{'RRDLOG'}."/collectd/localhost/swap/swap-used.rrd:value:AVERAGE",
                "DEF:free=".$mainsettings{'RRDLOG'}."/collectd/localhost/swap/swap-free.rrd:value:AVERAGE",
+               "DEF:used=".$mainsettings{'RRDLOG'}."/collectd/localhost/swap/swap-used.rrd:value:AVERAGE",
                "DEF:cached=".$mainsettings{'RRDLOG'}."/collectd/localhost/swap/swap-cached.rrd:value:AVERAGE",
                "CDEF:total=used,free,cached,+,+",
                "CDEF:usedpct=100,used,total,/,*",
@@ -372,16 +372,16 @@ sub updateswapgraph {
                "GPRINT:usedpct:AVERAGE:%3.2lf%%",
                "GPRINT:usedpct:MIN:%3.2lf%%",
                "GPRINT:usedpct:LAST:%3.2lf%%\\j",
-               "STACK:freepct".$color{"color12"}."A0:".sprintf("%-25s",$Lang::tr{'free swap'}),
-               "GPRINT:freepct:MAX:%3.2lf%%",
-               "GPRINT:freepct:AVERAGE:%3.2lf%%",
-               "GPRINT:freepct:MIN:%3.2lf%%",
-               "GPRINT:freepct:LAST:%3.2lf%%\\j",
                "STACK:cachedpct".$color{"color13"}."A0:".sprintf("%-25s",$Lang::tr{'cached swap'}),
                "GPRINT:cachedpct:MAX:%3.2lf%%",
                "GPRINT:cachedpct:AVERAGE:%3.2lf%%",
                "GPRINT:cachedpct:MIN:%3.2lf%%",
                "GPRINT:cachedpct:LAST:%3.2lf%%\\j",
+               "STACK:freepct".$color{"color12"}."A0:".sprintf("%-25s",$Lang::tr{'free swap'}),
+               "GPRINT:freepct:MAX:%3.2lf%%",
+               "GPRINT:freepct:AVERAGE:%3.2lf%%",
+               "GPRINT:freepct:MIN:%3.2lf%%",
+               "GPRINT:freepct:LAST:%3.2lf%%\\j",
                );
                $ERROR = RRDs::error;
                print "Error in RRD::graph for memory: ".$ERROR."\n" if $ERROR;
@@ -407,7 +407,7 @@ sub updateprocessescpugraph {
                "-h 125",
                "-l 0",
                "-r",
-               "-t ".$Lang::tr{'processes'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'processes'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"}
@@ -422,12 +422,15 @@ sub updateprocessescpugraph {
 
                push(@command,"COMMENT:".$Lang::tr{'caption'}."\\j");
 
+               my $colorIndex = 0;
                foreach(@processesgraph){
+                       my $colorIndex = 10 + $count % 15;
+                       my $color="$color{\"color$colorIndex\"}";
                        chomp($_);my @name=split(/\-/,$_);chop($name[1]);
                        if ($count eq "0"){
-                               push(@command,"AREA:".$name[1].random_hex_color(6)."A0:".$name[1]);
+                               push(@command,"AREA:".$name[1].$color."A0:".$name[1]);
                        }else{
-                               push(@command,"STACK:".$name[1].random_hex_color(6)."A0:".$name[1]);
+                               push(@command,"STACK:".$name[1].$color."A0:".$name[1]);
                        }
                        $count++;
                }
@@ -457,7 +460,7 @@ sub updateprocessesmemorygraph {
                "-h 125",
                "-l 0",
                "-r",
-               "-t ".$Lang::tr{'processes'}." ".$Lang::tr{'memory'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'processes'}." ".$Lang::tr{'memory'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -471,12 +474,15 @@ sub updateprocessesmemorygraph {
 
                push(@command,"COMMENT:".$Lang::tr{'caption'}."\\j");
 
+               my $colorIndex = 0;
                foreach(@processesgraph){
                        chomp($_);my @name=split(/\-/,$_);chop($name[1]);
+                       my $colorIndex = 10 + $count % 15;
+                       my $color="$color{\"color$colorIndex\"}";
                        if ($count eq "0"){
-                               push(@command,"AREA:".$name[1].random_hex_color(6)."A0:".$name[1]);
+                               push(@command,"AREA:".$name[1].$color."A0:".$name[1]);
                        }else{
-                               push(@command,"STACK:".$name[1].random_hex_color(6)."A0:".$name[1]);
+                               push(@command,"STACK:".$name[1].$color."A0:".$name[1]);
                        }
                        $count++;
                }
@@ -503,7 +509,7 @@ sub updatediskgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$disk." ".$Lang::tr{'disk access per'}." ".$Lang::tr{$period},
+               "-t ".$disk." ".$Lang::tr{'disk access per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes per second'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -553,7 +559,7 @@ sub updateifgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'traffic on'}." ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'traffic on'}." ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes per second'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -597,27 +603,42 @@ sub updatefwhitsgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'firewall hits per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'firewall hits per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes per second'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
-               "DEF:output=".$mainsettings{'RRDLOG'}."/collectd/localhost/iptables-filter-FORWARD/ipt_bytes-DROP_OUTPUT.rrd:value:AVERAGE",
-               "DEF:input=".$mainsettings{'RRDLOG'}."/collectd/localhost/iptables-filter-INPUT/ipt_bytes-DROP_INPUT.rrd:value:AVERAGE",
+               "DEF:output=".$mainsettings{'RRDLOG'}."/collectd/localhost/iptables-filter-POLICYOUT/ipt_bytes-DROP_OUTPUT.rrd:value:AVERAGE",
+               "DEF:input=".$mainsettings{'RRDLOG'}."/collectd/localhost/iptables-filter-POLICYIN/ipt_bytes-DROP_INPUT.rrd:value:AVERAGE",
+               "DEF:forward=".$mainsettings{'RRDLOG'}."/collectd/localhost/iptables-filter-POLICYFWD/ipt_bytes-DROP_FORWARD.rrd:value:AVERAGE",
                "DEF:newnotsyn=".$mainsettings{'RRDLOG'}."/collectd/localhost/iptables-filter-NEWNOTSYN/ipt_bytes-DROP_NEWNOTSYN.rrd:value:AVERAGE",
                "DEF:portscan=".$mainsettings{'RRDLOG'}."/collectd/localhost/iptables-filter-PSCAN/ipt_bytes-DROP_PScan.rrd:value:AVERAGE",
-               "CDEF:amount=output,input,newnotsyn,+,+",
-               "COMMENT:".sprintf("%-20s",$Lang::tr{'caption'}),
+               "COMMENT:".sprintf("%-26s",$Lang::tr{'caption'}),
                "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}),
                "COMMENT:".sprintf("%15s",$Lang::tr{'average'}),
-               "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}),
+               "COMMENT:".sprintf("%14s",$Lang::tr{'minimal'}),
                "COMMENT:".sprintf("%15s",$Lang::tr{'current'})."\\j",
-               "AREA:amount".$color{"color24"}."A0:".sprintf("%-20s",$Lang::tr{'firewallhits'}),
-               "GPRINT:amount:MAX:%8.1lf %sBps",
-               "GPRINT:amount:AVERAGE:%8.1lf %sBps",
-               "GPRINT:amount:MIN:%8.1lf %sBps",
-               "GPRINT:amount:LAST:%8.1lf %sBps\\j",
-               "STACK:portscan".$color{"color25"}."A0:".sprintf("%-20s",$Lang::tr{'portscans'}),
+               "AREA:output".$color{"color25"}."A0:".sprintf("%-25s",$Lang::tr{'firewallhits'}."-OUTPUT"),
+               "GPRINT:output:MAX:%8.1lf %sBps",
+               "GPRINT:output:AVERAGE:%8.1lf %sBps",
+               "GPRINT:output:MIN:%8.1lf %sBps",
+               "GPRINT:output:LAST:%8.1lf %sBps\\j",
+               "STACK:forward".$color{"color23"}."A0:".sprintf("%-25s",$Lang::tr{'firewallhits'}."-FORWARD"),
+               "GPRINT:forward:MAX:%8.1lf %sBps",
+               "GPRINT:forward:AVERAGE:%8.1lf %sBps",
+               "GPRINT:forward:MIN:%8.1lf %sBps",
+               "GPRINT:forward:LAST:%8.1lf %sBps\\j",
+               "STACK:input".$color{"color24"}."A0:".sprintf("%-25s",$Lang::tr{'firewallhits'}."-INPUT"),
+               "GPRINT:input:MAX:%8.1lf %sBps",
+               "GPRINT:input:AVERAGE:%8.1lf %sBps",
+               "GPRINT:input:MIN:%8.1lf %sBps",
+               "GPRINT:input:LAST:%8.1lf %sBps\\j",
+               "STACK:newnotsyn".$color{"color14"}."A0:".sprintf("%-25s","NewNotSyn"),
+               "GPRINT:newnotsyn:MAX:%8.1lf %sBps",
+               "GPRINT:newnotsyn:MIN:%8.1lf %sBps",
+               "GPRINT:newnotsyn:AVERAGE:%8.1lf %sBps",
+               "GPRINT:newnotsyn:LAST:%8.1lf %sBps\\j",
+               "STACK:portscan".$color{"color16"}."A0:".sprintf("%-25s",$Lang::tr{'portscans'}),
                "GPRINT:portscan:MAX:%8.1lf %sBps",
                "GPRINT:portscan:MIN:%8.1lf %sBps",
                "GPRINT:portscan:AVERAGE:%8.1lf %sBps",
@@ -645,7 +666,7 @@ sub updatepinggraph {
                "-h 125",
                "-l 0",
                "-r",
-               "-t ".$Lang::tr{'linkq'}." ".$host." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'linkq'}." ".$host." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ms",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -689,7 +710,7 @@ sub updatewirelessgraph {
                "--alt-y-grid",
                "-w 600",
                "-h 125",
-               "-t Wireless ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t Wireless ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v dBm",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -733,7 +754,7 @@ sub updatehddgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$disk." ".$Lang::tr{'harddisk temperature'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$disk." ".$Lang::tr{'harddisk temperature'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v Celsius",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -773,7 +794,7 @@ sub updatehwtempgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'sensors temp'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'mbmon temp'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
@@ -826,7 +847,7 @@ sub updatehwfangraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'mbmon fan'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'mbmon fan'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
@@ -879,7 +900,7 @@ sub updatehwvoltgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'mbmon volt'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'mbmon volt'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
@@ -952,7 +973,7 @@ sub updateqosgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'Utilization on'}." (".$qossettings{'DEV'}.") ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'Utilization on'}." (".$qossettings{'DEV'}.") ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes per second'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -968,17 +989,18 @@ sub updateqosgraph {
                @classes = <FILE>;
                close FILE;
 
+               my $colorIndex = 0;
                foreach $classentry (sort @classes){
                        @classline = split( /\;/, $classentry );
                        if ( $classline[0] eq $qossettings{'DEV'} ){
-                               $color=random_hex_color(6);
+                               my $colorIndex = 10 + $count % 15;
+                               $color="$color{\"color$colorIndex\"}";
                                push(@command, "DEF:$classline[1]=$mainsettings{'RRDLOG'}/class_$qossettings{'CLASSPRFX'}-$classline[1]_$qossettings{'DEV'}.rrd:bytes:AVERAGE");
 
                                if ($count eq "1") {
-                                       push(@command, "AREA:$classline[1]$color:Klasse $classline[1] -".sprintf("%15s",$classline[8]));
+                                       push(@command, "AREA:$classline[1]$color:$Lang::tr{'Class'} $classline[1] -".sprintf("%15s",$classline[8]));
                                } else {
-                                       push(@command, "STACK:$classline[1]$color:Klasse $classline[1] -".sprintf("%15s",$classline[8]));
-
+                                       push(@command, "STACK:$classline[1]$color:$Lang::tr{'Class'} $classline[1] -".sprintf("%15s",$classline[8]));
                                }
 
                                push(@command, "GPRINT:$classline[1]:MAX:%8.1lf %sBps"
@@ -996,7 +1018,7 @@ sub updateqosgraph {
 # Generate the CPU Frequency Graph for the current period of time for values given by collectd an lm_sensors
 
 sub updatecpufreqgraph {
-       my $cpucount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/cpu-*/ | wc -l`;
+       my $cpucount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/cpu-*/ 2>/dev/null | wc -l`;
        my $period    = $_[0];
        my @command = (
                "-",
@@ -1009,14 +1031,13 @@ sub updatecpufreqgraph {
                "--alt-y-grid",
                "-w 600",
                "-h 125",
-               "-l 0",
                "-r",
-               "-t ".$Lang::tr{'cpu frequency per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'cpu frequency per'}." ".$Lang::tr{$period."-graph"},
                "-v MHz",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
-               "COMMENT:".sprintf("%-29s",$Lang::tr{'caption'}),
+               "COMMENT:".sprintf("%-10s",$Lang::tr{'caption'}),
                "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}),
                "COMMENT:".sprintf("%15s",$Lang::tr{'average'}),
                "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}),
@@ -1042,7 +1063,7 @@ sub updatecpufreqgraph {
 # Generate the Thermal Zone Temp CPU Graph
 
 sub updatethermaltempgraph {
-       my $thermalcount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/thermal-thermal_zone* | wc -l`;
+       my $thermalcount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/thermal-thermal_zone* 2>/dev/null | wc -l`;
        my $period    = $_[0];
        my @command = (
                "-",
@@ -1055,14 +1076,13 @@ sub updatethermaltempgraph {
                "--alt-y-grid",
                "-w 600",
                "-h 125",
-               "-l 0",
                "-r",
-               "-t "."ACPI Thermal-Zone Temperature"." ".$Lang::tr{$period},
+               "-t "."ACPI Thermal-Zone Temperature"." - ".$Lang::tr{$period."-graph"},
                "-v Grad Celsius",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
-               "COMMENT:".sprintf("%-15s",$Lang::tr{'caption'}),
+               "COMMENT:".sprintf("%-10s",$Lang::tr{'caption'}),
                "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}),
                "COMMENT:".sprintf("%15s",$Lang::tr{'average'}),
                "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}),
@@ -1073,7 +1093,7 @@ sub updatethermaltempgraph {
                my $j=$i+1;
                push(@command,"DEF:temp".$i."_=".$mainsettings{'RRDLOG'}."/collectd/localhost/thermal-thermal_zone".$i."/temperature-temperature.rrd:value:AVERAGE"
                                ,"CDEF:temp".$i."=temp".$i."_,1,/"
-                               ,"LINE1:temp".$i.$color{"color1$j"}."A0:Temp ".$i." "
+                               ,"LINE3:temp".$i.$color{"color1$j"}."A0:Temp ".$i." "
                                ,"GPRINT:temp".$i.":MAX:%3.0lf Grad C"
                                ,"GPRINT:temp".$i.":AVERAGE:%3.0lf Grad C"
                                ,"GPRINT:temp".$i.":MIN:%3.0lf Grad C"
@@ -1085,8 +1105,24 @@ sub updatethermaltempgraph {
        print "Error in RRD::graph for thermal temp: ".$ERROR."\n" if $ERROR;
 }
 
-sub updatethermalcoolinggraph {
-       my $thermalcount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/thermal-cooling_device* | wc -l`;
+
+# Generate a random color, used by Qos Graph to be independent from the amount of values
+
+sub random_hex_color {
+       my $size = shift;
+       $size = 6 if $size !~ /^3|6$/;
+       my @hex = ( 0 .. 9, 'a' .. 'f' );
+       my @color;
+       push @color, @hex[rand(@hex)] for 1 .. $size;
+       return join('', '#', @color);
+}
+
+sub getprocesses {
+       my @processesgraph = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/processes-*/ 2>/dev/null`;
+       return @processesgraph;
+}
+
+sub updateentropygraph {
        my $period    = $_[0];
        my @command = (
                "-",
@@ -1098,50 +1134,25 @@ sub updatethermalcoolinggraph {
                "-W www.ipfire.org",
                "--alt-y-grid",
                "-w 600",
-               "-h 125",
-               "-l 0",
+               "-h 225",
                "-r",
-               "-t "."ACPI Thermal-Zone Cooling Device"." ".$Lang::tr{$period},
-               "-v State",
-               "--color=SHADEA".$color{"color19"},
-               "--color=SHADEB".$color{"color19"},
-               "--color=BACK".$color{"color21"},
-               "COMMENT:".sprintf("%-15s",$Lang::tr{'caption'}),
-               "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}),
-               "COMMENT:".sprintf("%15s",$Lang::tr{'average'}),
-               "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}),
-               "COMMENT:".sprintf("%15s",$Lang::tr{'current'})."\\j"
+               "--lower-limit","0",
+               "-t $Lang::tr{'entropy'}",
+               "-v $Lang::tr{'bit'}",
+               "DEF:entropy=$mainsettings{'RRDLOG'}/collectd/localhost/entropy/entropy.rrd:entropy:AVERAGE",
+               "CDEF:entropytrend=entropy,43200,TREND",
+               "LINE3:entropy#ff0000:" . sprintf("%-15s", $Lang::tr{'entropy'}),
+               "VDEF:entrmin=entropy,MINIMUM",
+               "VDEF:entrmax=entropy,MAXIMUM",
+               "VDEF:entravg=entropy,AVERAGE",
+               "GPRINT:entrmax:" . sprintf("%12s\\: %%5.0lf", $Lang::tr{'maximum'}),
+               "GPRINT:entrmin:" . sprintf("%12s\\: %%5.0lf", $Lang::tr{'minimum'}),
+               "GPRINT:entravg:" . sprintf("%12s\\: %%5.0lf", $Lang::tr{'average'}) . "\\n",
+               "LINE3:entropytrend#000000",
        );
 
-       for(my $i = 0; $i < $thermalcount; $i++) {
-               my $j=$i+1;
-               push(@command,"DEF:cooling".$i."_=".$mainsettings{'RRDLOG'}."/collectd/localhost/thermal-cooling_device".$i."/gauge-cooling_state.rrd:value:AVERAGE"
-                               ,"CDEF:cooling".$i."=cooling".$i."_,1,/"
-                               ,"LINE1:cooling".$i.$color{"color1$j"}."A0:cooling ".$i." "
-                               ,"GPRINT:cooling".$i.":MAX:%3.0lf"
-                               ,"GPRINT:cooling".$i.":AVERAGE:%3.0lf"
-                               ,"GPRINT:cooling".$i.":MIN:%3.0lf"
-                               ,"GPRINT:cooling".$i.":LAST:%3.0lf\\j");
-       }
-
        RRDs::graph (@command);
        $ERROR = RRDs::error;
-       print "Error in RRD::graph for thermal cooling: ".$ERROR."\n" if $ERROR;
-}
-
-
-# Generate a random color, used by Qos Graph to be independent from the amount of values
 
-sub random_hex_color {
-       my $size = shift;
-       $size = 6 if $size !~ /^3|6$/;
-       my @hex = ( 0 .. 9, 'a' .. 'f' );
-       my @color;
-       push @color, @hex[rand(@hex)] for 1 .. $size;
-       return join('', '#', @color);
-}
-
-sub getprocesses {
-       my @processesgraph = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/processes-*/`;
-       return @processesgraph;
+       print "Error in RRD::graph for entropy: ".$ERROR."\n" if $ERROR;
 }