mirror of
https://github.com/ntop/ntopng.git
synced 2026-05-05 10:41:34 +00:00
Implements system engaged alert upon system alert drops
This commit is contained in:
parent
a8340ff131
commit
134c6dc0ee
3 changed files with 65 additions and 0 deletions
|
|
@ -0,0 +1,63 @@
|
|||
--
|
||||
-- (C) 2019-20 - ntop.org
|
||||
--
|
||||
|
||||
local user_scripts = require("user_scripts")
|
||||
local alerts_api = require("alerts_api")
|
||||
local alert_consts = require("alert_consts")
|
||||
|
||||
local script = {
|
||||
-- Script category
|
||||
category = user_scripts.script_categories.internals,
|
||||
|
||||
-- This script is only for alerts generation
|
||||
is_alert = true,
|
||||
|
||||
-- See below
|
||||
hooks = {},
|
||||
|
||||
gui = {
|
||||
i18n_title = "internals.alert_drops",
|
||||
i18n_description = "internals.system_alert_drops_descr",
|
||||
},
|
||||
}
|
||||
|
||||
-- #################################################################
|
||||
|
||||
local function dropped_alerts_check(params)
|
||||
tprint("system: "..tostring(interface.getId()).. " key: "..script.key)
|
||||
-- local dropped_alerts = interface.getStats()["num_dropped_alerts"]
|
||||
-- Fetch system host stats
|
||||
local system_host_stats = ntop.systemHostStat()
|
||||
|
||||
-- Fetch the number of dropped alerts out of system host stats
|
||||
-- The number fetched is the number of drops occured in the internal queue, that is,
|
||||
-- in the queue currently used to generate alerts from C
|
||||
local dropped_alerts = system_host_stats["alerts_stats"]["alert_queues"]["internal_alerts_queue"]["num_not_enqueued"]
|
||||
|
||||
-- Compute the delta with the previous value for drops
|
||||
local delta_drops = alerts_api.interface_delta_val(script.key, params.granularity, dropped_alerts, true --[[ skip first --]])
|
||||
|
||||
local alert_type = alert_consts.alert_types.alert_dropped_alerts.create(
|
||||
alert_consts.alert_severities.error,
|
||||
alert_consts.alerts_granularities[params.granularity],
|
||||
interface.getId(),
|
||||
delta_drops
|
||||
)
|
||||
|
||||
if(delta_drops > 0) then
|
||||
alerts_api.trigger(params.alert_entity, alert_type, nil, params.cur_alerts)
|
||||
else
|
||||
alerts_api.release(params.alert_entity, alert_type, nil, params.cur_alerts)
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
-- #################################################################
|
||||
|
||||
script.hooks.min = dropped_alerts_check
|
||||
|
||||
-- #################################################################
|
||||
|
||||
return script
|
||||
Loading…
Add table
Add a link
Reference in a new issue