centos

centos cpustat如何设置阈值

小樊
44
2025-04-16 21:54:40
栏目: 智能运维

在 CentOS 系统中,cpustat 是一个用于显示 CPU 使用情况的工具,通常它是 sysstat 包的一部分。如果你想要设置 CPU 使用率的阈值并基于这些阈值执行某些操作,你可以编写一个脚本来监控 CPU 使用率,并在达到阈值时触发相应的动作。

以下是一个简单的 Bash 脚本示例,用于监控 CPU 使用率并在超过预设阈值时发送警告邮件:

#!/bin/bash

# 设置 CPU 使用率阈值(百分比)
THRESHOLD=80

# 获取 CPU 使用率
CPU_USAGE=$(mpstat 1 1 | awk '/Average:/ {print $12}' | cut -d'.' -f1)

# 检查 CPU 使用率是否超过阈值
if [ "$CPU_USAGE" -gt "$THRESHOLD" ]; then
    # 如果超过阈值,发送警告邮件
    # 请确保你已经配置了邮件发送服务,并替换下面的变量为实际的邮件地址和SMTP服务器设置
    EMAIL_SUBJECT="CPU Usage Alert"
    EMAIL_BODY="CPU usage is above the threshold: ${CPU_USAGE}%"
    EMAIL_TO="your_email@example.com"
    EMAIL_FROM="alert@example.com"
    SMTP_SERVER="smtp.example.com"
    SMTP_PORT="587"
    SMTP_USER="your_smtp_user"
    SMTP_PASS="your_smtp_password"

    # 发送邮件
    echo -e "$EMAIL_BODY" | mail -s "$EMAIL_SUBJECT" -r "$EMAIL_FROM" -S smtp="$SMTP_SERVER:$SMTP_PORT" -S smtp-auth=login -S smtp-auth-user="$SMTP_USER" -S smtp-auth-password="$SMTP_PASS" "$EMAIL_TO"
fi

在运行此脚本之前,请确保你已经安装了 sysstat 包以及邮件发送工具(如 mailxsendmail)。你可以使用以下命令安装 sysstat

sudo yum install sysstat

然后,你需要根据你的邮件服务器配置来修改脚本中的邮件发送参数。

最后,你可以将此脚本设置为定时任务(cron job),以便定期检查 CPU 使用率。例如,要每5分钟运行一次脚本,你可以将以下行添加到 crontab 文件中:

*/5 * * * * /path/to/your/script.sh

使用 crontab -e 命令编辑 crontab 文件,并添加上述行。记得将 /path/to/your/script.sh 替换为你的脚本实际路径。

0
看了该问题的人还看了