我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何实现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监控系统资源并通过短信报警的脚本”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

目标分析: 所需的监控资源: 1、登陆用户数 2、CPU负载 3、服务探测 4、硬盘空间(根分区、应用分区、备份分区) 5、内存资源短信接口、邮件接口 格式上传至附件 脚本:#!/bin/bash #监控用户登录 Usermonitor (
2022-06-04

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

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

如何利用Shell脚本实现邮件监控Linux系统的内存

这篇文章主要为大家展示了“如何利用Shell脚本实现邮件监控Linux系统的内存”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何利用Shell脚本实现邮件监控Linux系统的内存”这篇文章吧。
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录