linux system 监控
#!/bin/bash
### 系统分了两个区,/ 分区和 /usr 分区, disk1和disks1 代表 / ,disk2 和disks2 代表 /usr.
disk1=`df -l |grep -w / | awk ‘{printf”%d”,$3/$2*100}’`
disk2=`df -l |grep -w /usr | awk ‘{printf”%d”,$3/$2*100}’`
### 用%来显示磁盘的使用率
disks1=`df -lh |grep -w / | awk ‘{printf$5}’`
disks2=`df -lh |grep -w /usr | awk `{printf$5}’`
### 报警线
max_disk=90
### / 分区监控
if [ $disk1 -gt $max_disk ]
then
echo 报警:“ / ” 分区使用率为达到了$disks1
else
echo ” / ” 分区使用率为$disks1, 没有问题!
fi
### /usr 分区监控
if [ $disk2 -gt $max_disk ]
then
echo 报警:” /usr ” 分区使用率达到了$disks2
else
echo ” /usr ” 分区使用率为$disks2, 没有问题!
fi
### Swap 交换分区的监控,本要监控Mem的,可Swap 在Mem报警时,可代替Mem使用
##Swap 的剩余量
Swap=`free -m |grep -w Swap | awk ‘{printf”%d”,$4/$2*100}’`
max_swap=80
##Swap 的使用量
let Swap2=100-$Swap
if [ $Swap2 -gt $max_swap ]
then
echo Swap 报警, swap 的使用率为$Swap2%
else
echo Swap is good!!! 使用率为$Swap2%
fi
### 系统负载监控
vcpu=`uptime |awk ‘{print $8}’`
echo ”用 $cpu 除以你服务器cpu的总核数,大于4的话,服务器负载将有点过大。应要注意!
由于“泡沫” 对cpu的核数的提取,没有找到个好的方法,只能麻烦大家了,如果大家有好的方法
可以留言或者发邮件给泡沫,泡沫在此拜谢!!!
