mirror of
https://github.com/ntop/ntopng.git
synced 2026-05-05 10:41:34 +00:00
Cleaned alerts REST for telemetry host, flow
This commit is contained in:
parent
4551d143b3
commit
81c696aef7
9 changed files with 231 additions and 72 deletions
|
|
@ -3,7 +3,8 @@
|
|||
--
|
||||
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
|
||||
package.path = dirs.installdir .. "/scripts/lua/modules/alert_store/?.lua;" ..
|
||||
package.path
|
||||
|
||||
local auth = require "auth"
|
||||
local rest_utils = require("rest_utils")
|
||||
|
|
@ -21,23 +22,22 @@ local res = {}
|
|||
|
||||
local ifid = _GET["ifid"]
|
||||
local format = _GET["format"]
|
||||
local telemetry = _GET["telemetry"]
|
||||
|
||||
local no_html = false
|
||||
local download = false
|
||||
|
||||
if not format then
|
||||
-- GUI request - return formatted json
|
||||
format = "json"
|
||||
-- GUI request - return formatted json
|
||||
format = "json"
|
||||
else
|
||||
-- txt or (plain) json - return unformatted data
|
||||
no_html = true
|
||||
if format == "txt" then
|
||||
if ntop.isClickHouseEnabled() then
|
||||
download = true
|
||||
end
|
||||
else
|
||||
format = "json"
|
||||
end
|
||||
-- txt or (plain) json - return unformatted data
|
||||
no_html = true
|
||||
if format == "txt" then
|
||||
if ntop.isClickHouseEnabled() then download = true end
|
||||
else
|
||||
format = "json"
|
||||
end
|
||||
end
|
||||
|
||||
if not auth.has_capability(auth.capabilities.alerts) then
|
||||
|
|
@ -56,20 +56,23 @@ interface.select(ifid)
|
|||
if not download then
|
||||
local debug = false
|
||||
|
||||
local alerts, recordsFiltered, info = host_alert_store:select_request(nil, "*", download, debug)
|
||||
local alerts, recordsFiltered, info =
|
||||
host_alert_store:select_request(nil, "*", download, debug)
|
||||
|
||||
for _, _value in ipairs(alerts or {}) do
|
||||
res[#res + 1] = host_alert_store:format_record(_value, no_html)
|
||||
if (isEmptyString(telemetry)) then
|
||||
for _, _value in ipairs(alerts or {}) do
|
||||
res[#res + 1] = host_alert_store:format_record(_value, no_html)
|
||||
end
|
||||
else
|
||||
for _, _value in ipairs(alerts or {}) do
|
||||
res[#res + 1] = host_alert_store:format_record_telemetry(_value)
|
||||
end
|
||||
end
|
||||
|
||||
if format == "txt" then
|
||||
res = host_alert_store:to_csv(res)
|
||||
rest_utils.vanilla_payload_response(rc, res, "text/csv")
|
||||
else
|
||||
local data = {
|
||||
records = res,
|
||||
stats = info
|
||||
}
|
||||
local data = {records = res, stats = info}
|
||||
|
||||
rest_utils.extended_answer(rc, data, {
|
||||
["draw"] = tonumber(_GET["draw"]),
|
||||
|
|
@ -81,8 +84,11 @@ else
|
|||
local extra_headers = {}
|
||||
local rsp = "" -- data pushed by the query function clickhouse_utils.query (clickhouse_utils.lua)
|
||||
|
||||
extra_headers["Content-Disposition"] = "attachment;filename=\"host_alerts_export_" .. os.time() .. ".csv\""
|
||||
rest_utils.vanilla_payload_response(rest_utils.consts.success.ok, rsp, "application/octet-stream", extra_headers)
|
||||
extra_headers["Content-Disposition"] =
|
||||
"attachment;filename=\"host_alerts_export_" .. os.time() .. ".csv\""
|
||||
rest_utils.vanilla_payload_response(rest_utils.consts.success.ok, rsp,
|
||||
"application/octet-stream",
|
||||
extra_headers)
|
||||
host_alert_store:select_request(nil, "*", download)
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue