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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: OBCP第八章 OB运维、监控与异常处理-日志查询

日志概述

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


日志名称

日志路径


说明

启动和运行日志(observer.log

OBServer 服务器的 ~/appname/log 目录下

OceanBase 数据库所有的启动过程和启动后的运行过程中的日志

启动和运行日志(observer.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

打印该条日志的语句所在文件的具体行数

file_no

打印该条日志的线程的线程号

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_msg

err_num表示错误码,sql_stat表示SQL STATE,err_msg表示错误信息

Oracle模式

ORA-<err_num>:<err_msg>

err_num表示兼容Oracle数据库的错误码,err_msg表示错误信息

Observer MySQL错误信息范围


相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
5月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
494 122
基于docker搭建监控系统&日志收集
|
5月前
|
机器学习/深度学习 运维 监控
运维日志里的“读心术”:深度学习能看出啥?
运维日志里的“读心术”:深度学习能看出啥?
292 74
|
5月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
521 1
日志收集和Spring 微服务监控的最佳实践
|
9月前
|
存储 缓存 Apache
StarRocks+Paimon 落地阿里日志采集:万亿级实时数据秒级查询
本文介绍了阿里集团A+流量分析平台的日志查询优化方案,针对万亿级日志数据的写入与查询挑战,提出基于Flink、Paimon和StarRocks的技术架构。通过Paimon存储日志数据,结合StarRocks高效计算能力,实现秒级查询性能。具体包括分桶表设计、数据缓存优化及文件大小控制等措施,解决高并发、大数据量下的查询效率问题。最终,日志查询耗时从分钟级降至秒级,显著提升业务响应速度,并为未来更低存储成本、更高性能及更多业务场景覆盖奠定基础。
|
5月前
|
存储 缓存 监控
用 C++ 红黑树给公司电脑监控软件的日志快速排序的方法
本文介绍基于C++红黑树算法实现公司监控电脑软件的日志高效管理,利用其自平衡特性提升日志排序、检索与动态更新效率,并结合实际场景提出优化方向,增强系统性能与稳定性。
163 4
|
4月前
|
存储 运维 监控
57_大模型监控与运维:构建稳定可靠的服务体系
随着大语言模型(LLM)技术的快速发展和广泛应用,如何确保模型在生产环境中的稳定运行、高效服务和安全合规已成为企业和开发者面临的关键挑战。2025年,大模型服务已从实验室走向各行各业的核心业务流程,其运维复杂度也随之呈指数级增长。与传统软件系统不同,大模型服务具有参数规模庞大、计算密集、行为不确定性高等特点,这使得传统的运维监控体系难以满足需求。
|
6月前
|
运维 Prometheus 监控
可观测性不是监控的马甲:运维团队到底该怎么升级?
可观测性不是监控的马甲:运维团队到底该怎么升级?
178 7
|
9月前
|
自然语言处理 监控 安全
阿里云发布可观测MCP!支持自然语言查询和分析多模态日志
阿里云可观测官方发布了Observable MCP Server,提供了一系列访问阿里云可观测各产品的工具能力,包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS等,支持用户通过自然语言形式查询
1246 0
阿里云发布可观测MCP!支持自然语言查询和分析多模态日志

热门文章

最新文章