监控cpu内存磁盘,并实现邮件报警

 1 #!/bin/bash
 2 #获取当前时间
 3 now=`date -u -d"+8 hour" +‘%Y-%m-%d %H:%M:%S‘`
 4 #cpu使用阈值
 5 cpu_warn=‘5‘
 6 #mem空闲阈值
 7 mem_warn=‘1‘
 8 #disk使用阈值
 9 disk_warn=‘5‘
10 #获取主机IP,下条命令也可以获取
11 hostip=$(ip addr | awk ‘/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}‘)
12 #hostip=`ifconfig|grep 192.168.xx.xx|awk ‘{print $2}‘|cut -d" " -f1`
13 #email,多个邮箱用逗号隔开
14 email_sender=(xxx@qq.com)
15
16 #---cpu
17 item_cpu () {
18 cpu_idle=`top -n 1 -b |  sed -e ‘s/ //g‘ | grep "Cpu(s):" | awk -F ":" ‘{print $2}‘ | awk -F "," ‘{print $1}‘|sed -e ‘s/us//g‘`
19 if [ $cpu_use -gt $cpu_warn ]
20     then
21         echo "$now $hostip 当前cpu使用率为$cpu_idle%,请及时处理" |  mail -s ‘cpu预警‘  ${email_sender}
22     else
23         echo "$now $hostip 当前cpu使用率为$cpu_idle%,未超过阈值" >> /opt/cpu.log
24 fi
25 }
26
27 #---mem
28 item_mem () {
29 #MB为单位
30 mem_free=`free -m | grep "Mem" | awk ‘{print $4+$6}‘`
31 if [ $mem_free -lt $mem_warn  ]
32     then
33         echo "$now $hostip 当前内存剩余空间为${mem_free}MB,请及时处理" | mail -s  ‘内存预警‘ ${email_sender}
34     else
35         echo "$now $hostip 当前内存剩余空间为${mem_free}MB,未超过阈值" >> /opt/mem.log
36 fi
37 }
38
39 #---disk
40 item_disk () {
41 disk_use=`df -P | grep /dev | grep -v -E ‘(tmp|boot)‘ | awk ‘{print $5}‘ | cut -f 1 -d "%"`
42 if [ $disk_use -gt $disk_warn ]
43     then
44         echo "$now $hostip 磁盘使用率超过阈值,当前使用率为$disk_use%,请及时处理" | mail -s  ‘磁盘预警‘ ${email_sender}
45     else
46         echo "$now $hostip 磁盘使用率未过阈值,当前使用率为$disk_use%,未超过阈值" >> /opt/disk.log
47 fi
48 }
49
50 item_cpu
51 item_mem
52 item_disk

取值命令可以根据需要自己修改

原文地址:https://www.cnblogs.com/mliu/p/10611973.html

时间: 2024-09-30 10:34:30

监控cpu内存磁盘,并实现邮件报警的相关文章

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

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

zabbix监控之同时向多人邮件报警

zabbix做为一款监控软件,报警是必不可少的,该文章主要介绍zabbix向多人邮件报警的配置过程. zabbix邮件报警配置步骤说明: 1.  准备一个发送邮件的脚本 2.  修改zabbix配置文件中指定的脚本路径 3.关联脚本名称 4.用户设置收件邮箱与报警时间 5.配置报警触发器 6.添加多个用户,同时给多个人发邮件 7.邮件接收测试 1.准备一个发送邮件的脚本 发送邮件有很多方法,自己写脚本的话,只要遵循zabbix传参的格式即可. zabbix发送邮件传参格式:./sendmail.

java获取cpu,内存,磁盘等信息

原文:java获取cpu,内存,磁盘等信息 源代码下载地址:http://www.zuidaima.com/share/1550463331306496.htm package com.zuidaima.util; import java.io.File; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.util.ArrayList; import java.util.List; imp

linux系统CPU,内存,磁盘,网络流量监控脚本

前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat /proc/loadavg 从系统启动开始到当前累积时刻 4, #uptime 系统运行多长时间 5, #mpstat CPU的一些统计信息 6, # 一,linux系统CPU,内存,磁盘,网络流量监控脚本 [作者:佚名来源:不详时间:2010-7-6 [我来说两句大中小] cme.sh网络流量监

使用shell编写一个脚本,磁盘超过80%邮件报警

方法1: 监控磁盘或CPU超过一定值邮件报警脚本: [[email protected] scripts]# cat check.sh #!/bin/bash LANG=en_US.UTF-8 cpuUsed=`top -n 1|awk -F '[, %]+' 'NR==3 {print100-$11}'` diskUsed=$(df -h|awk -F '[ %]+'  '/\/$/{print $5}') logFile=/tmp/jk.log function Sendmail(){ ma

使用jmeter实现接口监控,当接口出错时邮件报警

一.工具 Jmeter 3.3 下载地址:https://pan.baidu.com/s/1LwW4QV0xeQ-7e1X9bOBCog 二.目录结构预览 三.设计思路 1.  发送http请求,对返回码和响应数据进行校验 2.  利用if控制器的判断条件来执行是否发送邮件 3.  发送报警邮件,邮件中包括请求的接口url.返回码.响应数据.响应信息 四.脚本编写和变量设置 1.  预设置全局变量 Sendemail:是否发送邮件的标识,默认值为no,no代表不发送邮件,yes代表发送邮件. r

监控CPU、磁盘、内存使用情况,并报警

#!/bin/bash #获取cpu使用率 cpuUsage=`top -n 1 | awk -F '[ %]+' 'NR==3 {print $2}'` #获取磁盘使用率 data_name="/dev/sda1" diskUsage=`df -h | grep $data_name | awk -F '[ %]+' '{print $5}'` logFile=/apps/service/wy/jiankong.log #获取内存情况 mem_total=`free -m | awk

利用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

linux系统CPU内存磁盘监控发送邮件脚本之二

#!/bin/bash export PATH export LANG=zh_CN.UTF-8 # # #top之后输入数字1,可以查看每颗CPU的情况. # # #先配置好mailx邮箱账号密码: #cat>/etc/mail.rc<<"EOF" #set sendcharsets=iso-8859-1,utf-8 #set [email protected] #set smtp=smtp.163.com #set [email protected] #set sm