Browse Source

prometheus-node-exporter-lua: fix missing conntrack values

If the /proc/sys/net/netfilter/nc_conntrack_* files are not present,
this exporter was outputting a blank value, which is invalid. These
files will not be present when using an image that doesn't include the
iptables and firewall packages (eg a minimal access-point type image).

This updates the collector to only output the metrics if the
corresponding /proc files are present.

Signed-off-by: Alex Tomlins <alex@tomlins.org.uk>
lilik-openwrt-22.03
Alex Tomlins 6 years ago
parent
commit
0100a2cb26
1 changed files with 8 additions and 4 deletions
  1. +8
    -4
      utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/conntrack.lua

+ 8
- 4
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/conntrack.lua View File

@ -1,8 +1,12 @@
local function scrape()
metric("node_nf_conntrack_entries", "gauge", nil,
string.sub(get_contents("/proc/sys/net/netfilter/nf_conntrack_count"), 1, -2))
metric("node_nf_conntrack_entries_limit", "gauge", nil,
string.sub(get_contents("/proc/sys/net/netfilter/nf_conntrack_max"), 1, -2))
local count = get_contents("/proc/sys/net/netfilter/nf_conntrack_count")
local max = get_contents("/proc/sys/net/netfilter/nf_conntrack_max")
if count ~= "" then
metric("node_nf_conntrack_entries", "gauge", nil, string.sub(count, 1, -2))
end
if max ~= "" then
metric("node_nf_conntrack_entries_limit", "gauge", nil, string.sub(max, 1, -2))
end
end
return { scrape = scrape }

Loading…
Cancel
Save