Beispiel #1
0
def main(input_config):
    global config, sms_numbers
    try:
        logger.info('Started %s monitor' % (module))
        config = input_config
        initialize()
        error_count = 0
        sms_numbers = mongohelper.get_oncall_sms_nos(config)
        logger.debug(sms_numbers)
        while error_count <= config.email_max_errors:
            try:
                issue = mongohelper.get_new_issue(config)
                if issue != None:
                    logger.debug('Got issue %s' % (issue.__str__()))
                    sms_issue(config, issue)
                else:
                    logger.info('No issues to notify')
                    break
            except pymongo.errors.AutoReconnect as pmar:
                logger.error(pmar)
                error_count += 1
                mongohelper.initialize(config)
            except mongohelper.CannotConnectToMongo as cctm:
                logger.critical('Cannot connect to Mongo %s' % (cctm))
                raise
            except:
                logger.error(traceback.format_exc())
                error_count += 1

    except:
        error = traceback.format_exc()
        logger.critical(error)
        mailhelpers.alert_admin(config, module, error)
        raise
Beispiel #2
0
def main(input_config):
    global config
    try:
        logger.info('Started %s monitor' % (module))
        config = input_config
        proxy, auth = initialize()
        process_filter(config.filter_id, auth, proxy)
        logger.info('Filter processed')
        update_issues(auth, proxy)
        logger.info('Updated issues')
    except:
        error = traceback.format_exc()
        logger.critical(error)
        mailhelpers.alert_admin(config, module, error)
        raise
Beispiel #3
0
def main(input_config):
    global config
    try:
        logger.info('Started %s monitor' % (module))
        config = input_config
        initialize()
        logger.info('Getting unattended issues')
        issues = mongohelper.get_unassigned_issues(config)
        logger.info('Got %d unattended issues' % len(issues))                
        if len(issues) > 0:
            classify_issues(issues)
            if len(category1issues) > 0:
                logger.info('Escalating category 1 issues')
                mailhelpers.email_issues(config, 
                                         config.dev_id, 
                                         'Blocker issues that are open for at least 30 minutes', 
                                         category1issues)
                logger.info('Done escalating category 1 issues')
            if len(category2issues) > 0:
                logger.info('Escalating category 2 issues')
                mailhelpers.email_issues(config, 
                                         config.dev_id, 
                                         'Critical issues that are open for at least 40 minutes', 
                                         category2issues)
                logger.info('Done escalating category 2 issues')
            if len(category3issues) > 0:
                logger.info('Escalating category 3 issues')
                mailhelpers.email_issues(config, 
                                         config.dev_id, 
                                         'Major issues that are open for at least 2 hours', 
                                         category3issues)
                logger.info('Done escalating category 3 issues')
            if len(category4issues) > 0:
                logger.info('Escalating category 4 issues')
                mailhelpers.email_issues(config, 
                                         config.dev_id, 
                                         'Issues that are open for at least 4 hours', 
                                         category4issues)
                logger.info('Done escalating category 4 issues')
    except:
        error = traceback.format_exc()
        logger.critical(error)
        mailhelpers.alert_admin(config, 
                                module,
                                error)
        raise
Beispiel #4
0
def main(input_config):
    global config
    try:
        logger.info('Started %s monitor' % (module))
        config = input_config
        proxy, auth = initialize()
        process_filter(config.filter_id, auth, proxy)
        logger.info('Filter processed')
        update_issues(auth, proxy)
        logger.info('Updated issues')
    except:
        error = traceback.format_exc()
        logger.critical(error)
        mailhelpers.alert_admin(config,
                                module,
                                error)
        raise
Beispiel #5
0
def main(input_config):
    global config, sms_numbers
    try:
        logger.info('Started %s monitor' % (module))
        config = input_config
        initialize()
        error_count = 0
        sms_numbers= mongohelper.get_oncall_sms_nos(config)
        logger.debug(sms_numbers)
        while error_count <= config.email_max_errors:
            try:
                issue = mongohelper.get_new_issue(config)
                if issue != None:
                    logger.debug('Got issue %s' % (issue.__str__()))
                    sms_issue(config, issue)
                else:
                    logger.info('No issues to notify')
                    break
            except pymongo.errors.AutoReconnect as pmar:
                logger.error(pmar)
                error_count += 1
                mongohelper.initialize(config)
            except mongohelper.CannotConnectToMongo as cctm:
                logger.critical('Cannot connect to Mongo %s' % (cctm))
                raise
            except:
                logger.error(traceback.format_exc())
                error_count += 1
        
    except:
        error = traceback.format_exc()
        logger.critical(error)
        mailhelpers.alert_admin(config, 
                                module, 
                                error)
        raise