暂无图片
暂无图片
13
暂无图片
暂无图片
暂无图片

OceanBase日志

OceanBase 2022-11-20
1687

observer 的日志存放在 observer 的安装目录的 log 目录下面,分为四种日志 observer.logrootservice.logelection.log 和 trace.log,分别对应 observer 日志、RS 日志、选举日志和全链路追踪日志。

对于每一种日志(除全链路追踪日志外),如 observer.log,按照文件名大致分为以下几种:

  • observer.log

  • observer.log.20210901123456

  • observer.log.wf

  • observer.log.wf.20210901123456

当 observer.log 达到 256M 时,会将其 rename 为第二种日志,后面的数字为时间戳。wf 日志的含义见下文 enable_syslog_wf 配置项。

日志格式

这里以一条日志举例说明。

[2022-07-01 10:49:10.272860] INFO  [SQL.EXE] implicit_end_trans (ob_sql_trans_control.cpp:161) [119171][T1004_Occam][T1][Y0-00
00000000000000-0-0] implicit end trans(is_rollback=false, exec_ctx.get_execution_id()=18446744073709551615, callback=NULL)

对应的日志信息如下:

[时间] 日志级别 [所属模块] 函数名(文件:行号) [线程id][线程名][所属租户][trace_id] 

日志级别

从低到高有 6 种,DEBUG、TRACE、INFO、WARN、USER_ERR、ERROR。

其中 ERROR 日志比较特殊,会将打日志时所在的堆栈打印出来(需要通过符号表解析)。

注意

开启 DEBUG 日志将耗费大量资源,在较新版本中,DEBUG 日志在 release 编译下会自动去掉,即使开启也无法生效。

所属模块

有很多种,可以大致区分日志所属模块。

线程id

打印日志所在的线程的 ID,可以用于跟踪对应线程的行为,对排查线程 hang 住、超时等问题比较有用。

trace_id

OceanBase 数据库内部的 SQL 级别的 ID,默认为 Y0-0000000000000000-0-0,可以通过 trace_id 来找到一条 SQL 的执行过程,是排查问题的重要手段。

相关配置项

以下所有配置项均为集群级别,需要在系统租户下使用。可以通过以下方法修改。

alter system set enable_syslog_recycle = False;
  • enable_syslog_recycle

    是否开启日志回收,默认为 False。

    开启后将会自动删除多余的日志,具体逻辑详见 max_syslog_file_count。

  • enable_syslog_wf

    是否启用 wf 日志,默认为 True。

    开启后会每种日志中 WARN 级别以上的日志归档到 wf 日志中,如 observer.log.wf。

  • enable_async_syslog

    是否启用异步写日志功能,默认为 True。

    关闭后将使用同步方式写日志,可以保证 observer 宕机前写完所有日志,但性能较差,不建议关闭。

  • max_syslog_file_count

    每种日志的最大日志数量,默认为 0,当且仅当该配置项大于 0 且 enable_syslog_recycle 为 True 时生效。

    注意

    尽管该配置项的范围是 [0, +∞),但 observer 源码中约束了该值不能超过 MAX_LOG_FILE_COUNT,即 10240,超过时依然可以设置成功但实际生效值为 MAX_LOG_FILE_COUNT。

  • syslog_io_bandwidth_limit

    日志限流量,默认为 30M。

    注意

    当日志打印速度超过限制时,将打印以下信息。

    REACH SYSLOG RATE LIMIT
    
  • syslog_level

    打印的日志的最低级别,日志级别见上文,默认为 INFO。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论