prometheus-node-exporter-lua: expose node_os_info

the original node_exporter exposes a node_os_info metric with a set of
data about the system [1] which is then used by several dashboards.

openwrt.lua already exposes OS info, but using the node_openwrt_info
metric requires changes to existing dashboards, and would require more
complex lookups when there are non-OpenWrt hosts in the overview too.

as we've already called ubus and fetched the data, we can expose it in
two formats easily.

[1] d6d0e710bb/collector/os_release.go (L190-L192)

Signed-off-by: Evgeni Golov <evgeni@golov.de>
This commit is contained in:
Evgeni Golov
2026-04-26 15:22:00 +02:00
committed by Etienne Champetier
parent c8760b4ecf
commit 7d9cc2e95a
2 changed files with 11 additions and 2 deletions

View File

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

View File

@@ -12,13 +12,22 @@ local labels = {
target = b.release.target
}
local os_info = {
id = string.lower(b.release.distribution),
name = b.release.distribution,
pretty_name = b.release.distribution .. " " .. b.release.version,
version = b.release.version,
version_id = b.release.version,
build_id = b.release.revision,
}
local b = nil
local u = nil
local ubus = nil
local function scrape()
metric("node_openwrt_info", "gauge", labels, 1)
metric("node_os_info", "gauge", os_info, 1)
end
return { scrape = scrape }