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

简介: 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错误信息范围


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
10月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
883 122
基于docker搭建监控系统&日志收集
|
10月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
853 1
日志收集和Spring 微服务监控的最佳实践
|
10月前
|
存储 缓存 监控
用 C++ 红黑树给公司电脑监控软件的日志快速排序的方法
本文介绍基于C++红黑树算法实现公司监控电脑软件的日志高效管理,利用其自平衡特性提升日志排序、检索与动态更新效率,并结合实际场景提出优化方向,增强系统性能与稳定性。
249 4
|
监控 测试技术 Go
告别传统Log追踪!GOAT如何用HTTP接口重塑代码监控
本文介绍了GOAT(Golang Application Tracing)工具的使用方法,通过一个Echo问答服务实例,详细展示了代码埋点与追踪技术的应用。内容涵盖初始化配置、自动埋点、手动调整埋点、数据监控及清理埋点等核心功能。GOAT适用于灰度发布、功能验证、性能分析、Bug排查和代码重构等场景,助力Go项目质量保障与平稳发布。工具以轻量高效的特点,为开发团队提供数据支持,优化决策流程。
928 90
|
11月前
|
运维 Prometheus 监控
可观测性不是监控的马甲:运维团队到底该怎么升级?
可观测性不是监控的马甲:运维团队到底该怎么升级?
282 7
|
9月前
|
存储 运维 监控
57_大模型监控与运维:构建稳定可靠的服务体系
随着大语言模型(LLM)技术的快速发展和广泛应用,如何确保模型在生产环境中的稳定运行、高效服务和安全合规已成为企业和开发者面临的关键挑战。2025年,大模型服务已从实验室走向各行各业的核心业务流程,其运维复杂度也随之呈指数级增长。与传统软件系统不同,大模型服务具有参数规模庞大、计算密集、行为不确定性高等特点,这使得传统的运维监控体系难以满足需求。
1695 0
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
744 51
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
639 9