예제 #1
0
def check_ip_alert_accord_inst_and_busi(inst=None, busi=None):
    '''
    :param inst:
    :param busi:
    :return:如果该业务或实例涉及的ip有报警,则返回False,否则返回True
    '''
    ips = []
    if inst is None and busi is not None:
        ips = model_redis.get_ips_accord_busi(busi)
        if len(ips) == 0:
            try:
                ips = model_ora.get_ip_accord_business(busi)
            except:
                traceback.print_exc()
    if busi is None and inst is not None:
        ips = model_redis.get_ips_accord_instance(inst)
        if len(ips) == 0:
            ips = model_ora.get_ips_accord_instance(inst)
    if len(ips) == 0:
        return False
    ips_str = utils.convert_ips_to_str(ips)
    date_str = get_check_date()
    sql = config_reporter.GET_ALERT_NUM.format(
        date_str, ips_str)
    data = db.cursor.execute(sql).fetchone()[0]
    print data
    if data > 0:
        return True  # False为有报警
    else:
        return False