prometheus-node-exporter-lua: export static files 5894/head
authorPaul Spooren <spooren@informatik.uni-leipzig.de>
Sun, 29 Apr 2018 15:59:46 +0000 (00:59 +0900)
committerPaul Spooren <spooren@informatik.uni-leipzig.de>
Sun, 29 Apr 2018 16:17:20 +0000 (01:17 +0900)
Print all files from /var/prometheus/*.prom. This behaviour allow users
to add metrics with non-lua scripts.

Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
utils/prometheus-node-exporter-lua/Makefile
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/textfile.lua [new file with mode: 0644]

index 83b5e47fe6ad1cba231e0d78b7d9fa1d5c641ae3..ef2cd13ec9b3cdce64ad033513490fe0e04c4b69 100644 (file)
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=prometheus-node-exporter-lua
 PKG_VERSION:=2017.12.08
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_MAINTAINER:=Christian Simon <simon@swine.de>
 PKG_LICENSE:=Apache-2.0
@@ -70,6 +70,12 @@ define Package/prometheus-node-exporter-lua-bmx7
   DEPENDS:=prometheus-node-exporter-lua bmx7 +lua-cjson +bmx7-json
 endef
 
+define Package/prometheus-node-exporter-lua-textfile
+  $(call Package/prometheus-node-exporter-lua/Default)
+  TITLE+= (textfile collector)
+  DEPENDS:=prometheus-node-exporter-lua +luci-lib-nixio
+endef
+
 Build/Compile=
 
 define Package/prometheus-node-exporter-lua/install
@@ -119,6 +125,11 @@ define Package/prometheus-node-exporter-lua-bmx7/install
        $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/bmx7.lua $(1)/usr/lib/lua/prometheus-collectors/
 endef
 
+define Package/prometheus-node-exporter-lua-textfile/install
+       $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
+       $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/textfile.lua $(1)/usr/lib/lua/prometheus-collectors/
+endef
+
 $(eval $(call BuildPackage,prometheus-node-exporter-lua))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-nat_traffic))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-netstat))
@@ -126,3 +137,4 @@ $(eval $(call BuildPackage,prometheus-node-exporter-lua-wifi))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-wifi_stations))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-bmx6))
 $(eval $(call BuildPackage,prometheus-node-exporter-lua-bmx7))
+$(eval $(call BuildPackage,prometheus-node-exporter-lua-textfile))
diff --git a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/textfile.lua b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/textfile.lua
new file mode 100644 (file)
index 0000000..118177f
--- /dev/null
@@ -0,0 +1,11 @@
+#!/usr/bin/lua
+
+local fs = require "nixio.fs"
+
+local function scrape()
+  for metrics in fs.glob("/var/prometheus/*.prom") do
+    output(get_contents(metrics), '\n')
+  end
+end
+
+return { scrape = scrape }