shell脚本,邮件实现网站监控+系统内存监控警报

news/2024/5/11 15:44:48/文章来源:https://blog.csdn.net/weixin_48190891/article/details/108240509

24小时全年实时监控内存使用率和网站服务

  • 条件要求
  • 条件分析
    • 创建触发器及邮件报警实操
  • 条件要求
    • 要求分析
    • 创建内存自动监控报警

生产环境一般遵循2 8原则,当服务器内存运行了80%时,就要赶紧处理了

条件要求

触发器及邮件报警
写一个shell脚本,通过curl -I 返回状态码来判定所访问的网站是否正常,比如当代码状态200,才算正常
写一个发邮件的脚本

条件分析

1、关键问题,截取出代码状态

2、在写出该shell脚本时,应该先在命令下面使用curl -I http://www.51xit.top/命令测试
然后通过awk截取到状态码

3、写发邮件的脚本,用的是sendEmail。生产环境有配套的模板

4、判断和发邮件关联

5、curl -I http://www.51xit.top/
我们抓包会有交互信息 200

创建触发器及邮件报警实操

[root@tang ~]# wget http://caspian.dotconf.net/menu/
Software/SendEmail/sendEmail-v1.56.tar.gz[root@tang ~]# tar -zxvf sendEmail-v1.56.tar.gz [root@tang ~]# cp sendEmail-v1.56/sendEmail /usr/local/bin/[root@tang ~]# chmod 755 /usr/local/bin/sendEmail
[root@tang ~]# vi /opt/youjian/sendEmail.sh
#!/bin/bash
#
#Filename:    SendEmail.sh
#Revision:    1.0
#Date:        2019/05/29
#Author:      Qicheng
#Email:
#Website:     http://51xit.top/
#Description: tang邮件告警脚本#脚本的日志文件
LOGFILE="/tmp/Email.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1SMTP_server='smtp.qq.com'               # SMTP服务器,变量值(.qq.com)需要自行修改
username='XXXX@qq.com'                  # 用户名,变量值(XXXX)需要自行修改
password='password'                     # 密码(QQ邮箱用的是授权码),变量值(passwd)需要自行修改
from_email_address='XXXX@qq.com'        # 发件人Email地址,变量值(XXXX)需要自行修改
to_email_address="$1"                   # 收件人Email地址,位置参数1
message_subject_utf8="$2"               # 邮件标题,位置参数2
message_body_utf8="$3"                  # 邮件内容,位置参数3#转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject=
"$message_subject_utf8"#转换邮件内容为GB2312,解决收到邮件内容乱码
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body=
"$message_body_utf8"#发送邮件
sendEmail='/usr/local/bin/sendEmail'
set -x
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address"-t "$to_email_address" -u "$message_subject" -m "$message_body"-o message-content-type=text -o message-charset=gb2312  [root@tang ~]# chmod +x /opt/sendEmail.sh[root@tang ~]#  /opt/sendEmail.sh    你自己的QQ邮箱号  1   1
没有问题之后
[root@tang ~]#  vi zdyx.sh
#!/bin/bash
url="www.51xit.top"
S=`curl -I www.51xit.top 2> /dev/null | head -1 | awk '{print$2}'`
#if [ $S != 200 ]             这个是正确的,不等于200时发送邮件,下面那个为了测试
if [ $S != 100 ]                                       
then/opt/youjian/sendEmil.sh 634186357@qq.com "网页警报" "没有正常运行,没有等于$S"
fi[root@tang ~]#  crontab -e
*/1 * * * * /opt/youjian/zdyx.sh    # 这里是为了测试,所以我们设定一分钟发一次
[root@tang ~]#  crontab -l          # 设置完查看一下计划任务

条件要求

用shell写一个内存监控脚本,使用超过80%并发邮件告警

要求分析

1、思路:free
free -m
total used free shared buff/cache available
Mem: 3770 219 3170 11 381 3325
Swap: 2047 0 2047

##Mem:内存的使用情况总览表。
##totel:机器总的物理内存 单位为:M
##used:用掉的内存。
##free:空闲的物理内存。

2、算取百分比 used % total

3、比对做出判断 if

创建内存自动监控报警

