prometheus-node-exporter-lua: improve ubnt-manager
It is costly in transmissions to add all information to each metric. Instead, only use the "device" as a label and add all other important labels to the "uptime" metric. Signed-off-by: Nick Hainke <vincent@systemli.org>
This commit is contained in:
parent
b45d39c142
commit
9f3064a11c
2 changed files with 17 additions and 13 deletions
|
@ -4,7 +4,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=prometheus-node-exporter-lua
|
||||
PKG_VERSION:=2022.04.03
|
||||
PKG_VERSION:=2022.04.18
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
|
||||
|
|
|
@ -8,9 +8,9 @@ local function get_devices()
|
|||
return devices
|
||||
end
|
||||
|
||||
local function get_metric_airos6(device_data, label)
|
||||
local function get_metric_airos6(device_data, label, label_full)
|
||||
-- host
|
||||
metric("ubnt_uptime", "counter", label, device_data['host']['uptime'])
|
||||
metric("ubnt_uptime", "counter", label_full, device_data['host']['uptime'])
|
||||
metric("ubnt_totalram", "gauge", label, device_data['host']['totalram'])
|
||||
metric("ubnt_freeram", "gauge", label, device_data['host']['freeram'])
|
||||
metric("ubnt_cpuload", "gauge", label, device_data['host']['cpuload'])
|
||||
|
@ -40,9 +40,9 @@ local function get_metric_airos6(device_data, label)
|
|||
metric("ubnt_count", "gauge", label, device_data['wireless']['count'])
|
||||
end
|
||||
|
||||
local function get_metric_airos8(device_data, label)
|
||||
local function get_metric_airos8(device_data, label, label_full)
|
||||
-- host
|
||||
metric("ubnt_uptime", "counter", label, device_data['host']['uptime'])
|
||||
metric("ubnt_uptime", "counter", label_full, device_data['host']['uptime'])
|
||||
metric("ubnt_loadavg", "gauge", label, device_data['host']['loadavg'])
|
||||
metric("ubnt_totalram", "gauge", label, device_data['host']['totalram'])
|
||||
metric("ubnt_freeram", "gauge", label, device_data['host']['freeram'])
|
||||
|
@ -118,19 +118,23 @@ local function get_metric(device)
|
|||
local fwversion = device_data['host']['fwversion']
|
||||
local essid = device_data['wireless']['essid']
|
||||
|
||||
local label = {
|
||||
device = device,
|
||||
hostname = hostname,
|
||||
devmodel = devmodel,
|
||||
fwversion = fwversion,
|
||||
essid = essid
|
||||
local label_short = {
|
||||
device = device
|
||||
}
|
||||
|
||||
local label_full = {
|
||||
device = device,
|
||||
hostname = hostname,
|
||||
devmodel = devmodel,
|
||||
fwversion = fwversion,
|
||||
essid = essid
|
||||
}
|
||||
|
||||
-- v6. vs v8.
|
||||
if fwversion:find("v8.", 1, true) then
|
||||
get_metric_airos8(device_data, label)
|
||||
get_metric_airos8(device_data, label_short, label_full)
|
||||
elseif fwversion:find("v6.", 1, true) then
|
||||
get_metric_airos6(device_data, label)
|
||||
get_metric_airos6(device_data, label_short, label_full)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue