summaryrefslogtreecommitdiff
path: root/files/common/openwrt/sensors_promethues-node-exporter.lua
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2021-09-19 20:20:41 +0200
committerChristian Pointner <equinox@spreadspace.org>2021-09-19 20:20:41 +0200
commit72ce00fc5b382eef8ce7b5596230bdef369e4cfd (patch)
treee8d4000874bd9e76dd273724bd8990a8cdde9a07 /files/common/openwrt/sensors_promethues-node-exporter.lua
parentimproved sensors initialization (diff)
add sensors to lua prometheus exporter
Diffstat (limited to 'files/common/openwrt/sensors_promethues-node-exporter.lua')
-rw-r--r--files/common/openwrt/sensors_promethues-node-exporter.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/files/common/openwrt/sensors_promethues-node-exporter.lua b/files/common/openwrt/sensors_promethues-node-exporter.lua
new file mode 100644
index 00000000..9c814659
--- /dev/null
+++ b/files/common/openwrt/sensors_promethues-node-exporter.lua
@@ -0,0 +1,26 @@
+local sensors = require "sensors"
+
+local config, _ = sensors.read_config('/etc/sensors.json')
+sensors.setup(config)
+local units = {
+ temperature = "celsius",
+ humidity = "percent",
+ pressure = "bar",
+}
+
+local function scrape()
+ local readings, err = sensors.read(config)
+ if not readings then return end
+
+ for name, values in pairs(readings) do
+ labels = { name = name, kind = values._kind_ }
+ for t, v in pairs(values) do
+ local unit = units[t]
+ if unit ~= nil then
+ metric("sensors_" .. t .. "_" .. unit, "gauge", labels, v)
+ end
+ end
+ end
+end
+
+return { scrape = scrape }