ntopng/scripts/lua/modules/flow_dbms/flow_dbms.lua
Simone Mainardi 0f5340e1a3 (C) update
2021-05-31 12:39:02 +02:00

50 lines
1,003 B
Lua

--
-- (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