• 磁盘监控:告警时发送邮件


    1.配置邮箱

    1.编辑邮箱配置文件

    vim /etc/mail.rc
    
    • 1

    2.在末尾输入自己的邮箱配置,以163邮箱为例

    #开启ssl
    set ssl-verify=ignore
    #证书目录,下方为centos系统证书默认位置,也自行生成证书并指定
    set nss-config-dir=/etc/pki/nssdb
    # 配置的第三方smtp服务器的地址及端口
    set smtp=smtps://smtp.163.com:465                         
    # 认证方式
    set smtp-auth=login
    # 发送邮件的邮箱账号
    set smtp-auth-user=xxx@163.com
    # 发送邮件的客户端授权码
    set smtp-auth-password=yyy
    # 设置发信人邮箱和昵称
    set from=xxx@163.com
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    3.测试发邮箱功能是否可用

    echo "测试" | mail -s "测试" 1259799716@qq.com
    
    • 1

    -s:邮件主题
    1259799716@qq.com:收件人

    测试结果如下:
    在这里插入图片描述
    自己的邮箱已经可以收到邮件,报错Error in certificate: Peer’s certificate issuer is not recognized. 是因为没有配置smtps://smtp.163.com:465 的ssl证书,想解决这个报错的可以自行百度配置证书,本脚本是直接忽略该错误,不影响正常使用

    2.编写shell脚本
    1. 编写shell脚本
    cd xxx     #选择自己存放脚本的文件夹
    vim console.sh
    
    • 1
    • 2

    shell脚本分享如下

    #!/bin/bash
    
    # 主机名
    hostname="117.50.117.58"
    # 邮箱收件人  可以循环发送给多个人
    addresses=("邮箱地址1" "邮箱地址2" "邮箱地址3")
    # 获取磁盘使用率
    rate=$(df -h | grep /dev/vdb | awk '{print $5}' | cut -d % -f1)
    # 磁盘剩余空间
    remain_size=$(df -h | grep /dev/vdb | awk '{print $4}')
    # 获取当前时间
    date=$(date "+%Y-%m-%d %H:%M:%S")
    
    # 如果磁盘使用率超过95%  可以自己制定监控值,一般是85%
    if [ ${rate} -ge 95 ]
            then
            #磁盘超过监控值,发送邮件
            echo "${date} 主机 ${hostname} 磁盘使用率已经超过95%,当前使用率为${rate}% ,剩余空间为${remain_size} ,请及时清理磁盘空间" > message.txt        
            for address in ${addresses}
                    do
                            mail -s "磁盘空间告警" ${address} < message.txt 2>/dev/null
            done
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    2.赋予脚本可执行权限

    chmod 755 console.sh
    
    • 1
    3.将脚本加入到定时任务即可,可以每半个小时执行一次,按照自己的需求设置执行频率即可
  • 相关阅读:
    多路转接IO模型(select概念及使用方法)
    视频怎么做成二维码?在线教学视频码的制作技巧
    【推荐系统中的Hash 1】Hash Trick:原始数据—>特征,尽可能避免冲突
    大佬总结的170道 python面试题
    postman报错 “error“: “Unsupported Media Type“
    Java基础-----正则表达式
    四旋翼无人机学习第5节--STM32最小系统外围电路分析
    计算机二级WPS 选择题(模拟和解析一)
    牛客网:迷宫问题
    计算机网络面试知识点
  • 原文地址:https://blog.csdn.net/qq_43597256/article/details/134071246