octo@casella:~/collectd $ svn merge -r753:807 trunk branches/processes
[collectd.git] / contrib / collection.cgi
index a398286..2af6e44 100755 (executable)
@@ -247,6 +247,18 @@ our $GraphDefs;
                        'GPRINT:temp_max:MAX:%4.1lf Max,',
                        'GPRINT:temp_avg:LAST:%4.1lf Last\l'
                ],
+               frequency_offset => [ # NTPd
+                       'DEF:ppm_avg={file}:ppm:AVERAGE',
+                       'DEF:ppm_min={file}:ppm:MIN',
+                       'DEF:ppm_max={file}:ppm:MAX',
+                       "AREA:ppm_max#$HalfBlue",
+                       "AREA:ppm_min#$Canvas",
+                       "LINE1:ppm_avg#$FullBlue:{inst}",
+                       'GPRINT:ppm_min:MIN:%5.2lf Min,',
+                       'GPRINT:ppm_avg:AVERAGE:%5.2lf Avg,',
+                       'GPRINT:ppm_max:MAX:%5.2lf Max,',
+                       'GPRINT:ppm_avg:LAST:%5.2lf Last'
+               ],
                hddtemp => [
                        'DEF:temp_avg={file}:value:AVERAGE',
                        'DEF:temp_min={file}:value:MIN',
@@ -703,6 +715,21 @@ our $GraphDefs;
                        'GPRINT:temp_max:MAX:%4.1lf Max,',
                        'GPRINT:temp_avg:LAST:%4.1lf Last\l'
                ],
+               time_offset => [ # NTPd
+                       'DEF:ms_avg={file}:ms:AVERAGE',
+                       'DEF:ms_min={file}:ms:MIN',
+                       'DEF:ms_max={file}:ms:MAX',
+                       'CDEF:s_avg=ms_avg,1000,/',
+                       'CDEF:s_min=ms_min,1000,/',
+                       'CDEF:s_max=ms_max,1000,/',
+                       "AREA:s_max#$HalfBlue",
+                       "AREA:s_min#$Canvas",
+                       "LINE1:s_avg#$FullBlue:{inst}",
+                       'GPRINT:s_min:MIN:%7.3lf%s Min,',
+                       'GPRINT:s_avg:AVERAGE:%7.3lf%s Avg,',
+                       'GPRINT:s_max:MAX:%7.3lf%s Max,',
+                       'GPRINT:s_avg:LAST:%7.3lf%s Last'
+               ],
                traffic => ['DEF:out_min_raw={file}:outgoing:MIN',
                        'DEF:out_avg_raw={file}:outgoing:AVERAGE',
                        'DEF:out_max_raw={file}:outgoing:MAX',
@@ -774,6 +801,93 @@ our $GraphDefs;
                        'GPRINT:max:MAX:%5.1lf%sV Max,',
                        'GPRINT:avg:LAST:%5.1lf%sV Last\l'
                ],
