广告
返回顶部
首页 > 资讯 > 精选 >如何实现shell监控系统资源并通过短信报警的脚本
  • 815
分享到

如何实现shell监控系统资源并通过短信报警的脚本

2023-06-09 12:06:45 815人浏览 独家记忆
摘要

这篇文章主要为大家展示了“如何实现shell监控系统资源并通过短信报警的脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现shell监控系统资源并通过短信报警的脚本”这篇文章吧。脚本:#

这篇文章主要为大家展示了“如何实现shell监控系统资源并通过短信报警的脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现shell监控系统资源并通过短信报警的脚本”这篇文章吧。

脚本:

#!/bin/bash#监控用户登录Usermonitor () {LoginUser=`uptime | awk '{print $6}'`if [ $LoginUser -ge 2 ]thenCritical="当前系统登录用户人数超过1人,具体人数为:$LoginUser 个,请确认操作者人数。"status=0elseecho "loginuser ok"status=1fi013.}#监控内存MemMonitor () {MemTotal=`free -m | grep Mem | awk -F: '{print $2}' | awk '{print $1}'`MemFree=`free -m | grep cache | awk NR==2 | awk '{print $4}'`MemFreeB=`awk 'BEGIN{printf "%.2f%\n",'$MemFree/$MemTotal\*100'}'`MemFreeS=`awk 'BEGIN{printf "%.f",'$MemFree/$MemTotal\*100'}'`if [ $MemFreeS -lt 10 ]thenCritical="系统可用内存小于10%,实际可用内存为:$MemFreeB ,请处理。"status=0elif [ $MemFreeS -lt 20 ]thenWarning="系统可用内存小于20%,实际可用内存为:$MemFreeB ,请查看。"WarningT="内存报警"status=1elseecho "Mem OK"status=2fi}#监控分区空间大小DiskMonitorG () {#根分区DiskGB=`df -h | awk NR==2 | awk '{print $5}'`DiskGS=`df -h | awk NR==2 | awk '{print $5}' | awk -F% '{print $1}'`if [ $DiskGS -gt 90 ]thenCritical="根分区使用率超过90%,实际已使用 $DiskGB ,请处理。"status=0elif [ $DiskGS -gt 80 -a $DiskGS -lt 90 ]thenWarning="根分区使用率超过80%,实际已使用 $DiskGB , 请查看。"WarningT="根分区报警"status=1elseecho "DiskGB Ok"status=2fi}DiskMonitorA () {#应用分区ApplyB=`df -h | awk NR==4 | awk '{print $5}'`ApplyS=`df -h | awk NR==4 | awk '{print $5}' | awk -F% '{print $1}'`if [ $ApplyS -gt 90 ]thenCritical="应用分区使用率超过90%,实际已使用 $ApplyB ,请处理."status=0elif [ $ApplyS -gt 80 -a $ApplyS -lt 90 ]thenWarning="应用分区使用率超过80%,实际已使用 $ApplyB ,请查看。"WarningT="应用分区报警"status=1elseecho "Apply ok"status=2fi}#监控CPU负载CPULoad () {CPULoad1=`uptime | awk '{print $10}' | awk -F. '{print $1}'`CPULoad2=`uptime`if [ $CPULoad1 -gt 5 ]thenCritical="CPU负载过高,请即使处理。 $CPULoad2 "status=0elif [ $CPULoad1 -gt 3 -a $CPULoad1 -lt 5 ]thenWarning="CPU负载警告, $Warning "WarningT="CPU负载报警"status=1elseecho "CPU OK"status=2fi}#监控服务状态ServerMonitor () {#服务状态监控timeout=10makfails=2fails=0success=0while truedo/usr/bin/wget --timeout=$timeout --tries=1 Http://192.168.20.84/ -q -O /dev/nullif [ $? -ne 0 ]thenlet fails=fails+1success=0elsefails=0let success=1fiif [ $success -ge 1 ]thenexit 0fiif [ $fails -ge 1 ]thenCritical="应用服务出现故障,请紧急处理!"echo $Critical | mutt -s "服务down" hao.lulu@chinaebi.comexit -1fidone}#发送报警短信、报警邮件for n in Usermonitor MemMonitor DiskMonitorG DiskMonitorA CPULoad ServerMonitordo$nif [ $status -eq 0 ]thencurl "http://172.20.36.118/app/tms.do?tranCode=TM0311&;content=$Critical"elif [ $status -eq 1 ]thencurl "http://172.20.36.118/app/tms.do?tranCode=TM0310&;title=$WarningT&content=Warning"elseecho "ok"fidone

以上是“如何实现shell监控系统资源并通过短信报警的脚本”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何实现shell监控系统资源并通过短信报警的脚本

本文链接: https://www.lsjlt.com/news/256039.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell监控系统资源并通过短信报警的脚本
    目标分析: 所需的监控资源: 1、登陆用户数 2、CPU负载 3、服务探测 4、硬盘空间(根分区、应用分区、备份分区) 5、内存资源 短信接口、邮件接口 格式上传至附件 脚本: #!/bin/bash #监控用户登...
    99+
    2022-06-04
    shell监控系统 shell 短信 报警
  • 如何实现shell监控系统资源并通过短信报警的脚本
    这篇文章主要为大家展示了“如何实现shell监控系统资源并通过短信报警的脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现shell监控系统资源并通过短信报警的脚本”这篇文章吧。脚本:#...
    99+
    2023-06-09
  • 如何利用Shell脚本实现邮件监控Linux系统的内存
    这篇文章主要为大家展示了“如何利用Shell脚本实现邮件监控Linux系统的内存”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何利用Shell脚本实现邮件监控Linux系统的内存”这篇文章吧。...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作