Commit graph

732 commits

Author SHA1 Message Date
emanuele-f
d037f9a9a4 Use new user scripts config and gui
The user scripts configuration can now be configured from the "User Scripts" entry under the cog
icon. It allows the creation of multiple configuration presets to be applied to hosts, networks and
interfaces.
2020-01-03 13:03:34 +01:00
emanuele-f
4621a8f409 Reload the periodic scripts when the configuration changes 2019-12-31 19:31:03 +01:00
Simone Mainardi
b44de6e18d Implements discarded probing traffic counters and timeseries 2019-12-31 16:01:24 +01:00
Simone Mainardi
2abb8cfde5 Reworks flow scripts deadlines 2019-12-27 20:50:53 +01:00
Alfredo Cardigliano
8caed2a438 Comments 2019-12-27 15:22:59 +01:00
Simone Mainardi
c873aee41b Implement counter and chart for new flows per second 2019-12-27 12:29:55 +01:00
emanuele-f
8b7d711a36 Add option to disable flow user scripts invocation 2019-12-23 18:03:19 +01:00
emanuele-f
c665bc78d7 Make configsets global 2019-12-23 13:25:35 +01:00
emanuele-f
c6c6c46132 Implement configsets target hosts CIDR match 2019-12-20 14:27:38 +01:00
emanuele-f
f62aa15117 Load new configsets while loading user scripts
Hosts/SNMP devices will be handled separately
2019-12-20 12:19:49 +01:00
emanuele-f
61ddcd9730 Fix syslog script subdir 2019-12-19 16:40:09 +01:00
emanuele-f
4c370de8cf Fix missing suricata user scripts 2019-12-19 16:36:51 +01:00
emanuele-f
139a16ffe3 Fix protocol categories association lost after reboot
After the recent changes, there is only one global nDPI struct which
is share across all the interfaces. However, the struct can be swapped
during normal operating, so it's necessary to reload the associations
every time a new nDPI struct is allocated.

Fixes #3139
2019-12-19 15:11:21 +01:00
Simone Mainardi
f9b6921983 Fixes devices policies reload and alerts generation
Fixes #3102
2019-12-19 11:42:24 +01:00
Simone Mainardi
692463fbc9 Fixes initial misdetection of flows with custom protocols 2019-12-19 10:38:51 +01:00
emanuele-f
b5197ba452 Integrate configsets with user scripts configurations 2019-12-16 17:36:30 +01:00
emanuele-f
c95473d659 Add snmpDevice hook and improve SNMP user scripts API
Closes #3097
2019-12-16 15:30:15 +01:00
emanuele-f
b10520e264 Rename checkAlerts callback to runScripts 2019-12-16 09:31:24 +01:00
emanuele-f
3a6897bb84 Community plugins fixes 2019-12-10 11:48:03 +01:00
emanuele-f
a3432e00e8 Implement ntopng plugins
Plugins are a convenient way to group together related lua scripts.
Their primary use case is to group user scripts and their alert/status
definition.
The builtin ntopng user scripts and definitions are now
packed into plugins directories. In future, we will support loading of
user created plugins.
Plugins are loaded at startup into some runtime directories and then
used. Other changes provided by this commit include:

- Add sample flow logger plugin
- Initial support for system user scripts
- Rename edge to threshold
- Migrate system probes to user scripts/plugins
- Migrate scripts to more explicit alerts_api.checkThresholdAlert api
2019-12-10 09:25:57 +01:00
Simone Mainardi
7402bbdd14 FontAwesome 5 migration 2019-12-09 15:11:37 +01:00
emanuele-f
0d48bff069 Implement more flexible user_scripts api
NOTE: The existing alerts configuration of the users will be discarded.

Some code has been added to make the current gui on/off toggle work.
It is marked with the following comment:

