Example #1
0
def send_alarm_mail():
    sql = "select alarm.application_id,app.display_name application,alarm.server_id,servers.host,servers.port,alarm.create_time,db_type,alarm_type,alarm_value,level,message,alarm.send_mail from alarm left join servers on alarm.server_id=servers.id left join application app on servers.application_id=app.id;"
    result = func.mysql_query(sql)
    if result <> 0:
        send_alarm_mail = func.get_option('send_alarm_mail')
        mail_to_list = func.get_option('mail_to_list')
        mailto_list = mail_to_list.split(';')
        for line in result:
            application_id = line[0]
            application = line[1]
            server_id = [2]
            host = line[3]
            port = line[4]
            create_time = line[5]
            db_type = line[6]
            alarm_type = line[7]
            alarm_value = line[8]
            level = line[9]
            message = line[10]
            send_mail = line[11]
            if send_alarm_mail == "1":
                if send_mail == 1:
                    mail_subject = message + ' 当前值:' + alarm_value + ' 服务器:' + application + '-' + host + ':' + port + ' 时间:' + create_time.strftime(
                        '%Y-%m-%d %H:%M:%S')
                    mail_content = "please check!"
                    result = func.send_mail(mailto_list, mail_subject,
                                            mail_content)
                    if result:
                        send_mail_status = 1
                    else:
                        send_mail_status = 0
                else:
                    send_mail_status = 0
            else:
                send_mail_status = 0

            if send_mail_status == 1:
                func.mysql_exec(
                    "insert into alarm_history(application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,send_mail_status) select application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,1 from alarm;",
                    '')
            elif send_mail_status == 0:
                func.mysql_exec(
                    "insert into alarm_history(application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,send_mail_status) select application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,0 from alarm;",
                    '')
            func.mysql_exec("delete from alarm", '')

    else:
        pass
Example #2
0
def send_alarm_mail():
    sql="select alarm.application_id,app.display_name application,alarm.server_id,servers.host,servers.port,alarm.create_time,db_type,alarm_type,alarm_value,level,message,alarm.send_mail from alarm left join servers on alarm.server_id=servers.id left join application app on servers.application_id=app.id;"
    result=func.mysql_query(sql)
    if result <> 0:
        send_alarm_mail = func.get_option('send_alarm_mail')
        mail_to_list = func.get_option('mail_to_list')
        mailto_list=mail_to_list.split(';')
        for line in result:
            application_id=line[0]
            application=line[1]
            server_id=[2]
            host=line[3]
            port=line[4]
            create_time=line[5]
            db_type=line[6]
            alarm_type=line[7]
            alarm_value=line[8]
            level=line[9]
            message=line[10]
            send_mail=line[11]
            if send_alarm_mail=="1":
                if send_mail==1:
                    mail_subject=message+' 当前值:'+alarm_value+' 服务器:'+application+'-'+host+':'+port+' 时间:'+create_time.strftime('%Y-%m-%d %H:%M:%S')
                    mail_content="please check!"
                    result = func.send_mail(mailto_list,mail_subject,mail_content)
                    if result:
                        send_mail_status=1
                    else:
                        send_mail_status=0
                else:
                    send_mail_status=0
            else:
                send_mail_status=0

            if send_mail_status==1:
                func.mysql_exec("insert into alarm_history(application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,send_mail_status) select application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,1 from alarm;",'')
            elif send_mail_status==0:
                func.mysql_exec("insert into alarm_history(application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,send_mail_status) select application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,0 from alarm;",'')
            func.mysql_exec("delete from alarm",'')

    else:
        pass
Example #3
0
def send_alarm_mail(idc_type='ts'):
    sql = "select alarm.application_id,app.display_name application,alarm.server_id,servers.host,servers.port,alarm.create_time,db_type,alarm_type,alarm_value,level,message,alarm.send_mail,servers.alarm_time,servers.threshold_starttime,servers.threshold_endtime from alarm left join servers on alarm.server_id=servers.id left join application app on servers.application_id=app.id where servers.idc_type='" + str(
        idc_type) + "';"
    result = func.mysql_query(sql)
    if result <> 0:
        send_alarm_mail = func.get_option('send_alarm_mail')
        mail_to_list = func.get_option('mail_to_list')
        mailto_list = mail_to_list.split(';')
        global_alarm_type = func.get_config('global_alarm_type', 'alarm_type')
        global_alarm_type_list = global_alarm_type.split(',')
        for line in result:
            application_id = line[0]
            application = line[1]
            server_id = line[2]
            host = line[3]
            port = line[4]
            create_time = line[5]
            db_type = line[6]
            alarm_type = line[7]
            alarm_value = line[8]
            level = line[9]
            message = line[10]
            send_mail = line[11]
            alarm_time = line[12]
            threshold_starttime = line[13]
            threshold_endtime = line[14]
            app_email = func.get_application_alarm_email(str(application_id))
            app_email_list = app_email.split(',')
            for email_app in app_email_list:
                if email_app not in mailto_list:
                    mailto_list.append(email_app)
                else:
                    pass

            if send_alarm_mail == "1":
                if send_mail == 1:
                    mail_subject = message + ' 当前值:' + alarm_value + ' 服务器:' + application + '-' + host + ':' + port + ' 时间:' + create_time.strftime(
                        '%Y-%m-%d %H:%M:%S')
                    mail_content = "请检查下!"
                    now_hour = ("0" + str(datetime.now().hour)
                                if datetime.now().hour < 10 else str(
                                    datetime.now().hour)) + ":" + (
                                        "0" + str(datetime.now().minute)
                                        if datetime.now().minute < 10 else str(
                                            datetime.now().minute))
                    if alarm_type not in global_alarm_type_list:
                        if (int(alarm_time) == 1) and (
                                threshold_starttime.strip() !=
                                "") and (threshold_endtime.strip() != "") and (
                                    threshold_endtime > threshold_starttime
                                ) and (now_hour <= threshold_endtime) and (
                                    now_hour >= threshold_starttime):
                            result_mail = func.send_mail(
                                mailto_list, mail_subject, mail_content)
                        elif int(alarm_time) != 1:
                            result_mail = func.send_mail(
                                mailto_list, mail_subject, mail_content)
                        else:
                            result_mail = False
                    else:
                        result_mail = func.send_mail(mailto_list, mail_subject,
                                                     mail_content)

                    if result_mail:
                        send_mail_status = 1
                    else:
                        send_mail_status = 0
                else:
                    send_mail_status = 0
            else:
                send_mail_status = 0

            if send_mail_status == 1:
                func.mysql_exec(
                    "insert into alarm_history(application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,send_mail_status,idc_type) select application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,1,'"
                    + str(idc_type) + "' from alarm;", '')
            elif send_mail_status == 0:
                func.mysql_exec(
                    "insert into alarm_history(application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,send_mail_status,idc_type) select application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,0,'"
                    + str(idc_type) + "' from alarm;", '')
            func.mysql_exec(
                "delete from alarm where idc_type='" + str(idc_type) + "'", '')

    else:
        pass
Example #4
0
    h = (datetime.now() - timedelta(days=1)).strftime('%H')
    M = (datetime.now() - timedelta(days=1)).strftime('%M')
    S = (datetime.now() - timedelta(days=1)).strftime('%S')

    isSendMail = func.get_config('global_value', 'isSendMail')
    #主题调用函数
    result, err_result, total_size_str = check_backup(Y, y, m, d)

    if len(result) > 1:
        att_filename = "xls/backuplist_" + str(Y) + "-" + str(m) + "-" + str(
            d) + "_" + str(h) + str(M) + str(S) + ".xlsx"
        hdngs = ['服务器IP', '备份昵称', '备份日期', '备份大小', '备份文件名', '备份目录']
        exc_ins = Excel.Excel(att_filename,
                              sheet_name='ciSheet',
                              encoding='utf-8')
        exc_ins.backup_xlsx_write(hdngs, result)

    if is_auto and isSendMail == 'yes' and len(result) > 1:
        content = func.toHtml(result, total_size_str)
        sub = "服务器备份每日统计(" + str(Y) + '-' + str(m) + '-' + str(d) + ")"
        #func.send_mail(func.mailto_list,sub,content)
        func.sendMail(sub, content, func.mailto_list, att_filename)
    else:
        print json.dumps('suc!')

    if len(err_result) > 0 and isSendMail == 'yes':
        err_sub = "备件检查存在错误(" + str(Y) + '-' + str(m) + '-' + str(d) + ")"
        err_content = func.toErrHtml(err_result)
        func.send_mail(func.mailto_list, err_sub, err_content)
Example #5
0
#!/usr/bin/env python
# -*- coding: utf8 -*-
from datetime import *
import global_functions  as func


mail_to_list = func.get_option('mail_to_list')
mailto_list=mail_to_list.split(';')

result = func.send_mail(mailto_list," I hope you can learn","Beautiful Day")
print result
if result:
    send_mail_status = "success"
else:
    send_mail_status = "fail"
print "send_mail_status:"+send_mail_status
Example #6
0
def send_alarm_mail(idc_type='ts'):
    sql="select alarm.application_id,app.display_name application,alarm.server_id,servers.host,servers.port,alarm.create_time,db_type,alarm_type,alarm_value,level,message,alarm.send_mail,servers.alarm_time,servers.threshold_starttime,servers.threshold_endtime from alarm left join servers on alarm.server_id=servers.id left join application app on servers.application_id=app.id where servers.idc_type='"+str(idc_type)+"';"
    result=func.mysql_query(sql)
    if result <> 0:
        send_alarm_mail = func.get_option('send_alarm_mail')
        mail_to_list = func.get_option('mail_to_list')
        mailto_list=mail_to_list.split(';')
	global_alarm_type=func.get_config('global_alarm_type','alarm_type')
        global_alarm_type_list=global_alarm_type.split(',')
        for line in result:
            application_id=line[0]
            application=line[1]
            server_id=line[2]
            host=line[3]
            port=line[4]
            create_time=line[5]
            db_type=line[6]
            alarm_type=line[7]
            alarm_value=line[8]
            level=line[9]
            message=line[10]
            send_mail=line[11]
	    alarm_time=line[12]
	    threshold_starttime=line[13]
	    threshold_endtime=line[14]
	    app_email=func.get_application_alarm_email(str(application_id))
            app_email_list=app_email.split(',')
            for email_app in app_email_list:
                if email_app not in mailto_list:
                        mailto_list.append(email_app)
                else:
                        pass


            if send_alarm_mail=="1":
                if send_mail==1:
                    mail_subject=message+' 当前值:'+alarm_value+' 服务器:'+application+'-'+host+':'+port+' 时间:'+create_time.strftime('%Y-%m-%d %H:%M:%S')
                    mail_content="请检查下!"
		    now_hour = ("0"+str(datetime.now().hour) if datetime.now().hour<10 else str(datetime.now().hour))+":"+( "0"+str(datetime.now().minute) if datetime.now().minute<10  else str(datetime.now().minute))
		    if alarm_type not in global_alarm_type_list:
		    	if (int(alarm_time) == 1) and (threshold_starttime.strip() != "") and (threshold_endtime.strip() != "") and (threshold_endtime > threshold_starttime) and (now_hour <= threshold_endtime) and (now_hour >= threshold_starttime):
                    		result_mail = func.send_mail(mailto_list,mail_subject,mail_content)
		    	elif int(alarm_time) != 1:
				result_mail = func.send_mail(mailto_list,mail_subject,mail_content)
		    	else:
				result_mail = False
		    else:
			result_mail = func.send_mail(mailto_list,mail_subject,mail_content)

                    if result_mail:
                        send_mail_status=1
                    else:
                        send_mail_status=0
                else:
                    send_mail_status=0
            else:
                send_mail_status=0


            if send_mail_status==1:
                func.mysql_exec("insert into alarm_history(application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,send_mail_status,idc_type) select application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,1,'"+str(idc_type)+"' from alarm;",'')
            elif send_mail_status==0:
                func.mysql_exec("insert into alarm_history(application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,send_mail_status,idc_type) select application_id,server_id,create_time,db_type,alarm_type,alarm_value,level,message,send_mail,0,'"+str(idc_type)+"' from alarm;",'')
            func.mysql_exec("delete from alarm where idc_type='"+str(idc_type)+"'",'')

    else:
        pass
Example #7
0
#!/usr/bin/env python
# -*- coding: utf8 -*-
from datetime import *
import global_functions as func

mail_to_list = func.get_option('mail_to_list')
mailto_list = mail_to_list.split(';')

result = func.send_mail(mailto_list, " I hope you can learn", "Beautiful Day")
print result
if result:
    send_mail_status = "success"
else:
    send_mail_status = "fail"
print "send_mail_status:" + send_mail_status