col_mods = {}
col_names = {}
-for c in io.popen("ls -1 /usr/lib/lua/prometheus-collectors/*.lua"):lines() do
+ls_fd = io.popen("ls -1 /usr/lib/lua/prometheus-collectors/*.lua")
+for c in ls_fd:lines() do
c = c:match("([^/]+)%.lua$")
col_mods[c] = require('prometheus-collectors.'..c)
col_names[#col_names+1] = c
end
+ls_fd:close()
if port then
server = assert(socket.bind(bind, port))
+local uname_fd = io.popen("uname -m")
+
local labels = {
domainname = "",
nodename = "",
release = string.sub(get_contents("/proc/sys/kernel/osrelease"), 1, -2),
sysname = string.sub(get_contents("/proc/sys/kernel/ostype"), 1, -2),
version = string.sub(get_contents("/proc/sys/kernel/version"), 1, -2),
- machine = string.sub(io.popen("uname -m"):read("*a"), 1, -2)
+ machine = string.sub(uname_fd:read("*a"), 1, -2)
}
+uname_fd:close()
+
local function scrape()
labels["domainname"] = string.sub(get_contents("/proc/sys/kernel/domainname"), 1, -2)
labels["nodename"] = string.sub(get_contents("/proc/sys/kernel/hostname"), 1, -2)