From 51f13c53b40edcc643cc611899954d2fcfab72ad Mon Sep 17 00:00:00 2001 From: onefang Date: Mon, 23 Dec 2019 13:08:42 +1000 Subject: Speed RRD is now it's own thing, not aseparate one per protocol. --- apt-panopticommon.lua | 34 +++++++++++++++++++++------------- apt-panopticon-report-email-web.lua | 8 ++++---- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/apt-panopticommon.lua b/apt-panopticommon.lua index ef622b1..9b62e9a 100644 --- a/apt-panopticommon.lua +++ b/apt-panopticommon.lua @@ -440,7 +440,7 @@ APT.padResults = function(results) results[v] = tests end if nil == results.timeout then results.timeout = false end - if nil == results.speed then results.speed = {min = 0; max = 0} end + if nil == results.speed then results.speed = {min = 999999999999; max = 0} end return results end @@ -551,32 +551,31 @@ local RRAl2 = 'RRA:LAST:0.9:50:1210' local RRAl3 = 'RRA:LAST:0.9:223:1202' local RRAl4 = 'RRA:LAST:0.9:2635:1201' -APT.createRRD = function(host, ip) +APT.createRRD = function(host, ip, o) + if nil ~= o then start = o end if nil ~= ip then host = host .. '_' .. ip end for i, p in pairs(APT.protocols) do os.execute( 'mkdir -p rrd/' .. host .. '/' .. p:upper()) - if not APT.checkFile('rrd/' .. host .. '/' .. p:upper() .. '/Speed.rrd') then - D('Creating ' .. 'rrd/' .. host .. '/' .. p:upper() .. '/Speed.rrd') - APT.rrd.create( 'rrd/' .. host .. '/' .. p:upper() .. '/Speed.rrd', '--start', start, '--step', step, DSx, DSn, - RRAc0, RRAc1, RRAc2, RRAl0, RRAc3, RRAc4, RRAc5, RRAl1, RRAc6, RRAc7, RRAc8, RRAl2, RRAc9, RRAc10, RRAc11, RRAl3, RRAc12, RRAc13, RRAc14, RRAl4) - end if not APT.checkFile('rrd/' .. host .. '/' .. p:upper() .. '/Tests.rrd') then D('Creating ' .. 'rrd/' .. host .. '/' .. p:upper() .. '/Tests.rrd') APT.rrd.create( 'rrd/' .. host .. '/' .. p:upper() .. '/Tests.rrd', '--start', start, '--step', step, DSIe, DSIw, DSPe, DSPw, DSUe, DSUw, DSSe, DSSw, RRAc0, RRAc1, RRAc2, RRAl0, RRAc3, RRAc4, RRAc5, RRAl1, RRAc6, RRAc7, RRAc8, RRAl2, RRAc9, RRAc10, RRAc11, RRAl3, RRAc12, RRAc13, RRAc14, RRAl4) -- Start them at 0 so the average has something to work on. - APT.rrd.update( 'rrd/' .. host .. '/' .. p:upper() .. '/Speed.rrd', (APT.now - 600) .. ':0:0') APT.rrd.update( 'rrd/' .. host .. '/' .. p:upper() .. '/Tests.rrd', (APT.now - 600) .. ':0:0:0:0:0:0:0:0') end end + os.execute( 'mkdir -p rrd/' .. host .. '/Speed') + if not APT.checkFile('rrd/' .. host .. '/Speed/Speed.rrd') then + D('Creating ' .. 'rrd/' .. host .. '/Speed/Speed.rrd') + APT.rrd.create( 'rrd/' .. host .. '/Speed/Speed.rrd', '--start', start, '--step', step, DSx, DSn, + RRAc0, RRAc1, RRAc2, RRAl0, RRAc3, RRAc4, RRAc5, RRAl1, RRAc6, RRAc7, RRAc8, RRAl2, RRAc9, RRAc10, RRAc11, RRAl3, RRAc12, RRAc13, RRAc14, RRAl4) + APT.rrd.update( 'rrd/' .. host .. '/Speed/Speed.rrd', (APT.now - 600) .. ':0:0') + end end APT.updateRRD = function(results, host, ip) if nil ~= ip then host = host .. '_' .. ip end for i, p in pairs(APT.protocols) do - if nil ~= results.speed then - APT.rrd.update( 'rrd/' .. host .. '/' .. p:upper() .. '/Speed.rrd', APT.now .. ':' .. results.speed.max .. ':' .. results.speed.min) - end if nil ~= results[p] then APT.rrd.update('rrd/' .. host .. '/' .. p:upper() .. '/Tests.rrd', APT.now .. ':' .. results[p]['Integrity'].errors .. ':' .. results[p]['Integrity'].warnings .. ':' .. @@ -587,12 +586,21 @@ APT.updateRRD = function(results, host, ip) APT.rrd.update('rrd/' .. host .. '/' .. p:upper() .. '/Tests.rrd', APT.now .. ':U:U:U:U:U:U:U:U') end end + if nil ~= results.speed then + if 0 ~= results.speed.max then + APT.rrd.update('rrd/' .. host .. '/Speed/Speed.rrd', APT.now .. ':' .. results.speed.max .. ':' .. results.speed.min) + else + APT.rrd.update('rrd/' .. host .. '/Speed/Speed.rrd', APT.now .. ':U:U') + end + else + APT.rrd.update( 'rrd/' .. host .. '/Speed/Speed.rrd', APT.now .. ':U:U') + end end -APT.doRRD = function(l, k, v) +APT.doRRD = function(l, k, v, o) APT.collateAll(l, k, function(results, ip) - APT.createRRD(k, ip) + APT.createRRD(k, ip, o) APT.updateRRD(results, k, ip) end) end diff --git a/apt-panopticon-report-email-web.lua b/apt-panopticon-report-email-web.lua index c52b6c0..5115910 100755 --- a/apt-panopticon-report-email-web.lua +++ b/apt-panopticon-report-email-web.lua @@ -282,10 +282,10 @@ for k, v in APT.orderedPairs(mirrors) do local c = colours[count] local name = string.format('%32s', k) if 'pkgmaster.devuan.org' == k then c = 'ffffff' end - table.insert(g, 'DEF:speedn' .. count .. '=rrd/' .. k .. '/HTTP/Speed.rrd:max:MIN') - table.insert(g, 'DEF:speedx' .. count .. '=rrd/' .. k .. '/HTTP/Speed.rrd:max:MAX') - table.insert(g, 'DEF:speeda' .. count .. '=rrd/' .. k .. '/HTTP/Speed.rrd:max:AVERAGE') - table.insert(g, 'DEF:speedl' .. count .. '=rrd/' .. k .. '/HTTP/Speed.rrd:max:LAST') + table.insert(g, 'DEF:speedn' .. count .. '=rrd/' .. k .. '/Speed/Speed.rrd:max:MIN') + table.insert(g, 'DEF:speedx' .. count .. '=rrd/' .. k .. '/Speed/Speed.rrd:max:MAX') + table.insert(g, 'DEF:speeda' .. count .. '=rrd/' .. k .. '/Speed/Speed.rrd:max:AVERAGE') + table.insert(g, 'DEF:speedl' .. count .. '=rrd/' .. k .. '/Speed/Speed.rrd:max:LAST') table.insert(g, 'VDEF:vspeedn' .. count .. '=speedn' .. count .. ',AVERAGE') table.insert(g, 'VDEF:vspeedx' .. count .. '=speedx' .. count .. ',AVERAGE') table.insert(g, 'VDEF:vspeeda' .. count .. '=speeda' .. count .. ',AVERAGE') -- cgit v1.1