diff --git a/scripts/locales/en.lua b/scripts/locales/en.lua index acdb3a3651..24b6104060 100644 --- a/scripts/locales/en.lua +++ b/scripts/locales/en.lua @@ -2848,9 +2848,9 @@ local lang = { ["traffic_profiles"] = "Traffic Profiles", }, ["traffic_recording"] = { + ["continuous_recording"] = "Continuous Traffic Recording", ["disk_space"] = "Max Disk Space", ["disk_space_note"] = "Maximum disk space used for recorded traffic on disk.", - ["enable_recording"] = "Enable Continuous Traffic Recording", ["failure"] = "Failure", ["logs"] = "Traffic Recording Logs", ["not_granted"] = "Request not granted", diff --git a/scripts/lua/if_stats.lua b/scripts/lua/if_stats.lua index 4cb699ce8e..732b4103a8 100644 --- a/scripts/lua/if_stats.lua +++ b/scripts/lua/if_stats.lua @@ -1175,7 +1175,7 @@ elseif(page == "traffic_recording") then ]] print(i18n("traffic_recording.traffic_recording")) print [[ - ]] print(i18n("traffic_recording.enable_recording")) print [[ + ]] print(i18n("traffic_recording.continuous_recording")) print [[ @@ -1194,11 +1194,10 @@ elseif(page == "traffic_recording") then print [[ ]] print(i18n("traffic_recording.storage_utilization")) print [[ - ]] print(tostring(math.floor(storage_info.used/1024))) print [[GB/]] print(tostring(math.floor(storage_info.total/1024))) print [[GB
- ]] print(storage_info.used_perc) print [[ + ]] print(tostring(math.floor(storage_info.used/1024))) print [[ GB / ]] print(tostring(math.floor(storage_info.total/1024))) print [[ GB (]] print(storage_info.used_perc) print [[) ]] diff --git a/scripts/lua/modules/lua_utils.lua b/scripts/lua/modules/lua_utils.lua index d828d4e774..4a51e59f91 100644 --- a/scripts/lua/modules/lua_utils.lua +++ b/scripts/lua/modules/lua_utils.lua @@ -742,7 +742,10 @@ function hasNindexSupport() if prefs == nil then prefs = ntop.getPrefs() end - return prefs.is_nindex_enabled + local rc = prefs.is_nindex_enabled + + if(rc == nil) then rc = false end + return rc end --for _key, _value in pairsByKeys(vals, rev) do diff --git a/scripts/lua/modules/recording_utils.lua b/scripts/lua/modules/recording_utils.lua index b14219fd60..cbadc90f15 100644 --- a/scripts/lua/modules/recording_utils.lua +++ b/scripts/lua/modules/recording_utils.lua @@ -11,6 +11,7 @@ prefs = ntop.getPrefs() local n2disk_ctl = "/usr/local/bin/n2diskctl" local ntopng_config_tool = "/usr/bin/ntopng-utils-manage-config" local n2disk_ctl_cmd = "sudo "..n2disk_ctl +local extraction_queue = "ntopng.traffic_recording.extraction_queue" local recording_utils = {} @@ -317,6 +318,41 @@ function recording_utils.set_license(key) os.execute(n2disk_ctl_cmd.." set-license "..key) end +-- Schedule an extraction +-- Note: 'params' should contain 'time_from', 'time_to', 'filter' +-- 'time_*' format: "2018-10-15 11:00:00" +-- 'filter' format: BPF +function recording_utils.schedule_extraction(ifid, params) + if params.time_from == nil or params.time_to == nil then + return nil + end + if params.filter == nil then + params.filter = "" + end + + local id = os.time() -- TODO + + local job = { + id = id, + time = os.time(), + status = 'waiting', + ifid = ifid, + time_from = params.time_from, + time_to = params.time_to, + filter = params.filer, + } + + ntop.rpushCache(extraction_queue, json.encode(job)) + + local job_info = { id = id } + + -- Scheduler: + -- local job_json = ntop.lpopCache(extraction_queue) + -- local job = json.decode(job_json) + + return job_info +end + -- ################################# return recording_utils diff --git a/scripts/lua/traffic_recording_status.lua b/scripts/lua/traffic_recording_status.lua index 360a048855..17c276ebb0 100644 --- a/scripts/lua/traffic_recording_status.lua +++ b/scripts/lua/traffic_recording_status.lua @@ -43,7 +43,7 @@ if recording_utils.isAvailable then print(""..i18n("traffic_recording.storage_dir")..""..recording_utils.getPcapPath(ifstats.id).."\n") - print(""..i18n("traffic_recording.storage_utilization")..""..tostring(math.floor(storage_info.used/1024)).."GB / "..tostring(math.floor(storage_info.total/1024)).."GB ("..storage_info.used_perc..")\n") + print(""..i18n("traffic_recording.storage_utilization")..""..tostring(math.floor(storage_info.used/1024)).." GB / "..tostring(math.floor(storage_info.total/1024)).." GB ("..storage_info.used_perc..")\n") print(""..i18n("about.last_log").."\n")