作者:操盛春
技术专家,任职于爱可生,专注研究 MySQL、Ocean Base 源码。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
OceanBase 运行时会产生很多各种级别的日志,如果出现了错误,想要从数量繁多的错误日志中定位到错误原因,是件不太容易的事。
错误日志是我们定位错误原因的主要途径,本文我们就来聊聊怎么从 OceanBase 错误日志中找到我们想要的错误信息。
1. 日志文件
OceanBase 日志分为 3 类:
- 选举模块日志:存放
选举模块产生的日志。 - 总控服务(RootService)模块日志:存放
总控服务模块产生的日志。 - 启动、运行日志:存放除选举模块、总控服务模块之外的
其它所有模块产生的日志。
每类日志又包含 2 种日志文件:
- .log、.log.YYYYmmDDHHMMSS 文件中包含该类型
所有级别的日志。 - .log.wf、.log.wf.YYYYmmDDHHMMSS 文件中包含该类型
WARN、USER_ERROR、ERROR3个级别的日志(需要把系统配置enable_syslog_wf的值设置为 true)。
每类日志都写入到对应的
.log(.log.wf)文件中,写满 256M 之后,把 .log(.log.wf) 文件改名(加上.YYYYmmDDHHMMSS后缀),然后再创建新的 .log(.log.wf) 文件。
通过 ls -l 查看 OceanBase 日志目录,可以看到类似如下的日志文件:
-rw-r--r-- 1 admin admin 18688919 10月 9 02:08 election.log
-rw-r--r-- 1 admin admin 4998884 10月 9 02:07 election.log.wf
-rw-r--r-- 1 admin admin 75158675 10月 9 02:08 rootservice.log
-rw-r--r-- 1 admin admin 268437081 10月 8 23:25 rootservice.log.20221008232523
-rw-r--r-- 1 admin admin 61688030 10月 9 02:08 rootservice.log.wf
-rw-r--r-- 1 admin admin 227610855 10月 8 23:25 rootservice.log.wf.20221008232523
-rw-r--r-- 1 admin admin 156856561 10月 9 02:08 observer.log
-rw-r--r-- 1 admin admin 268435919 10月 9 01:25 observer.log.20221009012502
-rw-r--r-- 1 admin admin 91282191 10月 9 02:08 observer.log.wf
-rw-r--r-- 1 admin admin 158605686 10月 9 01:25 observer.log.wf.20221009012502
2. 日志格式
按照日志错误级别不同,OceanBase 格式分为 2 种:
- DEBUG、TRACE、INFO 日志记录格式
[time] log_level [module_name] file_name:fine_no [thread_id][coroutine_id][Ytraceid0-traceid1] [lt=last_log_print_time] [dc=dropped_log_count] log_data
- WARN、USER_ERROR、ERROR 日志记录格式
[time] log_level [module_name] function_name (file_name:fine_no) [thread_id][coroutine_id][Ytraceid0-tracei

最低0.47元/天 解锁文章
1482

被折叠的 条评论
为什么被折叠?



