Merge pull request #16217 from mweinelt/prometheus-hostapd-stations-ifname-fix

prometheus-node-exporter-lua: fix bss identifier in hostapd_stations
This commit is contained in:
David Bauer 2021-07-28 18:17:13 +02:00 committed by GitHub
commit bd08bdea6b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 8 deletions

View file

@ -4,7 +4,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=prometheus-node-exporter-lua
PKG_VERSION:=2021.07.04
PKG_VERSION:=2021.07.24
PKG_RELEASE:=1
PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>

View file

@ -16,23 +16,29 @@ local function get_wifi_interface_labels()
handle:close()
local hostapd = {}
local bss_idx = -1
for line in hostapd_status:gmatch("[^\r\n]+") do
local name, value = string.match(line, "(.+)=(.+)")
if name == "phy" then
hostapd["vif"] = value
elseif name == "freq" then
hostapd["freq"] = value
elseif name == "channel" then
hostapd["channel"] = value
elseif name == "bssid[0]" then
hostapd["bssid"] = value
elseif name == "ssid[0]" then
hostapd["ssid"] = value
-- hostapd gives us all bss on the relevant phy, find the one we're interested in
elseif string.match(name, "bss%[%d%]") then
if value == cfg['ifname'] then
bss_idx = tonumber(string.match(name, "bss%[(%d)%]"))
end
elseif bss_idx >= 0 then
if name == "bssid[" .. bss_idx .. "]" then
hostapd["bssid"] = value
elseif name == "ssid[" .. bss_idx .. "]" then
hostapd["ssid"] = value
end
end
end
local labels = {
vif = hostapd['vif'],
vif = cfg['ifname'],
ssid = hostapd['ssid'],
bssid = hostapd['bssid'],
encryption = cfg['encryption'], -- In a mixed scenario it would be good to know if A or B was used