From 517ca5c7bc50ea020b80583bde553e8b08c4169b Mon Sep 17 00:00:00 2001 From: Christian Dresel Date: Sat, 19 Dec 2020 11:01:56 +0100 Subject: [PATCH] Add package fff-mqtt-monitoring This package send Alfred data to the mqtt broker Anyone can access this data and can build its own monitoring Signed-off-by: Christian Dresel --- 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 d49228ce..8e81b15a 100644 --- a/src/packages/fff/fff-layer3/Makefile +++ b/src/packages/fff/fff-layer3/Makefile @@ -18,6 +18,7 @@ define Package/fff-layer3 +fff-dhcp \ +fff-ipv4snat \ +fff-layer3-config \ + +fff-mqtt-monitoring \ +fff-network \ +fff-ra \ +fff-web-autol3 \ 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..d6a246ad --- /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 0 29); /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 +