123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/bin/bash
- filename=$(basename $0)
- cnt=`pgrep -c $filename`
- if [ $cnt -gt 1 ]; then
- echo "Already Running..."
- exit 0
- fi
- echo "Running Start..."
- SSIP_API_URI="http://192.168.202.106:8444/api/system-status2"
- SSIP_API_TIMEOUT=3
- HEADER_CONTEXT_TYPE="Content-Type: application/json"
- HostName=$(hostname)
- UpTime=""
- MemoryUsage=0
- DiskUsage=0
- CpuLoad=0
- function check_health {
- #Memory 사용율
- MemoryUsage=$(free -m | awk 'NR==2{printf "%.2f", $3*100/$2 }')
-
- #DISK 사용율
- totaldisk=$(df -P | grep -v ^Filesystem | awk '{sum += $2} END { print sum; }')
- useddisk=$(df -P | grep -v ^Filesystem | awk '{sum += $3} END { print sum; }')
- DiskUsage=$((100*$useddisk/$totaldisk))
- #CPU 부하
- CpuLoad=$(top -bn1 | grep load | awk '{printf "%.2f", $(NF-2)}')
- }
- function call_system_status_api {
- # Call System Status Save REST API
- PAYLOAD='{"hostName" : "'${HostName}'",
- "memoryUsage" : '${MemoryUsage}',
- "diskUsage" : '${DiskUsage}',
- "cpuLoad" : '${CpuLoad}'
- }'
- echo -e "api call:"
- api_result=$(curl -d "${PAYLOAD}" -X POST $SSIP_API_URI -H "$HEADER_CONTEXT_TYPE" --connect-timeout $SSIP_API_TIMEOUT)
- # Result
- echo -e ""
- echo -e "api call result: ${api_result} "
- }
- function print_health {
- echo -e "
- Hostname : $HostName
- Memory Usage : $MemoryUsage
- Disk Usage : $DiskUsage
- CPU Load : $CpuLoad "
- }
- while :; do
- check_health;
- call_system_status_api;
- print_health;
- sleep 10
- done
|