host.sh
HP-UX:
top -d 1 -f /monitor/data/host.tmp
-d: 显示次数
-f filename Output is appended to filename. When -f is used, top defaults to 1 for -d and 16 for -n.
grep -E <<-->> egrep
grep -E 'avg|Memory' /monitor/data/host.tmp | sed 's/K//g' | awk '{
uer_cpu = $3
sys_cpu = $5
cpu_rate = (uer_cpu + sys_cpu) / 100
getline --参见getline部门内容http://blog.chinaunix.net/uid-24774106-id-3825167.html
free_Mem = $8
Mem_rate = ('$ALL_MEN'-free_Mem)/'$ALL_MEN'
printf "'$SCANDATE' '$SCANTIME'|'$host_name'|'$host_ip'|%s|%s|", cpu_rate, Mem_rate
}' > /monitor/data/host.dat
# 获取磁盘流量
iostat 2 5 | sed 's/'bps'//g' | sed 's/'msps'//g' | sed 's/'sps'//g' | awk '{io = io + $2} END{print io/5"|0\n"}' >> /monitor/data/host.dat
Linux:
# Get cpu
top -b -n 2 | grep 'Cpu' | sed 's/%//g' | sed 's/us,//g' | sed 's/sy,//g' | sed -n '2p' > /monitor/data/host.tmp
# Get mem
free | grep 'Mem' >> /monitor/data/host.tmp
cat /monitor/data/host.tmp | awk '{
cpu_rate = ($2 + $3) / 100
getline
Mem_rate = ($2 - $4 - $7) / $2
printf "'$SCANDATE' '$SCANTIME'|'$host_name'|'$host_ip'|%s|%s|", cpu_rate, Mem_rate
}' > /monitor/data/host.dat
# Get I/O
iostat -k -d 2 5 | sed 's/Device: tps kB_read\/s kB_wrtn\/s kB_read kB_wrtn//g' | awk '{ if (NR >6) { io = io + $3 + $4}} END{print io/5"|0"}' >>/monitor/data/host.dat
dir.sh
HP-UX:
# 获取关键目录使用率
bdf | grep % | sed 's/%//g' | grep / | awk '{
dir_name = $NF
dir_all = $(NF-4)/(1024*1024)
dir_use = $(NF-3)/(1024*1024)
dir_free = dir_all-dir_use
use_rate = $(NF-1)/100
printf "'$SCANDATE' '$SCANTIME'|'$host_name'|'$host_ip'|%s|%s|%s|%s|0\n", dir_name, dir_use, dir_free, use_rate
}' > /monitor/data/dir.dat
Linux:
# Get dir
df -k | grep '%' | grep '/' | sed 's/%//g' | awk '{
dir_name = $NF
dir_use = $(NF-3)/(1024*1024)
dir_free = $(NF-2)/(1024*1024)
use_rate = $(NF-1)/100
printf "'$SCANDATE' '$SCANTIME'|'$host_name'|'$host_ip'|%s|%s|%s|%s|0\n", dir_name, dir_use, dir_free, use_rate
}' > /monitor/data/dir.dat