在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 等。这些工具提供了更丰富的监控和警报功能。