zoukankan      html  css  js  c++  java
  • Linux下 监控磁盘 内存 cpu脚本 以及发送邮件流程

    https://blog.csdn.net/thxxin/article/details/80276015

    1,安装 mailx

    [root@node-1 opt]# yum install mailx

    2,编辑配置文件

    [root@node-1 opt]# vim /etc/mail.rc #添加如下内容

    set from=xxxx@163.com

    set smtp=smtp.163.com

    set smtp-auth-user=xx@163.com

    set smtp-auth-password=xxx

    set smtp-auth=login


    ---说明 建议用163邮箱 因为qq邮箱 smtp会有各种问题

    from:对方收到邮件时显示的发件人

    smtp:指定第三方发邮件的smtp服务器地址

    set smtp-auth-user:第三方发邮件的用户名

    set smtp-auth-password:用户名对应的密码,有些邮箱填的是授权码

    smtp-auth:SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式


    3,编写 检测和运行脚本 monitor.sh
    #!/bin/bash
    #获取cpu使用率
    cpuUsage=`top -n 1 | awk -F '[ %]+' 'NR==3 {print $2}'`
    #获取磁盘使用率
    data_name="/dev/vda1"
    diskUsage=`df -h | grep $data_name | awk -F '[ %]+' '{print $5}'`
    logFile=/tmp/monitor.log
    #获取内存情况
    mem_total=`free -m | awk -F '[ :]+' 'NR==2{print $2}'`
    mem_used=`free -m | awk -F '[ :]+' 'NR==3{print $3}'`
    #统计内存使用率
    mem_used_persent=`awk 'BEGIN{printf "%.0f ",('$mem_used'/'$mem_total')*100}'`
    #获取报警时间
    now_time=`date '+%F %T'`
    function send_mail(){
    mail -s "监控报警" xxxx@qq.com < /tmp/monitor.log
    }
    function check(){
    if [[ "$cpuUsage" > 80 ]] || [[ "$diskUsage" > 80 ]] || [[ "$mem_used_persent" > 80 ]];then
    echo "报警时间:${now_time}" > $logFile
    echo "CPU使用率:${cpuUsage}% --> 磁盘使用率:${diskUsage}% --> 内存使用率:${mem_used_persent}%" >> $logFile
    send_mail
    fi
    }
    function main(){
    check
    }
    main


    4,运行脚本

    [root@node-1 opt]# sh monitor.sh

    检查是否收到邮件

    5、最后,可以设置一个cron计划任务,让该脚本每隔半小时运行一次

    [root@node-1 opt]# crontab -e

    在cron里添加下面一行即可 

    */30 * * * * /opt/disk_check.sh

  • 相关阅读:
    C# 多线程 异步加载 窗体
    C# 多线程 异步加载 窗体
    C#中的Debug类
    C#中的Debug类
    C# DataGridView:为行头添加行号
    C# DataGridView:为行头添加行号
    向SqlParameter内动态添加参数
    向SqlParameter内动态添加参数
    C# params关键字
    C# params关键字
  • 原文地址:https://www.cnblogs.com/zhoading/p/14734710.html
Copyright © 2011-2022 走看看