+               apcups_volt => [
+                       'DEF:line_avg={file}:linev:AVERAGE',
+                       'DEF:line_min={file}:linev:MIN',
+                       'DEF:line_max={file}:linev:MAX',
+                       'DEF:out_avg={file}:outputv:AVERAGE',
+                       'DEF:out_min={file}:outputv:MIN',
+                       'DEF:out_max={file}:outputv:MAX',
+                       #"AREA:line_max#$HalfBlue",
+                       #"AREA:line_min#$Canvas",
+                       #"AREA:out_avg#$HalfGreen",
+                       "LINE1:line_avg#$FullBlue:Line Volt",
+                       'GPRINT:line_min:MIN:%5.1lf%sV Min,',
+                       'GPRINT:line_avg:AVERAGE:%5.1lf%sV Avg,',
+                       'GPRINT:line_max:MAX:%5.1lf%sV Max,',
+                       'GPRINT:line_avg:LAST:%5.1lf%sV Last\l',
+                       "LINE2:out_avg#$FullGreen:Out  Volt",
+                       'GPRINT:out_min:MIN:%5.1lf%sV Min,',
+                       'GPRINT:out_avg:AVERAGE:%5.1lf%sV Avg,',
+                       'GPRINT:out_max:MAX:%5.1lf%sV Max,',
+                       'GPRINT:out_avg:LAST:%5.1lf%sV Last\l'
+               ],
+               apcups_bvolt => [
+                       'DEF:bvolt_avg={file}:battv:AVERAGE',
+                       'DEF:bvolt_min={file}:battv:MIN',
+                       'DEF:bvolt_max={file}:battv:MAX',
+                       "AREA:bvolt_max#$HalfBlue",
+                       "LINE1:bvolt_avg#$FullBlue:Batt Volt",
+                       'GPRINT:bvolt_min:MIN:%5.1lf%sV Min,',
+                       'GPRINT:bvolt_avg:AVERAGE:%5.1lf%sV Avg,',
+                       'GPRINT:bvolt_max:MAX:%5.1lf%sV Max,',
+                       'GPRINT:bvolt_avg:LAST:%5.1lf%sV Last\l',
+               ],
+               apcups_load => [
+                       'DEF:load_avg={file}:loadpct:AVERAGE',
+                       'DEF:load_min={file}:loadpct:MIN',
+                       'DEF:load_max={file}:loadpct:MAX',
+                       "AREA:load_max#$HalfBlue",
+                       "LINE1:load_avg#$FullBlue:Batt load",
+                       'GPRINT:load_min:MIN:%5.1lf%s%% Min,',
+                       'GPRINT:load_avg:AVERAGE:%5.1lf%s%% Avg,',
+                       'GPRINT:load_max:MAX:%5.1lf%s%% Max,',
+                       'GPRINT:load_avg:LAST:%5.1lf%s%% Last\l',
+               ],
+               apcups_charge => [
+                       'DEF:charge_avg={file}:bcharge:AVERAGE',
+                       'DEF:charge_min={file}:bcharge:MIN',
+                       'DEF:charge_max={file}:bcharge:MAX',
+                       "AREA:charge_max#$HalfBlue",
+                       "LINE1:charge_avg#$FullBlue:Batt Charge",
+                       'GPRINT:charge_min:MIN:%5.1lf%s%% Min,',
+                       'GPRINT:charge_avg:AVERAGE:%5.1lf%s%% Avg,',
+                       'GPRINT:charge_max:MAX:%5.1lf%s%% Max,',
+                       'GPRINT:charge_avg:LAST:%5.1lf%s%% Last\l',
+               ],
+               apcups_time => [
+                       'DEF:time_avg={file}:timeleft:AVERAGE',
+                       'DEF:time_min={file}:timeleft:MIN',
+                       'DEF:time_max={file}:timeleft:MAX',
+                       "AREA:time_max#$HalfBlue",
+                       "LINE1:time_avg#$FullBlue:Time Avail",
+                       'GPRINT:time_min:MIN:%5.1lf%smin Min,',
+                       'GPRINT:time_avg:AVERAGE:%5.1lf%smin Avg,',
+                       'GPRINT:time_max:MAX:%5.1lf%smin Max,',
+                       'GPRINT:time_avg:LAST:%5.1lf%smin Last\l',
+               ],
+               apcups_temp => [
+                       'DEF:temp_avg={file}:itemp:AVERAGE',
+                       'DEF:temp_min={file}:itemp:MIN',
+                       'DEF:temp_max={file}:itemp:MAX',
+                       "AREA:temp_max#$HalfBlue",
+                       "LINE1:temp_avg#$FullBlue:Temp Avail",
+                       'GPRINT:temp_min:MIN:%5.1lf%s° Min,',
+                       'GPRINT:temp_avg:AVERAGE:%5.1lf%s° Avg,',
+                       'GPRINT:temp_max:MAX:%5.1lf%s° Max,',
+                       'GPRINT:temp_avg:LAST:%5.1lf%s° Last\l',
+               ],
+               apcups_freq => [
+                       'DEF:freq_avg={file}:linefreq:AVERAGE',
+                       'DEF:freq_min={file}:linefreq:MIN',
+                       'DEF:freq_max={file}:linefreq:MAX',
+                       "AREA:freq_max#$HalfBlue",
+                       "LINE1:freq_avg#$FullBlue:Line Freq",
+                       'GPRINT:freq_min:MIN:%5.1lf%sHz Min,',
+                       'GPRINT:freq_avg:AVERAGE:%5.1lf%sHz Avg,',
+                       'GPRINT:freq_max:MAX:%5.1lf%sHz Max,',
+                       'GPRINT:freq_avg:LAST:%5.1lf%sHz Last\l',
+               ],
                vs_threads => [
                        "DEF:total_avg={file}:total:AVERAGE",
                        "DEF:total_min={file}:total:MIN",
@@ -858,6 +972,9 @@ our $GraphDefs;
        $GraphDefs->{'disk'} = $GraphDefs->{'partition'};
        $GraphDefs->{'meminfo'} = $GraphDefs->{'memory'};
        $GraphDefs->{'sensors'} = $GraphDefs->{'temperature'};
+
+       $GraphDefs->{'delay'}           = $GraphDefs->{'time_offset'};
+       $GraphDefs->{'time_dispersion'} = $GraphDefs->{'time_offset'};
 }
 
 our $GraphArgs =
