Added `contrib/README'
[collectd.git] / contrib / collection.cgi
index 392c62b..95102b5 100755 (executable)
@@ -235,6 +235,18 @@ our $GraphDefs;
                        'GPRINT:total_max_ms:MAX:%5.1lf%s Max,',
                        'GPRINT:total_avg_ms:LAST:%5.1lf%s Last'
                ],
+               fanspeed => [
+                       'DEF:temp_avg={file}:value:AVERAGE',
+                       'DEF:temp_min={file}:value:MIN',
+                       'DEF:temp_max={file}:value:MAX',
+                       "AREA:temp_max#$HalfBlue",
+                       "AREA:temp_min#$Canvas",
+                       "LINE1:temp_avg#$FullBlue:RPM",
+                       'GPRINT:temp_min:MIN:%4.1lf Min,',
+                       'GPRINT:temp_avg:AVERAGE:%4.1lf Avg,',
+                       'GPRINT:temp_max:MAX:%4.1lf Max,',
+                       'GPRINT:temp_avg:LAST:%4.1lf Last\l'
+               ],
                hddtemp => [
                        'DEF:temp_avg={file}:value:AVERAGE',
                        'DEF:temp_min={file}:value:MIN',
@@ -303,8 +315,10 @@ our $GraphDefs;
                        'DEF:free_max={file}:free:MAX',
                        'DEF:buffers_max={file}:buffers:MAX',
                        'DEF:cached_max={file}:cached:MAX',
-                       'CDEF:free_cached_buffers_used=free_avg,cached_avg,+,buffers_avg,+,used_avg,+',
-                       'CDEF:cached_buffers_used=cached_avg,buffers_avg,+,used_avg,+',
+                       'CDEF:cached_avg_nn=cached_avg,UN,0,cached_avg,IF',
+                       'CDEF:buffers_avg_nn=buffers_avg,UN,0,buffers_avg,IF',
+                       'CDEF:free_cached_buffers_used=free_avg,cached_avg_nn,+,buffers_avg_nn,+,used_avg,+',
+                       'CDEF:cached_buffers_used=cached_avg,buffers_avg_nn,+,used_avg,+',
                        'CDEF:buffers_used=buffers_avg,used_avg,+',
                        "AREA:free_cached_buffers_used#$HalfGreen",
                        "AREA:cached_buffers_used#$HalfBlue",
@@ -633,18 +647,6 @@ our $GraphDefs;
                        'GPRINT:sleeping_max:MAX:%5.1lf Max,',
                        'GPRINT:sleeping_avg:LAST:%5.1lf Last\l'
                ],
-               sensors => [
-                       'DEF:temp_avg={file}:value:AVERAGE',
-                       'DEF:temp_min={file}:value:MIN',
-                       'DEF:temp_max={file}:value:MAX',
-                       "AREA:temp_max#$HalfBlue",
-                       "AREA:temp_min#$Canvas",
-                       "LINE1:temp_avg#$FullBlue:Value",
-                       'GPRINT:temp_min:MIN:%4.1lf Min,',
-                       'GPRINT:temp_avg:AVERAGE:%4.1lf Avg,',
-                       'GPRINT:temp_max:MAX:%4.1lf Max,',
-                       'GPRINT:temp_avg:LAST:%4.1lf Last\l'
-               ],
                swap => [
                        'DEF:used_avg={file}:used:AVERAGE',
                        'DEF:used_min={file}:used:MIN',
@@ -689,6 +691,18 @@ our $GraphDefs;
                        'GPRINT:used_max:MAX:%5.1lf%s Max,',
                        'GPRINT:used_avg:LAST:%5.1lf%s Last\l'
                ],
+               temperature => [
+                       'DEF:temp_avg={file}:value:AVERAGE',
+                       'DEF:temp_min={file}:value:MIN',
+                       'DEF:temp_max={file}:value:MAX',
+                       "AREA:temp_max#$HalfBlue",
+                       "AREA:temp_min#$Canvas",
+                       "LINE1:temp_avg#$FullBlue:Value",
+                       'GPRINT:temp_min:MIN:%4.1lf Min,',
+                       'GPRINT:temp_avg:AVERAGE:%4.1lf Avg,',
+                       'GPRINT:temp_max:MAX:%4.1lf Max,',
+                       'GPRINT:temp_avg:LAST:%4.1lf Last\l'
+               ],
                traffic => ['DEF:out_min_raw={file}:outgoing:MIN',
                        'DEF:out_avg_raw={file}:outgoing:AVERAGE',
                        'DEF:out_max_raw={file}:outgoing:MAX',
@@ -843,6 +857,7 @@ our $GraphDefs;
        };
        $GraphDefs->{'disk'} = $GraphDefs->{'partition'};
        $GraphDefs->{'meminfo'} = $GraphDefs->{'memory'};
+       $GraphDefs->{'sensors'} = $GraphDefs->{'temperature'};
 }
 
 our $GraphArgs =
@@ -857,6 +872,7 @@ our $GraphArgs =
        #disk => ['-t', '{host} disk {inst} IO wait', '-v', 'Seconds'],
        df => ['-t', '{host}:{inst} usage', '-v', 'Percent', '-l', '0'],
        disk => ['-t', '{host} disk {inst} usage', '-v', 'Byte/s'],
+       fanspeed => ['-t', '{host} fanspeed {inst}', '-v', 'rpm'],
        hddtemp => ['-t', '{host} hdd temperature {inst}', '-v', '°Celsius'],
        load => ['-t', '{host} load average', '-v', 'System load', '-X', '0'],
        mails   => ['-t', '{host} mail count', '-v', 'Amount', '-X', '0'],
@@ -871,6 +887,7 @@ our $GraphArgs =
        processes => ['-t', '{host} processes', '-v', 'Processes'],
        sensors => ['-t', '{host} sensor {inst}', '-v', '°Celsius'],
        swap => ['-t', '{host} swap usage', '-v', 'Bytes', '-b', '1024', '-l', '0'],
+       temperature => ['-t', '{host} temperature {inst}', '-v', '°Celsius'],
        traffic => ['-t', '{host} {inst} traffic', '-v', 'Bit/s'],
        users => ['-t', '{host} users', '-v', 'Users'],
        voltage => ['-t', '{host} voltage', '-v', 'Volts'],
@@ -894,7 +911,7 @@ our $GraphMulti =
        ping    => \&output_graph_ping,
        sensors => 1,
        traffic => 1,
-    users => 1
+       users => 1
 };
 
 our @Info;
@@ -1196,6 +1213,7 @@ sub output_graph
                $Inst = $files->{$Type}[0];
        }
 
+       #push (@cmd, '-', '-a', 'PNG', '-s', $TimeSpan, '-w', 800, '-h', 150);
        push (@cmd, '-', '-a', 'PNG', '-s', $TimeSpan);
        push (@cmd, @{$GraphArgs->{$Type}}) if (defined ($GraphArgs->{$Type}));
 
@@ -1290,6 +1308,8 @@ HEADER
                print <<HTML;
                </ul>
 
+               <h3>Hourly</h3>
+               <div><img src="$MySelf$RelDir/$Type/hour" /></div>
                <h3>Daily</h3>
                <div><img src="$MySelf$RelDir/$Type/day" /></div>
                <h3>Weekly</h3>
@@ -1314,6 +1334,8 @@ HTML
                }
 
                print <<HTML;
+               <h3>Hourly</h3>
+               <div><img src="$MySelf$RelDir/$ext/hour" /></div>
                <h3>Daily</h3>
                <div><img src="$MySelf$RelDir/$ext/day" /></div>
                <h3>Weekly</h3>
@@ -1452,7 +1474,7 @@ sub parse_pathinfo
        $AbsDir = $Config->{'Directory'};
        $RelDir = '';
 
-       while (@info and -d $AbsDir . '/' . $Info[0])
+       while (@info and -d $AbsDir . '/' . $info[0])
        {
                my $new = shift (@info);
                next if ($new =~ m/^\./);