--
-- (C) 2017 - ntop.org
--
dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
if(ntop.isPro()) then
package.path = dirs.installdir .. "/pro/scripts/lua/modules/?.lua;" .. package.path
require "snmp_utils"
shaper_utils = require "shaper_utils"
end
require "lua_utils"
require "graph_utils"
require "alert_utils"
local host_pools_utils = require "host_pools_utils"
local pool_id = _GET["pool"]
local page = _GET["page"]
if (not ntop.isPro()) then
return
end
interface.select(ifname)
local ifstats = interface.getStats()
local ifId = ifstats.id
local pool_name = host_pools_utils.getPoolName(ifId, pool_id)
sendHTTPHeader('text/html; charset=iso-8859-1')
ntop.dumpFile(dirs.installdir .. "/httpdocs/inc/header.inc")
dofile(dirs.installdir .. "/scripts/lua/inc/menu.lua")
local base_url = ntop.getHttpPrefix()..'/lua/pool_details.lua'
local page_params = {}
page_params["ifid"] = ifId
page_params["pool"] = pool_id
page_params["page"] = page
if(pool_id == nil) then
print("
 .. )
Pool parameter is missing (internal error ?)
")
return
end
print [[
]]
local pools_stats = interface.getHostPoolsStats()
local pool_stats = pools_stats and pools_stats[tonumber(pool_id)]
if ntop.isPro() and ifstats.inline and (page == "quotas") and (pool_stats ~= nil) then
local ndpi_stats = pool_stats.ndpi
local category_stats = pool_stats.ndpi_categories
local quota_and_protos = shaper_utils.getPoolProtoShapers(ifId, pool_id)
-- Empty check
local empty = true
for _, proto in pairs(quota_and_protos) do
if ((tonumber(proto.traffic_quota) > 0) or (tonumber(proto.time_quota) > 0)) then
-- at least a quota is set
empty = false
break
end
end
if empty then
print(" .. )
"..i18n("shaping.no_quota_data")..
". Create new quotas
here.
")
else
print[[
| ]] print(i18n("protocol")) print[[ |
]] print(i18n("shaping.daily_traffic")) print[[ |
]] print(i18n("shaping.daily_time")) print[[ |
]]
end
elseif page == "historical" then
local rrdbase = host_pools_utils.getRRDBase(ifId, pool_id)
if(not ntop.exists(rrdbase.."/bytes.rrd")) then
print(" .. )
No available data for Host Pool '"..pool_name.."'. ")
print('Host Pool timeseries can be enabled from the
Preferences. Few minutes are necessary to see the first data points.
')
else
local rrdfile
if(not isEmptyString(_GET["rrd_file"])) then
rrdfile = _GET["rrd_file"]
else
rrdfile = "bytes.rrd"
end
local host_url = getPageUrl(base_url, page_params)
drawRRD(ifId, 'pool:'..pool_id, rrdfile, _GET["zoom"], host_url, 1, _GET["epoch"], nil, makeTopStatsScriptsArray())
end
end
dofile(dirs.installdir .. "/scripts/lua/inc/footer.lua")