[root@tang ~]# vi neicun.sh 
#!/bin/bash
#A=` free -m | grep "^Mem" | awk '{print$2}'`
#B=`free -m | grep "^Mem" | awk '{print$3}'`
#C=$[$B*100/$A]
#前三条可以代替下面这条
#C=`free -m | awk '/Mem:/ {print int($3/($3+$4)*100)"%"}'`C=`free -m | awk '/Mem:/ {print int($3/($3+$4)*100)}'`
if [ $C -gt 79 ]  这个是正确的,大于79,下面那个为了测试
if [ $C -gt 5 ]
then/opt/youjian/sendEmil.sh 497739459@qq.com "内存预警" "内存使用了$C%" 
fi
[root@tang ~]#  crontab -e
*/1 * * * * /opt/youjian/neicun.sh    # 这里是为了测试,所以我们设定一分钟发一次
[root@tang ~]#  crontab -l          # 设置完查看一下计划任务

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_852355.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx网站服务——编译安装及运行控制优化 精细命令详解!!

文章目录Nginx服务基础◆编译安装◆运行控制优化Nginx服务基础 ●在各种网站服务器软件中, 除了Apache HTTP Server 外, 还有一款轻量级的 HTTP 服务器软件——Nginx, 由俄罗斯的 lgor Sysoev 开发, 其稳定、高效的特性逐渐被越来越 多的用户认可。本章将讲解nginx服务的基本构…

html5手机网站需要加的那些meta/link标签,html5 meta全解

一、大众机型常用meta标签name的设置 1、name之viewport <meta name"viewport" content""> 说明&#xff1a;屏幕的缩放content的几个属性&#xff1a; width viewport的宽度[device-width | pixel_value]width如果直接设置pixel_value数值&…

京沪高铁上火车位置的实时监视模拟网站的开发

因为本人从小就对地理很痴迷&#xff0c;经常看地图&#xff0c;而且对火车有一种很特殊的感觉。以前吧&#xff0c;从影视作品中也经常看到在一个指挥室里面&#xff0c;工作人员可以时刻的监视火车运行的状态和位置&#xff0c;所以呢&#xff0c;我也打算做一个仅仅针对京沪…

JQuery实现经典网站后台框架[动易程序改版]

网站后台是每个网站必须的部分&#xff0c;使用一个好的框架也是给用户良好体验的一部分内容&#xff0c;本文将给大家介绍使用JQuery和JS实现的ASP.NET网站后台框架。 首先看看我们需要的资源&#xff1a; 1. FrameTab.js &#xff08;文章结尾提供下载&#xff09; 该文件主要…

2010网购市场四大风云 B2C网站将迎来爆发期

春节前后是商家一年中最重要的销售旺季&#xff0c;今年节前加班备战年前销售的不仅仅是传统的商场超市以及批发市场&#xff0c;电子商务网站也因订单量激增、配送环节压力大&#xff0c;频频发出货物延期通知。网购市场的快速增长&#xff0c;让商家争相加入到电子商务大军中…

17Joys CMS企业网站管理系统 v1.0

17Joys CMS是一套使用ThinkPHP框架开发,基于PHPMYSQL免费开源的企业网站系统&#xff1b; 开发目的&#xff1a;为了让跟多的PHP爱好者掌握ThinkPHP框架开发&#xff0c;我们提供CMS源码作为教学案例&#xff0c;希望更多的PHP爱好者可以掌握&#xff0c;并且参与到我们17Joys …

使用InstallShield下部署ASP.NET网站和MySQL,目标机为Win7——(三)整体部署

思路是&#xff0c;Win7自带.Net3.5所以不必安装。Win7也自带IIS&#xff0c;不必安装&#xff0c;但需要打开。MySQL数据库部署是成功的。所以InstalShield内有2个Feature&#xff0c;一个网站&#xff0c;一个MySQL。 关于IIS&#xff0c;我们之前打算在客户端没有打开时&…

基金申请-1:基金委网站文件上传发生未知错误怎么办?

浏览器 浏览器的问题。建议使用Internet Explorer浏览器&#xff0c;火狐&#xff0c;搜狗等浏览器操作&#xff0c;不建议使用Chrome、Edge浏览器。 参考&#xff1a; http://muchong.com/t-12596925-1 https://new.qq.com/omn/20210702/20210702A0B77600.html

用VS2010发布ASP.net网站

