设为首页 收藏本站
查看: 981|回复: 0

《shell脚本系统监控-------邮件告警》

[复制链接]
发表于 2018-8-26 11:24:05 | 显示全部楼层 |阅读模式
#/bin/bash             ----默认执行方式  

  
#以下为变量:
  

  
HOST=`hostname`        ---输出当前系统的机器名
  
SYS=`uname -a`         ---输出当前系统信息
  
DATE=`date "+%F %H:%M:%S"`       ---输出当前系统时间
  
WEB=/var/www/html/$HOST.html        ---创建当前系统的网站的网页(以该脚本命名)
  
CPU=`cat /proc/cpuinfo |grep processor | wc -l`    ---输出当前系统的CPU信息(作为判断信息)
  
ID=`vmstat | awk 'NR==3{print $15 }'`        ----输出当前系统CPU的IP号码
  
WA=`vmstat | awk 'NR==3{print $16 }'`        ---输出系统的I/O的等待百分比
  
LOAD=`w | awk 'NR==1{print $8}' |awk -F "," '{print $1}'`       ---输出系统的负载值
  
DISK=`df -h |awk 'NR==3{print $4}' |awk -F "%" '{print $1}'`    ---输出硬盘的已经使用值
  
FREE=`free -m | awk 'NR==2{print $4}'`        ----输出内存空闲值
  
CACHE=`free -m | awk 'NR==2{print $7}'`       ----输出内存缓存值
  
TCP=`netstat -atunlp`            ----输出当前系统的网络链接状态
  
IF=`iftop -i eth0 -P -Nn -L 100 -s 1 -t >>$WEB`        ---输出系统的eth0接口的状态
  

  

  

  
#以下是执行上面所做的变量的输出
  
#在这里对cpu的线程数,CPU的LOAD,系统磁盘的状态,内存剩余。这四个做一个邮件的告警
  

  
echo "design for leoheng"
  

  
echo "######---主机名---##########"
  
echo hostname=`echo $HOST`
  

  

  
echo "######---系统参数---########"
  
echo system=`echo $SYS`
  

  

  
echo "######---CPU线程数---#######"
  
echo processor=`echo $CPU`
  
if [ $CPU -eq 4 ];then
  
`echo "wa=$WA and id=$ID cpu processor is ok" | mail -s "$HOST CPU" xxxxxxxx@qq.com`
  
else
  
`echo "wa=$WA and id=$ID cpu processor have problem" | mail -s "$HOST CPU" xxxxxxxx@qq.com`
  
fi
  

  

  
echo "######---CPU的ID---#########"
  
echo cpu~id=`echo $ID`
  

  

  
echo "######---CPU的WA---#########"
  
echo cpu~wa=`echo $WA`
  

  

  
echo "######---CPU的LOAD---#######"
  
echo cpu-load=`echo $LOAD`
  
if [ $LOAD > 0.05 ];then
  
`echo "CPU-LOAD is beyond the rate" | mail -s "CPU-LOAD" xxxxxxxx@qq.com`
  
else
  
`echo "CPU-LOAD is ok" | mail -s "CPU-LOAD" xxxxxxxx@qq.com`
  
fi
  

  

  

  
echo "######---系统磁盘的状态---##"
  
echo disk-status=`echo $DISK`
  
if [ $DISK > 80 ];then
  
`echo "SYSTEM-DISK is beyond the 80%" | mail -s "SYSTEM-DISK" xxxxxxxx@qq.com`
  
else
  
`echo "SYSTEM-DISK is ok" | mail -s "SYSTEM-DISK" xxxxxxxx@qq.com`
  
fi
  

  

  

  
echo "######---内存剩余---########"
  
echo memory=`echo ($FREE+$CACHE) KB`
  
     memory=$(($FREE+$CACHE))
  
echo $memory
  
if [ $memory < 1000 ];then
  
`echo "SYSTEM-memory less than 1000M " | mail -s "SYSTEM-memory" xxxxxxxx@qq.com`
  
        else
  
                `echo "SYSTEM-memory is ok" | mail -s "SYSTEM-memory" xxxxxxxx@qq.com`
  
        fi
  

  

  

  
echo "######---TCP相关连接状态----#"
  
echo tcp-status=`echo $TCP`
  

  

  

  
echo "######---eth0的流量---######"
  
echo $IF
  

  

  
echo "END"



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-556775-1-1.html 上篇帖子: Linux Shell 1>/dev/null 2>&1 含义 下篇帖子: 编写Shell脚本的最佳实践
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表