コード例 #1
0
def monitor_dns_index(iteminfo):
        '''
        @Monitor dns 入口函数
        '''
        try:
                monitorTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
                monitor_item_updateTime(iteminfo)
                ip = iteminfo[2]
                isAlarm = Dns_check(ip)
                if isAlarm == True:
                        update_fail_count(iteminfo,iteminfo[12])
                        if int(iteminfo[12]) - int(iteminfo[8]) >= 0:
                            if iteminfo[16]:
                                send_messages(iteminfo,' ','RECOVERY')
                            sql="insert into uxin_alarm_log values('','%s','%s','%s','%s','RECOVERY')" %(iteminfo[2],iteminfo[3],monitorTime,iteminfo[10])
                            log_info("打印日志LOG" +str(sql))
                            cmdtosql.execsql(sql)

                else:#报警:1.DNS 不通
                        reason = isAlarm
                        #更新fail_count  last_result数据表
                        update_table(iteminfo,reason)
                        #判断失败次数
                        if int(iteminfo[12]) + 1 >= int(iteminfo[8]):
                            if iteminfo[16]:
                                send_messages(iteminfo,reason,'PROBLEM')
                        #异常通知 ,插入alarm_log记录
                        sql="insert into uxin_alarm_log values('','%s','%s','%s','%s','PROBLEM')" %(iteminfo[2],iteminfo[3],monitorTime,reason)
                        log_debug("打印日志LOG" +str(sql))
                        cmdtosql.execsql(sql)

        except Exception as e:
                log_error("monitor_ping_index():"+str(iteminfo[2]) + ' ' + str(e))
コード例 #2
0
ファイル: MonitorLib.py プロジェクト: carlos168/py_src
def monitor_website_index(iteminfo):
    '''
    @Monitor 网页存活入口函数
    '''
    log_info("=====monitor_website_index======" + str(iteminfo))
    try:
        monitorTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
        monitor_item_updateTime(iteminfo)
        itemconfig = iteminfo
        url = iteminfo[4]
        isAlarm,result,reason,level = website_alive_check(url,itemconfig)
        
        if isAlarm == 0: #表示不报警
            #fail_count 清零
            update_fail_count(iteminfo,iteminfo[12])

            #逻辑fail_count - Alarm_retry
            if int(iteminfo[12]) - int(iteminfo[8]) >= 0:#表示上次报警了,是否恢复报警
                if iteminfo[16]:
                    send_messages(iteminfo,reason,'RECOVERY')

            #恢复 ,插入alarm_log记录
            sql="insert into uxin_alarm_log values(NULL,'%s','%s','%s','%s','RECOVERY')" %(iteminfo[2],iteminfo[3],monitorTime,iteminfo[10])
            cmdtosql.execsql(sql)
            log_info(str(sql))

        else:#报警:
            #更新fail_count  last_result数据表
            update_table(iteminfo,reason)

            #判断失败次数,需要 + 1  因为数据是最初被获取的
            if int(iteminfo[12]) + 1 >= int(iteminfo[8]):
                if iteminfo[16]:
                    send_messages(iteminfo,reason,'PROBLEM')


                #异常通知 ,插入alarm_log记录
                sql="insert into uxin_alarm_log values('','%s','%s','%s','%s','PROBLEM')" %(iteminfo[2],iteminfo[3],monitorTime,reason)
                log_debug("打印日志LOG" +str(sql))
                cmdtosql.execsql(sql)
                #所有流程走完后,更新时间
                #monitor_item_updateTime(iteminfo)

    except Exception as e:
        log_error("monitor_website_index():"+str(e))     
コード例 #3
0
def monitor_local_index(iteminfo):
    '''
    @Monitor 本地脚本监控 入口函数  暂定3个参数  IP  脚本绝对路径 对比字段
    '''
    try:
        monitorTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
        monitor_item_updateTime(iteminfo)
        ip = iteminfo[2]
        arg2 = iteminfo[4]
        arg3 = iteminfo[15]
        isAlarm, reason = local_shell_check(ip, arg2, arg3)

        if isAlarm == True or isAlarm == "Connection Refused":  #表示不报警
            #fail_count 清零
            update_fail_count(iteminfo, iteminfo[12])
            #逻辑fail_count - Alarm_retry
            if int(iteminfo[12]) - int(iteminfo[8]) >= 0:  #表示上次报警了,是否恢复报警
                if iteminfo[16]:
                    send_messages(iteminfo, ' ', 'RECOVERY')
                #恢复 ,插入alarm_log记录
                sql = "insert into uxin_alarm_log values(NULL,'%s','%s','%s',\"%s\",'RECOVERY')" % (
                    iteminfo[2], iteminfo[3], monitorTime, iteminfo[10])
                log_debug("打印日志LOG" + str(sql))
                cmdtosql.execsql(sql)

        else:  #报警:
            #更新fail_count  last_result数据表
            update_table(iteminfo, reason)
            #判断失败次数
            #加1, 是因为iteminfo的值是 update_table 前获取的, 所以+1
            if int(iteminfo[12]) + 1 >= int(iteminfo[8]):
                if iteminfo[16]:
                    send_messages(iteminfo, reason, 'PROBLEM')

            #异常通知 ,插入alarm_log记录
            sql = "insert into uxin_alarm_log values('','%s','%s','%s',\"%s\",'PROBLEM')" % (
                iteminfo[2], iteminfo[3], monitorTime, reason)
            log_debug("打印日志LOG" + str(sql))
            cmdtosql.execsql(sql)

        #所有流程走完后,更新时间
        #monitor_item_updateTime(iteminfo)

    except Exception as e:
        log_error("monitor_local_index():" + str(iteminfo[2]) + ' ' + str(e))
