Browse Source

Merge pull request #7510 from darkk/fix-prometheus-zombies

prometheus-node-exporter-lua: close io.popen files to reap zombies
lilik-openwrt-22.03
champtar 6 years ago
committed by GitHub
parent
commit
eae9f8cb9e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 3 deletions
  1. +1
    -1
      utils/prometheus-node-exporter-lua/Makefile
  2. +3
    -1
      utils/prometheus-node-exporter-lua/files/usr/bin/prometheus-node-exporter-lua
  3. +5
    -1
      utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/uname.lua

+ 1
- 1
utils/prometheus-node-exporter-lua/Makefile View File

@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=prometheus-node-exporter-lua PKG_NAME:=prometheus-node-exporter-lua
PKG_VERSION:=2018.07.23 PKG_VERSION:=2018.07.23
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com> PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0


+ 3
- 1
utils/prometheus-node-exporter-lua/files/usr/bin/prometheus-node-exporter-lua View File

@ -119,11 +119,13 @@ end
col_mods = {} col_mods = {}
col_names = {} 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$") c = c:match("([^/]+)%.lua$")
col_mods[c] = require('prometheus-collectors.'..c) col_mods[c] = require('prometheus-collectors.'..c)
col_names[#col_names+1] = c col_names[#col_names+1] = c
end end
ls_fd:close()
if port then if port then
server = assert(socket.bind(bind, port)) server = assert(socket.bind(bind, port))


+ 5
- 1
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/uname.lua View File

@ -1,12 +1,16 @@
local uname_fd = io.popen("uname -m")
local labels = { local labels = {
domainname = "", domainname = "",
nodename = "", nodename = "",
release = string.sub(get_contents("/proc/sys/kernel/osrelease"), 1, -2), release = string.sub(get_contents("/proc/sys/kernel/osrelease"), 1, -2),
sysname = string.sub(get_contents("/proc/sys/kernel/ostype"), 1, -2), sysname = string.sub(get_contents("/proc/sys/kernel/ostype"), 1, -2),
version = string.sub(get_contents("/proc/sys/kernel/version"), 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() local function scrape()
labels["domainname"] = string.sub(get_contents("/proc/sys/kernel/domainname"), 1, -2) labels["domainname"] = string.sub(get_contents("/proc/sys/kernel/domainname"), 1, -2)
labels["nodename"] = string.sub(get_contents("/proc/sys/kernel/hostname"), 1, -2) labels["nodename"] = string.sub(get_contents("/proc/sys/kernel/hostname"), 1, -2)


Loading…
Cancel
Save