首页
/ Apache Doris BE 日志管理全解析

Apache Doris BE 日志管理全解析

2025-06-27 08:03:12作者:蔡丛锟

概述

Apache Doris 作为一款高性能的MPP分析型数据库,其日志系统是运维和故障排查的重要工具。本文将深入解析 Doris 后端(Backend,简称BE)进程的日志管理机制,帮助管理员和开发者更好地理解和使用BE日志系统。

BE日志类型详解

当通过sh bin/start_be.sh --daemon启动BE进程时,会在BE日志目录下生成多种类型的日志文件:

  1. be.INFO

    • BE进程运行主日志文件
    • 包含所有级别的运行日志(DEBUG、INFO、WARN、ERROR等)
    • 实际是一个符号链接,指向当前最新的BE运行日志文件
  2. be.WARNING

    • 仅包含WARN及以上级别的运行日志
    • 是be.INFO日志的子集,便于快速查看警告和错误
    • 同样是一个符号链接
  3. be.out

    • 接收标准输出流和错误数据流
    • 包含启动脚本中的echo输出等未被glog框架捕获的日志
    • BE崩溃时,可在此查看异常堆栈信息
  4. jni.log

    • BE通过JNI调用Java程序时打印的日志
    • 未来版本将统一整合到be.INFO中
  5. be.gc.log

    • BE JVM的GC日志
    • 行为由be.conf中的JVM启动选项JAVA_OPTS控制

日志配置参数详解

BE日志配置主要通过be.conf文件进行管理,以下是关键配置项:

基础配置

配置项 默认值 说明
LOG_DIR ENV(DORIS_HOME)/log 日志存储路径,注意需使用大写形式
sys_log_level INFO 主日志级别,不建议修改
sys_log_roll_num 10 日志文件最大保留数量
sys_log_roll_mode SIZE-MB-1024 日志滚动策略,支持按大小/时间滚动

高级配置

配置项 默认值 说明
log_buffer_level 日志输出模式,-1表示实时刷新
disable_compaction_trace_log true 是否禁用Compaction跟踪日志
aws_log_level 0 AWS SDK日志级别控制
enable_debug_log_timeout_secs 0 管道执行引擎详细日志超时设置

日志格式配置(2.1.7+)

配置项 默认值 说明
sys_log_enable_custom_date_time_format false 是否启用自定义日期格式
sys_log_custom_date_time_format %Y-%m-%d %H:%M:%S 自定义日期格式
sys_log_custom_date_time_ms_format ,{:03d} 时间精度格式

DEBUG日志开启指南

静态配置方式

be.conf中配置:

sys_log_verbose_modules=plan_fragment_executor,olap_scan_node
sys_log_verbose_level=3
  • sys_log_verbose_modules:指定要开启的文件名,支持*通配符
  • sys_log_verbose_level:DEBUG级别,1-10,数字越大越详细
  • sys_log_verbose_flags_v:glog的全局详细级别控制

动态调整方式(2.1+)

通过REST API动态调整:

curl -X POST "http://<be_host>:<webport>/api/glog/adjust?module=<module_name>&level=<level_number>"

特点:

  • 支持通配符(如module=*&level=10
  • 配置不持久化,重启后失效
  • 不存在的模块会自动创建(无实际效果)

容器环境日志处理

在k8s等容器环境中,可通过--console参数启动BE,将所有日志输出到标准输出流:

sh bin/start_be.sh --console

日志前缀说明:

  • RuntimeLogger:对应be.log中的日志

容器环境特有配置:

配置项 默认值 说明
enable_file_logger true 是否启用文件日志,false时仅输出到标准流

最佳实践建议

  1. 日志级别选择

    • 生产环境建议保持INFO级别
    • 调试时可临时开启DEBUG,但需注意性能影响
  2. 日志滚动策略

    • 高负载环境建议使用SIZE-MB-1024按大小滚动
    • 低负载环境可考虑TIME-DAY按天滚动
  3. 容器环境

    • 建议结合日志收集系统(如ELK)处理标准输出流
    • 适当调整sys_log_roll_num控制日志总量
  4. 故障排查

    • BE异常时首先检查be.out
    • 性能问题可开启Compaction跟踪日志

通过合理配置BE日志系统,可以有效监控Doris集群运行状态,快速定位和解决问题,为系统稳定运行提供有力保障。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
148
237
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
749
474
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
110
171
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
120
254
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.03 K
0
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
312
1.04 K
open-eBackupopen-eBackup
open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。
HTML
111
76
uni-appuni-app
A cross-platform framework using Vue.js
JavaScript
22
1
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
80
2
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
373
361