mirror of
https://github.com/ntop/ntopng.git
synced 2026-04-30 07:59:35 +00:00
835 lines
21 KiB
Lua
835 lines
21 KiB
Lua
--
|
|
-- (C) 2019-24 - ntop.org
|
|
--
|
|
local dirs = ntop.getDirs()
|
|
package.path = dirs.installdir .. "/scripts/lua/modules/timeseries/?.lua;" .. package.path
|
|
|
|
local ts_utils = require "ts_utils_core"
|
|
local schema
|
|
|
|
-------------------------------------------------------
|
|
-- PERIODIC_SCRIPTS SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
schema = ts_utils.newSchema("periodic_script:duration", {
|
|
step = 60,
|
|
rrd_fname = "ps_duration",
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("periodic_script")
|
|
schema:addMetric("num_ms_last")
|
|
|
|
schema = ts_utils.newSchema("periodic_script:timeseries_writes", {
|
|
step = 60,
|
|
rrd_fname = "ps_ts_wrdr",
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("periodic_script")
|
|
schema:addMetric("writes")
|
|
schema:addMetric("drops")
|
|
|
|
-------------------------------------------------------
|
|
-- HASH_TABLES SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
schema = ts_utils.newSchema("ht:state", {
|
|
step = 60,
|
|
rrd_fname = "ht_state",
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("hash_table")
|
|
schema:addMetric("num_idle")
|
|
schema:addMetric("num_active")
|
|
|
|
-------------------------------------------------------
|
|
-- MEMORY AND ALERT SCHEMAS ('/callbacks/minute/system/timeseries.lua')
|
|
-------------------------------------------------------
|
|
|
|
-- ################################################
|
|
|
|
schema = ts_utils.newSchema("process:resident_memory", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("resident_bytes")
|
|
|
|
-- ################################################
|
|
|
|
schema = ts_utils.newSchema("process:num_alerts", {
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("written_alerts")
|
|
schema:addMetric("alerts_queries")
|
|
schema:addMetric("dropped_alerts")
|
|
|
|
-------------------------------------------------------
|
|
-- PROFILES SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
schema = ts_utils.newSchema("profile:traffic", {
|
|
step = 60,
|
|
rrd_fname = "bytes"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("profile")
|
|
schema:addMetric("bytes")
|
|
|
|
-------------------------------------------------------
|
|
-- nEDGE SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
-- Stats (rx/tx) for the analysed traffic (netfilter interface)
|
|
-- (same as traffic_rxtx, but with minute resolution)
|
|
schema = ts_utils.newSchema("iface:traffic_rxtx_min", {
|
|
step=60,
|
|
is_critical_ts=true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("bytes_sent")
|
|
schema:addMetric("bytes_rcvd")
|
|
|
|
-- Stats per lan/wan interfaces
|
|
schema = ts_utils.newSchema("iface:nedge_traffic_rxtx", {
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("bytes_sent")
|
|
schema:addMetric("bytes_rcvd")
|
|
|
|
-- Stats for the netfilter queue
|
|
schema = ts_utils.newSchema("iface:nedge_traffic_nfq", {
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("bytes")
|
|
schema:addMetric("bytes_nfq")
|
|
|
|
-------------------------------------------------------
|
|
-- SUBNETS SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
if ntop.isPro() then
|
|
schema = ts_utils.newSchema("subnet:intranet_traffic_min", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.counter
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addTag("subnet_2")
|
|
schema:addMetric("bytes_sent")
|
|
schema:addMetric("bytes_rcvd")
|
|
end
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("subnet:rtt", {
|
|
step = 300,
|
|
rrd_fname = "num_ms_rtt",
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("millis_rtt")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("subnet:traffic", {
|
|
step = 60,
|
|
rrd_fname = "bytes"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("bytes_ingress")
|
|
schema:addMetric("bytes_egress")
|
|
schema:addMetric("bytes_inner")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("subnet:broadcast_traffic", {
|
|
step = 60,
|
|
rrd_fname = "broadcast_bytes"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("bytes_ingress")
|
|
schema:addMetric("bytes_egress")
|
|
schema:addMetric("bytes_inner")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("subnet:tcp_retransmissions", {
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("packets_ingress")
|
|
schema:addMetric("packets_egress")
|
|
schema:addMetric("packets_inner")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("subnet:tcp_out_of_order", {
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("packets_ingress")
|
|
schema:addMetric("packets_egress")
|
|
schema:addMetric("packets_inner")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("subnet:tcp_lost", {
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("packets_ingress")
|
|
schema:addMetric("packets_egress")
|
|
schema:addMetric("packets_inner")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("subnet:tcp_keep_alive", {
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("packets_ingress")
|
|
schema:addMetric("packets_egress")
|
|
schema:addMetric("packets_inner")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("subnet:engaged_alerts", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("alerts")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("subnet:score", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("score")
|
|
schema:addMetric("scoreAsClient")
|
|
schema:addMetric("scoreAsServer")
|
|
|
|
-- ##############################################
|
|
|
|
if ntop.isEnterpriseL() then
|
|
schema = ts_utils.newSchema("subnet:qoe_stats", {
|
|
step = 300,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("subnet")
|
|
schema:addMetric("excellent")
|
|
schema:addMetric("good")
|
|
schema:addMetric("fair")
|
|
schema:addMetric("degraded")
|
|
schema:addMetric("poor")
|
|
schema:addMetric("unknown")
|
|
end
|
|
|
|
-- ##############################################
|
|
|
|
-------------------------------------------------------
|
|
-- INTERFACES SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
if ntop.isEnterpriseM() then
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:score_anomalies_v2", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("anomaly")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:score_behavior_v2", {
|
|
step = 300,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("value")
|
|
schema:addMetric("lower_bound")
|
|
schema:addMetric("upper_bound")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:traffic_anomalies_v2", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("anomaly")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:traffic_tx_behavior_v5", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
keep_total = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("value")
|
|
schema:addMetric("lower_bound")
|
|
schema:addMetric("upper_bound")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:traffic_rx_behavior_v5", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
keep_total = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("value")
|
|
schema:addMetric("lower_bound")
|
|
schema:addMetric("upper_bound")
|
|
end
|
|
|
|
schema = ts_utils.newSchema("iface:ndpi", {
|
|
step = 60,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("protocol")
|
|
schema:addMetric("bytes")
|
|
|
|
schema = ts_utils.newSchema("iface:ndpi_full", {
|
|
step = 60,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("protocol")
|
|
schema:addMetric("bytes_sent")
|
|
schema:addMetric("bytes_rcvd")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:ndpi_categories", {
|
|
step = 60,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("category")
|
|
schema:addMetric("bytes")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:l4protos", {
|
|
step = 60,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("l4proto")
|
|
schema:addMetric("bytes")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:ndpi_flows", {
|
|
step = 60,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("protocol")
|
|
schema:addMetric("num_flows")
|
|
|
|
-- ##############################################
|
|
|
|
-- NOTE: not shown
|
|
schema = ts_utils.newSchema("iface:local2remote", {
|
|
step = 60,
|
|
rrd_fname = "local2remote"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("bytes")
|
|
|
|
-- ##############################################
|
|
|
|
-- NOTE: not shown
|
|
schema = ts_utils.newSchema("iface:remote2local", {
|
|
step = 60,
|
|
rrd_fname = "remote2local"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("bytes")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:hosts", {
|
|
step = 60,
|
|
rrd_fname = "num_hosts",
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_hosts")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:local_hosts", {
|
|
step = 60,
|
|
rrd_fname = "num_local_hosts",
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_hosts")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:devices", {
|
|
step = 60,
|
|
rrd_fname = "num_devices",
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_devices")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:flows", {
|
|
step = 60,
|
|
rrd_fname = "num_flows",
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_flows")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:alerted_flows", {
|
|
step = 60,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_flows")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:new_flows", {
|
|
step = 60,
|
|
rrd_fname = "if_new_flows",
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("new_flows")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:http_hosts", {
|
|
step = 60,
|
|
rrd_fname = "num_http_hosts",
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_hosts")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:tcp_stats", {
|
|
step = 60,
|
|
rrd_fname = "tcp_stats"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("retransmissions")
|
|
schema:addMetric("out_of_order")
|
|
schema:addMetric("lost")
|
|
schema:addMetric("keep_alive")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:tcp_flags", {
|
|
step = 60,
|
|
rrd_fname = "tcp_flags"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("fin_ack")
|
|
schema:addMetric("syn_ack")
|
|
schema:addMetric("syn")
|
|
schema:addMetric("rst")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:nfq_pct", {
|
|
step = 60,
|
|
rrd_fname = "num_nfq_pct",
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_nfq_pct")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:score", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("cli_score")
|
|
schema:addMetric("srv_score")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:engaged_alerts", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("engaged_alerts")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:dropped_alerts", {
|
|
step = 60,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("dropped_alerts")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:dumped_flows", {
|
|
step = 60,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("dumped_flows")
|
|
schema:addMetric("dropped_flows")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("iface:hosts_anomalies", {
|
|
step = 60,
|
|
is_critical_ts = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_loc_hosts_anom")
|
|
schema:addMetric("num_rem_hosts_anom")
|
|
|
|
-- ##############################################
|
|
|
|
if ntop.isEnterpriseL() then
|
|
schema = ts_utils.newSchema("iface:qoe_stats", {
|
|
step = 300,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("excellent")
|
|
schema:addMetric("good")
|
|
schema:addMetric("fair")
|
|
schema:addMetric("degraded")
|
|
schema:addMetric("poor")
|
|
schema:addMetric("unknown")
|
|
end
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("am_host:val_min", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
aggregation_function = ts_utils.aggregation.max,
|
|
is_system_schema = true
|
|
})
|
|
|
|
schema:addTag("ifid")
|
|
schema:addTag("host")
|
|
schema:addTag("metric")
|
|
schema:addMetric("value")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("am_host:http_stats_min", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
aggregation_function = ts_utils.aggregation.max,
|
|
is_system_schema = true
|
|
})
|
|
|
|
schema:addTag("ifid")
|
|
schema:addTag("host")
|
|
schema:addTag("metric")
|
|
schema:addMetric("lookup_ms")
|
|
schema:addMetric("other_ms")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("am_host:https_stats_min", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
aggregation_function = ts_utils.aggregation.max,
|
|
is_system_schema = true
|
|
})
|
|
|
|
schema:addTag("ifid")
|
|
schema:addTag("host")
|
|
schema:addTag("metric")
|
|
schema:addMetric("lookup_ms")
|
|
schema:addMetric("connect_ms")
|
|
schema:addMetric("other_ms")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("am_host:cicmp_stats_min", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_system_schema = true
|
|
})
|
|
|
|
schema:addTag("ifid")
|
|
schema:addTag("host")
|
|
schema:addTag("metric")
|
|
schema:addMetric("min_rtt")
|
|
schema:addMetric("max_rtt")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("am_host:jitter_stats_min", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_system_schema = true
|
|
})
|
|
|
|
schema:addTag("ifid")
|
|
schema:addTag("host")
|
|
schema:addTag("metric")
|
|
schema:addMetric("latency")
|
|
schema:addMetric("jitter")
|
|
|
|
-- ##############################################
|
|
|
|
-------------------------------------------------------
|
|
-- CONTAINERS SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
schema = ts_utils.newSchema("container:num_flows", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("container")
|
|
schema:addMetric("as_client")
|
|
schema:addMetric("as_server")
|
|
|
|
schema = ts_utils.newSchema("container:rtt", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("container")
|
|
schema:addMetric("as_client")
|
|
schema:addMetric("as_server")
|
|
|
|
schema = ts_utils.newSchema("container:rtt_variance", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("container")
|
|
schema:addMetric("as_client")
|
|
schema:addMetric("as_server")
|
|
|
|
-------------------------------------------------------
|
|
-- PODS SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
schema = ts_utils.newSchema("pod:num_containers", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("pod")
|
|
schema:addMetric("num_containers")
|
|
|
|
schema = ts_utils.newSchema("pod:num_flows", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("pod")
|
|
schema:addMetric("as_client")
|
|
schema:addMetric("as_server")
|
|
|
|
schema = ts_utils.newSchema("pod:rtt", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("pod")
|
|
schema:addMetric("as_client")
|
|
schema:addMetric("as_server")
|
|
|
|
schema = ts_utils.newSchema("pod:rtt_variance", {
|
|
step = 60,
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("pod")
|
|
schema:addMetric("as_client")
|
|
schema:addMetric("as_server")
|
|
|
|
-- ################################################
|
|
|
|
-------------------------------------------------------
|
|
-- REDIS SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
schema = ts_utils.newSchema("redis:memory", {
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_system_schema = true,
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("resident_bytes")
|
|
|
|
-- ################################################
|
|
|
|
schema = ts_utils.newSchema("redis:keys", {
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_system_schema = true,
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_keys")
|
|
|
|
-- ################################################
|
|
|
|
schema = ts_utils.newSchema("redis:reads_writes_v2", {
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_system_schema = true,
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addMetric("num_reads")
|
|
schema:addMetric("num_writes")
|
|
|
|
-- ################################################
|
|
|
|
-- Cache
|
|
schema = ts_utils.newSchema("redis:hits", {
|
|
metrics_type = ts_utils.metrics.gauge,
|
|
is_system_schema = true,
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("command")
|
|
schema:addMetric("num_calls")
|
|
|
|
-- ################################################
|
|
|
|
-- SNMP
|
|
schema = ts_utils.newSchema("snmp_if:traffic_min", {
|
|
step = 60,
|
|
rrd_heartbeat = 600,
|
|
rrd_fname = "bytes_per_minute",
|
|
is_system_schema = true
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("device")
|
|
schema:addTag("if_index")
|
|
schema:addMetric("bytes_sent")
|
|
schema:addMetric("bytes_rcvd")
|
|
|
|
-- ##############################################
|
|
|
|
-------------------------------------------------------
|
|
-- FLOW PROBES SCHEMAS
|
|
-------------------------------------------------------
|
|
|
|
if ntop.isEnterpriseM() then
|
|
schema = ts_utils.newSchema("flowdev:traffic_min", {
|
|
step = 60,
|
|
rrd_fname = "bytes_min"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("device")
|
|
schema:addMetric("bytes_sent")
|
|
schema:addMetric("bytes_rcvd")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("flowdev:drops_min", {
|
|
step = 60,
|
|
rrd_fname = "drops_min"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("device")
|
|
schema:addMetric("drops")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("flowdev:flows_min", {
|
|
step = 60,
|
|
rrd_fname = "flows_min"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("device")
|
|
schema:addMetric("flows")
|
|
|
|
schema = ts_utils.newSchema("flowdev:ndpi_min", {
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("device")
|
|
schema:addTag("protocol")
|
|
schema:addMetric("bytes_sent")
|
|
schema:addMetric("bytes_rcvd")
|
|
|
|
-- ##############################################
|
|
|
|
schema = ts_utils.newSchema("flowdev_port:traffic_min", {
|
|
step = 60,
|
|
rrd_fname = "bytes_min"
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("device")
|
|
schema:addTag("port")
|
|
schema:addMetric("bytes_sent")
|
|
schema:addMetric("bytes_rcvd")
|
|
|
|
schema = ts_utils.newSchema("flowdev_port:usage_min", {
|
|
step = 60,
|
|
rrd_fname = "usage_min",
|
|
metrics_type = ts_utils.metrics.gauge
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("device")
|
|
schema:addTag("port")
|
|
schema:addMetric("uplink")
|
|
schema:addMetric("downlink")
|
|
|
|
schema = ts_utils.newSchema("flowdev_port:ndpi_min", {
|
|
step = 60
|
|
})
|
|
schema:addTag("ifid")
|
|
schema:addTag("device")
|
|
schema:addTag("port")
|
|
schema:addTag("protocol")
|
|
schema:addMetric("bytes_sent")
|
|
schema:addMetric("bytes_rcvd")
|
|
end
|