From 7ffd967a748b47c0fa17a620331aa602d30196df Mon Sep 17 00:00:00 2001 From: MatteoBiscosi Date: Fri, 7 Oct 2022 10:53:03 +0200 Subject: [PATCH] Added host/score ratio (#6919) --- httpdocs/inc/as_stats_id.inc | 6 ++++-- httpdocs/inc/network_stats_id.inc | 2 ++ scripts/locales/en.lua | 1 + scripts/lua/as_stats.lua | 24 ++++++++++++++++-------- scripts/lua/get_as_data.lua | 2 -- scripts/lua/modules/as_utils.lua | 3 +++ scripts/lua/modules/network_utils.lua | 10 +++++----- scripts/lua/network_stats.lua | 8 ++++++++ 8 files changed, 39 insertions(+), 17 deletions(-) diff --git a/httpdocs/inc/as_stats_id.inc b/httpdocs/inc/as_stats_id.inc index 4c99a1116c..197a0499bb 100644 --- a/httpdocs/inc/as_stats_id.inc +++ b/httpdocs/inc/as_stats_id.inc @@ -15,11 +15,12 @@ function as_table_setID (row) { row.find("td").eq(index++).attr('id', as_key+"_chart"); row.find("td").eq(index++).attr('id', as_key+"_hosts"); + row.find("td").eq(index++).attr('id', as_key+"_score"); + row.find("td").eq(index++).attr('id', as_key+"_host_score_ratio"); row.find("td").eq(index++).attr('id', as_key+"_asname"); row.find("td").eq(index++).attr('id', as_key+"_since"); - row.find("td").eq(index++).attr('id', as_key+"_score"); row.find("td").eq(index++).attr('id', as_key+"_alerted_flows"); row.find("td").eq(index++).attr('id', as_key+"_breakdown"); row.find("td").eq(index++).attr('id', as_key+"_throughput"); @@ -42,11 +43,12 @@ function as_row_update(as_key) { $("#"+as_key+'_chart').html(data.column_chart); $("#"+as_key+'_hosts').html(data.column_hosts); + $("#"+as_key+'_score').html(data.column_score); + $("#"+as_key+'_host_score_ratio').html(data.column_host_score_ratio); $("#"+as_key+'_asname').html(data.column_asname); $("#"+as_key+'_since').html(data.column_since); - $("#"+as_key+'_score').html(data.column_score); $("#"+as_key+'_alerted_flows').html(data.column_alerted_flows); $("#"+as_key+'_breakdown').html(data.column_breakdown); $("#"+as_key+'_throughput').html(data.column_thpt); diff --git a/httpdocs/inc/network_stats_id.inc b/httpdocs/inc/network_stats_id.inc index f5621ac5cd..e98db07827 100644 --- a/httpdocs/inc/network_stats_id.inc +++ b/httpdocs/inc/network_stats_id.inc @@ -15,6 +15,7 @@ function network_table_setID (row) { row.find("td").eq(index++).attr('id', network_key+"_chart"); row.find("td").eq(index++).attr('id', network_key+"_hosts"); row.find("td").eq(index++).attr('id', network_key+"_score"); + row.find("td").eq(index++).attr('id', network_key+"_host_score_ratio"); row.find("td").eq(index++).attr('id', network_key+"_alerted_flows"); // network_stats_bottom @@ -37,6 +38,7 @@ function network_row_update(network_key) { var data = jQuery.parseJSON(content); $("#"+network_key+'_hosts').html(data.column_hosts); $("#"+network_key+'_score').html(data.column_score); + $("#"+network_key+'_host_score_ratio').html(data.column_host_score_ratio); $("#"+network_key+'_alerted_flows').html(data.column_alerted_flows); $("#"+network_key+'_since').html(data.column_since); $("#"+network_key+'_breakdown').html(data.column_breakdown); diff --git a/scripts/locales/en.lua b/scripts/locales/en.lua index 86565da6dc..d00bfa8d71 100644 --- a/scripts/locales/en.lua +++ b/scripts/locales/en.lua @@ -214,6 +214,7 @@ local lang = { ["host"] = "Host %{host}", ["host_address"] = "Host Address", ["host_notes"] = "Host Notes", + ["host_score_ratio"] = "Host/Score Ratio", ["hostname"] = "Hostname", ["hosts"] = "Hosts", ["hosts_map"] = "Hosts Map", diff --git a/scripts/lua/as_stats.lua b/scripts/lua/as_stats.lua index f69d286317..b374e74a82 100644 --- a/scripts/lua/as_stats.lua +++ b/scripts/lua/as_stats.lua @@ -85,6 +85,22 @@ print [[ } }, + { + title: "]] print(i18n("score")) print[[", + field: "column_score", + sortable: true, + css: { + textAlign: 'center' + } + }, + { + title: "]] print(i18n("host_score_ratio")) print[[", + field: "column_host_score_ratio", + sortable: false, + css: { + textAlign: 'center' + } + }, { title: "]] print(i18n("name")) print[[", field: "column_asname", @@ -102,14 +118,6 @@ print [[ textAlign: 'center' } - }, - { - title: "]] print(i18n("score")) print[[", - field: "column_score", - sortable: true, - css: { - textAlign: 'center' - } }, { title: "]] print(i18n("flow_details.alerted_flows")) print[[", diff --git a/scripts/lua/get_as_data.lua b/scripts/lua/get_as_data.lua index f2f902cb60..3a9be1a9b1 100644 --- a/scripts/lua/get_as_data.lua +++ b/scripts/lua/get_as_data.lua @@ -19,8 +19,6 @@ interface.select(ifname) local as = interface.getASInfo(asn) -tprint(as["alerted_flows"]["total"]) - local res = {} if as ~= nil then res = as2record(getInterfaceId(ifname), as) diff --git a/scripts/lua/modules/as_utils.lua b/scripts/lua/modules/as_utils.lua index d6fa9db770..5f257c9727 100644 --- a/scripts/lua/modules/as_utils.lua +++ b/scripts/lua/modules/as_utils.lua @@ -15,11 +15,14 @@ function as2record(ifId, as) record["key"] = tostring(as["asn"]) local as_link = ""..as["asn"]..'' + as["host_score_ratio"] = math.floor(as["score"] / as["num_hosts"]) + record["column_asn"] = as_link record["column_asname"] = printASN(as["asn"], as["asname"]) record["column_score"] = format_high_num_value_for_tables(as, "score") record["column_hosts"] = format_high_num_value_for_tables(as, "num_hosts") record["column_since"] = secondsToTime(now - as["seen.first"] + 1) + record["column_host_score_ratio"] = format_high_num_value_for_tables(as, "host_score_ratio") local sent2rcvd = round((as["bytes.sent"] * 100) / (as["bytes.sent"] + as["bytes.rcvd"]), 0) record["column_breakdown"] = "
"..getFullLocalNetworkName(network["network_key"])..'' + + network["host_score_ratio"] = math.floor(network["score"] / network["num_hosts"]) + record["column_id"] = network_link record["column_score"] = format_high_num_value_for_tables(network, "score") record["column_hosts"] = format_high_num_value_for_tables(network, "num_hosts") + record["column_alerted_flows"] = format_high_num_value_for_tables(network["alerted_flows"], "total") + record["column_host_score_ratio"] = format_high_num_value_for_tables(network, "host_score_ratio") local sent2rcvd = round((network["bytes.sent"] * 100) / (network["bytes.sent"] + network["bytes.rcvd"]), 0) record["column_breakdown"] = "
' end - - record["column_alerted_flows"] = format_utils.formatValue(network["alerted_flows"]["total"] or 0) - if record["column_alerted_flows"] == 0 then - record["column_alerted_flows"] = '' - end return record end diff --git a/scripts/lua/network_stats.lua b/scripts/lua/network_stats.lua index 9d09812a0c..4c9c750327 100644 --- a/scripts/lua/network_stats.lua +++ b/scripts/lua/network_stats.lua @@ -121,6 +121,14 @@ print [[ textAlign: 'center' }, }, + { + title: "]] print(i18n("host_score_ratio")) print[[", + field: "column_host_score_ratio", + sortable: false, + css: { + textAlign: 'center' + }, + }, { title: "]] print(i18n("flow_details.alerted_flows")) print[[", field: "column_alerted_flows",