zoukankan      html  css  js  c++  java
  • shell脚本-监控及邮件提醒

    首先写一个邮件提醒python文件

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    import sys
    import smtplib
    import email.mime.multipart
    import email.mime.text
    
    server = 'smtp.163.com'
    port = '25'
    
    def sendmail(server,port,user,pwd,msg):
        smtp = smtplib.SMTP()
        smtp.connect(server,port)
        smtp.login(user, pwd)
        smtp.sendmail(msg['from'], msg['to'], msg.as_string())
        smtp.quit()
        print('邮件发送成功email has send out !')
    
    
    if __name__ == '__main__':
        msg = email.mime.multipart.MIMEMultipart()
        msg['Subject'] = '服务器报警请注意!'
        msg['From'] = 'python4_mail@163.com'
        msg['To'] = 'longbaby1101@qq.com'
        user = 'python4_mail'
        pwd = 'sbalex3714'
        content='%s
    %s' %('
    '.join(sys.argv[1:4]),' '.join(sys.argv[4:])) #格式处理,专门针对我们的邮件格式
    
        txt = email.mime.text.MIMEText(content, _charset='utf-8')
        msg.attach(txt)
    
        sendmail(server,port,user,pwd,msg)

    然后写自己的监控脚本

    #/bin/bash
    bu=`free | awk 'NR==2{print $6}'`
    to=`free | awk 'NR==2{print $2}'`
    mem=`expr "scale=2;$bu/$to" |bc -l | cut -d. -f2`
    if(($mem >= 70))
            then
            msg="TIME:$(date +%F_%T)
                     HOSTNAME:$(hostname)
                     IPADDR:$(ifconfig |awk 'NR==2{print $2}')
                     MSG:内存high了high了!已经用了${mem}%"
                echo $msg
            /usr/bin/pymail.py $msg
    fi
    systemctl status nginx
    if(($?!=0))
            then
                    msg="TIME:$(date +%F_%T)
                     HOSTNAME:$(hostname)
                     IPADDR:$(ifconfig |awk 'NR==2{print $2}')
                     MSG:   Nginx 进程出现异常请注意查看!"
                echo $msg
            /usr/bin/pymail.py $msg
    fi
    systemctl status nfs
    if(($?!=0))
            then
                    msg="TIME:$(date +%F_%T)
                     HOSTNAME:$(hostname)
                     IPADDR:$(ifconfig |awk 'NR==2{print $2}')
                     MSG:   NFS 进程出现异常请注意查看!"
                echo $msg
            /usr/bin/pymail.py $msg
    fi

    之后再定时任务中写入每分钟执行一次

    把两个nginx 和 nfs 服务关闭

    等待一分钟之后

  • 相关阅读:
    如何查看 SQL Server 执行的历史 SQL 语句记录?
    C# 父子窗体 传值
    java使用HttpURLConnection和HttpClient分别模拟get和post请求以及操作cookies
    selenium使用等待的几种方式
    初识selenium-grid
    selenium如何分别启动IE、firefox、chrome浏览器
    java在url传输前更改字符编码
    java获取Json和http状态码
    testng环境设置
    使用reportNG替换testNG的默认报告
  • 原文地址:https://www.cnblogs.com/DragonFire/p/6612690.html
Copyright © 2011-2022 走看看