Updated temperature scripts (added heartbeating).
authorZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Mon, 30 Nov 2020 15:27:04 +0000 (16:27 +0100)
committerZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Mon, 30 Nov 2020 15:27:04 +0000 (16:27 +0100)
sources/vhost1.usr/root/temperature.cfg
sources/vhost1.usr/root/temperature.sh
sources/vhost2.usr/root/temperature.cfg
sources/vhost2.usr/root/temperature.sh

index 30ad42264f71ede0b54bdd00b2a98baeb6801ed1..4193cab900d236d5bbd030625c54f14f441225ff 100644 (file)
@@ -1,13 +1,15 @@
 MODEM_IP="192.168.8.1"
+
 #        zfelleg        fschnell       rrendek        mszabo
 PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
 NUMBER_OF_PHONES=4
-WARNING_PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
-ERROR_PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
-CRITICAL_PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
+
 HEARTBEAT_PHONES=("+36303744065" "+36309502529" "+36309775888" "+36704581234")
+NUMBER_OF_HEARTBEAT_PHONES=4
+
 WARNING_THRESHOLD=25
 ERROR_THRESHOLD=30
 CRITICAL_THRESHOLD=35
+
 HOST_SERIAL=$(hostname | cut -c 6)
 IMM_FQDN="vhost${HOST_SERIAL}imm.usr.user.hu"
index 9dc4de72c93dc312313da0283e69dc975dccdf48..ee8b7d00d3f93023ec491e7f5c0e208f641c3f42 100755 (executable)
@@ -103,6 +103,33 @@ log_temperature() {
     echo "${STR_DATE}: ${MESSAGE_TYPE}: $TEMPERATURE" | tee -a /tmp/temperature-${PRG_DATE}.log
 }
 
+send_heartbeat_sms() {
+    MESSAGE_TYPE=$1
+    TEMPERATURE=$2
+
+
+    MESSAGE="Heartbeat ${MESSAGE_TYPE}: temperature is $TEMPERATURE"
+    SMS_TARGETS=""
+    i=0
+    while [ $i -lt $NUMBER_OF_HEARTBEAT_PHONES ]
+    do
+        SMS_TARGETS="${SMS_TARGETS}<Phone>${HEARTBEAT_PHONES[$i]}</Phone>"
+        i=$(( $i + 1 ))
+    done
+
+    curl --silent --request GET "http://$MODEM_IP/api/webserver/SesTokInfo" >ses_tok.xml
+
+    SESSION_ID=$(sed 's|^.*<SesInfo>\(.*\)</SesInfo>.*$|\1|' <ses_tok.xml)
+    TOKEN=$(sed 's|^.*<TokInfo>\(.*\)</TokInfo>.*$|\1|' <ses_tok.xml)
+
+    curl --header "Cookie: $SESSION_ID" \
+         --header "__RequestVerificationToken: $TOKEN" \
+        --request POST \
+        --silent \
+         --data "<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones>${SMS_TARGETS}</Phones><Sca></Sca><Content>${MESSAGE}</Content><Length>-1</Length><Reserved>1</Reserved><Date>-1</Date></request>" \
+         http://$MODEM_IP/api/sms/send-sms
+}
+
 send_sms() {
     MESSAGE_TYPE=$1
     TEMPERATURE=$2
@@ -167,6 +194,12 @@ then
     exit 0
 fi
 
+DAY_HOUR_MINUTE=$(date "+%u%H%M")
+if [ "$DAY_HOUR_MINUTE" == "21000" ]
+then
+    send_heartbeat_sms $MESSAGE_TYPE $TEMPERATURE
+fi
+
 MINUTE_LASTDIGIT=$(date "+%M" | cut -c 2)
 case "$MINUTE_LASTDIGIT" in
     "1" | "3" | "5" | "7" | "9")
@@ -192,5 +225,5 @@ then
 fi
 delete_logs
 delete_mail
-delete_sent_smses
 delete_received_smses
+delete_sent_smses
index 30ad42264f71ede0b54bdd00b2a98baeb6801ed1..4193cab900d236d5bbd030625c54f14f441225ff 100644 (file)
@@ -1,13 +1,15 @@
 MODEM_IP="192.168.8.1"
+
 #        zfelleg        fschnell       rrendek        mszabo
 PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
 NUMBER_OF_PHONES=4
-WARNING_PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
-ERROR_PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
-CRITICAL_PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
+
 HEARTBEAT_PHONES=("+36303744065" "+36309502529" "+36309775888" "+36704581234")
+NUMBER_OF_HEARTBEAT_PHONES=4
+
 WARNING_THRESHOLD=25
 ERROR_THRESHOLD=30
 CRITICAL_THRESHOLD=35
+
 HOST_SERIAL=$(hostname | cut -c 6)
 IMM_FQDN="vhost${HOST_SERIAL}imm.usr.user.hu"
index 9dc4de72c93dc312313da0283e69dc975dccdf48..ee8b7d00d3f93023ec491e7f5c0e208f641c3f42 100755 (executable)
@@ -103,6 +103,33 @@ log_temperature() {
     echo "${STR_DATE}: ${MESSAGE_TYPE}: $TEMPERATURE" | tee -a /tmp/temperature-${PRG_DATE}.log
 }
 
+send_heartbeat_sms() {
+    MESSAGE_TYPE=$1
+    TEMPERATURE=$2
+
+
+    MESSAGE="Heartbeat ${MESSAGE_TYPE}: temperature is $TEMPERATURE"
+    SMS_TARGETS=""
+    i=0
+    while [ $i -lt $NUMBER_OF_HEARTBEAT_PHONES ]
+    do
+        SMS_TARGETS="${SMS_TARGETS}<Phone>${HEARTBEAT_PHONES[$i]}</Phone>"
+        i=$(( $i + 1 ))
+    done
+
+    curl --silent --request GET "http://$MODEM_IP/api/webserver/SesTokInfo" >ses_tok.xml
+
+    SESSION_ID=$(sed 's|^.*<SesInfo>\(.*\)</SesInfo>.*$|\1|' <ses_tok.xml)
+    TOKEN=$(sed 's|^.*<TokInfo>\(.*\)</TokInfo>.*$|\1|' <ses_tok.xml)
+
+    curl --header "Cookie: $SESSION_ID" \
+         --header "__RequestVerificationToken: $TOKEN" \
+        --request POST \
+        --silent \
+         --data "<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones>${SMS_TARGETS}</Phones><Sca></Sca><Content>${MESSAGE}</Content><Length>-1</Length><Reserved>1</Reserved><Date>-1</Date></request>" \
+         http://$MODEM_IP/api/sms/send-sms
+}
+
 send_sms() {
     MESSAGE_TYPE=$1
     TEMPERATURE=$2
@@ -167,6 +194,12 @@ then
     exit 0
 fi
 
+DAY_HOUR_MINUTE=$(date "+%u%H%M")
+if [ "$DAY_HOUR_MINUTE" == "21000" ]
+then
+    send_heartbeat_sms $MESSAGE_TYPE $TEMPERATURE
+fi
+
 MINUTE_LASTDIGIT=$(date "+%M" | cut -c 2)
 case "$MINUTE_LASTDIGIT" in
     "1" | "3" | "5" | "7" | "9")
@@ -192,5 +225,5 @@ then
 fi
 delete_logs
 delete_mail
-delete_sent_smses
 delete_received_smses
+delete_sent_smses