You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
5.6 KiB

prometheus-node-exporter-lua: add bmx6/7 scraper scrapes bmx6 status and connected links. example output: bmx6_status{id="qMp-LibreMesh-1706",version="BMX6-0.1-alpha",address="fd66:66:66:a:6670:2ff:fe3e:9d28"} 1 bmx6_link_rxRate{target="UPC-CN-C6-E104-Alix",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100 bmx6_link_txRate{target="UPC-CN-C6-E104-Alix",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100 bmx6_link_rxRate{target="UPC-CN-C6-E104-Alix-Paul",source="qMp-LibreMesh-1706",dev="wlan1-adhoc_12"} 100 bmx6_link_txRate{target="UPC-CN-C6-E104-Alix-Paul",source="qMp-LibreMesh-1706",dev="wlan1-adhoc_12"} 100 bmx6_link_rxRate{target="UPC-CN-C6-E104-Turoffner",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 97 bmx6_link_txRate{target="UPC-CN-C6-E104-Turoffner",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100 node_scrape_collector_duration_seconds{collector="bmx6"} 0.0025260448455811 node_scrape_collector_success{collector="bmx6"} 1 scrapes bmx7 status and connected links. example output: bmx7_status{id="C68791D2",revision="3a52f89",name="smpl-18f4ce",address="fd70:c687:91d2:8ab3:1a88:6b14:bad0:2b18"} 1 bmx7_cpu_usage 0.7 bmx7_mem_usage 3204000 bmx7_link_rxRate{target="F48239CD",dev="wlan0-mesh_13",source="C68791D2",name="smpl-07889a"} 54000 bmx7_link_txRate{target="F48239CD",dev="wlan0-mesh_13",source="C68791D2",name="smpl-07889a"} 52729 node_scrape_collector_duration_seconds{collector="bmx7"} 0.0020999908447266 node_scrape_collector_success{collector="bmx7"} 1 prometheus-node-exporter-lua: bmx6/7 netjson format adds labels called source and target to links instead of only the target previously called "id". Retrieving all *links* from prometheus now makes it easier to create a valid netjson(.org) graph. It's not feasible to use *instance* as *source* as for instance likely the name is used for dns, instead of the ID. Using the *name* instead of *id* for netjson linking results in a bad graph when two devices have the same (default) hostname. Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
7 years ago
prometheus-node-exporter-lua: add bmx6/7 scraper scrapes bmx6 status and connected links. example output: bmx6_status{id="qMp-LibreMesh-1706",version="BMX6-0.1-alpha",address="fd66:66:66:a:6670:2ff:fe3e:9d28"} 1 bmx6_link_rxRate{target="UPC-CN-C6-E104-Alix",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100 bmx6_link_txRate{target="UPC-CN-C6-E104-Alix",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100 bmx6_link_rxRate{target="UPC-CN-C6-E104-Alix-Paul",source="qMp-LibreMesh-1706",dev="wlan1-adhoc_12"} 100 bmx6_link_txRate{target="UPC-CN-C6-E104-Alix-Paul",source="qMp-LibreMesh-1706",dev="wlan1-adhoc_12"} 100 bmx6_link_rxRate{target="UPC-CN-C6-E104-Turoffner",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 97 bmx6_link_txRate{target="UPC-CN-C6-E104-Turoffner",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100 node_scrape_collector_duration_seconds{collector="bmx6"} 0.0025260448455811 node_scrape_collector_success{collector="bmx6"} 1 scrapes bmx7 status and connected links. example output: bmx7_status{id="C68791D2",revision="3a52f89",name="smpl-18f4ce",address="fd70:c687:91d2:8ab3:1a88:6b14:bad0:2b18"} 1 bmx7_cpu_usage 0.7 bmx7_mem_usage 3204000 bmx7_link_rxRate{target="F48239CD",dev="wlan0-mesh_13",source="C68791D2",name="smpl-07889a"} 54000 bmx7_link_txRate{target="F48239CD",dev="wlan0-mesh_13",source="C68791D2",name="smpl-07889a"} 52729 node_scrape_collector_duration_seconds{collector="bmx7"} 0.0020999908447266 node_scrape_collector_success{collector="bmx7"} 1 prometheus-node-exporter-lua: bmx6/7 netjson format adds labels called source and target to links instead of only the target previously called "id". Retrieving all *links* from prometheus now makes it easier to create a valid netjson(.org) graph. It's not feasible to use *instance* as *source* as for instance likely the name is used for dns, instead of the ID. Using the *name* instead of *id* for netjson linking results in a bad graph when two devices have the same (default) hostname. Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
7 years ago
prometheus-node-exporter-lua: add bmx6/7 scraper scrapes bmx6 status and connected links. example output: bmx6_status{id="qMp-LibreMesh-1706",version="BMX6-0.1-alpha",address="fd66:66:66:a:6670:2ff:fe3e:9d28"} 1 bmx6_link_rxRate{target="UPC-CN-C6-E104-Alix",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100 bmx6_link_txRate{target="UPC-CN-C6-E104-Alix",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100 bmx6_link_rxRate{target="UPC-CN-C6-E104-Alix-Paul",source="qMp-LibreMesh-1706",dev="wlan1-adhoc_12"} 100 bmx6_link_txRate{target="UPC-CN-C6-E104-Alix-Paul",source="qMp-LibreMesh-1706",dev="wlan1-adhoc_12"} 100 bmx6_link_rxRate{target="UPC-CN-C6-E104-Turoffner",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 97 bmx6_link_txRate{target="UPC-CN-C6-E104-Turoffner",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100 node_scrape_collector_duration_seconds{collector="bmx6"} 0.0025260448455811 node_scrape_collector_success{collector="bmx6"} 1 scrapes bmx7 status and connected links. example output: bmx7_status{id="C68791D2",revision="3a52f89",name="smpl-18f4ce",address="fd70:c687:91d2:8ab3:1a88:6b14:bad0:2b18"} 1 bmx7_cpu_usage 0.7 bmx7_mem_usage 3204000 bmx7_link_rxRate{target="F48239CD",dev="wlan0-mesh_13",source="C68791D2",name="smpl-07889a"} 54000 bmx7_link_txRate{target="F48239CD",dev="wlan0-mesh_13",source="C68791D2",name="smpl-07889a"} 52729 node_scrape_collector_duration_seconds{collector="bmx7"} 0.0020999908447266 node_scrape_collector_success{collector="bmx7"} 1 prometheus-node-exporter-lua: bmx6/7 netjson format adds labels called source and target to links instead of only the target previously called "id". Retrieving all *links* from prometheus now makes it easier to create a valid netjson(.org) graph. It's not feasible to use *instance* as *source* as for instance likely the name is used for dns, instead of the ID. Using the *name* instead of *id* for netjson linking results in a bad graph when two devices have the same (default) hostname. Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
7 years ago
  1. #
  2. # Copyright (C) 2013-2017 OpenWrt.org
  3. #
  4. include $(TOPDIR)/rules.mk
  5. PKG_NAME:=prometheus-node-exporter-lua
  6. PKG_VERSION:=2017.12.08
  7. PKG_RELEASE:=3
  8. PKG_MAINTAINER:=Christian Simon <simon@swine.de>
  9. PKG_LICENSE:=Apache-2.0
  10. include $(INCLUDE_DIR)/package.mk
  11. define Package/prometheus-node-exporter-lua/Default
  12. SECTION:=utils
  13. CATEGORY:=Utilities
  14. TITLE:=Prometheus node exporter
  15. PKGARCH:=all
  16. endef
  17. define Package/prometheus-node-exporter-lua
  18. $(call Package/prometheus-node-exporter-lua/Default)
  19. DEPENDS:=+luasocket +lua
  20. endef
  21. define Package/prometheus-node-exporter-lua/conffiles
  22. /etc/config/prometheus-node-exporter-lua
  23. endef
  24. define Package/prometheus-node-exporter-lua/description
  25. Provides node metrics as Prometheus scraping endpoint.
  26. This service is a lightweight rewrite in LUA of the offical Prometheus node_exporter.
  27. endef
  28. define Package/prometheus-node-exporter-lua-nat_traffic
  29. $(call Package/prometheus-node-exporter-lua/Default)
  30. TITLE+= (nat_traffic collector)
  31. DEPENDS:=prometheus-node-exporter-lua
  32. endef
  33. define Package/prometheus-node-exporter-lua-netstat
  34. $(call Package/prometheus-node-exporter-lua/Default)
  35. TITLE+= (netstat collector)
  36. DEPENDS:=prometheus-node-exporter-lua
  37. endef
  38. define Package/prometheus-node-exporter-lua-wifi
  39. $(call Package/prometheus-node-exporter-lua/Default)
  40. TITLE+= (wifi collector)
  41. DEPENDS:=prometheus-node-exporter-lua +libiwinfo-lua +libubus-lua
  42. endef
  43. define Package/prometheus-node-exporter-lua-wifi_stations
  44. $(call Package/prometheus-node-exporter-lua/Default)
  45. TITLE+= (wifi_stations collector)
  46. DEPENDS:=prometheus-node-exporter-lua +libiwinfo-lua +libubus-lua
  47. endef
  48. define Package/prometheus-node-exporter-lua-bmx6
  49. $(call Package/prometheus-node-exporter-lua/Default)
  50. TITLE+= (bmx6 links collector)
  51. DEPENDS:=prometheus-node-exporter-lua bmx6 +lua-cjson +bmx6-json
  52. endef
  53. define Package/prometheus-node-exporter-lua-bmx7
  54. $(call Package/prometheus-node-exporter-lua/Default)
  55. TITLE+= (bmx7 links collector)
  56. DEPENDS:=prometheus-node-exporter-lua bmx7 +lua-cjson +bmx7-json
  57. endef
  58. define Package/prometheus-node-exporter-lua-textfile
  59. $(call Package/prometheus-node-exporter-lua/Default)
  60. TITLE+= (textfile collector)
  61. DEPENDS:=prometheus-node-exporter-lua +luci-lib-nixio
  62. endef
  63. Build/Compile=
  64. define Package/prometheus-node-exporter-lua/install
  65. $(INSTALL_DIR) $(1)/etc/config
  66. $(INSTALL_CONF) ./files/etc/config/prometheus-node-exporter-lua $(1)/etc/config/prometheus-node-exporter-lua
  67. $(INSTALL_DIR) $(1)/etc/init.d
  68. $(INSTALL_BIN) ./files/etc/init.d/prometheus-node-exporter-lua $(1)/etc/init.d/prometheus-node-exporter-lua
  69. $(INSTALL_DIR) $(1)/usr/bin
  70. $(INSTALL_BIN) ./files/usr/bin/prometheus-node-exporter-lua $(1)/usr/bin/prometheus-node-exporter-lua
  71. $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
  72. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/cpu.lua $(1)/usr/lib/lua/prometheus-collectors/
  73. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/filefd.lua $(1)/usr/lib/lua/prometheus-collectors/
  74. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/loadavg.lua $(1)/usr/lib/lua/prometheus-collectors/
  75. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/meminfo.lua $(1)/usr/lib/lua/prometheus-collectors/
  76. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/netdev.lua $(1)/usr/lib/lua/prometheus-collectors/
  77. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/time.lua $(1)/usr/lib/lua/prometheus-collectors/
  78. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/uname.lua $(1)/usr/lib/lua/prometheus-collectors/
  79. endef
  80. define Package/prometheus-node-exporter-lua-nat_traffic/install
  81. $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
  82. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/nat_traffic.lua $(1)/usr/lib/lua/prometheus-collectors/
  83. endef
  84. define Package/prometheus-node-exporter-lua-netstat/install
  85. $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
  86. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/netstat.lua $(1)/usr/lib/lua/prometheus-collectors/
  87. endef
  88. define Package/prometheus-node-exporter-lua-wifi/install
  89. $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
  90. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/wifi.lua $(1)/usr/lib/lua/prometheus-collectors/
  91. endef
  92. define Package/prometheus-node-exporter-lua-wifi_stations/install
  93. $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
  94. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/wifi_stations.lua $(1)/usr/lib/lua/prometheus-collectors/
  95. endef
  96. define Package/prometheus-node-exporter-lua-bmx6/install
  97. $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
  98. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/bmx6.lua $(1)/usr/lib/lua/prometheus-collectors/
  99. endef
  100. define Package/prometheus-node-exporter-lua-bmx7/install
  101. $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
  102. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/bmx7.lua $(1)/usr/lib/lua/prometheus-collectors/
  103. endef
  104. define Package/prometheus-node-exporter-lua-textfile/install
  105. $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
  106. $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/textfile.lua $(1)/usr/lib/lua/prometheus-collectors/
  107. endef
  108. $(eval $(call BuildPackage,prometheus-node-exporter-lua))
  109. $(eval $(call BuildPackage,prometheus-node-exporter-lua-nat_traffic))
  110. $(eval $(call BuildPackage,prometheus-node-exporter-lua-netstat))
  111. $(eval $(call BuildPackage,prometheus-node-exporter-lua-wifi))
  112. $(eval $(call BuildPackage,prometheus-node-exporter-lua-wifi_stations))
  113. $(eval $(call BuildPackage,prometheus-node-exporter-lua-bmx6))
  114. $(eval $(call BuildPackage,prometheus-node-exporter-lua-bmx7))
  115. $(eval $(call BuildPackage,prometheus-node-exporter-lua-textfile))