...
Code Block | ||
---|---|---|
|
||
#!/bin/bash # GadgetKeeper notificator #Change following values as necessary API_KEY="a759beb821f74f6b8d8858034590809a" THING_ID="8a78e074ca3d11e3bdd5475d929ef4f3" FREE_EVENT="bc019ca8cbdd11e385514191276b8f7f" MYSQL_EVENT="b7eb4063d13011e3a6bfc1f93a7bffd5" NAME_PROP="0dd2f9b8ca3e11e3bdd5475d929ef4f3" UPTIME_PROP="24969cb9ca3e11e3bdd5475d929ef4f3" URL="http://devapi.gadgetkeeper.com" CUR_DATE=$(date +%FT%T.%NZ) HOST_NAME=$(/bin/cat /etc/hostname) NAME_MSG="dataTime: "$CUR_DATE" Host Name: "$HOST_NAME echo "----" echo "Date/Time: "$CUR_DATE echo "Host-name: "$HOST_NAME FREE=$(/usr/bin/free -m | /bin/grep "Mem:" | /usr/bin/awk -F " " '{print LKR522}') echo "Free RAM: "$FREE"M" #FREE=29.9 uptime=$(</proc/uptime) uptime=${uptime%%.*} seconds=$(( uptime%60 )) minutes=$(( uptime/60%60 )) hours=$(( uptime/60/60%24 )) days=$(( uptime/60/60/24 )) up_time="$days days: $hours hours: $minutes min: $seconds sec" echo "Uptime: "$up_time #test Mysql service status #up-1 down-0 MYSQL_STST=$(/etc/init.d/mysql status >/dev/null 2>/dev/null && echo 1 || echo 0) echo "Mysql status: "$MYSQL_STST echo "----" TMP_FILE="/tmp/tmp.txt" #--------------------------------------------------------------------------------------------------- #API calls(property) #host name update echo -n "Host-name set: " curl -i -X PUT -H "X-ApiKey: $API_KEY" -H "Content-Type: text/json; charset=UTF-8" -d "$NAME_MSG" \ $URL"/v1/things/$THING_ID/properties/$NAME_PROP/value.json" > "$TMP_FILE" 2> /dev/null if [ -f "$TMP_FILE" ]; then RESPONSE=`cat "$TMP_FILE" | head -1` IS_OK=`echo "$RESPONSE" | grep "HTTP/1.1 204"` #echo -n "Host-name set: " if [ "$IS_OK" != "" ]; then echo "OK" else echo "FAIL" echo "$RESPONSE" fi else echo "Error" fi #--------------------------------------------------------------------------------------------------- #up time update echo -n "Uptime set: " curl -i -X PUT -H "X-ApiKey: $API_KEY" -H "Content-Type: text/json; charset=UTF-8" -d "$up_time" \ $URL"/v1/things/$THING_ID/properties/$UPTIME_PROP/value.json" > "$TMP_FILE" 2> /dev/null if [ -f "$TMP_FILE" ]; then RESPONSE=`cat "$TMP_FILE" | head -1` IS_OK=`echo "$RESPONSE" | grep "HTTP/1.1 204"` #echo -n "Uptime set: " if [ "$IS_OK" != "" ]; then echo "OK" else echo "FAIL" echo "$RESPONSE" fi else echo "Error" fi #--------------------------------------------------------------------------------------------------- #API calls(event) #free memory update echo -n "RAM value update: " curl -i -X POST -H "X-ApiKey: $API_KEY" -H "Content-Type: text/json; charset=UTF-8" -d \ '[{"value":'$FREE',"at":"'$CUR_DATE'"}]' $URL"/v1/things/$THING_ID/events/$FREE_EVENT/datapoints.json" > "$TMP_FILE" 2> /dev/null if [ -f "$TMP_FILE" ]; then RESPONSE=`cat "$TMP_FILE" | head -1` IS_OK=`echo "$RESPONSE" | grep "HTTP/1.1 204"` #echo -n "RAM value set: " if [ "$IS_OK" != "" ]; then echo "OK" else echo "FAIL" echo "$RESPONSE" fi else echo "Error" fi #--------------------------------------------------------------------------------------------------- #API calls(event) #mysql status update echo -n "Mysql states update: " curl -i -X POST -H "X-ApiKey: $API_KEY" -H "Content-Type: text/json; charset=UTF-8" -d \ '[{"value":'$MYSQL_STST',"at":"'$CUR_DATE'"}]' $URL"/v1/things/$THING_ID/events/$MYSQL_EVENT/datapoints.json" > "$TMP_FILE" 2> /dev/null if [ -f "$TMP_FILE" ]; then RESPONSE=`cat "$TMP_FILE" | head -1` IS_OK=`echo "$RESPONSE" | grep "HTTP/1.1 204"` #echo -n "Mysql states update: " if [ "$IS_OK" != "" ]; then echo "OK" else echo "FAIL" echo "$RESPONSE" fi else echo "Error" fi |
...