在CentOS系统中,cpustat
是一个用于显示CPU统计信息的工具,它本身并不直接提供阈值报警功能。但是,你可以结合其他工具和脚本来实现这一功能。以下是一个简单的示例,使用 watch
命令和 awk
脚本来监控CPU使用率,并在使用率超过预设阈值时发送警报。
sysstat
包,因为 cpustat
是这个包的一部分。如果没有安装,可以使用以下命令安装:sudo yum install sysstat
cpu_monitor.sh
,并添加以下内容:#!/bin/bash
# 设置CPU使用率的阈值(百分比)
THRESHOLD=80
# 无限循环,每隔一段时间检查一次CPU使用率
while true; do
# 使用cpustat获取CPU使用率
cpu_usage=$(watch -n 1 "mpstat 1 1 | awk '/Average:/ {print $12}'" | tail -n 1)
# 检查CPU使用率是否超过阈值
if [ $(echo "$cpu_usage > $THRESHOLD" | bc) -eq 1 ]; then
# 如果超过阈值,发送警报
echo "CPU usage is above the threshold: $cpu_usage%"
# 这里可以添加你想要的任何警报操作,例如发送邮件、短信等
fi
# 等待一段时间(例如10秒)再次检查
sleep 10
done
chmod +x cpu_monitor.sh
./cpu_monitor.sh
这个脚本会每隔10秒检查一次CPU使用率,如果超过80%,就会输出一条警报信息。你可以根据需要修改阈值和检查间隔时间。
如果你想要更复杂的警报机制,例如发送邮件或短信,你可以考虑使用更高级的工具,如 Nagios
、Zabbix
或 Prometheus
等。这些工具提供了更丰富的监控和警报功能。