监控centos系统内存是否超标,超标邮件告警提示shell脚本

前言  网站被人恶意刷新或者CC攻击都会导致网站内存飙升,而然我们缺不知道,内存溢出会导致各种服务暂停,
对于一个链接外网的网站来说,服务停止意味着网站宕机,这个肯定是不允许的,所以久伴制作了一个内存监控脚本

脚本说明

此脚本是监控centos内存走量,当内存超出多少告警,需要自己手动修改脚本中的超出数值

准备工作

安装mail邮件服务

yum -y install sendmail
yum -y install mailx

vi /etc/mail.rc
添加以下内容

#开启ssl
set ssl-verify=ignore
#下方输入证书目录,下方为centos系统证书默认位置,也自行生成证书并指定
set nss-config-dir=/etc/pki/nssdb
# 下方填入你配置的第三方smtp服务器的地址及端口,如果使用的是云服务器,安全组需要开放465端口(入口和出口)
set smtp=smtp.qq.com:465                          
# 认证方式
set smtp-auth=login                            
# 下方输入用于发送邮件的邮箱账号
set smtp-auth-user=XXX@qq.com     
# 下方输入上方邮箱的客户端授权码
set smtp-auth-password=woeSEvrub213               
# 设置发信人邮箱和昵称
set from=XXX@qq.com

 

内存监控shell

#!bin/bash
total=$(free -m |awk 'NR==2' | awk '{print $2}')
used=$(free -m |awk 'NR==2' | awk '{print $3}')
echo $used
if [ $used -ge 1900 ];#这里数值就是你指定超过多少内存告警值
then
touch memory_email.txt
echo "总内存:${total}MB 已用内存:${used}MB 服务器内存已超标,请注意查看原因" >memory_email.txt
mail -s "博客服务器内存超标告警" 11949420@qq.com  <memory_email.txt
fi

在脚本所在目录输入bash memory.sh执行脚本

添加定时任务

yum -y install cronie yum-cron

crontab -e打开编辑模式输入以下内容

*/1 * * * * bash /mail/memory.sh

输入完毕按esc键在输入:wq保存退出

重启服务器及配置文件生效
systemctl restart crond.service

systemctl reload crond.service

人已赞赏
linux教程

ubuntu 初始化root密码报You may not view or modify password information for root.错误解决方法

2020-8-27 21:47:01

linux教程

centos离线安装snmp采用编译方式安装

2020-10-28 16:09:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索