From 9090702580947e969452cb1b30bb4901dac2ff6d Mon Sep 17 00:00:00 2001 From: Christian Dresel Date: Sat, 19 Dec 2020 11:01:56 +0100 Subject: [PATCH] packages/fff: Add package fff-mqtt-monitoring MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This package allows to publish monitoring data from alfred to the mqtt broker. Anyone can access this data and can build its own monitoring. Signed-off-by: Christian Dresel Acked-by: Fabian Bläse --- src/packages/fff/fff-layer3/Makefile | 1 + src/packages/fff/fff-mqtt-monitoring/Makefile | 35 +++++++++++++++++++ .../usr/lib/micron.d/fff-alfred-mqtt-proxy | 1 + .../files/usr/sbin/alfred-mqtt-proxy | 8 +++++ 4 files changed, 45 insertions(+) create mode 100644 src/packages/fff/fff-mqtt-monitoring/Makefile create mode 100644 src/packages/fff/fff-mqtt-monitoring/files/usr/lib/micron.d/fff-alfred-mqtt-proxy create mode 100755 src/packages/fff/fff-mqtt-monitoring/files/usr/sbin/alfred-mqtt-proxy diff --git a/src/packages/fff/fff-layer3/Makefile b/src/packages/fff/fff-layer3/Makefile index ce3d2002..b441327d 100644 --- a/src/packages/fff/fff-layer3/Makefile +++ b/src/packages/fff/fff-layer3/Makefile @@ -15,6 +15,7 @@ define Package/fff-layer3 +fff-boardname \ +fff-dhcp \ +fff-layer3-config \ + +fff-mqtt-monitoring \ +fff-network \ +fff-ra \ +fff-wireguard \ diff --git a/src/packages/fff/fff-mqtt-monitoring/Makefile b/src/packages/fff/fff-mqtt-monitoring/Makefile new file mode 100644 index 00000000..7ef991e5 --- /dev/null +++ b/src/packages/fff/fff-mqtt-monitoring/Makefile @@ -0,0 +1,35 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=fff-mqtt-monitoring +PKG_RELEASE:=1 + +PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt-monitoring + +include $(INCLUDE_DIR)/package.mk + +define Package/fff-mqtt-monitoring + SECTION:=base + CATEGORY:=Freifunk + TITLE:=Freifunk-Franken mqtt configuration + URL:=https://www.freifunk-franken.de + DEPENDS:= \ + +alfred-json \ + +fff-mqtt \ + +micrond \ + +fff-alfred +endef + +define Package/fff-mqtt-monitoring/description + This package send monitoring informations to + the mqtt broker +endef + +define Build/Compile + # nothing +endef + +define Package/fff-mqtt-monitoring/install + $(CP) ./files/* $(1)/ +endef + +$(eval $(call BuildPackage,fff-mqtt-monitoring)) diff --git a/src/packages/fff/fff-mqtt-monitoring/files/usr/lib/micron.d/fff-alfred-mqtt-proxy b/src/packages/fff/fff-mqtt-monitoring/files/usr/lib/micron.d/fff-alfred-mqtt-proxy new file mode 100644 index 00000000..5c39a835 --- /dev/null +++ b/src/packages/fff/fff-mqtt-monitoring/files/usr/lib/micron.d/fff-alfred-mqtt-proxy @@ -0,0 +1 @@ +*/5 * * * * sleep $(/usr/bin/random 70 85); /usr/sbin/alfred-mqtt-proxy diff --git a/src/packages/fff/fff-mqtt-monitoring/files/usr/sbin/alfred-mqtt-proxy b/src/packages/fff/fff-mqtt-monitoring/files/usr/sbin/alfred-mqtt-proxy new file mode 100755 index 00000000..4f81b4ad --- /dev/null +++ b/src/packages/fff/fff-mqtt-monitoring/files/usr/sbin/alfred-mqtt-proxy @@ -0,0 +1,8 @@ +#!/bin/sh +MACADDR=$(cat /sys/class/net/br-client/address | /bin/sed 's/://g') + +fetch_id="64" +if [ -n "$(uci -q get fff.mqtt.server)" ] ; then + mosquitto_pub -h "$(uci get fff.mqtt.server)" -p 1883 -t /monitoring/v1/$MACADDR -m "$(/bin/alfred-json -r "$fetch_id")" +fi +