コード例 #4
0
def monitor_custom_index(iteminfo):
    '''
    @Monitor 自定义监控 入口函数  暂定3个参数  IP  端口 对比字段
    '''
    try:
        monitorTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
        monitor_item_updateTime(iteminfo)
        ip = iteminfo[2]
        arg2 = iteminfo[4]
        arg3 = iteminfo[15]
        scripts_list = DIRS['PY_OMS_LIB']
        isAlarm, reason = custom_connect_check(ip, arg2, arg3)
        if isAlarm == 0:  #表示不报警
            #fail_count 清零
            update_fail_count(iteminfo, iteminfo[12])
            #逻辑fail_count - Alarm_retry
            if int(iteminfo[12]) - int(iteminfo[8]) >= 0:  #表示上次报警了,是否恢复报警
                if iteminfo[16]:
                    send_messages(iteminfo, ' ', 'RECOVERY')
                #恢复 ,插入alarm_log记录
                sql = "insert into uxin_alarm_log values(NULL,'%s','%s','%s',\"%s\",'RECOVERY')" % (
                    iteminfo[2], iteminfo[3], monitorTime, iteminfo[10])
                cmdtosql.execsql(sql)
                log_info(str(sql))

        else:  #报警:
            #更新fail_count  last_result数据表
            update_table(iteminfo, reason)
            #判断失败次数
            if int(iteminfo[12]) + 1 >= int(iteminfo[8]):
                if iteminfo[16]:
                    send_messages(iteminfo, reason, 'PROBLEM')

            #异常通知 ,插入alarm_log记录
            sql = "insert into uxin_alarm_log values('','%s','%s','%s',\"%s\",'PROBLEM')" % (
                iteminfo[2], iteminfo[3], monitorTime, reason)
            cmdtosql.execsql(sql)
            log_info(str(sql))

        #所有流程走完后,更新时间
        #monitor_item_updateTime(iteminfo)

    except Exception as e:
        log_error("monitor_custom_index():" + str(iteminfo[2]) + ' ' + str(e))
コード例 #5
0
def monitor_udp_index(iteminfo):
    '''
    @Monitor udp 入口函数
    '''
    try:
        monitorTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
        monitor_item_updateTime(iteminfo)
        ip = iteminfo[2]
        itemconfig = iteminfo
        port = itemconfig[4]
        isAlarm = udp_connect_check(ip, port)
        if isAlarm == True:  #表示不报警
            #fail_count 清零
            update_fail_count(iteminfo, iteminfo[12])
            #逻辑fail_count - Alarm_retry
            if int(iteminfo[12]) - int(iteminfo[8]) >= 0:
                if iteminfo[16]:
                    send_messages(iteminfo, ' ', 'RECOVERY')
                    #恢复 ,插入alarm_log记录
                sql = "insert into uxin_alarm_log values(NULL,'%s','%s','%s','%s','RECOVERY')" % (
                    iteminfo[2], iteminfo[3], monitorTime, iteminfo[10])
                log_debug("打印日志LOG" + str(sql))
                cmdtosql.execsql(sql)

        else:  #报警:
            reason = isAlarm
            #更新fail_count  last_result数据表
            update_table(iteminfo, reason)
            #判断失败次数
            if int(iteminfo[12]) + 1 >= int(iteminfo[8]):
                if iteminfo[16]:
                    send_messages(iteminfo, reason, 'PROBLEM')

            #异常通知 ,插入alarm_log记录
            sql = "insert into uxin_alarm_log values('','%s','%s','%s','%s','PROBLEM')" % (
                iteminfo[2], iteminfo[3], monitorTime, reason)
            log_debug("打印日志LOG" + str(sql))
            cmdtosql.execsql(sql)

        #所有流程走完后,更新时间
        #monitor_item_updateTime(iteminfo)

    except Exception as e:
        log_error("monitor_udp_index():" + str(iteminfo[2]) + ' ' + str(e))
コード例 #6
0
ファイル: MonitorLib.py プロジェクト: carlos168/py_src
def monitor_udp_index(iteminfo):
    '''
    @Monitor udp 入口函数
    '''
    try:
                monitorTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
                monitor_item_updateTime(iteminfo)
        ip = iteminfo[2]
        itemconfig = iteminfo
        port = itemconfig[4]
        isAlarm = udp_connect_check(ip,port)
        if isAlarm == True:#表示不报警
                        #fail_count 清零
                        update_fail_count(iteminfo,iteminfo[12])
                        #逻辑fail_count - Alarm_retry
                    if int(iteminfo[12]) - int(iteminfo[8]) >= 0:
                if iteminfo[16]:
                                send_messages(iteminfo,' ','RECOVERY')
                                #恢复 ,插入alarm_log记录
                            sql="insert into uxin_alarm_log values(NULL,'%s','%s','%s','%s','RECOVERY')" %(iteminfo[2],iteminfo[3],monitorTime,iteminfo[10])
                            log_debug("打印日志LOG" +str(sql))
                            cmdtosql.execsql(sql)
コード例 #7
0
def monitor_progress_index(iteminfo):
        '''
        @Monitor progress 入口函数
        '''
        try:
                monitorTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
                monitor_item_updateTime(iteminfo)
                ip = iteminfo[2]
                itemconfig = iteminfo
                progress = itemconfig[4]
		log_info(ip)
		log_info(progress)
		log_info(itemconfig[19])
                isAlarm = progress_check(ip,progress,itemconfig[19])
		log_info(88)
 		 #批量连接不上时,有用
                if isAlarm == True or isAlarm == "Connection Refused": #表示不报警
#                if isAlarm == True:  #表示不报警
	         
                        #fail_count 清零
                        update_fail_count(iteminfo,iteminfo[12])
		        log_info(22)
                        #逻辑fail_count - Alarm_retry
                        if int(iteminfo[12]) - int(iteminfo[8]) >= 0:#表示上次报警了,是否恢复报警
		            log_info(33)
			    if iteminfo[16] or iteminfo[20]:
		                log_info(44)
                                send_messages(iteminfo,' ','RECOVERY')
                            #恢复 ,插入alarm_log记录
                            sql="insert into uxin_alarm_log values(NULL,'%s','%s','%s',\"%s\",'RECOVERY')" %(iteminfo[2],iteminfo[3],monitorTime,iteminfo[10])
                            log_debug("打印日志LOG" +str(sql))
                            cmdtosql.execsql(sql)

                #连接不上时,跳过, 保持失败, 但不告警, 不更新
                elif isAlarm == "Connection Refused":
			pass

                else:#报警:
                        reason = isAlarm
                        #更新fail_count  last_result数据表
                        update_table(iteminfo,reason)
                        #判断失败次数
                        if int(iteminfo[12]) + 1 >= int(iteminfo[8]):
			    if iteminfo[16] or iteminfo[20]:
                                send_messages(iteminfo,reason,'PROBLEM')

                        #异常通知 ,插入alarm_log记录
                        sql="insert into uxin_alarm_log values('','%s','%s','%s',\"%s\",'PROBLEM')" %(iteminfo[2],iteminfo[3],monitorTime,reason)
                        cmdtosql.execsql(sql)
			log_debug("打印日志LOG" +str(sql))


		#所有流程走完后,更新时间
		if isAlarm == "Connection Refused":
		    sql="insert into uxin_alarm_log values('','%s','%s','%s',\"%s\",'PROBLEM')" %(iteminfo[2],iteminfo[3],monitorTime,'Connection Refused')
		    cmdtosql.execsql(sql)
		    log_info("IP地址: " + str(iteminfo[2]) + " 类型:" + str(iteminfo[1]) + "  报警名:" + str(iteminfo[3]) + \
				 "  检测对象:" + str(iteminfo[4]) + " Connection Refused")
		else:
		    pass
		    #monitor_item_updateTime(iteminfo)

        except Exception as e:
		ip = iteminfo[2]
                log_error( str(ip) + "monitor_progress_index():"+str(e))
コード例 #8
0
ファイル: MonitorLib.py プロジェクト: carlos168/py_src
                            log_debug("打印日志LOG" +str(sql))
                            cmdtosql.execsql(sql)

        else:#报警:
                        reason = isAlarm
                        #更新fail_count  last_result数据表
                        update_table(iteminfo,reason)
                        #判断失败次数
                        if int(iteminfo[12]) + 1 >= int(iteminfo[8]):
                if iteminfo[16]:
                                send_messages(iteminfo,reason,'PROBLEM')

                        #异常通知 ,插入alarm_log记录
                        sql="insert into uxin_alarm_log values('','%s','%s','%s','%s','PROBLEM')" %(iteminfo[2],iteminfo[3],monitorTime,reason)
                        log_debug("打印日志LOG" +str(sql))
                        cmdtosql.execsql(sql)


                #所有流程走完后,更新时间
                #monitor_item_updateTime(iteminfo)

    except Exception as e:
        log_error("monitor_udp_index():"+str(iteminfo[2]) + ' ' + str(e))

def monitor_progress_index(iteminfo):
        '''
        @Monitor progress 入口函数
        '''
        try:
        monitorTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
        monitor_item_updateTime(iteminfo)