diff options
| author | Etienne Champetier <champetier.etienne@gmail.com> | 2023-10-14 15:22:37 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-14 15:22:37 -0400 |
| commit | b499ed05ffbcf2dbe28c0b608936d9ef3d3344fb (patch) | |
| tree | 6e162f924e2d45ec663fe00108d109231c7a8835 /utils/prometheus-node-exporter-lua | |
| parent | 53dc7146f4623a99b62da5918b3f4ce002697a32 (diff) | |
| parent | 1eeb1dc2de82c093e2cd1ccc71ffd36a449301f9 (diff) | |
Merge pull request #21005 from joelpet/prometheus-node-exporter-thermal
prometheus-node-exporter-lua: Add thermal collector
Diffstat (limited to 'utils/prometheus-node-exporter-lua')
| -rw-r--r-- | utils/prometheus-node-exporter-lua/Makefile | 14 | ||||
| -rw-r--r-- | utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/thermal.lua | 46 |
2 files changed, 59 insertions, 1 deletions
diff --git a/utils/prometheus-node-exporter-lua/Makefile b/utils/prometheus-node-exporter-lua/Makefile index a69f5320d..3ac56eefa 100644 --- a/utils/prometheus-node-exporter-lua/Makefile +++ b/utils/prometheus-node-exporter-lua/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=prometheus-node-exporter-lua -PKG_VERSION:=2022.08.08 +PKG_VERSION:=2023.05.14 PKG_RELEASE:=1 PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com> @@ -158,6 +158,17 @@ 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-thermal + $(call Package/prometheus-node-exporter-lua/Default) + TITLE+= (thermal collector) + DEPENDS:=prometheus-node-exporter-lua +endef + +define Package/prometheus-node-exporter-lua-thermal/install + $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors + $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/thermal.lua $(1)/usr/lib/lua/prometheus-collectors/ +endef + define Package/prometheus-node-exporter-lua-ubnt-manager $(call Package/prometheus-node-exporter-lua/Default) TITLE+= (ubnt-manager collector) @@ -234,6 +245,7 @@ $(eval $(call BuildPackage,prometheus-node-exporter-lua-nat_traffic)) $(eval $(call BuildPackage,prometheus-node-exporter-lua-netstat)) $(eval $(call BuildPackage,prometheus-node-exporter-lua-openwrt)) $(eval $(call BuildPackage,prometheus-node-exporter-lua-textfile)) +$(eval $(call BuildPackage,prometheus-node-exporter-lua-thermal)) $(eval $(call BuildPackage,prometheus-node-exporter-lua-ubnt-manager)) $(eval $(call BuildPackage,prometheus-node-exporter-lua-uci_dhcp_host)) $(eval $(call BuildPackage,prometheus-node-exporter-lua-wifi)) diff --git a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/thermal.lua b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/thermal.lua new file mode 100644 index 000000000..3996ea581 --- /dev/null +++ b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/thermal.lua @@ -0,0 +1,46 @@ +-- thermal collector +local function scrape() + local i = 0 + local temp_metric = metric("node_thermal_zone_temp", "gauge") + + while true do + local zonePath = "/sys/class/thermal/thermal_zone" .. i + + -- required attributes + + local typ = string.match(get_contents(zonePath .. "/type"), "^%s*(.-)%s*$") + if not typ then + break + end + + local policy = string.match(get_contents(zonePath .. "/policy"), "^%s*(.-)%s*$") + if not policy then + break + end + + local temp = string.match(get_contents(zonePath .. "/temp"), "(%d+)") + if not temp then + break + end + + local labels = {zone = i, type = typ, policy = policy} + + -- optional attributes + + local mode = string.match(get_contents(zonePath .. "/mode"), "^%s*(.-)%s*$") + if mode then + labels.mode = mode + end + + local passive = string.match(get_contents(zonePath .. "/passive"), "(%d+)") + if passive then + labels.passive = passive + end + + temp_metric(labels, temp / 1000) + + i = i + 1 + end +end + +return { scrape = scrape } |
