From: Etienne Champetier Date: Sun, 24 May 2026 22:49:15 +0000 (-0400) Subject: prometheus-node-exporter-lua: fixup uci_dhcp_host X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=c8760b4ecfa9d2a2d4ed07f5501329f411bf36ba;p=openwrt-packages.git prometheus-node-exporter-lua: fixup uci_dhcp_host Handle cases where 'mac' is missing (nil), a single string, or an array (table). Additionally, add support for the 'duid' field. Signed-off-by: Etienne Champetier --- diff --git a/utils/prometheus-node-exporter-lua/Makefile b/utils/prometheus-node-exporter-lua/Makefile index c5f0390d5..878f5ce41 100644 --- a/utils/prometheus-node-exporter-lua/Makefile +++ b/utils/prometheus-node-exporter-lua/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=prometheus-node-exporter-lua -PKG_VERSION:=2026.05.07 +PKG_VERSION:=2026.05.08 PKG_RELEASE:=1 PKG_MAINTAINER:=Etienne CHAMPETIER diff --git a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/uci_dhcp_host.lua b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/uci_dhcp_host.lua index 950962599..2c16fc3c8 100644 --- a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/uci_dhcp_host.lua +++ b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/uci_dhcp_host.lua @@ -5,8 +5,16 @@ local function scrape() local metric_uci_host = metric("uci_dhcp_host", "gauge") curs:foreach("dhcp", "host", function(s) - if s[".type"] == "host" then - labels = {name=s["name"], mac=string.upper(s["mac"]), dns=s["dns"], ip=s["ip"]} + local labels = {name=s["name"], dns=s["dns"], ip=s["ip"], duid=s["duid"]} + + if s["mac"] == nil then + metric_uci_host(labels, 1) + return + end + + local macs = type(s["mac"]) == "table" and s["mac"] or {s["mac"]} + for _, mac in ipairs(macs) do + labels["mac"] = string.upper(mac) metric_uci_host(labels, 1) end end)