summaryrefslogtreecommitdiffstats
path: root/remote/osx/check_server_status.sh
blob: ec7c0f2e404a5d0a516a344a8226ddeed0461b3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash

root=`df -m | grep /dev/disk3s2 | sed -E 's/[[:space:]]+/ /g' | cut -d ' ' -f 4`
fs=`df -m | grep /dev/disk2 | sed -E 's/[[:space:]]+/ /g' | cut -d ' ' -f 4`
cpu=`uptime | sed -E "s/[[:space:]]+/ /g" | tr ' ' '\n' | tail -n 1`
mem=`top -l 1 | grep PhysMem |  sed -E "s/[[:space:]]+/ /g"`

cache=`echo $mem | cut -f 6 -d ' '`
free=`echo $mem | cut -f 10 -d ' '`

len=`echo $cache | wc -c`
len=`expr $len - 1`
units=`echo $cache | cut -c $len`
len=`expr $len - 1`
size=`echo $cache | cut -c -$len`

if [ $units == "G" ]; then
    size=`expr $size '*' 1024`
elif [ $units != "M" ]; then
    size=0
fi

len=`echo $free | wc -c`
len=`expr $len - 1`
units=`echo $free | cut -c $len`
len=`expr $len - 1`
fsize=`echo $free | cut -c -$len`
if [ $units == "G" ]; then
    size=`expr $fsize '*' 1024 + $size`
elif [ $units == "M" ]; then
    size=`expr $fsize + $size`
fi

mem=$size    

if [ $root -le 8192 ]; then
    echo "Only $(($root / 1024)) GB left in the root file system"
fi

if [ $fs -le 102400 ]; then
    echo "Only $(($fs / 1024)) GB left in the PDV file system"
fi

if [ $mem -le 512 ]; then
    echo "The system is starving on memory, $mem MB left free"
fi

if [ `echo "$cpu < 7.80" | bc` -eq 0 ]; then
    echo "The system is starving on cpu, $cpu is load average for the last 15 min"
fi