热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux循环cpu使用率脚本,LinuxShell脚本监视CPU利用率,达到设置的CPU利用率时发送电子邮件...

有很多开源监控工具可用于监控Linux系统性能,当系统达到给定的阈值限制时,它将发送电子邮件警报。它监视CPU利用率、内存利用率、交换利用率、磁盘空间利

有很多开源监控工具可用于监控Linux系统性能,当系统达到给定的阈值限制时,它将发送电子邮件警报。它监视CPU利用率、内存利用率、交换利用率、磁盘空间利用率等所有内容。如果你只有很少的系统并且想要监视它们,那么编写一个小的shell脚本可以实现这一点。在本文中,我们添加了两个shell脚本来监视Linux系统上的CPU利用率。当系统达到给定阈值时,它将触发邮件到相应的电子邮件ID,即到达设置的CPU利用率时发送电子邮件通知用户。

方法一:Linux Shell脚本监视CPU利用率,达到设置的CPU利用率时发送电子邮件

如果你只想在系统达到给定阈值时通过邮件通知用户,请使用以下脚本,这是非常简单和直接的一行脚本。

当你的系统达到80%的CPU利用率时,它将触发电子邮件:

*/5 * * * * /usr/bin/cat /proc/loadavg | awk '{print $1}' | awk '{ if($1 > 80) printf("Current CPU Utilization is: %.2f%\n"), $0;}' | mail -s "High CPU Alert" ywnz@qq.com

注意:你需要更改电子邮件ID,而不是我们的电子邮件ID,此外,你可以根据需要更改CPU利用率阈值。

输出:你将收到类似下面的电子邮件提醒:

Current CPU Utilization is: 80.40%(即当前CPU利用率为:80.40%)

方法二:Linux Shell脚本监视CPU利用率,达到设置的CPU利用率时发送电子邮件

如果要在邮件警报中获取有关CPU利用率的更多信息。

当你的系统达到80%的CPU利用率时,它将触发电子邮件。

注意:你需要更改电子邮件ID,而不是我们的电子邮件ID,此外,可以根据需要更改CPU利用率阈值。

# vi /opt/scripts/cpu-alert.sh

#!/bin/bash

cpuuse=$(cat /proc/loadavg | awk '{print $1}')

if [ "$cpuuse" > 80 ]; then

SUBJECT="ATTENTION: CPU Load Is High on $(hostname) at $(date)"

MESSAGE="/tmp/Mail.out"

TO="ywnz@qq.com"

echo "CPU Current Usage is: $cpuuse%" >> $MESSAGE

echo "" >> $MESSAGE

echo "+-------------------------------------+" >> $MESSAGE

echo "Top CPU Process Using top command" >> $MESSAGE

echo "+-------------------------------------+" >> $MESSAGE

echo "$(top -bn1 | head -20)" >> $MESSAGE

echo "" >> $MESSAGE

echo "+-------------------------------------+" >> $MESSAGE

echo "Top CPU Process Using ps command" >> $MESSAGE

echo "+-------------------------------------+" >> $MESSAGE

echo "$(ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10)" >> $MESSAGE

mail -s "$SUBJECT" "$TO" <$MESSAGE

rm /tmp/Mail.out

fi

最后添加一个cronjob来自动执行此操作&#xff0c;它将每5分钟运行一次&#xff1a;

# crontab -e

*/10 * * * * /bin/bash /opt/scripts/cpu-alert.sh

注意&#xff1a;由于脚本计划每5分钟运行一次&#xff0c;因此你将在5分钟后收到电子邮件警报(但它不完全是5分钟&#xff0c;这取决于时间)&#xff0c;比如说&#xff0c;如果你的系统达到8.25的限制&#xff0c;那么你将在另外5分钟内收到电子邮件警报。

输出&#xff1a;你将收到类似下面的电子邮件提醒&#xff0c;非常的详细&#xff0c;如下图所示&#xff1a;

508538d42c5979cc9b04419f3be7d77c.png

相关主题



推荐阅读
author-avatar
高高G0623
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有