@ -2,6 +2,7 @@ local ubus = require "ubus"
local iwinfo = require " iwinfo "
local iwinfo = require " iwinfo "
local function scrape ( )
local function scrape ( )
local metric_wifi_stations = metric ( " wifi_stations " , " gauge " )
local metric_wifi_station_signal = metric ( " wifi_station_signal_dbm " , " gauge " )
local metric_wifi_station_signal = metric ( " wifi_station_signal_dbm " , " gauge " )
local metric_wifi_station_tx_packets = metric ( " wifi_station_tx_packets_total " , " counter " )
local metric_wifi_station_tx_packets = metric ( " wifi_station_tx_packets_total " , " counter " )
local metric_wifi_station_rx_packets = metric ( " wifi_station_rx_packets_total " , " counter " )
local metric_wifi_station_rx_packets = metric ( " wifi_station_rx_packets_total " , " counter " )
@ -13,6 +14,7 @@ local function scrape()
for _ , intf in ipairs ( dev_table [ ' interfaces ' ] ) do
for _ , intf in ipairs ( dev_table [ ' interfaces ' ] ) do
local ifname = intf [ ' ifname ' ]
local ifname = intf [ ' ifname ' ]
local iw = iwinfo [ iwinfo.type ( ifname ) ]
local iw = iwinfo [ iwinfo.type ( ifname ) ]
local count = 0
local assoclist = iw.assoclist ( ifname )
local assoclist = iw.assoclist ( ifname )
for mac , station in pairs ( assoclist ) do
for mac , station in pairs ( assoclist ) do
@ -23,7 +25,9 @@ local function scrape()
metric_wifi_station_signal ( labels , station.signal )
metric_wifi_station_signal ( labels , station.signal )
metric_wifi_station_tx_packets ( labels , station.tx_packets )
metric_wifi_station_tx_packets ( labels , station.tx_packets )
metric_wifi_station_rx_packets ( labels , station.rx_packets )
metric_wifi_station_rx_packets ( labels , station.rx_packets )
count = count + 1
end
end
metric_wifi_stations ( { ifname = ifname } , count )
end
end
end
end
end
end