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

#!/bin/bash
#获取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 "监控报警" [email protected] < /tmp/jiankong.log
}
function check(){
if [[ "$cpuUsage" > 80 ]] || [[ "$diskUsage" > 80 ]] || [[ "$mem_used_persent" > 80 ]];then
echo "报警时间:${now_time}" > $logFile
echo "CPU使用率:${cpuUsage}% --> 磁盘使用率:${diskUsage}% --> 内存使用率:${mem_used_persent}%" >> $logFile
send_mail
fi
}
function main(){
check
}
main

原文地址:http://blog.51cto.com/12962336/2092699

时间: 2024-11-08 05:35:57

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

利用shell监控cpu、磁盘、内存使用率

利用shell监控cpu.磁盘.内存使用率,达到警报阈值发邮件进行通知 并配合任务计划,即可及时获取报警信息 #!/bin/bash ############################################## #Author: Liuzhengwei - [email protected] #QQ:1135960569 #Last modified: 2017-04-19 21:50 #Filename: jiankong.sh #Description:  #########

shell查看CPU 硬盘 内存使用率

[[email protected] ~]# cat 1.sh #!/bin/sh free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }' df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", $3,$2,$5}' top -bn1 | grep load | awk '{p

ZABBIX监控H3C设备的CPU和内存使用率

由于最近监控的H3C路由器经常出现死机现象,SNMP获取不到数据,后面检查发现是CPU使用率过高,直接导致无法处理SNMP请求,所以需求来了,怎样通过SNMP监控H3C路由器的CPU和内存使用率? 由于CPU和内存的IOD号是H3C厂商没有公布的,所以不好找,在网上百度了一些资料查找H3C网络设备的CPU和内存OID号,这里做个记录,以供以后参考. 一般H3C网络设备的CPU和内存的IOD号和下面的东西有关. H3C cpu 使用率OID:.1.3.6.1.4.1.25506.2.6.1.1.1

shell 监控cpu,memory,load average

shell 监控cpu,memory,load average,记录到log,当负载压力时,发电邮通知管理员. 实现原理: 1.获取cpu,memory,load average的数值 2.判断数值是否超过自定义的范围,例如(CPU>90%,Memory<10%,load average>2) 3.如数值超过范围,发送电邮通知管理员.发送有时间间隔,每小时只会发送一次. 4.将数值写入log. 5.设置crontab 每30秒运行一次. #!/bin/bash # 系统监控,记录cpu.

Linux--shell监控CPU和内存

************************************************************************************************* #! /bin/bash #By [email protected] t=`date | awk '{print $4}' |awk -F ':' '{print $1$2$3}'` d=`date +%m/%d/%Y  |  awk -F '/' '{print $1$2}'` memfile=/ho

Ubuntu 16.04 标题栏实时显示上下行网速、CPU及内存使用率--indicator-sysmonitor

---------------------------------------------------------------------------- 原文地址:http://blog.csdn.NET/tecn14/article/details/24489031 ---------------------------------------------------------------------------- 有时感觉网络失去响应,就通过Ubuntu 14.04自带的系统监视器程序来查

查看本机CPU、内存使用率前10的进程

在日常运维工作中,经常会查看占用当前系统CPU或内存使用率前几位的进程情况.下面列出这些查看的命令: 查看占用CPU最高的5个进程ps aux | sort -k3rn | head -5或者top (然后按下P,注意大写,CPU使用率降序) 查看占用内存最高的5个进程ps aux | sort -k4rn | head -5或者top (然后按下M,注意大写,内存使用率降序) 查看所有信息使用命令ps aux sort -rn 降序sort -k3rn 按照第三列降序 sort|uniq 排序

Linux shell 脚本监控cpu,内存,硬盘,网络,是否存活

写脚本的背景:脚本实现简单的监控,而不需要用非常的重的监控软件完成. 脚本如下 #!/bin/sh # 脚本放入到/usr/local/bin # chmod 755 check_server.sh # crontab 中添加 source /etc/bashrc #------监控阈值 DISK_space_warn=90 CPU_load_warn=5 CPU_use_warn=50 MEM_use_warn=95 #SWAP_use_warn=50 Net_SYN_count_warn=2

Shell脚本监控CPU、内存和硬盘利用率

1.监控CPU利用率(通过vmstat工具) #!/bin/bash#====================================================# Author: lizhenliang - EMail:[email protected]# Create Date: 2015-02-01# Description: cpu utilization monitor# blog:lizhenliang.blog.51cto.com#===================