Esempio n. 1
0
    def __init__(self, file_name):
        if not os.path.exists(DEFAULT_LOG_PATH):
            os.makedirs(DEFAULT_LOG_PATH)
        log_file_name = DEFAULT_LOG_PATH + file_name

        # Ref) formatter = logging.Formatter('%(asctime)s %(name)s %(levelname)s %(message)s')
        formatter = logging.Formatter('%(asctime)s.%(msecs)03d %(message)s',
                                      datefmt='%H:%M:%S')
        handler = TimedRotatingFileHandler(log_file_name,
                                           when=CONF.base()['log_rotate_time'],
                                           backupCount=CONF.base()['log_backup_count'])
        handler.setFormatter(formatter)
        self.logger.addHandler(handler)
        self.logger.setLevel(logging.DEBUG)
Esempio n. 2
0
 def connection():
     try:
         conn = sqlite3.connect(CONF.base()['db_file'])
         conn.isolation_level = None
         return conn
     except:
         LOG.exception()
         sys.exit(1)
Esempio n. 3
0
    def db_initiation(cls, db_log):
        try:
            db_path = CONF.base()['db_file']
            if os.path.isfile(db_path):
                os.remove(db_path)

            db_log.write_log("--- Initiating SONA DB ---")
            init_sql = [
                'CREATE TABLE ' + cls.NODE_INFO_TBL +
                '(nodename text primary key, ip_addr, username, type, sub_type)',
                'CREATE TABLE ' + cls.STATUS_TBL +
                '(nodename text primary key, ' + cls.item_list + ', time)',
                'CREATE TABLE ' + cls.REGI_SYS_TBL +
                '(url text primary key, auth)',
                'CREATE TABLE ' + cls.EVENT_TBL +
                '(nodename, item, grade, pre_grade, reason, time, PRIMARY KEY (nodename, item))',
                'CREATE TABLE ' + cls.ONOS_TBL +
                '(nodename text primary key, cluster, device, link, app)'
            ]

            for sql in init_sql:
                sql_rt = cls.sql_execute(sql)

                if sql_rt != 'SUCCESS':
                    db_log.write_log("DB initiation fail\n%s", sql_rt)
                    sys.exit(1)

            db_log.write_log('Insert nodes information ...')
            for node_type in CONF.watchdog()['check_system']:
                cls.sql_insert_nodes(
                    db_log, (CONF_MAP[node_type.upper()]())['list'],
                    str((CONF_MAP[node_type.upper()]()
                         )['account']).split(':')[0], node_type)

        except:
            LOG.exception()
Esempio n. 4
0
        message = '[m:' + traceback.extract_stack(None, 2)[0][2] + '] ' + message
        cls.logger.info(message % args)

    @classmethod
    def error(cls, message, *args):
        message = '[m:' + traceback.extract_stack(None, 2)[0][2] + '] ' + message
        cls.logger.error(message % args)

    @classmethod
    def exception(cls):
        exc_type, exc_value, exc_traceback = sys.exc_info()
        lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
        method = '[m:' + traceback.extract_stack(None, 2)[0][2] + ']'
        cls.error("Exception Error %s\n%s", method, ''.join('   | ' + line for line in lines))

LOG = _Log(CONF.base()['log_file_name'])

class USER_LOG():
    LOG = None

    def set_log(self, file_name, rotate, backup):
        self.LOG = logging.getLogger(file_name)

        if not os.path.exists(DEFAULT_LOG_PATH):
            os.makedirs(DEFAULT_LOG_PATH)

        log_formatter = logging.Formatter('[%(asctime)s] %(message)s')

        file_name = DEFAULT_LOG_PATH + file_name

        file_handler = logging.handlers.TimedRotatingFileHandler(file_name,
Esempio n. 5
0
    def db_initiation(cls, db_log):
        try:
            db_path = CONF.base()['db_file']
            if os.path.isfile(db_path):
                os.remove(db_path)

            db_log.write_log("--- Initiating SONA DB ---")
            init_sql = [
                'CREATE TABLE ' + cls.NODE_INFO_TBL +
                '(nodename text primary key, ip_addr, username, type, sub_type)',
                'CREATE TABLE ' + cls.STATUS_TBL +
                '(nodename text primary key, ' + cls.item_list + ', time)',
                'CREATE TABLE ' + cls.RESOURCE_TBL +
                '(nodename text primary key, cpu real, memory real, disk real)',
                'CREATE TABLE ' + cls.REGI_SYS_TBL +
                '(url text primary key, auth)',
                'CREATE TABLE ' + cls.ONOS_TBL +
                '(nodename text primary key, applist, weblist, nodelist, port, openflow, cluster, traffic_stat)',
                'CREATE TABLE ' + cls.SWARM_TBL +
                '(nodename text primary key, node, service, ps)',
                'CREATE TABLE ' + cls.XOS_TBL +
                '(nodename text primary key, xos_status, synchronizer)',
                'CREATE TABLE ' + cls.OPENSTACK_TBL +
                '(nodename text primary key, sub_type, data_ip, of_id, hostname, docker, onosApp, routingTable, gw_ratio, vxlan_traffic, internal_traffic)',
                'CREATE TABLE ' + cls.HA_TBL +
                '(ha_key text primary key, stats)',
                'CREATE TABLE ' + cls.EVENT_TBL +
                '(nodename, item, grade, pre_grade, reason, time, PRIMARY KEY (nodename, item))'
            ]

            for sql in init_sql:
                sql_rt = cls.sql_execute(sql)

                if sql_rt != 'SUCCESS':
                    db_log.write_log("DB initiation fail\n%s", sql_rt)
                    sys.exit(1)

            db_log.write_log('Insert nodes information ...')
            for node_type in CONF.watchdog()['check_system']:
                if node_type == 'OPENSTACK':
                    cls.sql_insert_nodes(
                        db_log, CONF_MAP[node_type.upper()]()['compute_list'],
                        str((CONF_MAP[node_type.upper()]()
                             )['account']).split(':')[0], node_type, 'COMPUTE')
                    cls.sql_insert_nodes(
                        db_log, CONF_MAP[node_type.upper()]()['gateway_list'],
                        str((CONF_MAP[node_type.upper()]()
                             )['account']).split(':')[0], node_type, 'GATEWAY')
                else:
                    cls.sql_insert_nodes(
                        db_log, CONF_MAP[node_type.upper()]()['list'],
                        str((CONF_MAP[node_type.upper()]()
                             )['account']).split(':')[0], node_type)

            # set ha proxy tbl
            sql = 'INSERT INTO ' + cls.HA_TBL + ' VALUES (\'' + 'HA' + '\', \'none\')'
            sql_rt = cls.sql_execute(sql)
            if sql_rt != 'SUCCESS':
                db_log.write_log(
                    " [HA PROXY TABLE] Node data insert fail \n%s", sql_rt)
                sys.exit(1)
        except:
            LOG.exception()