Update monitor.service

Added check before the script runs / loops to see what services are installed.
This prevents services that are not installed to show up as offline services and ports.

Added Nginx service check if Homer is installed with the corresponding port.

Made some changes for readability.

Fixed copy/paste error where all services had the subtitle broker behind them.

Set sleep timer to 30s.
This commit is contained in:
Beeranco 2023-08-24 19:20:44 +02:00 committed by GitHub
parent fbcf9d78bc
commit 26d566d6e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,6 +7,19 @@ RED='\033[1;31m'
RESET='\033[0m' RESET='\033[0m'
KERNEL=`uname -r` KERNEL=`uname -r`
if grep -q Homer "/etc/installedmodules"; then
NGINX=yes
fi
if grep -q Domoticz "/etc/installedmodules"; then
DOMOTICZ=yes
fi
if grep -q Node-RED "/etc/installedmodules"; then
NODERED=yes
fi
if grep -q Zigbee2MQTT "/etc/installedmodules"; then
ZB2MQTT=yes
fi
##--------------## ##--------------##
# Start loop # # Start loop #
@ -26,6 +39,7 @@ systemctl is-active --quiet domoticz.service && Domo=Online || Domo=Offline
systemctl is-active --quiet nodered.service && Node=Online || Node=Offline systemctl is-active --quiet nodered.service && Node=Online || Node=Offline
systemctl is-active --quiet zigbee2mqtt.service && ZB2M=Online || ZB2M=Offline systemctl is-active --quiet zigbee2mqtt.service && ZB2M=Online || ZB2M=Offline
systemctl is-active --quiet mosquitto.service && MQTT=Online || MQTT=Offline systemctl is-active --quiet mosquitto.service && MQTT=Online || MQTT=Offline
systemctl is-active --quiet nginx.service && NGIX=Online || NGIX=Offline
##----------------## ##----------------##
@ -50,13 +64,31 @@ if [[ $UFW == *in* ]] || [[ -z "$UFW" ]] ; then
echo -e "Firewall: ${GREEN}active${RESET}" echo -e "Firewall: ${GREEN}active${RESET}"
fi fi
echo "Kernel $KERNEL" echo "Kernel $KERNEL"
echo "" echo ""
if [[ ! -z "$IP" ]]; then if [[ ! -z "$IP" ]]; then
echo "Services and Ports:" echo "Services and Ports:"
else else
echo "Services:" echo "Services:"
fi fi
if [[ $NGINX == "yes" ]]; then
if [[ $NGIX == "Online" ]] && [[ ! -z "$IP" ]]; then
echo -e "Nginx: ${GREEN}online${RESET} @80"
elif [[ $MQTT == "Online" ]]; then
echo -e "Nginx: ${GREEN}online${RESET}"
else
echo -e "Nginx: ${RED}offline${RESET}"
fi
fi
if [[ $DOMOTICZ == "yes" ]]; then
if [[ $Domo == "Online" ]] && [[ ! -z "$IP" ]]; then
echo -e "Domoticz: ${GREEN}online${RESET} @8080"
elif [[ $Domo == "Online" ]]; then
echo -e "Domoticz: ${GREEN}online${RESET}"
else
echo -e "Domoticz: ${RED}offline${RESET}"
fi
fi
if [[ $NODERED == "yes" ]] || [[ $ZB2MQTT == "yes" ]]; then
if [[ $MQTT == "Online" ]] && [[ ! -z "$IP" ]]; then if [[ $MQTT == "Online" ]] && [[ ! -z "$IP" ]]; then
echo -e "MQTT broker: ${GREEN}online${RESET} @1883" echo -e "MQTT broker: ${GREEN}online${RESET} @1883"
elif [[ $MQTT == "Online" ]]; then elif [[ $MQTT == "Online" ]]; then
@ -64,26 +96,24 @@ if [[ $MQTT == "Online" ]] && [[ ! -z "$IP" ]]; then
else else
echo -e "MQTT broker: ${RED}offline${RESET}" echo -e "MQTT broker: ${RED}offline${RESET}"
fi fi
if [[ $Domo == "Online" ]] && [[ ! -z "$IP" ]]; then
echo -e "Domoticz broker: ${GREEN}online${RESET} @8080"
elif [[ $Domo == "Online" ]]; then
echo -e "Domoticz broker: ${GREEN}online${RESET}"
else
echo -e "Domoticz broker: ${RED}offline${RESET}"
fi fi
if [[ $NODERED == "yes" ]]; then
if [[ $Node == "Online" ]] && [[ ! -z "$IP" ]]; then if [[ $Node == "Online" ]] && [[ ! -z "$IP" ]]; then
echo -e "Node-RED broker: ${GREEN}online${RESET} @1880" echo -e "Node-RED: ${GREEN}online${RESET} @1880"
elif [[ $Node == "Online" ]]; then elif [[ $Node == "Online" ]]; then
echo -e "Node-RED broker: ${GREEN}online${RESET}" echo -e "Node-RED: ${GREEN}online${RESET}"
else else
echo -e "Node-RED broker: ${RED}offline${RESET}" echo -e "Node-RED: ${RED}offline${RESET}"
fi fi
fi
if [[ $ZB2MQTT == "yes" ]]; then
if [[ $ZB2M == "Online" ]] && [[ ! -z "$IP" ]]; then if [[ $ZB2M == "Online" ]] && [[ ! -z "$IP" ]]; then
echo -e "Zigbee2MQTT broker: ${GREEN}online${RESET} @5002" echo -e "Zigbee2MQTT: ${GREEN}online${RESET} @5002"
elif [[ $ZB2M == "Online" ]]; then elif [[ $ZB2M == "Online" ]]; then
echo -e "Zigbee2MQTT broker: ${GREEN}online${RESET}" echo -e "Zigbee2MQTT: ${GREEN}online${RESET}"
else else
echo -e "Zigbee2MQTT broker: ${RED}offline${RESET}" echo -e "Zigbee2MQTT: ${RED}offline${RESET}"
fi
fi fi
@ -102,5 +132,5 @@ UFW=`ufw status`
# Restart loop # # Restart loop #
##----------------## ##----------------##
sleep 15 sleep 30
done done