Shell之监控cpu、内存、磁盘脚本
#!/bin/bash
#获取内存情况
mem_total=`free | awk 'NR==2{print $2}'` #获取内存总大小
mem_use=`free | awk 'NR==2{print $3}'` #获取内存使用大小
#统计内存使用率 (使用大小/总大小)
mem_use_rate=`awk 'BEGIN{print('$mem_use'/'mem_total')*100}'`
#echo $mem_use_rate
#获取磁盘使用率
disk_use_rate=`df -h | grep /dev/vda1 | awk -F '[ %]+' '{print $5}'`
#echo $disk_use_rate
#获取cpu使用率
cpu_use_rate=`top -n | grep Cpu |awk '{print $2}'`
#echo $cpu_use_rate
#报警时间
file_log=/home/error.log #提前创建
now_time=`date '+%F %T'`
function send_mail(){
mail -s "监控报警" *******@qq.com < /home/error.log
}
function check(){
if [[ "men_use_rate" > ]] || [[ "disk_use_rate" > ]] || [[ "cpu_use_rate" > ]];then
echo "报警时间:"$now_time > $file_log
echo "cpu使用率:${cpu_use_rate}% --> 磁盘使用率:${disk_use_rate}% --> 内存使用率:${men_use_rate}"
send_mail
fi
}
function main(){
check
}
main
操作系统:centos7.5 上面获取的数据显示34,相当于34% 报警部分可根据情况自己写上面用的是sendmail(阿里云服务器上有限制,鼓捣半天才发现需要开通,好像还收费,果断放弃)
free

df -h

top -n 1 (top是实时监控,-n 1 显示那一时刻的数据)

Shell之监控cpu、内存、磁盘脚本的更多相关文章
- python监控CPU/内存/磁盘,超过指定百分比,发送邮件
#!/usr/bin/python #coding:utf-8 #导入psutil模块 import psutil import yagmail def mail(subject,contents): ...
- 利用shell监控cpu、磁盘、内存使用率
利用shell监控cpu.磁盘.内存使用率,达到警报阈值发邮件进行通知 并配合任务计划,即可及时获取报警信息 #!/bin/bash ################################# ...
- linux系统CPU,内存,磁盘,网络流量监控脚本
前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...
- centos8平台使用pidstat监控cpu/内存/io
一,安装pidstat: 1,安装 [root@localhost yum.repos.d]# yum install sysstat 2,查看版本: [root@localhost ~]# pids ...
- AIX/Linux/HP-UX查看CPU/内存/磁盘/存储命令
1.1 硬件环境验证方式 硬件环境主要包括CPU.内存.磁盘/存储.网络设备(如F5等).系统特有设备(如密押设备等)等,其中网络设备和系统特有设备由网络管理员或项目组提供为准,本节主要关注CP ...
- shell脚本监控cpu/内存使用率 转
该脚本检测cpu和内存的使用情况,只需要调整memorySetting.cpuSetting.userEmail要发邮件报警的email地址即可 如果没有配置发邮件参数的哥们,已配置了的,直接飞到代码 ...
- linux系统CPU内存磁盘监控发送邮件脚本
#!/bin/bashexport PATHexport LANG=zh_CN.UTF-8###top之后输入数字1,可以查看每颗CPU的情况.###先配置好mailx邮箱账号密码:#cat>/ ...
- Shell采集系统cpu 内存 磁盘 网络信息
cpu信息采集 cpu使用率 采集算法 通过/proc/stat文件采集并计算CPU总使用率或者单个核使用率.以cpu0为例,算法如下: 1. cat /proc/stat | grep ‘cpu0’ ...
- Ubuntu系统监控cpu memery 磁盘Io次数 IO速率 网卡 运行时间等信息的采集
实验室最近在做的项目要做ubuntu系统监控,要获得系统的一些信息并返回给web服务器. web服务器与ubuntu主机的通信我写的程序用的是socket,至于为什么不用java程序ssh到对应的主机 ...
随机推荐
- mnist卷积网络实现
加载MNIST数据 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_se ...
- Understanding Action Filters (C#) 可以用来做权限检查
比如需要操作某一张表league的数据,multi-tenancy的模式,每一行数据都有一个租户id的字段. 那么在api调用操作的时候,我们需要检查league的id,是否和当前用户所属的租户信息一 ...
- Traverse an expression tree and extract parameters
Traverse an expression tree and extract parameters I think as you've said that using ExpressionVis ...
- Java HashSet介绍
HashSet底层使用HashMap实现.当使用add方法将对象添加到Set当中时,实际上是将该对象作为底层所维护的Map对象的key,而value则都是同一个Object对象(该对象我们用不上). ...
- 用google translate大文件
问题: google translate对于大文件不支持,咋办? 思路:自己写个函数把的文件拆成小文件,再用google translate! code: from googletrans impor ...
- ubuntu18源码包安装openresty
author: headsen chen date : 2019-07-30 15:42:24 #在ubuntu18.04 环境下,openresty的依赖库有:PCRE.OpenSSL.zlib, ...
- Flutter生命周期
生命周期是一个组件加载到卸载的整个周期,熟悉生命周期可以让我们在合适的时机做该做的事情, flutter中的State生命周期和android以及React Native的生命周期类似. 大致可以分为 ...
- Dart静态方法、对象操作符和类的继承
/* Dart中的静态成员: 1.使用static 关键字来实现类级别的变量和函数 2.静态方法不能访问非静态成员,非静态方法可以访问静态成员 */ // class Person { // stat ...
- Locust性能测试-分布式执行的方法(亲测ok)
来源:https://www.cnblogs.com/yoyoketang/p/11681370.html 前言 使用Locust进行性能测试时,当一台单机不足以模拟所需的用户数量的时候,可以在多台机 ...
- 123457123457#0#----com.DoraGame.ShiZi75--前拼后广--识字dora
com.DoraGame.ShiZi75--前拼后广--识字dora