1. 借助vmstat工具监控CPU利用率

#!/bin/bash

DATE=$(date +%F" "%H:%M)    //查询脚本执行的日期赋值

MAIL="example@mail.com"      // 定义一个邮箱用来接受CPU信息

if ! which vmstat &>/dev/null; then    //判断vmstat 命令是否存在

  echo "vmstat command no found, Please install procps package." exit 1

fi

US=$(vmstat |awk 'NR==3{print $13}')    //用户进程使用CPU的时间

SY=$(vmstat |awk 'NR==3{print $14}')     //系统进程使用CPU的时间

USE=$(($US+$SY))            //CPU的使用时间

if [ $USE -ge 50 ]; then            //判断CPU的进程使用时间是否大于50,大于50就打印时间和CPU进程的使用时间发送给指定的邮箱

  echo "                  

  Date: $DATE

  CPU utilization $USE " | mail -s "CPU Monitor" $MAIL    

fi

 

 

2. 用free命监控内存

#!/bin/bash

DATE=$(date +%F" "%H:%M)

MAIL="example@mail.com"

TOTAL=$(free -m |awk '/Mem/{print $2}')      //内存总的大小

USE=$(free -m |awk '/Mem/{print $3-$6}')     //使用的物理内存大小(used - buff-cache)

FREE=$(($TOTAL-$USE))             // 内存小于1G发送报警邮件

if [ $FREE -lt 1024 ]; then

   echo " Date: $DATE

   Total=$TOTAL,

    Use=$USE,

    Free=$FREE " | mail -s "Memory Monitor" $MAIL

fi

相关文章:

  • 2021-09-10
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-15
  • 2022-02-16
  • 2022-12-23
相关资源
相似解决方案