prometheus-node-exporter-lua: adapt 0.16 metrics 6356/head
authorPaul Spooren <mail@aparcar.org>
Tue, 26 Jun 2018 10:53:23 +0000 (19:53 +0900)
committerPaul Spooren <mail@aparcar.org>
Thu, 28 Jun 2018 14:53:12 +0000 (23:53 +0900)
Prometheus introduced some new conventions on how to name metrics.
Read here https://prometheus.io/docs/practices/naming/

This PR breaks compatibility with past versions, just like the officials
node exporter! ðŸ’¥

Signed-off-by: Paul Spooren <mail@aparcar.org>
utils/prometheus-node-exporter-lua/Makefile
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/cpu.lua
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/meminfo.lua
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/netdev.lua
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/netstat.lua
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/time.lua
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/wifi.lua
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/wifi_stations.lua

index 5aa4cf8a20e1341b1b9c662157b98a6e28d159d9..2c38ae353d18aa495a7c3791494ef4cb25991b16 100644 (file)
@@ -4,8 +4,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=prometheus-node-exporter-lua
-PKG_VERSION:=2017.12.08
-PKG_RELEASE:=5
+PKG_VERSION:=2018.06.26
+PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Christian Simon <simon@swine.de>
 PKG_LICENSE:=Apache-2.0
index 9d083dbf0402d9a67bc39dce01c3838d7e581928..17e35bf7842e6418b77394eab6037c1f3ba7ca66 100644 (file)
@@ -3,18 +3,21 @@ local function scrape()
   local stat = get_contents("/proc/stat")
 
   -- system boot time, seconds since epoch
-  metric("node_boot_time", "gauge", nil, string.match(stat, "btime ([0-9]+)"))
+  metric("node_boot_time_seconds", "gauge", nil,
+    string.match(stat, "btime ([0-9]+)"))
 
   -- context switches since boot (all CPUs)
-  metric("node_context_switches", "counter", nil, string.match(stat, "ctxt ([0-9]+)"))
+  metric("node_context_switches_total", "counter", nil,
+    string.match(stat, "ctxt ([0-9]+)"))
 
   -- cpu times, per CPU, per mode
   local cpu_mode = {"user", "nice", "system", "idle", "iowait", "irq",
                     "softirq", "steal", "guest", "guest_nice"}
   local i = 0
-  local cpu_metric = metric("node_cpu", "counter")
+  local cpu_metric = metric("node_cpu_seconds_total", "counter")
   while true do
-    local cpu = {string.match(stat, "cpu"..i.." (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+)")}
+    local cpu = {string.match(stat,
+      "cpu"..i.." (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+)")}
     if #cpu ~= 10 then
       break
     end
@@ -25,16 +28,20 @@ local function scrape()
   end
 
   -- interrupts served
-  metric("node_intr", "counter", nil, string.match(stat, "intr ([0-9]+)"))
+  metric("node_intr_total", "counter", nil,
+    string.match(stat, "intr ([0-9]+)"))
 
   -- processes forked
-  metric("node_forks", "counter", nil, string.match(stat, "processes ([0-9]+)"))
+  metric("node_forks_total", "counter", nil,
+    string.match(stat, "processes ([0-9]+)"))
 
   -- processes running
-  metric("node_procs_running", "gauge", nil, string.match(stat, "procs_running ([0-9]+)"))
+  metric("node_procs_running_total", "gauge", nil,
+    string.match(stat, "procs_running ([0-9]+)"))
 
   -- processes blocked for I/O
-  metric("node_procs_blocked", "gauge", nil, string.match(stat, "procs_blocked ([0-9]+)"))
+  metric("node_procs_blocked_total", "gauge", nil,
+    string.match(stat, "procs_blocked ([0-9]+)"))
 end
 
 return { scrape = scrape }
index 01f262b47ad6cc809b5efe188118ec0d558124bd..cf836e3e434280ab1430685d4a1f7f49379f28bb 100644 (file)
@@ -4,7 +4,8 @@ local function scrape()
     if unit == 'kB' then
       size = size * 1024
     end
-    metric("node_memory_" .. name:gsub("[):]", ""):gsub("[(]", "_"), "gauge", nil, size)
+    metric("node_memory_"..name:gsub("[):]", ""):gsub("[(]", "_").."_bytes",
+        "gauge", nil, size)
   end
 end
 
