ntopng checks MySQL for the value of open_files_limit and engages
and alert if the worst case number of open files is greater
than or equal to the 80% of open_files_limit
Clicking on flow details (e.g., protocol or src or dst)
automatically redirects the user to the db explorer page
and preserves selection details (pro version).
Interface flows are now stored using integer interface ids rather
than interface names. This speeds up queries.
A migration code has also been introduced so that old MySQL table
format is migrated and old data does not get lost.
This also fixes#460
Lua function that query MySQL return an empty lua table
not only in case of an empty record set, but also in case of error.
This prevents upstream iterations over nil values.
Overal Top Talkers are retrieved with just one single
MySQL query and include both ipv4 and ipv4. Top talkers
can be visualized on a per-interface and per-host basis,
and can be sliced and diced.
Top Talkers and Top applications can be retrieved via MySQL
both interface-wide and per-host. A couple of tabs, namely
"Top Talkers" and "Top Applications" become available in the
historical page of interfaces and hosts. Upon focus of each
tab, an ajax request is triggered and data is fetched from MySQL.
TODO: interface wide top-talkers are retrieved from sqlite and
need to be moved to mysql.
A Lua function that queries MySQL
to retrieve top peers (given an host) has been added.
This function is used inside ntopng professional
database explorer
Existing MySQL naming convention makes two separate tables for each interface monitored. Table names are flows4_<ifid> and flows6_<ifid>. Ifid is a unique integer identifier chosen by ntopng.
Present commit simplifies this structure and make just two tables, namely flows4 and flows6, and add an extra column to store the interface names. I do not think that storing the integer interface id is good: it is just a number that only make sense inside ntopng. Using interface names would yield more (re)usable data.
Committed code transparently migrates old tables into the new ones. Old flows are migrated into the new tables, and old tables are dropped.
ntopng instance name can be specified using command line parameter
--instance-name. If no parameter is specified, instance name defaults
to the current host name.
this information is exported to MySQL and ES.