mirror of
https://github.com/ntop/ntopng.git
synced 2026-04-29 07:29:32 +00:00
Cleanup unised alerts code
This commit is contained in:
parent
450b6c4575
commit
16da9a3961
1 changed files with 0 additions and 107 deletions
|
|
@ -37,15 +37,6 @@ local alert_utils = {}
|
|||
|
||||
-- ##############################################
|
||||
|
||||
if ntop.isEnterpriseM() then
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/pro/scripts/lua/enterprise/modules/?.lua;" .. package.path
|
||||
-- add enterprise utils to this module
|
||||
alert_utils = require "enterprise_alert_utils"
|
||||
end
|
||||
|
||||
-- ##############################################
|
||||
|
||||
local function alertTypeDescription(alert_key, entity_id)
|
||||
|
||||
local alert_id = alert_consts.getAlertType(alert_key, entity_id)
|
||||
|
|
@ -72,104 +63,6 @@ end
|
|||
|
||||
-- #################################
|
||||
|
||||
-- This function maps the SQLite table names to the conventional table
|
||||
-- names used in this script
|
||||
local function luaTableName(sqlite_table_name)
|
||||
--~ ALERTS_MANAGER_FLOWS_TABLE_NAME "flows_alerts"
|
||||
if(sqlite_table_name == "flows_alerts") then
|
||||
return("historical-flows")
|
||||
else
|
||||
return("historical")
|
||||
end
|
||||
end
|
||||
|
||||
-- #################################
|
||||
|
||||
-- Remove pagination options from the options
|
||||
local function getUnpagedAlertOptions(options)
|
||||
local res = {}
|
||||
|
||||
local paged_option = { currentPage=1, perPage=1, sortColumn=1, sortOrder=1 }
|
||||
|
||||
for k,v in pairs(options) do
|
||||
if not paged_option[k] then
|
||||
res[k] = v
|
||||
end
|
||||
end
|
||||
|
||||
return res
|
||||
end
|
||||
|
||||
-- #################################
|
||||
|
||||
function alert_utils.getNumAlerts(what, options)
|
||||
local num = 0
|
||||
|
||||
if(what == "engaged") then
|
||||
num = getNumEngagedAlerts(options)
|
||||
else
|
||||
local opts = getUnpagedAlertOptions(options or {})
|
||||
local res = 0 -- TODO performAlertsQuery("SELECT COUNT(*) AS count", what, opts)
|
||||
if((res ~= nil) and (#res == 1) and (res[1].count ~= nil)) then num = tonumber(res[1].count) end
|
||||
end
|
||||
|
||||
return num
|
||||
end
|
||||
|
||||
-- #################################
|
||||
|
||||
local function engagedAlertsQuery(params)
|
||||
local type_filter = tonumber(params.alert_id)
|
||||
local entity_type_filter = tonumber(params.entity)
|
||||
local entity_value_filter = params.entity_val
|
||||
|
||||
local perPage = tonumber(params.perPage or 10)
|
||||
local sortColumn = params.sortColumn or "column_"
|
||||
local sortOrder = params.sortOrder or "desc"
|
||||
local sOrder = ternary(sortOrder == "desc", rev_insensitive, asc_insensitive)
|
||||
local currentPage = tonumber(params.currentPage or 1)
|
||||
local totalRows = 0
|
||||
|
||||
-- tprint(string.format("type=%s sev=%s entity=%s val=%s", type_filter, severity_filter, entity_type_filter, entity_value_filter))
|
||||
local alerts = interface.getEngagedAlerts(entity_type_filter, entity_value_filter, type_filter)
|
||||
local sort_2_col = {}
|
||||
|
||||
-- Sort
|
||||
for idx, alert in pairs(alerts) do
|
||||
if sortColumn == "column_type" then
|
||||
sort_2_col[idx] = alert.alert_id
|
||||
elseif sortColumn == "column_duration" then
|
||||
sort_2_col[idx] = os.time() - alert.tstamp
|
||||
else -- column_date
|
||||
sort_2_col[idx] = alert.tstamp
|
||||
end
|
||||
|
||||
totalRows = totalRows + 1
|
||||
end
|
||||
|
||||
-- Pagination
|
||||
local to_skip = (currentPage-1) * perPage
|
||||
local totalRows = #alerts
|
||||
local res = {}
|
||||
local i = 0
|
||||
|
||||
for idx in pairsByValues(sort_2_col, sOrder) do
|
||||
if i >= to_skip + perPage then
|
||||
break
|
||||
end
|
||||
|
||||
if (i >= to_skip) then
|
||||
res[#res + 1] = alerts[idx]
|
||||
end
|
||||
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
return res, totalRows
|
||||
end
|
||||
|
||||
-- #################################
|
||||
|
||||
--@brief Deletes all stored alerts matching an host and an IP
|
||||
-- @return nil
|
||||
function alert_utils.deleteFlowAlertsMatching(host_ip, alert_id)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue