Ejemplo n.º 1
0
def get_oracle_alert(tags, db_conn, oracle_params, linux_params):
    db_version = oracle_params['db_version']
    host = oracle_params['host']
    # 取alert日志
    sql = "select alert_log,alert_log_seek from oracle_list where tags='{}' ".format(
        tags)
    alert_log, alert_log_seek = mysql_query(sql)[0]
    if not alert_log:
        sql = "select value from v$diag_info where name = 'Diag Trace'"
        alert_dir = query_one(db_conn, sql)
        # 取实例名
        sql = "select instance_name from v$instance"
        instance_name = query_one(db_conn, sql)
        alert_log = '{}/alert_{}.log'.format(alert_dir[0], instance_name[0])
        alert_log_seek = 0
        sql = "delete from alert_log where tags='{}' and type=1 ".format(tags)
        mysql_exec(sql)
    # ssh获取日志内容
    linux_oper = LinuxBase(linux_params)
    # 日志解析
    alert_content = linux_oper.readfile(alert_log, seek=alert_log_seek)
    alert_log_seek = parse_oracle_alert_logs(tags, host, alert_content,
                                             db_version)
    # 更新配置表中日志路径,日志偏移量
    sql = "update oracle_list set alert_log='{}',alert_log_seek={} where tags='{}' ".format(
        alert_log, alert_log_seek, tags)
    mysql_exec(sql)
Ejemplo n.º 2
0
def get_mysql_slowquery(tags,mysql_params,linux_params):
    host = mysql_params['host']
    # slow query log location
    sql = "select slowquery_log,slowquery_log_seek from mysql_list where tags='{}' ".format(tags)
    slowquery_log,slowquery_log_seek = mysql_query(sql)[0]
    if not slowquery_log:
        slowquery_log = Mysql_Do(mysql_params).get_para('slow_query_log_file')
        slowquery_log_seek = 0
    # get slowquery log content
    linux_oper = LinuxBase(linux_params)
    slowquery_content = linux_oper.readfile(slowquery_log,seek=slowquery_log_seek)
    # parse log
    slowquery_log_seek = parse_mysql_slowquery_logs(tags,host,slowquery_content)
    # update alert log info to mysqlinfo
    sql = "update mysql_list set slowquery_log='{}',slowquery_log_seek={} where tags='{}' " .format(slowquery_log,slowquery_log_seek,tags)
    mysql_exec(sql)
Ejemplo n.º 3
0
def get_mysql_alert(tags,mysql_params,linux_params):
    host = mysql_params['host']
    # logfile loglocation
    sql = "select alert_log,alert_log_seek from mysql_list where tags='{}' ".format(tags)
    alert_log,alert_log_seek = mysql_query(sql)[0]
    if not alert_log:
        alert_log = Mysql_Do(mysql_params).get_para('log_error')
        alert_log_seek = 0
        sql = "delete from alert_log where tags='{}' and type=2 ".format(tags)
        mysql_exec(sql)
    # get alert log content
    linux_oper = LinuxBase(linux_params)
    alert_content = linux_oper.readfile(alert_log,seek=alert_log_seek)
    # parse log
    alert_log_seek = parse_mysql_alert_logs(tags,host,alert_content)
    # update alert log info to mysqlinfo
    sql = "update mysql_list set alert_log='{}',alert_log_seek={} where tags='{}' " .format(alert_log,alert_log_seek,tags)
    mysql_exec(sql)
Ejemplo n.º 4
0
def get_redis_log(tags,redis_params,linux_params):
    host = redis_params['host']
    # logfile loglocation
    sql = "select log,log_seek from redis_list where tags='{}' ".format(tags)
    log,log_seek = mysql_query(sql)[0]
    if not log:
         redis_conn = RedisBase(redis_params).connection()
         log_dir = redis_conn.config_get('dir')['dir']
         log = redis_conn.config_get('logfile')['logfile']
         log = os.path.join(log_dir,log)
         log_seek = 0
         sql = "delete from alert_log where tags='{}' and type=3 ".format(tags)
         mysql_exec(sql)
    # get log content
    linux_oper = LinuxBase(linux_params)
    alert_content = linux_oper.readfile(log,seek=log_seek)
    # parse log
    log_seek = parse_redis_logs(tags,host,alert_content)
    # update alert log info to mysqlinfo
    sql = "update redis_list set log='{}',log_seek={} where tags='{}' " .format(log,log_seek,tags)
    mysql_exec(sql)