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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 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错误信息范围


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
19天前
|
监控 关系型数据库 MySQL
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
37 3
|
9天前
|
存储 监控 数据可视化
无需重新学习,使用 Kibana 查询/可视化 SLS 数据
本文演示了使用 Kibana 连接 SLS ES 兼容接口进行查询和分析的方法。
|
2天前
|
存储 运维 监控
【Docker专栏】Docker日志管理与监控的最佳方法
【5月更文挑战第7天】本文探讨了Docker容器的日志管理与监控,强调其在运维中的重要性。Docker默认使用`json-file`日志驱动,可通过`docker logs`命令查看。建议选择合适日志驱动,配置日志选项,并集成ELK Stack等工具进行高级分析。实时监控、设置警报、分析数据和审计日志是实践关键。最佳实践包括日志数据与容器数据分离、使用日志代理、保护敏感信息及遵守法规。关注新技术以提升系统稳定性和安全性。
【Docker专栏】Docker日志管理与监控的最佳方法
|
2天前
|
存储 监控 Apache
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
网易的灵犀办公和云信利用 Apache Doris 改进了大规模日志和时序数据处理,取代了 Elasticsearch 和 InfluxDB。Doris 实现了更低的服务器资源消耗和更高的查询性能,相比 Elasticsearch,查询速度提升至少 11 倍,存储资源节省达 70%。Doris 的列式存储、高压缩比和倒排索引等功能,优化了日志和时序数据的存储与分析,降低了存储成本并提高了查询效率。在灵犀办公和云信的实际应用中,Doris 显示出显著的性能优势,成功应对了数据增长带来的挑战。
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
|
3天前
|
监控 安全 数据可视化
中间件应用日志记录和监控
中间件应用日志记录和监控
17 3
|
8天前
|
运维 Prometheus 监控
矢量数据库系统监控与运维:确保稳定运行的关键要素
【4月更文挑战第30天】本文探讨了确保矢量数据库系统稳定运行的监控与运维关键要素。监控方面,关注响应时间、吞吐量、资源利用率和错误率等指标,使用Prometheus等工具实时收集分析,并有效管理日志。运维上,强调备份恢复、性能调优、安全管理和自动化运维。关键成功因素包括建立全面监控体系、科学的运维策略、提升运维人员技能和团队协作。通过这些措施,可保障矢量数据库系统的稳定运行,支持业务发展。
|
8天前
|
Prometheus 监控 Cloud Native
【Go语言专栏】Go语言中的日志记录与监控
【4月更文挑战第30天】Go语言在软件开发和运维中扮演重要角色,提供灵活的日志记录机制和与多种监控工具的集成。内置`log`包支持基本日志记录,而第三方库如`zap`、`zerolog`和`logrus`则扩展了更多功能。监控方面,Go应用可与Prometheus、Grafana、Jaeger等工具配合,实现系统指标收集、可视化和分布式追踪。健康检查通过HTTP端点确保服务可用性。结合日志和监控,能有效提升Go应用的稳定性和性能。
|
9天前
|
存储 监控 关系型数据库
PHP编写的电脑监控软件:用户登录日志记录与分析
使用PHP编写简单但功能强大的电脑监控软件,记录用户登录日志并进行分析。代码示例展示了如何获取并存储用户IP地址和登录时间到数据库,然后进行登录数据的分析,如计算登录频率和常见登录时间。此外,还介绍了如何通过定时任务自动将监控数据提交到网站,以便实时监控用户活动,提升系统安全性和稳定性。
27 0
|
9天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理策略
【4月更文挑战第30天】 在微服务架构日益普及的当下,容器化技术与编排工具如Kubernetes成为了运维领域的重要话题。有效的监控和日志管理对于保障系统的高可用性和故障快速定位至关重要。本文将探讨在Kubernetes环境中实施监控和日志管理的最佳实践,包括选用合适的工具、部署策略以及如何整合这些工具来提供端到端的可见性。我们将重点讨论Prometheus监控解决方案和EFK(Elasticsearch, Fluentd, Kibana)日志管理堆栈,分析其在Kubernetes集群中的应用,并给出优化建议。
|
10天前
|
SQL 调度 Swift
【一文看懂】Havenask日志查询
本次分享内容为Havenask的日志查询,文章包含了具体查询步骤和举例、实操演示,希望可以帮助大家更好的使用Havenask。
84 0