20.23 20.4 20.5 Alarm system mail engine (upper, middle and lower); 20.26 Running alarm system

20.23 20.4 20.4 Alarm system mail engine (upper, middle and lower)

Shell project - alarm system mail.sh

1. Create the mail.py script:

[root@hao-01 ~]# vim/usr/local/bin/mon/mail/mail.py

#####Script Instructions######

#1. First define the email account and password in the script

#2. The script execution command is: python mail.py target mailbox "mail subject" "mail content"

Content reference https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py

Added content :

#!/usr/bin/env python

#-*- coding: UTF-8 -*-

import os,sys

import getopt

import smtplib

from email.MIMEText import MIMEText

from email.MIMEMultipart import MIMEMultipart

from  subprocess import *

def sendqqmail(username,password,mailfrom,mailto,subject,content):

   gserver = 'smtp.163.com'

   gport = 25

   try:

       msg = MIMEText(unicode(content).encode('utf-8'))

       msg['from'] = mailfrom

       msg['to'] = mailto

       msg['Reply-To'] = mailfrom

       msg['Subject'] = subject

       smtp = smtplib.SMTP(gserver, gport)

       smtp.set_debuglevel(0)

       smtp.ehlo()

       smtp.login(username,password)

       smtp.sendmail(mailfrom, mailto, msg.as_string())

       smtp.close()

   except Exception,err:

       print "Send mail failed. Error: %s" % err

def main():

   to = sys.argv [1]

   subject=sys.argv[2]

   content=sys.argv[3]

##Define the account and password of the mailbox, you need to change it to your own account and password (please do not put the real user name and password on the Internet)

   sendqqmail('[email protected]','mima','[email protected]',to,subject,content)

if __name__ == "__main__":

   main()

2. 设定mail.py脚本权限755

[root@hao-01 ~]# chmod 755 /usr/local/bin/mon/mail/mail.py

3. 创建mail.sh脚本 :

[root@hao-01 ~]# vim /usr/local/bin/mon/mail/mail.sh

mail.sh内容 //其中mail.py内容到这里下载https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py

添加内容 :

log=$1

t_s=`date +%s`

t_s2=`date -d "2 hours ago" +%s`

if [ ! -f /tmp/$log ]

then

   echo $t_s2 > /tmp/$log

fi

t_s2=`tail -1 /tmp/$log|awk '{print $1}'`

echo $t_s>>/tmp/$log

v=$[$t_s-$t_s2]

echo $v

if [ $v -gt 3600 ]

then

   ./mail.py  $1  $2  $3

   echo "0" > /tmp/$log.txt

else

   if [ ! -f /tmp/$log.txt ]

   then

       echo "0" > /tmp/$log.txt

   fi

   nu=`cat /tmp/$log.txt`

   nu2=$[$nu+1]

   echo $nu2>/tmp/$log.txt

   if [ $nu2 -gt 10 ]

   then

        ./mail.py  $1 "trouble continue 10 min $2" "$3"

        echo "0" > /tmp/$log.txt

   fi

fi  

20.26 运行告警系统

1. 暂时关闭掉502

[root@hao-01 ~]# vim /usr/local/bin/mon/conf/mon.conf

clipboard.png

2. 暂时注释掉main.sh脚本中日志行

[root@hao-01 ~]# vim /usr/local/bin/mon/bin/main.sh

clipboard.png

3. 执行main.sh

[root@hao-01 ~]# sh -x /usr/local/bin/mon/bin/main.sh

4. 执行load.sh

[root@hao-01 ~]# bash /usr/local/bin/mon/shares/load.sh

clipboard.png

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324885552&siteId=291194637