@@ -870,9 +987,11 @@ our $GraphArgs =
        cpufreq => ['-t', '{host} cpu{inst} usage', '-v', 'Mhz'],
        current => ['-t', '{host} current', '-v', 'Ampere'],
        #disk => ['-t', '{host} disk {inst} IO wait', '-v', 'Seconds'],
+       delay => ['-t', 'NTPd peer delay ({inst})', '-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'],
+       frequency_offset => ['-t', 'NTPd frequency offset ({inst})', '-v', 'Parts per million'],
        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'],
@@ -888,9 +1007,18 @@ our $GraphArgs =
        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'],
+       time_offset => ['-t', 'NTPd time offset ({inst})', '-v', 'Seconds'],
+       time_dispersion => ['-t', 'NTPd time dispersion ({inst})', '-v', 'Seconds'],
        traffic => ['-t', '{host} {inst} traffic', '-v', 'Bit/s'],
        users => ['-t', '{host} users', '-v', 'Users'],
        voltage => ['-t', '{host} voltage', '-v', 'Volts'],
+       apcups_volt => ['-t', '{host} APC voltage {inst}', '-v', 'Volts AC'],
+       apcups_bvolt => ['-t', '{host} APC Batt voltage {inst}', '-v', 'Volts DC'],
+       apcups_load => ['-t', '{host} APC Load {inst}', '-v', 'Percent'],
+       apcups_charge => ['-t', '{host} APC Batt Charge {inst}', '-v', 'Percent'],
+       apcups_time => ['-t', '{host} APC Time Left {inst}', '-v', 'Minutes'],
+       apcups_temp => ['-t', '{host} APC Internal Temp {inst}', '-v', '°Celsius'],
+       apcups_freq => ['-t', '{host} APC Line Freq {inst}', '-v', 'Hz'],
        vs_threads => ['-t', '{host} threads', '-v', 'Threads'],
        vs_memory => ['-t', '{host} memory usage', '-v', 'Bytes'],
        vs_processes => ['-t', '{host} processes', '-v', 'Processes'],
@@ -902,6 +1030,13 @@ our $GraphMulti =
        cpu     => \&output_graph_cpu,
        cpufreq => 1,
        disk    => 1,
+       apcups_volt => 1,
+       apcups_bvolt => 1,
+       apcups_load => 1,
+       apcups_charge => 1,
+       apcups_time => 1,
+       apcups_temp => 1,
+       apcups_freq => 1,
        load    => 0,
        mails   => 0,
        memory  => 0,