thingspeak/lib/server_stats.sh
2014-05-19 23:35:38 -04:00

36 lines
1004 B
Bash
Executable File

#!/bin/bash
# install necessary files:
# sudo apt-get install bc
# make this file executable:
# chmod +x server_stats.sh
# add to crontab (command: crontab -e)
# * * * * * /path/to/server_stats.sh
# thingspeak api key for channel that data will be logged to
api_key='XXXXXXXXXXXXXXXX'
# get cpu usage as a percent
used_cpu_percent=`top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 \
| tr -s ' ' | cut -f2 -d' ' | cut -f1 -d'%'`
echo $used_cpu_percent
# get memory
used_mem=`free -m | tr -s ' ' | grep buffers/cache | cut -f3 -d' '`
total_mem=`free -m | tr -s ' ' | grep Mem | cut -f2 -d' '`
used_mem_percent=`echo "scale=2;100*$used_mem/$total_mem" | bc`
echo $used_mem_percent
# get disk use as a percent
used_disk_percent=`df -lh | awk '{if ($6 == "/") { print $5 }}' \
| head -1 | cut -d'%' -f1`
echo $used_disk_percent
# post the data to thingspeak
curl -k --data \
"api_key=$api_key&field1=$used_cpu_percent&field2=$used_mem_\
percent&field3=$used_disk_percent" https://api.thingspeak.com/update