-- TODO remove after implementing the new gui
2019-11-28 11:06:14 +01:00
Simone Mainardi
188ec66c25 Implements scriptable SNMP devices alerts 2019-11-22 18:00:31 +01:00
Simone Mainardi
5b81a3ab9e Implements low goodput calculation in lua 2019-11-21 16:37:33 +01:00
Simone Mainardi
4cde74af2b Allows system probes timeseries to be enabled/disabled
Fixes #3069
2019-11-20 16:05:14 +01:00
Simone Mainardi
68ce38d0ae Generalizes memory usage monitor with a system probe 2019-11-20 16:05:10 +01:00
Simone Mainardi
d3995e36a2 Fixes accesses to possibly nil discovered data 2019-11-19 18:12:56 +01:00
emanuele-f
2df9b34201 Add flow user scripts drops alert 2019-11-19 17:37:58 +01:00
Simone Mainardi
9cb566ed41 Computes lua scripts deadlines in C to prevent missing scheduled activities 2019-11-19 13:02:13 +01:00
emanuele-f
3dd7d2215d Remove matchesL7 call 2019-11-15 16:58:59 +01:00
emanuele-f
7d0888d302 Flow user scripts optimizations 2019-11-15 15:52:36 +01:00
Alfredo Cardigliano
e38835a603 Rename SSL to TLS (fix #3013) 2019-11-15 12:40:01 +01:00
emanuele-f
84178c4fa1 Fix 5sec stats time alignment 2019-11-15 11:52:33 +01:00
emanuele-f
60fc7e0cfb Improve flow.lua and add statistics 2019-11-15 10:51:19 +01:00
Alfredo Cardigliano
d2b7cea9c8 Keeping track of resident memory only (fix #3040) 2019-11-15 09:42:08 +01:00
emanuele-f
bde0a51f9c Add periodic_update_seconds parameter 2019-11-14 16:10:45 +01:00
emanuele-f
52e081ac1c Change remote-to-remote alert to status 2019-11-14 12:41:28 +01:00
emanuele-f
6585364186 Account internal alerts queue drops 2019-11-14 12:30:12 +01:00
emanuele-f
df0556cb87 Optimize flow alerts generation
This provides a ~10x speedup by performing the JSON serialization work in C
(and thus avoiding Lua->C overhead). This also implements two in-memory alerts
queues (one for sqlite and one for the notifications) in order to reduce Redis load.
Alerts queue are now global instead of per-interface as there is only 1 dequeing thread.
2019-11-14 11:54:13 +01:00
Simone Mainardi
05e6dc1677 Implements bi- and mono-directional flow callbacks filter
Implements #3055
2019-11-13 18:14:49 +01:00
Simone Mainardi
0fabd87491 Implements TWH-complete flow callbacks filter
Implements #3056
2019-11-13 17:27:41 +01:00
emanuele-f
739c87a52d Initial flow user scripts optimization 2019-11-11 18:04:48 +01:00
emanuele-f
74ce0562d7 Rework datatableRefreshRows for easier and more robust usage 2019-11-07 11:19:40 +01:00
emanuele-f
58d88d161e Implement redis num calls charts 2019-11-06 18:12:17 +01:00
Alfredo Cardigliano
acdab024da Enqueueing flow alerts to be stored/notified from Lua, removed DB select to notiy alert (using the alert object directly) 2019-11-05 15:53:10 +01:00
emanuele-f
54140b6f1a Migrate alertable disabled alerts preference to lua
This avoids performing multiple hget on redis, thus increasing performance
2019-11-05 14:59:38 +01:00
Alfredo Cardigliano
280213e148 Enqueueing alerts as soon as they are detected, instead of using 2-steps (#3038) 2019-11-05 11:04:44 +01:00
Luca
aad44a5bca Merge branch 'dev' of https://github.com/ntop/ntopng into dev 2019-11-04 17:58:26 +01:00
Luca
71532321b5 Implemented redis stats 2019-11-04 17:58:12 +01:00
emanuele-f
675adcf90e Migrate hosts disabled flow status preference to lua
By loading all the preferences at once in flow.lua setup() the
redis load is reduced and design is simpler.
2019-11-04 16:50:26 +01:00