Added endpoint to get alerts info from bitmap and alert id (#8785)

This commit is contained in:
GabrieleDeri 2024-10-29 19:18:21 +01:00 committed by GitHub
parent 938ed243a9
commit f978581261
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 38 additions and 1 deletions

View file

@ -0,0 +1,34 @@
--
-- (C) 2021-24 - ntop.org
--
local dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" .. package.path
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
require "lua_utils"
local alert_utils = require "alert_utils"
local json = require "dkjson"
local rest_utils = require "rest_utils"
-- Given alerts bitmap and alert_id return all the alerts relevant for the provided values
-- Example: curl -u admin:admin -H "Content-Type: application/json" -d '{"alert_map": "10050000000100000000100000", "alert_type": "90"}' http://localhost:3000/lua/rest/v2/get/alert/alert_from_map.lua
-- Returns: {"rsp":{"additional_alerts":["TCP Connection Refused ","TCP No Data Exchanged ","Periodic Flow ","TCP Flow Reset "],"alerts_by_score":[]},"rc_str":"OK","rc":0,"rc_str_hr":"Success"}
local rc = rest_utils.consts.success.ok
local alerts_map = _GET["alert_map"]
local alert_id = _GET["alert_type"]
local res
if alerts_map and alert_id then
local other_alerts_by_score, additional_alerts = alert_utils.format_other_alerts(tostring(alerts_map), tostring(alert_id), nil, nil, true)
res = {
alerts_by_score = alerts_by_score or {},
additional_alerts = additional_alerts or {}
}
else
rc = rest_utils.consts.err.invalid_args
res = {}
end
rest_utils.answer(rc, res)