OBCP第八章 OB运维、监控与异常处理-日志查询

日志概述

OceanBase数据库在运行过程中会自动生成日志;通过查看和分析日志,可以了解OceanBase数据库的启动和运行状态

日志名称 日志路径 说明
启动和运行日志(observer.log) OBServer 服务器的 ~/appname/log 目录下 OceanBase 数据库所有的启动过程和启动后的运行过程中的日志

选举模块日志

(election.log)
OBServer 服务器的 ~/appname/log 目录下 选举模块记录的日志

RootService日志

(rootservice.log)
OBServer 服务器的 ~/appname/log 目录下 RootService 模块记录的日志

事务/存储日志

日志名称 日志路径 说明
Clog OBServer服务器的 “~/datadir/clog”目录下 Commit Log,所有 Partition 共用,日志可能是乱序 的,记录事务、Partition Service 提供的原始日志内容。 此目录下的日志基于 Paxos 协议在多个副本之间同步 (该Clog指代广义的 Commit Log,代表整个事务的 所有日志信息)
Ilog OBServer服务器的 “~/datadir/ilog”目 录下

Index Log,所有 Partition 共用,单 Partition 内部日志有序,记录 Partition 内部log_id->clog(file_id,offset) 的索引信息;每个副本自行记录

Slog OBServer服务器的 “~/datadir/slog”目 录下 记录 Storage Log,指 SSTable 操作日志信息

事务日志

事务的日志包括:redo log, prepare log, commit log, abort log, clear log等

Redo log记录了事务的具体操作,比如某一行数据的某个字段从A修改为B

Prepare log记录了事务的prepare状态

Commit log表示这个事务成功commit,并记录commit信息,比如事务的全局版本号

Clear log用于通知事务清理事务上下文

Abort log表示这个事务被回滚

Observer日志级别

日志级别 含义
ERROR 严重错误。用于记录系统的故障信息,且必须进行故障排除,否则系统不可用
USER_ERR 用户输入导致的错误
WARN 警告。用于记录可能会出现的潜在错误
INFO(default) 提示。用于记录系统运行的当前状态,该信息为正常信息
TRACE 与INFO相比更细致化地记录事件消息
DEBUG 调试信息。用于调试时更详细地了解系统运行状态,包括当前调用的函数名、参数、变量、函数调用返回值等

Observer日志格式

日志记录主要组成:记录时间、日志级别、[模块名]、文件名:行号、线程ID和日志内容[time] log_level [module_name] function_name (file_name:file_no)[thread_id][Ytrace_id0-trace_id1] [log=last_log_print_time]log_data

参数 说明
module_name 打印该条日志的语句所在模块
function_name 打印该条日志的语句所在的函数
file_no 打印该条日志的语句所在文件的具体行数
thread_id 打印该条日志的线程的线程号
trace_id0-trace_id1 该条日志的 traceid,由 traceid0 和 traceid1 组成,该 traceid 可通过 RPC 在各个 OBServer 间传递,从而可以根据 traceid 号来获取相互之间有关联关系的日志数据
last_log_print_time 写上一条日志所用的数据,单位为us
log_data 具体的日志数据

Observer日志注意事项

日志写满256MB时,会做日志文件切换,原日志文件名加上 .%Y%m%d%H%M%S格式的时间

OceanBase默认不会自动清理日志,另外OceanBase可按日志个数回收日志,可通过enable_syslog_recycle、max_syslog_file_count两个参数控制

日志限流控制参数 syslog_io_bandwidth_limit

Warning及以上信息生成单独日志文件控制参数:enable_syslog_wf ,开启后每类文件自动生成一个带有.wf后缀的WARNING日志文件(observer.log.wf、election.log.wf、rootservice.log.wf)

参数 说明 默认值
enable_syslog_recycle 是否开启回收系统日志的功能 False
max_syslog_file_count 设置在回收日志文件之前可以容纳的日志文件数量 0
syslog_io_bandwidth_limit 设置系统日志所能占用的磁盘IO带宽上限,超过带宽上限容量的系统日志将被丢弃 30MB
enable_syslog_wf 设置是否把 WARN 以上级别的系统日志打印到一个单独的日志文件中 True

Observer错误码

OceanBase数据库高度兼容MySQL,这不仅体现在常用MySQL功能及MySQL前后台协议,OceanBase数据库原生的错误信息也对MySQL进行了兼容。OceanBase 数据库MySQL租户的错误信息格式与 MySQL 保持一致

OceanBase数据库的Oracle租户中,错误信息会以前缀 + 数字码的形式返回。例如,如果错误源于数据库,则会返回以ORA开头的错误信息;如果错误源于存储过程,则会返回以PLS开头的错误信息

模式 错误格式 说明
MySQL模式 ERROR () : err_msg err_num表示错误码,sql_stat表示SQL STATE,err_msg表示错误信息
Oracle模式 ORA- err_num表示兼容Oracle数据库的错误码,err_msg表示错误信息

Observer MySQL错误信息范围

OBCP第八章 OB运维、监控与异常处理-日志查询_第1张图片

 

你可能感兴趣的:(OceanBase,数据库,oceanbase,运维)