Merge bfeba48fac
into 269b1a0b6d
This commit is contained in:
commit
6083091dff
|
@ -2,28 +2,46 @@ local ubus = require "ubus"
|
||||||
local iwinfo = require "iwinfo"
|
local iwinfo = require "iwinfo"
|
||||||
|
|
||||||
local function scrape()
|
local function scrape()
|
||||||
|
local metric_wifi_radio_config = metric("wifi_radio_config","gauge")
|
||||||
|
local metric_wifi_radio_channel = metric("wifi_radio_channel","gauge")
|
||||||
|
local metric_wifi_network_config = metric("wifi_network_config","gauge")
|
||||||
local metric_wifi_network_quality = metric("wifi_network_quality","gauge")
|
local metric_wifi_network_quality = metric("wifi_network_quality","gauge")
|
||||||
local metric_wifi_network_bitrate = metric("wifi_network_bitrate","gauge")
|
local metric_wifi_network_bitrate = metric("wifi_network_bitrate","gauge")
|
||||||
local metric_wifi_network_noise = metric("wifi_network_noise_dbm","gauge")
|
local metric_wifi_network_noise = metric("wifi_network_noise_dbm","gauge")
|
||||||
local metric_wifi_network_signal = metric("wifi_network_signal_dbm","gauge")
|
local metric_wifi_network_signal = metric("wifi_network_signal_dbm","gauge")
|
||||||
|
local metric_wifi_network_stations_total = metric("wifi_network_stations_total","gauge")
|
||||||
|
|
||||||
local u = ubus.connect()
|
local u = ubus.connect()
|
||||||
local status = u:call("network.wireless", "status", {})
|
local status = u:call("network.wireless", "status", {})
|
||||||
|
|
||||||
for dev, dev_table in pairs(status) do
|
for dev, dev_table in pairs(status) do
|
||||||
|
local radio_config = dev_table['config']
|
||||||
|
local radio_config_labels = {
|
||||||
|
radio = dev,
|
||||||
|
hwmode = radio_config['hwmode'],
|
||||||
|
channel = radio_config['channel'],
|
||||||
|
country = radio_config['country'],
|
||||||
|
}
|
||||||
|
local radio_labels = {
|
||||||
|
radio = dev,
|
||||||
|
}
|
||||||
|
metric_wifi_radio_config(radio_config_labels, 1)
|
||||||
|
metric_wifi_radio_channel(radio_labels, radio_config['channel'])
|
||||||
|
|
||||||
for _, intf in ipairs(dev_table['interfaces']) do
|
for _, intf in ipairs(dev_table['interfaces']) do
|
||||||
local ifname = intf['ifname']
|
local ifname = intf['ifname']
|
||||||
if ifname ~= nil then
|
if ifname ~= nil then
|
||||||
local iw = iwinfo[iwinfo.type(ifname)]
|
local iw = iwinfo[iwinfo.type(ifname)]
|
||||||
local labels = {
|
local network_config_labels = {
|
||||||
channel = iw.channel(ifname),
|
|
||||||
ssid = iw.ssid(ifname),
|
ssid = iw.ssid(ifname),
|
||||||
bssid = string.lower(iw.bssid(ifname)),
|
bssid = string.lower(iw.bssid(ifname)),
|
||||||
mode = iw.mode(ifname),
|
mode = iw.mode(ifname),
|
||||||
ifname = ifname,
|
ifname = ifname,
|
||||||
country = iw.country(ifname),
|
radio = dev,
|
||||||
frequency = iw.frequency(ifname),
|
}
|
||||||
device = dev,
|
local network_labels = {
|
||||||
|
ifname = ifname,
|
||||||
|
radio = dev,
|
||||||
}
|
}
|
||||||
|
|
||||||
local qc = iw.quality(ifname) or 0
|
local qc = iw.quality(ifname) or 0
|
||||||
|
@ -33,10 +51,17 @@ local function scrape()
|
||||||
quality = math.floor((100 / qm) * qc)
|
quality = math.floor((100 / qm) * qc)
|
||||||
end
|
end
|
||||||
|
|
||||||
metric_wifi_network_quality(labels, quality)
|
local stations = 0
|
||||||
metric_wifi_network_noise(labels, iw.noise(ifname) or 0)
|
for _ in pairs(iw.assoclist(ifname)) do
|
||||||
metric_wifi_network_bitrate(labels, iw.bitrate(ifname) or 0)
|
stations = stations + 1
|
||||||
metric_wifi_network_signal(labels, iw.signal(ifname) or -255)
|
end
|
||||||
|
|
||||||
|
metric_wifi_network_config(network_config_labels, 1)
|
||||||
|
metric_wifi_network_quality(network_labels, quality)
|
||||||
|
metric_wifi_network_noise(network_labels, iw.noise(ifname) or 0)
|
||||||
|
metric_wifi_network_bitrate(network_labels, iw.bitrate(ifname) or 0)
|
||||||
|
metric_wifi_network_signal(network_labels, iw.signal(ifname) or -255)
|
||||||
|
metric_wifi_network_stations_total(network_labels, stations)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue