mirror of
https://github.com/ntop/ntopng.git
synced 2026-05-02 00:40:10 +00:00
Merge branch 'alerts-store' into dev
This commit is contained in:
commit
2278926da4
265 changed files with 5802 additions and 1672 deletions
37
scripts/lua/rest/v1/get/active_monitoring/alert/list.lua
Normal file
37
scripts/lua/rest/v1/get/active_monitoring/alert/list.lua
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
--
|
||||
-- (C) 2021-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local rest_utils = require("rest_utils")
|
||||
local am_alert_store = require "am_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{ }' http://localhost:3000/lua/rest/v1/get/am/alert/list.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
-- Active monitoring stay in the system interface
|
||||
interface.select(getSystemInterfaceId())
|
||||
|
||||
-- Fetch the results
|
||||
local alerts, recordsFiltered = am_alert_store:select_request()
|
||||
|
||||
for _key,_value in ipairs(alerts or {}) do
|
||||
local record = am_alert_store:format_record(_value)
|
||||
res[#res + 1] = record
|
||||
end -- for
|
||||
|
||||
rest_utils.extended_answer(rc, {records = res}, {
|
||||
["draw"] = tonumber(_GET["draw"]),
|
||||
["recordsFiltered"] = recordsFiltered,
|
||||
["recordsTotal"] = #res
|
||||
})
|
||||
32
scripts/lua/rest/v1/get/active_monitoring/alert/ts.lua
Normal file
32
scripts/lua/rest/v1/get/active_monitoring/alert/ts.lua
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
--
|
||||
-- (C) 2013-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local alert_utils = require "alert_utils"
|
||||
local alert_consts = require "alert_consts"
|
||||
local alert_entities = require "alert_entities"
|
||||
local rest_utils = require("rest_utils")
|
||||
local am_alert_store = require "am_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts count by time
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{ }' http://localhost:3000/lua/rest/v1/get/active_monitoring/alert/ts.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
interface.select(getSystemInterfaceId())
|
||||
|
||||
-- Add filters
|
||||
am_alert_store:add_request_filters()
|
||||
|
||||
local count_by_time = am_alert_store:count_by_time()
|
||||
|
||||
rest_utils.answer(rc, {series = {{ data = count_by_time, name = i18n("alerts_dashboard.alerts") }}})
|
||||
44
scripts/lua/rest/v1/get/flow/alert/list.lua
Normal file
44
scripts/lua/rest/v1/get/flow/alert/list.lua
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
--
|
||||
-- (C) 2013-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local rest_utils = require("rest_utils")
|
||||
local flow_alert_store = require "flow_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/flow/alert/list.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Fetch the results
|
||||
local alerts, recordsFilter = flow_alert_store:select_request()
|
||||
|
||||
for _key,_value in ipairs(alerts or {}) do
|
||||
local record = flow_alert_store:format_record(_value)
|
||||
res[#res + 1] = record
|
||||
end -- for
|
||||
|
||||
rest_utils.extended_answer(rc, {records = res}, {
|
||||
["draw"] = tonumber(_GET["draw"]),
|
||||
["recordsFiltered"] = recordsFilter,
|
||||
["recordsTotal"] = #res
|
||||
})
|
||||
40
scripts/lua/rest/v1/get/flow/alert/ts.lua
Normal file
40
scripts/lua/rest/v1/get/flow/alert/ts.lua
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
--
|
||||
-- (C) 2013-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local alert_utils = require "alert_utils"
|
||||
local alert_consts = require "alert_consts"
|
||||
local alert_entities = require "alert_entities"
|
||||
local rest_utils = require("rest_utils")
|
||||
local flow_alert_store = require "flow_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/flow/alert/ts.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Add filters
|
||||
flow_alert_store:add_request_filters()
|
||||
|
||||
local count_by_time = flow_alert_store:count_by_time()
|
||||
|
||||
rest_utils.answer(rc, {series = {{ data = count_by_time, name = i18n("alerts_dashboard.alerts") }}})
|
||||
44
scripts/lua/rest/v1/get/host/alert/list.lua
Normal file
44
scripts/lua/rest/v1/get/host/alert/list.lua
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
--
|
||||
-- (C) 2021-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local rest_utils = require("rest_utils")
|
||||
local host_alert_store = require "host_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/host/alert/list.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Fetch the results
|
||||
local alerts, recordsFiltered = host_alert_store:select_request()
|
||||
|
||||
for _key,_value in ipairs(alerts or {}) do
|
||||
local record = host_alert_store:format_record(_value)
|
||||
res[#res + 1] = record
|
||||
end -- for
|
||||
|
||||
rest_utils.extended_answer(rc, {records = res}, {
|
||||
["draw"] = tonumber(_GET["draw"]),
|
||||
["recordsFiltered"] = recordsFiltered,
|
||||
["recordsTotal"] = #res
|
||||
})
|
||||
40
scripts/lua/rest/v1/get/host/alert/ts.lua
Normal file
40
scripts/lua/rest/v1/get/host/alert/ts.lua
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
--
|
||||
-- (C) 2013-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local alert_utils = require "alert_utils"
|
||||
local alert_consts = require "alert_consts"
|
||||
local alert_entities = require "alert_entities"
|
||||
local rest_utils = require("rest_utils")
|
||||
local host_alert_store = require "host_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts count by time
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/host/alert/ts.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Add filters
|
||||
host_alert_store:add_request_filters()
|
||||
|
||||
local count_by_time = host_alert_store:count_by_time()
|
||||
|
||||
rest_utils.answer(rc, {series = {{ data = count_by_time, name = i18n("alerts_dashboard.alerts") }}})
|
||||
44
scripts/lua/rest/v1/get/interface/alert/list.lua
Normal file
44
scripts/lua/rest/v1/get/interface/alert/list.lua
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
--
|
||||
-- (C) 2021-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local rest_utils = require("rest_utils")
|
||||
local interface_alert_store = require "interface_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/interface/alert/list.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Fetch the results
|
||||
local alerts, recordsFiltered = interface_alert_store:select_request()
|
||||
|
||||
for _key,_value in ipairs(alerts or {}) do
|
||||
local record = interface_alert_store:format_record(_value)
|
||||
res[#res + 1] = record
|
||||
end -- for
|
||||
|
||||
rest_utils.extended_answer(rc, {records = res}, {
|
||||
["draw"] = tonumber(_GET["draw"]),
|
||||
["recordsFiltered"] = recordsFiltered,
|
||||
["recordsTotal"] = #res
|
||||
})
|
||||
40
scripts/lua/rest/v1/get/interface/alert/ts.lua
Normal file
40
scripts/lua/rest/v1/get/interface/alert/ts.lua
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
--
|
||||
-- (C) 2013-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local alert_utils = require "alert_utils"
|
||||
local alert_consts = require "alert_consts"
|
||||
local alert_entities = require "alert_entities"
|
||||
local rest_utils = require("rest_utils")
|
||||
local interface_alert_store = require "interface_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts count by time
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/interface/alert/ts.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Add filters
|
||||
interface_alert_store:add_request_filters()
|
||||
|
||||
local count_by_time = interface_alert_store:count_by_time()
|
||||
|
||||
rest_utils.answer(rc, {series = {{ data = count_by_time, name = i18n("alerts_dashboard.alerts") }}})
|
||||
|
|
@ -119,11 +119,6 @@ function dumpInterfaceStats(ifid)
|
|||
res["alerted_flows_error"] = ifstats["num_alerted_flows_error"] or 0
|
||||
|
||||
res["has_alerts"] = ifstats["has_alerts"]
|
||||
res["ts_alerts"] = {}
|
||||
|
||||
if ts_utils.getDriverName() == "influxdb" and plugins_utils.hasAlerts(getSystemInterfaceId(), {entity = alert_consts.alertEntity("influx_db")}) then
|
||||
res["ts_alerts"]["influxdb"] = true
|
||||
end
|
||||
end
|
||||
|
||||
if periodic_activities_utils.have_degraded_performance() then
|
||||
|
|
|
|||
44
scripts/lua/rest/v1/get/mac/alert/list.lua
Normal file
44
scripts/lua/rest/v1/get/mac/alert/list.lua
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
--
|
||||
-- (C) 2021-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local rest_utils = require("rest_utils")
|
||||
local mac_alert_store = require "mac_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/mac/alert/list.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Fetch the results
|
||||
local alerts, recordsFiltered = mac_alert_store:select_request()
|
||||
|
||||
for _key,_value in ipairs(alerts or {}) do
|
||||
local record = mac_alert_store:format_record(_value)
|
||||
res[#res + 1] = record
|
||||
end -- for
|
||||
|
||||
rest_utils.extended_answer(rc, {records = res}, {
|
||||
["draw"] = tonumber(_GET["draw"]),
|
||||
["recordsFiltered"] = #res,
|
||||
["recordsTotal"] = recordsFiltered
|
||||
})
|
||||
40
scripts/lua/rest/v1/get/mac/alert/ts.lua
Normal file
40
scripts/lua/rest/v1/get/mac/alert/ts.lua
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
--
|
||||
-- (C) 2013-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local alert_utils = require "alert_utils"
|
||||
local alert_consts = require "alert_consts"
|
||||
local alert_entities = require "alert_entities"
|
||||
local rest_utils = require("rest_utils")
|
||||
local mac_alert_store = require "mac_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts count by time
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/mac/alert/ts.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Add filters
|
||||
mac_alert_store:add_request_filters()
|
||||
|
||||
local count_by_time = mac_alert_store:count_by_time()
|
||||
|
||||
rest_utils.answer(rc, {series = {{ data = count_by_time, name = i18n("alerts_dashboard.alerts") }}})
|
||||
44
scripts/lua/rest/v1/get/network/alert/list.lua
Normal file
44
scripts/lua/rest/v1/get/network/alert/list.lua
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
--
|
||||
-- (C) 2021-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local rest_utils = require("rest_utils")
|
||||
local network_alert_store = require "network_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/network/alert/list.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Fetch the results
|
||||
local alerts, recordsFiltered = network_alert_store:select_request()
|
||||
|
||||
for _key,_value in ipairs(alerts or {}) do
|
||||
local record = network_alert_store:format_record(_value)
|
||||
res[#res + 1] = record
|
||||
end -- for
|
||||
|
||||
rest_utils.extended_answer(rc, {records = res}, {
|
||||
["draw"] = tonumber(_GET["draw"]),
|
||||
["recordsFiltered"] = recordsFiltered,
|
||||
["recordsTotal"] = #res
|
||||
})
|
||||
40
scripts/lua/rest/v1/get/network/alert/ts.lua
Normal file
40
scripts/lua/rest/v1/get/network/alert/ts.lua
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
--
|
||||
-- (C) 2013-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local alert_utils = require "alert_utils"
|
||||
local alert_consts = require "alert_consts"
|
||||
local alert_entities = require "alert_entities"
|
||||
local rest_utils = require("rest_utils")
|
||||
local network_alert_store = require "network_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts count by time
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/network/alert/ts.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
local ifid = _GET["ifid"]
|
||||
|
||||
if isEmptyString(ifid) then
|
||||
rc = rest_utils.consts.err.invalid_interface
|
||||
rest_utils.answer(rc)
|
||||
return
|
||||
end
|
||||
|
||||
interface.select(ifid)
|
||||
|
||||
-- Add filters
|
||||
network_alert_store:add_request_filters()
|
||||
|
||||
local count_by_time = network_alert_store:count_by_time()
|
||||
|
||||
rest_utils.answer(rc, {series = {{ data = count_by_time, name = i18n("alerts_dashboard.alerts") }}})
|
||||
40
scripts/lua/rest/v1/get/system/alert/list.lua
Normal file
40
scripts/lua/rest/v1/get/system/alert/list.lua
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
--
|
||||
-- (C) 2021-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local format_utils = require "format_utils"
|
||||
local alert_utils = require "alert_utils"
|
||||
local alert_consts = require "alert_consts"
|
||||
local alert_entities = require "alert_entities"
|
||||
local rest_utils = require("rest_utils")
|
||||
local system_alert_store = require "system_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/system/alert/list.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
interface.select(getSystemInterfaceId())
|
||||
|
||||
-- Fetch the results
|
||||
local alerts, recordsFiltered = system_alert_store:select_request()
|
||||
|
||||
for _key,_value in ipairs(alerts or {}) do
|
||||
local record = system_alert_store:format_record(_value)
|
||||
res[#res + 1] = record
|
||||
end -- for
|
||||
|
||||
rest_utils.extended_answer(rc, {records = res}, {
|
||||
["draw"] = tonumber(_GET["draw"]),
|
||||
["recordsFiltered"] = recordsFiltered,
|
||||
["recordsTotal"] = #res
|
||||
})
|
||||
32
scripts/lua/rest/v1/get/system/alert/ts.lua
Normal file
32
scripts/lua/rest/v1/get/system/alert/ts.lua
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
--
|
||||
-- (C) 2013-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local alert_utils = require "alert_utils"
|
||||
local alert_consts = require "alert_consts"
|
||||
local alert_entities = require "alert_entities"
|
||||
local rest_utils = require("rest_utils")
|
||||
local system_alert_store = require "system_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/system/alert/ts.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
interface.select(getSystemInterfaceId())
|
||||
|
||||
-- Add filters
|
||||
system_alert_store:add_request_filters()
|
||||
|
||||
local count_by_time = system_alert_store:count_by_time()
|
||||
|
||||
rest_utils.answer(rc, {series = {{ data = count_by_time, name = i18n("alerts_dashboard.alerts") }}})
|
||||
36
scripts/lua/rest/v1/get/user/alert/list.lua
Normal file
36
scripts/lua/rest/v1/get/user/alert/list.lua
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
--
|
||||
-- (C) 2021-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local rest_utils = require("rest_utils")
|
||||
local user_alert_store = require "user_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts data
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/user/alert/list.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
interface.select(getSystemInterfaceId())
|
||||
|
||||
-- Fetch the results
|
||||
local alerts, recordsFiltered = user_alert_store:select_request()
|
||||
|
||||
for _key,_value in ipairs(alerts or {}) do
|
||||
local record = user_alert_store:format_record(_value)
|
||||
res[#res + 1] = record
|
||||
end -- for
|
||||
|
||||
rest_utils.extended_answer(rc, {records = res}, {
|
||||
["draw"] = tonumber(_GET["draw"]),
|
||||
["recordsFiltered"] = recordsFiltered,
|
||||
["recordsTotal"] = #res
|
||||
})
|
||||
32
scripts/lua/rest/v1/get/user/alert/ts.lua
Normal file
32
scripts/lua/rest/v1/get/user/alert/ts.lua
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
--
|
||||
-- (C) 2013-21 - ntop.org
|
||||
--
|
||||
|
||||
local dirs = ntop.getDirs()
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
|
||||
|
||||
local alert_utils = require "alert_utils"
|
||||
local alert_consts = require "alert_consts"
|
||||
local alert_entities = require "alert_entities"
|
||||
local rest_utils = require("rest_utils")
|
||||
local user_alert_store = require "user_alert_store".new()
|
||||
|
||||
--
|
||||
-- Read alerts count by time
|
||||
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1"}' http://localhost:3000/lua/rest/v1/get/user/alert/ts.lua
|
||||
--
|
||||
-- NOTE: in case of invalid login, no error is returned but redirected to login
|
||||
--
|
||||
|
||||
local rc = rest_utils.consts.success.ok
|
||||
local res = {}
|
||||
|
||||
interface.select(getSystemInterfaceId())
|
||||
|
||||
-- Add filters
|
||||
user_alert_store:add_request_filters()
|
||||
|
||||
local count_by_time = user_alert_store:count_by_time()
|
||||
|
||||
rest_utils.answer(rc, {series = {{ data = count_by_time, name = i18n("alerts_dashboard.alerts") }}})
|
||||
Loading…
Add table
Add a link
Reference in a new issue