- A+
所属分类:Shell
#!/bin/bash
#适用于 CentOS 系统
# 设置资源使用率的阈值,当资源的使用率超过80%时,才会输出警告信息
THRESHOLD=80
# 获取CPU使用情况
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 -$1}')
# 检查CPU使用率是否超过阈值
if (( $(echo "$cpu_usage > $THRESHOLD" | bc -l) )); then
echo "WARNING: CPU usage is above $THRESHOLD%:$cpu_usage%"
fi
# 获取内存使用情况
memory_usage=$(free | grep Mem | awk '{print$3/$2 * 100.0}')
# 检查内存使用率是否超过阈值
if (( $(echo "$memory_usage > $THRESHOLD" | bc -l) )); then
echo "WARNING: Memory usage is above $THRESHOLD%:$(printf "%.2f" $memory_usage)%"
fi
# 获取磁盘使用情况
df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $1,$5, $6 }' | while read fs usage path; do
# 去掉百分号
usage=${usage%?}
# 检查磁盘使用率是否超过阈值
if [ "$usage" -gt "$THRESHOLD" ]; then
echo "WARNING: Disk usage on $path is above$THRESHOLD%: $usage%"
fi
done
