1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
--
-- (C) 2021 - ntop.org
--
local dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/flow_dbms/drivers/?.lua;" .. package.path
local flow_dbms = {}
local driver
local available_tops = {"host", "src_host", "dst_host",
"port", "src_port", "dst_port",
"conversations"}
local function checkTop(what_k)
for _, k in pairs(available_tops) do
if k == what_k then return true end
end
return false
end
function flow_dbms:new()
if ntop.getPrefs().is_dump_flows_to_mysql_enabled == true then
driver = require("mysql"):new()
else --[[ if nindex is enabled... --]]
end
local obj = {
driver = driver
}
setmetatable(obj, self)
self.__index = self
return obj
end
function flow_dbms:queryTopk(ifid, what_k, filter)
if not driver then
return {} -- TODO: handle error
end
if not checkTop(what_k) then
return {} -- TODO: handle error
end
return driver:topk(ifid, what_k, filter)
end
return flow_dbms
|