Merge pull request #6007 from aparcar/export-openwrt

prometheus-node-exporter-lua: add openwrt exporter
This commit is contained in:
champtar 2018-05-07 07:23:24 -07:00 committed by GitHub
commit cb5ad3ed50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 1 deletions

View File

@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=prometheus-node-exporter-lua
PKG_VERSION:=2017.12.08
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_MAINTAINER:=Christian Simon <simon@swine.de>
PKG_LICENSE:=Apache-2.0
@ -76,6 +76,11 @@ define Package/prometheus-node-exporter-lua-textfile
DEPENDS:=prometheus-node-exporter-lua +luci-lib-nixio
endef
define Package/prometheus-node-exporter-lua-openwrt
$(call Package/prometheus-node-exporter-lua/Default)
TITLE+= (openwrt collector)
endef
Build/Compile=
define Package/prometheus-node-exporter-lua/install
@ -130,6 +135,11 @@ define Package/prometheus-node-exporter-lua-textfile/install
$(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/textfile.lua $(1)/usr/lib/lua/prometheus-collectors/
endef
define Package/prometheus-node-exporter-lua-openwrt/install
$(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
$(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/openwrt.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))
@ -138,3 +148,4 @@ $(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))
$(eval $(call BuildPackage,prometheus-node-exporter-lua-openwrt))

View File

@ -0,0 +1,24 @@
local labels = {
id = "",
release = "",
revision = "",
model = string.sub(get_contents("/tmp/sysinfo/model"), 1, -2),
board_name = string.sub(get_contents("/tmp/sysinfo/board_name"), 1, -2)
}
for k, v in string.gmatch(get_contents("/etc/openwrt_release"), "(DISTRIB_%w+)='(%w+)'\n") do
if k == "DISTRIB_ID" then
labels["id"] = v
elseif k == "DISTRIB_RELEASE" then
labels["release"] = v
elseif k == "DISTRIB_REVISION" then
labels["revision"] = v
end
end
local function scrape()
metric("node_openwrt_info", "gauge", labels, 1)
end
return { scrape = scrape }