热门标签 | 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

相关主题



推荐阅读
  • 1.判断磁盘使用空间df-h|grep-vFile|seds%g|awk{if($580)print使用空间超过了80%:,$6}或#!binbash#Filename:di ... [详细]
  • BashShell作为Linux的指定合作伙伴我们已经再熟悉不过了,使用Bash可以快速编写简单的脚本方便我们的日常比如善用vim,awk和sed三剑客,也可以创建十分复杂的逻辑, ... [详细]
  • 开发笔记:用shell脚本实现MongoDB数据库自动备份
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了用shell脚本实现MongoDB数据库自动备份相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • 一、概述nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的 ... [详细]
  • 文章目录一、awk简介二、awk的两种形式语法格式1options:2command:三、awk工作原理四、记录与字段相关内部变量:五、格式化输出:printf函数六、awk模式和 ... [详细]
  • 之前项目在windows2003服务器上设置定时任务,每天执行。现在把项目移植到linux系统。也要在linux系统上设置计划任务。但是之前我从来没有做过。所以多得不 ... [详细]
  • 一、设置时区方法一:使用setup工具setup选择Timezoneconfiguration选择AsiaShanghai空格键勾选上System ... [详细]
  • Linux学习笔记:psef、ps aux、kill9
    一、查看进程命令1.ps命令Linux中的ps命令是ProcessStatus的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就 ... [详细]
  • TIOBE 2012年2月编程语言排行榜:C#力压C++
    TIOBE2012年2月编程语言排行榜已经发布,本月C#挤进前三,占领季军位置,C降至第四名。VisualBasic惨遭冷谈, ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • oracle安装时找不到启动,Oracle没有开机自启是怎么回事?这一步骤很重要
    重启Oracle数据库重启Oracle数据库包括启动Oracle数据库服务进程和启动Oracle数据库两步,大家继续往下看。按照《【Oracle】什么?作为DBA&# ... [详细]
  • 动手写一个OpenVPN的wrapper来优化OpenVPN性能
    动手写一个OpenVPN的wrapper来优化OpenVPN性能 ... [详细]
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社区 版权所有