X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=contrib%2Fcollection.cgi;h=51e187de6bf55ee4aef9fe7f5c1cc3391155fca1;hb=9a36d2714426a63c8fd49210dbb2418c7bfb4ab5;hp=ef36b21c2202a4fef9a387c5065ab416feaf4ce8;hpb=e14f6794143550d945bbf2163862b0d91504adfa;p=collectd.git diff --git a/contrib/collection.cgi b/contrib/collection.cgi index ef36b21c..51e187de 100755 --- a/contrib/collection.cgi +++ b/contrib/collection.cgi @@ -53,6 +53,47 @@ our $GraphDefs; $GraphDefs = { + apache_bytes => ['DEF:min_raw={file}:count:MIN', + 'DEF:avg_raw={file}:count:AVERAGE', + 'DEF:max_raw={file}:count:MAX', + 'CDEF:min=min_raw,8,*', + 'CDEF:avg=avg_raw,8,*', + 'CDEF:max=max_raw,8,*', + 'CDEF:mytime=avg_raw,TIME,TIME,IF', + 'CDEF:sample_len_raw=mytime,PREV(mytime),-', + 'CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF', + 'CDEF:avg_sample=avg_raw,UN,0,avg_raw,IF,sample_len,*', + 'CDEF:avg_sum=PREV,UN,0,PREV,IF,avg_sample,+', + "AREA:avg#$HalfBlue", + "LINE1:avg#$FullBlue:Bit/s", + 'GPRINT:min:MIN:%5.1lf%s Min,', + 'GPRINT:avg:AVERAGE:%5.1lf%s Avg,', + 'GPRINT:max:MAX:%5.1lf%s Max,', + 'GPRINT:avg:LAST:%5.1lf%s Last', + 'GPRINT:avg_sum:LAST:(ca. %5.1lf%sB Total)\l' + ], + apache_requests => ['DEF:min={file}:count:MIN', + 'DEF:avg={file}:count:AVERAGE', + 'DEF:max={file}:count:MAX', + "AREA:max#$HalfBlue", + "AREA:min#$Canvas", + "LINE1:avg#$FullBlue:Requests/s", + 'GPRINT:min:MIN:%6.2lf Min,', + 'GPRINT:avg:AVERAGE:%6.2lf Avg,', + 'GPRINT:max:MAX:%6.2lf Max,', + 'GPRINT:avg:LAST:%6.2lf Last' + ], + apache_scoreboard => ['DEF:min={file}:count:MIN', + 'DEF:avg={file}:count:AVERAGE', + 'DEF:max={file}:count:MAX', + "AREA:max#$HalfBlue", + "AREA:min#$Canvas", + "LINE1:avg#$FullBlue:Processes", + 'GPRINT:min:MIN:%6.2lf Min,', + 'GPRINT:avg:AVERAGE:%6.2lf Avg,', + 'GPRINT:max:MAX:%6.2lf Max,', + 'GPRINT:avg:LAST:%6.2lf Last' + ], charge => [ 'DEF:avg={file}:charge:AVERAGE', 'DEF:min={file}:charge:MIN', @@ -262,8 +303,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", @@ -806,6 +849,9 @@ our $GraphDefs; our $GraphArgs = { + apache_bytes => ['-t', 'apache traffic', '-v', 'Bit/s'], + apache_requests => ['-t', 'apache requests', '-v', 'Requests/s'], + apache_scoreboard => ['-t', 'apache scoreboard {inst}', '-v', 'Processes'], charge => ['-t', '{host} charge', '-v', 'Ampere hours'], cpu => ['-t', '{host} cpu{inst} usage', '-v', 'Percent', '-l', '0'], cpufreq => ['-t', '{host} cpu{inst} usage', '-v', 'Mhz'], @@ -837,6 +883,7 @@ our $GraphArgs = our $GraphMulti = { + apache_scoreboard => \&output_graph_apache_scoreboard, cpu => \&output_graph_cpu, cpufreq => 1, disk => 1, @@ -939,6 +986,49 @@ sub output_graph_cpu return (@ret); } +sub output_graph_apache_scoreboard +{ + my @inst = @_; + my @ret = (); + + die if (@inst < 2); + + my @colors = get_n_colors (scalar (@inst)); + + for (my $i = 0; $i < scalar (@inst); $i++) + { + my $inst = $inst[$i]; + push (@ret, + "DEF:avg_$i=$AbsDir/apache_scoreboard-$inst.rrd:count:AVERAGE", + "DEF:min_$i=$AbsDir/apache_scoreboard-$inst.rrd:count:MIN", + "DEF:max_$i=$AbsDir/apache_scoreboard-$inst.rrd:count:MAX"); + } + + for (my $i = 0; $i < scalar (@inst); $i++) + { + my $inst = $inst[$i]; + my $color = $colors[$i]; + + if (length ($inst) > 15) + { + $inst = substr ($inst, 0, 12) . '...'; + } + else + { + $inst = sprintf ('%-15s', $inst); + } + + push (@ret, + "LINE1:avg_$i#$color:$inst", + "GPRINT:min_$i:MIN:%6.2lf Min,", + "GPRINT:avg_$i:AVERAGE:%6.2lf Avg,", + "GPRINT:max_$i:MAX:%6.2lf Max,", + "GPRINT:avg_$i:LAST:%6.2lf Last\\l"); + } + + return (@ret); +} + sub output_graph_ping { my @inst = @_; @@ -1108,6 +1198,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})); @@ -1202,6 +1293,8 @@ HEADER print < +

Hourly

+

Daily

Weekly

@@ -1226,6 +1319,8 @@ HTML } print <Hourly +

Daily

Weekly