shell_资源告警监控并发送邮件

1.保证你的服务器安装并配置了mail服务

[root@localhost etc]# yum install -y mailx


# 配置
vim /etc/mail.rc

# 加入
set from=34******@qq.com  #写你的qq邮箱
set smtp=smtp.qq.com:587 #不变 这是qq邮箱的第三方发送邮件的地址
set smtp-auth-user=34*****9@qq.com #写你的qq邮箱
set smtp-auth-password=a********** #写你的qq邮箱第三方授权码
set smtp-auth=login  #不变 这是smtp的认证方式,写login就行

# qq邮箱第三方授权码在 你的qq邮箱-设置-账户
-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务-开启服务 

即可显示

#配置完成后可测试验证

[root@localhost etc]# echo "测试文件内容" |mail -s "测试邮件标题" 343*******@qq.com

#查看目标邮箱是否收到邮件

2.编写脚本进行监控

#!/bin/bash

# 脚本名称:system_resource_monitor.sh
# 脚本功能:
# 1. 监控系统资源,包括系统负载、内存使用率、根分区剩余空间
# 2. 如果根分区剩余空间小于10%,或内存的可用空间小于30%,则向用户发送告警邮件,邮件内容包含系统资源使用率相关信息

# 获取根分区的使用率
usage_partition=$(df / | awk 'NR==2 {print $5}' | cut -d'%' -f1)

# 获取系统负载
load_average=$(uptime | awk -F"load average:" '{print $2}')

# 获取内存使用率
usage_free=$(free | awk 'NR==2 {print $3/$2*100.0}' | cut -d'.' -f1)

# 编写判断语句
if [ "$usage_partition" -ge 90 ] || [ "$usage_free" -ge 70 ]; then
    # 邮件收件人
    recipient="343590279@qq.com"
    # 邮件主题
    subject="告警:系统资源告警 - System Resource Alert"
    # 邮件正文
    body=$( cat <<EOF
告警:系统资源告警:

根分区使用率: $usage_partition%
系统负载: $load_average
内存使用率: $usage_free%
请及时处理!
EOF
)

    # 发送邮件
    echo "$body" | mail -s "$subject" "$recipient"
fi

echo "系统资源监控完成"
echo "根分区使用率: $usage_partition%"
echo "系统负载: $load_average"
echo "内存使用率: $usage_free%"

3.后续可作为定时任务

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值