diff options
author | Nick Hainke <vincent@systemli.org> | 2022-04-18 08:44:55 +0200 |
---|---|---|
committer | Nick Hainke <vincent@systemli.org> | 2022-04-21 15:04:15 +0200 |
commit | 9f3064a11ccb4c04f610faa56b4695adbbab224d (patch) | |
tree | 28c913e3aeddecc9079106e40d5da8abe177b150 /utils/prometheus-node-exporter-lua/files/usr/lib/lua | |
parent | b45d39c1423444672abf8ea4ce3b53f75a1b2741 (diff) |
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>
Diffstat (limited to 'utils/prometheus-node-exporter-lua/files/usr/lib/lua')
-rw-r--r-- | utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/ubnt-manager.lua | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/ubnt-manager.lua b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/ubnt-manager.lua index 4cd17aac7..0093859d2 100644 --- a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/ubnt-manager.lua +++ b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/ubnt-manager.lua @@ -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 |