用VS2010发布ASP.net网站 2012-03-14 14:29:39| 分类&#xff1a; VS2005 | 标签&#xff1a; |举报 |字号大中小 订阅 http://www.cppblog.com/guogangj/archive/2011/09/13/155703.html 发布网站 发布网站有多种形式&#xff0c;传统方式使用FTP&#xff0c;或用Windo…

如何将JSP的网页部署到网上变成网站

我们都知道我们做的JSP项目&#xff0c;JSP网页只能在本地&#xff08;自己电脑&#xff09;或者局域网&#xff08;内网&#xff09;访问&#xff0c;如何让所有人都能访问呢&#xff1f; 一. 常见有几大建站语言&#xff0c;有php&#xff0c;ASP&#xff0c;ASP.NET&#…

如何将JSP的网页部署到网上变成网站

我们都知道我们做的JSP项目&#xff0c;JSP网页只能在本地&#xff08;自己电脑&#xff09;或者局域网&#xff08;内网&#xff09;访问&#xff0c;如何让所有人都能访问呢&#xff1f; 一. 常见有几大建站语言&#xff0c;有php&#xff0c;ASP&#xff0c;ASP.NET&#xf…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(1)

转载自&#xff1a; http://developer.51cto.com/art/201204/327050.htm 从2003年的一个个人对个人&#xff08;C2C&#xff09;的商品交易网站到如今的淘宝网&#xff0c;其实在作为个人网站发展的时间里并不长。那么在这段时间里&#xff0c;淘宝究竟是如何发展的呢&#x…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(2)

FROM: http://developer.51cto.com/art/201204/327050_1.htm 从2003年的一个个人对个人&#xff08;C2C&#xff09;的商品交易网站到如今的淘宝网&#xff0c;其实在作为个人网站发展的时间里并不长。那么在这段时间里&#xff0c;淘宝究竟是如何发展的呢&#xff1f;在这篇…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(3)

FROM&#xff1a; http://developer.51cto.com/art/201204/327050_2.htm 从2003年的一个个人对个人&#xff08;C2C&#xff09;的商品交易网站到如今的淘宝网&#xff0c;其实在作为个人网站发展的时间里并不长。那么在这段时间里&#xff0c;淘宝究竟是如何发展的呢&#x…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(4)

FROM: http://developer.51cto.com/art/201204/327050_3.htm 从2003年的一个个人对个人&#xff08;C2C&#xff09;的商品交易网站到如今的淘宝网&#xff0c;其实在作为个人网站发展的时间里并不长。那么在这段时间里&#xff0c;淘宝究竟是如何发展的呢&#xff1f;在这篇…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(5)

FROM: http://developer.51cto.com/art/201204/327050_4.htm?1334978897 从2003年的一个个人对个人&#xff08;C2C&#xff09;的商品交易网站到如今的淘宝网&#xff0c;其实在作为个人网站发展的时间里并不长。那么在这段时间里&#xff0c;淘宝究竟是如何发展的呢&#…

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(6)

FROM&#xff1a; http://developer.51cto.com/art/201204/327050_5.htm 从2003年的一个个人对个人&#xff08;C2C&#xff09;的商品交易网站到如今的淘宝网&#xff0c;其实在作为个人网站发展的时间里并不长。那么在这段时间里&#xff0c;淘宝究竟是如何发展的呢&#x…

爬动漫网站数据_通过这三种动漫爱上数据科学和技术

爬动漫网站数据Yes, it might seem weird to mention anime, data science, and technology in the same breath. But you might be surprised to learn that there’s quite a deep connection across these domains. I am interested in all three (along with reading, list…

网站文件下载代码

效果图&#xff1a; 页面视图代码&#xff1a; <div style"float: right; padding-right: 5px;">Excel模板&#xff1a;Html.ActionLink("下载模版.xls", "GetFile") </div> 控制器代码&#xff1a; //下载模板public FileResult Ge…

【闲趣】CSDN RSS订阅:将你的博客订阅至个人网站

文章目录引言RSS是什么将CSDN博客订阅至我的网站将【知乎每日精选】订阅到我的网站我不是程序员&#xff0c;我怎么订阅RSS订阅地址RSS订阅器RSS实战&#xff1a;Outlook订阅CSDN引言 在翻阅个人文章的时候发现了个不起眼的东西&#xff0c;我好像在别的地方也见过这个标识。 …