index 9127e12b481e6a5194fcbcd85287a82acba7ae44..4aff513b3f1cd72fbc7d9ef652ea7267cedf2110 100644 (file)
@@ -1,9 +1,23 @@
 
-local netdevsubstat = {"receive_bytes", "receive_packets", "receive_errs",
-                   "receive_drop", "receive_fifo", "receive_frame", "receive_compressed",
-                   "receive_multicast", "transmit_bytes", "transmit_packets",
-                   "transmit_errs", "transmit_drop", "transmit_fifo", "transmit_colls",
-                   "transmit_carrier", "transmit_compressed"}
+local netdevsubstat = {
+    "receive_bytes_total",
+    "receive_packets_total",
+    "receive_errs_total",
+    "receive_drop_total",
+    "receive_fifo_total",
+    "receive_frame_total",
+    "receive_compressed_total",
+    "receive_multicast_total",
+    "transmit_bytes_total",
+    "transmit_packets_total",
+    "transmit_errs_total",
+    "transmit_drop_total",
+    "transmit_fifo_total",
+    "transmit_colls_total",
+    "transmit_carrier_total",
+    "transmit_compressed_total"
+}
+
 local pattern = "([^%s:]+):%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)"
 
 local function scrape()
index cd62bffaca759d460cea4e37aaf0a7f2b99adad3..bd6b87c39506d388449ea35fd833cef992ada9c7 100644 (file)
@@ -1,10 +1,20 @@
+local netsubstat = {
+    "IcmpMsg",
+    "Icmp",
+    "IpExt",
+    "Ip",
+    "TcpExt",
+    "Tcp",
+    "UdpLite",
+    "Udp"
+}
+
 local function scrape()
   -- NOTE: Both of these are missing in OpenWRT kernels.
   --       See: https://dev.openwrt.org/ticket/15781
   local netstat = get_contents("/proc/net/netstat") .. get_contents("/proc/net/snmp")
 
   -- all devices
-  local netsubstat = {"IcmpMsg", "Icmp", "IpExt", "Ip", "TcpExt", "Tcp", "UdpLite", "Udp"}
   for i, nss in ipairs(netsubstat) do
     local substat_s = string.match(netstat, nss .. ": ([A-Z][A-Za-z0-9 ]+)")
     if substat_s then
index d0abb66a188ab7b8384f6837bfc02073f861b267..83c05290d864656b225b39317b95ffd6f0e38043 100644 (file)
@@ -1,6 +1,6 @@
 local function scrape()
   -- current time
-  metric("node_time", "counter", nil, os.time())
+  metric("node_time_seconds", "counter", nil, os.time())
 end
 
 return { scrape = scrape }
index 975b7dd5f21c1a1c7d30aef306ea0539f507d8af..da36db9733e1e7fab976d3ccfc6935da3d2befe5 100644 (file)
@@ -4,8 +4,8 @@ local iwinfo = require "iwinfo"
 local function scrape()
   local metric_wifi_network_quality = metric("wifi_network_quality","gauge")
   local metric_wifi_network_bitrate = metric("wifi_network_bitrate","gauge")
-  local metric_wifi_network_noise = metric("wifi_network_noise","gauge")
-  local metric_wifi_network_signal = metric("wifi_network_signal","gauge")
+  local metric_wifi_network_noise = metric("wifi_network_noise_dbm","gauge")
+  local metric_wifi_network_signal = metric("wifi_network_signal_dbm","gauge")
 
   local u = ubus.connect()
   local status = u:call("network.wireless", "status", {})
index 06c79a8bd871252b1d24689c716320f4e5ac14d5..19b5b1eab2a614437088d6d9b0e892d836202b49 100644 (file)
@@ -2,9 +2,9 @@ local ubus = require "ubus"
 local iwinfo = require "iwinfo"
 
 local function scrape()
-  local metric_wifi_station_signal = metric("wifi_station_signal","gauge")
-  local metric_wifi_station_tx_packets = metric("wifi_station_tx_packets","gauge")
-  local metric_wifi_station_rx_packets = metric("wifi_station_rx_packets","gauge")
+  local metric_wifi_station_signal = metric("wifi_station_signal_dbm","gauge")
+  local metric_wifi_station_tx_packets = metric("wifi_station_tx_packets_total","gauge")
+  local metric_wifi_station_rx_packets = metric("wifi_station_rx_packets_total","gauge")
 
   local u = ubus.connect()
   local status = u:call("network.wireless", "status", {})