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

日志概述

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

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

选举模块日志

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

RootService日志

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

事务/存储日志

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

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

SlogOBServer服务器的 “~/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_num> (<sql_stat>) : err_msgerr_num表示错误码,sql_stat表示SQL STATE,err_msg表示错误信息
Oracle模式ORA-<err_num>:<err_msg>err_num表示兼容Oracle数据库的错误码,err_msg表示错误信息

Observer MySQL错误信息范围

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯西极限存在准则

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值