Linux 系统发送告警脚本

一、安装并配置邮件客户端程序

1.安装s-nail

        s-nail是一个邮件客户端程序,它提供了发送、接收和管理电子邮件的功能。s-nail是UNIX和类UNIX系统上的一种替代邮件客户端工具,可以在命令行界面中使用。

yum install  s-nail -y

2.启用qq邮箱的smtp服务

        授权码需要开启邮箱的smtp服务进行获取,进入“邮箱设置-账号-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,点击管理服务获取授权码,点击生成授权码,根据提示短信验证通过后即可得到一个随机授权码。

3.配置s-nail

vim /etc/s-nail.rc        #打开配置文件,在底部添加如下内容

set v15-compat            #启用 v15-compat 兼容性选项
set from="xx@qq.com"        #发件人信息
set mta=smtps://账号:授权码@smtp.qq.com:465
set smtp-auth=login

4.发送邮件测试

s-nail -s "邮件主题" xx@163.com < /etc/passwd    #xx@163.com为收件人信息

二、编写告警脚本

        监控日志目录,当目录大小以G为单位时就发送邮件提醒

#!/usr/bin/env bash
function send_waring(){
        echo "$1"|s-nail -s "$2" xx@163.com
}

function waring(){
    local dir="/var/log/"
    local dir_G=$(du -sh ${dir}|cut -d'/' -f1|grep "G")
    local now_time=$(date)
    if [[ ${dir_G} =~ "G" ]];then
    send_waring "请注意,当前【${dir}】目录占用已达到【${dir_G}】" "告警时间:${now_time}"

    fi
}
waring

        添加-a参数时还可以发送附件到指定邮箱

echo "这是日志打包文件"|s-nail -s "日志打包" -a 202401301421.log.tar.gz xx@163.com

三、配置定时任务

        配置定时任务,当匹配到阈值时就会自动发送邮件告警通知了

* * * * *   bash /root/mail_waring.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值