利用shell监控cpu、磁盘、内存使用率,达到警报阈值发邮件进行通知

并配合任务计划,即可及时获取报警信息

#!/bin/bash
##############################################
#Author: Liuzhengwei - 1135960569@qq.com
#QQ:1135960569
#Last modified: 2017-04-19 21:50
#Filename: jiankong.sh
#Description:
##############################################
#获取cpu使用率
cpuUsage=`top -n 1 | awk -F ‘[ %]+‘ ‘NR==3 {print $2}‘`
#获取磁盘使用率
data_name="/dev/vda1"
diskUsage=`df -h | grep $data_name | awk -F ‘[ %]+‘ ‘{print $5}‘`
logFile=/tmp/jiankong.log
#获取内存情况
mem_total=`free -m | awk -F ‘[ :]+‘ ‘NR==2{print $2}‘`
mem_used=`free -m | awk -F ‘[ :]+‘ ‘NR==3{print $3}‘`
#统计内存使用率
mem_used_persent=`awk ‘BEGIN{printf "%.0f\n",(‘$mem_used‘/‘$mem_total‘)*100}‘`
#获取报警时间
now_time=`date ‘+%F %T‘`
function send_mail(){mail -s "监控报警" 1135960569@qq.com < /tmp/jiankong.log
}
function check(){if [[ "$cpuUsage" > 80 ]] || [[ "$diskUsage" > 80 ]] || [[ "$mem_used_persent" > 80 ]];thenecho "报警时间:${now_time}" > $logFileecho "CPU使用率:${cpuUsage}% --> 磁盘使用率:${diskUsage}% --> 内存使用率:${mem_used_persent}%" >> $logFilesend_mailfi
}
function main(){check
}
main

利用shell监控cpu、磁盘、内存使用率相关推荐

  1. Core Temp实时监控CPU温度/内存使用率/CPU主频

    Core Temp实时监控CPU温度/内存使用率/CPU主频 1.官网下载 2.双击安装即可 3.配置[具体可安个人需求配置] 4. 设置中文 1.官网下载 https://www.alcpu.com ...

  2. 老李分享:shell 监控cpu,memory,load average 1

    老李分享:shell 监控cpu,memory,load average poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课 ...

  3. java cpu监控,java系统监控CPU 磁盘

    java系统监控CPU 磁盘 import java.io.*; /** * linux 下cpu 内存 磁盘 jvm的使用监控 * @author avery_leo * */ public cla ...

  4. java 监控系统cpu,java系统监控CPU 磁盘

    java系统监控CPU 磁盘 import java.io.*; /** * linux 下cpu 内存 磁盘 jvm的使用监控 * @author avery_leo * */ public cla ...

  5. 第三章 UT单元测试——CPU与内存使用率限制

    系列文章目录 第一章 UT单元测试--GoogleTest通用构建说明 第二章 UT单元测试--GTest框架实例 第三章 UT单元测试--CPU与内存使用率限制 文章目录 系列文章目录 前言 一.环 ...

  6. nmon下载使用和监控CPU和内存

    nmon下载使用和监控CPU和内存 nmon下载与使用 nmon下载 nmon命令 监控CPU和内存 监控CPU 监控内存 注意事项 nmon下载与使用 nmon下载 以下所述工具包链接如下: htt ...

  7. C#获取特定进程CPU和内存使用率

    C#获取特定进程CPU和内存使用率 首先是获取特定进程对象,可以使用Process.GetProcesses()方法来获取系统中运行的所有进程,或者使用Process.GetCurrentProces ...

  8. JMeter命令行生成监控CPU和内存图片

    Meter 命令行执行脚本得到的报告中,是没有CPU.内存使用率等监控数据的,我们可以使用JMeter插件帮忙. 首先,需要下载JMeterPlugins-Standard.jar,jmeter-pl ...

  9. top 命令_Linux监控cpu以及内存使用情况之top命令

    top命令是Linux下常用的性能分析工具,比如cpu.内存的使用,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程 ...

最新文章

  1. CLR via C#(第3版):.net中的定时器整理总结
  2. 6种常见的无线组网架构
  3. 两种方法清除Excel保护密码
  4. IDEA 设置自动导入包,以及手动导入包
  5. mysql8.0.11创建用户报错_mysql8.0创建用户授予权限报错解决方法
  6. OpenMetric与时序数据库模型之主流TSDB分析
  7. android studio中把c/c++文件编译成.so库(一)
  8. java插桩-javaassist
  9. 【VulnHub靶场】——HARRYPOTTER第二部: NAGINI
  10. 简单易用的运动控制卡(八):直线插补和手轮运动
  11. Namesilo域名注册流程
  12. 达人评测 i7 11390h和i5 11320h选哪个好
  13. 阿里、华为和微软等多家国内外厂商组团搞OpenJDK,Oracle为啥不参加?
  14. 无盘服务器软阵列,论坛有史最详细的WIN软阵列教程
  15. 如何增加百度收录量和友好度
  16. 自己动手用Android和Xposed编写一个微信聊天机器人——《微信聊天精灵》实现关键词自动回复。
  17. 《余光中诗歌精读》放下代码,静下心来,细细品读
  18. oracle计算日期倒计时,时间倒算回去到了哪里?│机械倒数计时码表
  19. toLua++使用(转)
  20. 【Unity】UGUI系列教程——拼接一个简单界面

热门文章

  1. 推荐一本书给大家《不懂带人 你就自己做到死》
  2. soap 版本可能不匹配: 出现意外的 envelope 命名空间_Collaboratorv11.5版本上新!GitHub Polling集成被弃用!...
  3. POJ3160强连通+spfa最长路(不错)
  4. POJ1456贪心(set或者并查集区间合并)
  5. 操作系统原理第十一章:大容量存储
  6. 【错误记录】Visual Studio 中编译 NDK 报错 ( no matching function for call to ‘cacheflush‘ cacheflush(); )
  7. 【Google Play】Google Play 开放式测试 ( 简介 | 发布开放式测试版本 )
  8. 【运筹学】线性规划 单纯形法 案例二 ( 案例解析 | 标准形转化 | 查找初始基可行解 | 最优解判定 | 查找入基变量与出基变量 | 第一次迭代 )
  9. 【数据挖掘】基于方格的聚类方法 ( 概念 | STING 方法 | CLIQUE 方法 )
  10. 【C++ 语言】面向对象 ( 成员函数 | 常量函数 | 友元函数 | 友元类 | 单例类 )