From: Alex Tomlins Date: Wed, 3 Apr 2019 20:08:11 +0000 (+0100) Subject: prometheus-node-exporter-lua: fix missing conntrack values X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=0100a2cb26c30ee091a259625b9496dd7805aaaa;p=openwrt-packages.git 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 --- diff --git a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/conntrack.lua b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/conntrack.lua index 93b26c266..1abb7a191 100644 --- a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/conntrack.lua +++ b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/conntrack.lua @@ -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 }