Doris日志介绍
在MRS集群运维和问题排查中,管理员和开发人员需要查看组件日志来定位故障原因、监控系统运行状态和审计用户操作行为。Doris作为MRS集群中的高性能实时分析数据库,提供完整的日志体系覆盖安装启停、运行状态、GC信息、审计操作等多个维度。了解Doris的日志存储路径、归档规则、日志级别和日志格式,有助于快速获取关键信息进行故障定位和安全审计。本文介绍Doris日志的存储路径、归档规则、日志级别和日志格式说明。
Doris的日志归档机制:当单个日志文件超过设定的大小时,系统自动将该日志文件压缩为zip归档,归档文件命名规则为"原有日志名-yyyy-mm-dd_hh-mm-ss.编号.log.zip"。最多保留最近的20个压缩文件,归档文件保留个数和压缩阈值可配置。当归档文件达到数量或大小上限时,系统会自动删除最旧的归档文件以释放磁盘空间。
日志描述
Doris的日志体系按角色(FE、BE、DBroker)分别组织,覆盖安装启停、运行状态、状态检查、GC信息和审计等多个类别。
日志路径:Doris相关日志的默认存储路径为“/var/log/Bigdata/doris/角色名”。
- FE:“/var/log/Bigdata/doris/fe”(运行日志),“/var/log/Bigdata/audit/doris/fe”(审计日志)。
- BE:“/var/log/Bigdata/doris/be”(运行日志)。
- DBroker:“/var/log/Bigdata/doris/dbroker”(运行日志)。
日志归档规则:Doris的日志启动了自动压缩归档功能,缺省情况下,当日志大小超过指定大小的时候(此日志文件大小可进行配置),会自动压缩,压缩后的日志文件名规则为:“<原有日志名>-<yyyy-mm-dd_hh-mm-ss>.[编号].log.zip”。最多保留最近的20个压缩文件,压缩文件保留个数和压缩文件阈值可以配置。
| 日志类型 | 日志文件名 | 描述 |
|---|---|---|
| 运行日志 | /fe/fe.out | 标准/错误输出的日志(stdout和stderr) |
| /fe/fe.log | 主日志,包括除fe.out外的所有内容 | |
| /fe/fe.warn.log | “fe.log”的子集,仅记录级别为WARN和ERROR的日志 | |
| /fe/fe-omm-<日期>-<PID>-gc.log.<编号> | FE进程的GC日志 | |
| /fe/preStart.log | FE启动前的工作日志 | |
| /fe/check_fe_status.log.log | FE服务启动是否成功的检查日志 | |
| /fe/cleanup.log | FE卸载的清理日志 | |
| /fe/start_fe.log | FE进程启动日志 | |
| /fe/stop_fe.log | FE进程停止日志 | |
| /fe/postinstallDetail.log | FE安装后启动前的工作日志 | |
| /be/be.INFO | BE进程的运行日志 | |
| be.WARNING | “be.log”的子集,仅记录级别为WARN和FATAL的日志 | |
| /be/be-omm-<日期>-<PID>-gc.log.<编号> | BE进程的GC日志 | |
| /be/postinstallDetail.log | BE安装后启动前的工作日志 | |
| /be/preStart.log | BE启动前的工作日志 | |
| /be/cleanup.log | BE卸载的清理日志 | |
| /be/start_be.log | BE进程启动日志 | |
| /be/stop_be.log | BE进程停止日志 | |
| /be/check_be_status.log | BE服务启动是否成功的检查日志 | |
| /be/be.out | BE进程标准/错误输出的日志(stdout和stderr) | |
| /dbroker/start_broker.log | DBroker进程启停正常日志 | |
| /dbroker/stop_broker.log | DBroker进程启停异常日志 | |
| /dbroker/preStart.log | DBroker启动前的工作日志 | |
| /dbroker/cleanup.log | DBroker卸载时或安装前的清理日志 | |
| /dbroker/check_db_status.log | DBroker服务启动是否成功的检查日志 | |
| /dbroker/dbroker-omm-<日期>-<PID>-gc.log.<编号> | DBroker进程的GC日志 | |
| /dbroker/apache_hdfs_broker.log | DBroker进程的运行日志 | |
| 审计日志 | fe.audit.log | 审计日志,记录FE接收的所有SQL请求 |
日志级别
Doris提供了如表2所示的日志级别。
运行日志的级别优先级从高到低分别是FATAL、ERROR、WARN、INFO,程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。
| 级别 | 描述 |
|---|---|
| FATAL | FATAL通常表示程序断言错误。 |
| ERROR | ERROR表示系统运行的错误信息。 |
| WARN | WARN表示当前事件处理存在异常信息。 |
| INFO | INFO表示记录系统及各事件正常运行状态信息。 |
如果您需要修改日志级别,请执行如下操作:
- 登录FusionInsight Manager界面,选择“集群 > 服务 > Doris > 配置 > 全部配置”,进入Doris服务的全部配置页面。
- 左边菜单栏中选择所需修改的角色所对应的日志菜单。
- 选择所需修改的日志级别并保存。
- 单击“概览”,选择“更多 > 重启服务”,输入当前用户密码重启Doris服务。
验证操作:
修改日志级别后,通过客户端执行查询语句触发日志记录,检查对应日志文件中的日志输出级别是否与设置一致(如设置为WARN后日志中不再出现INFO级别信息),则表示日志级别修改生效。
日志格式
Doris的运行日志和审计日志使用统一的日志格式规范,便于日志采集系统解析和检索。不同角色的日志格式略有差异。
| 日志类型 | 格式 | 示例 |
|---|---|---|
| FE运行日志 | <yyyy-MM-dd HH:mm:ss,SSS><LogLevel> (线程名称|线程ID) <日志事件的发生位置>|<log中的message> | 2023-04-13 11:17:14,371 INFO (tablet stat mgr|34) [TabletStatMgr.runAfterCatalogReady():125] finished to update index row num of all databases. cost: 0 ms |
| BE运行日志 | <日志等级,I表示INFO,W表示WARN,F表示FATAL|MMdd HH:mm:ss.SSS> <线程ID> <日志事件的发生位置> <log中的message> | I0413 11:26:03.439189 25248 tablet_manager.cpp:895] begin to build all report tablets info |
| DBroker运行日志 | <MMdd HH:mm:ss.SSS> <线程ID> <LogLevel><log中的message> | 2023-04-11 11:43:13 [ main:0 ] - [ INFO ] starting apache hdfs broker.... |
| 审计日志 | <yyyy-MM-dd HH:mm:ss,SSS [操作类型]>|<Client>|<User Name>|<Db Name>|<State>|<ErrorCode>|<ErrorMessage>|<Time>|<ScanBytes>|<ScanRows>|<ReturnRows>|<StmtId>|<QueryId>|<IsQuery>|<feIp>| <Stmt>|<CpuTimeMS>|<SqlHash>|<peakMemoryBytes>|<SqlDigest>|<TraceId>|<FuzzyVariables> | 2023-04-13 10:49:26,410 [query] |Client=192.168.64.223:44382|User=root|Db=hivedoris|State=ERR|ErrorCode=1105|ErrorMessage=errCode = 2, detailMessage = (192.168.64.78)[INTERNAL_ERROR]failed to init reader for file /user/hive/warehouse/hivedoris.db/test/000000_0, err: [INTERNAL_ERROR]connect to hdfs failed. error: (255), Unknown error 255), reason: NullPointerException: |Time=67|ScanBytes=0|ScanRows=0|ReturnRows=0|StmtId=91|QueryId=e1125283f12c4994-a69e3a323044d681|IsQuery=true|feIp=192.168.64.78|Stmt=select * from test|CpuTimeMS=0|SqlHash=3bbc220823c3e757002fb9490196cf84|peakMemoryBytes=0|SqlDigest=|TraceId=|FuzzyVariables= |
常见问题
- 如何下载Doris日志
Doris的运行日志保存在FE、BE、DBroker节点的本地目录“/var/log/Bigdata/doris”下,审计日志保存在“/var/log/Bigdata/audit/doris”目录。
了解如何下载MRS集群日志,请参考下载MRS集群日志。也可以直接通过SSH登录对应节点(FE节点、BE节点或DBroker节点),使用文件传输工具(如WinSCP)下载本地日志文件。
- 日志文件数量过多占用磁盘空间
当业务负载较高或日志级别设置为DEBUG时(仅FE/BE支持),日志文件增长速度加快,归档文件数量可能达到20个的上限。虽然系统会自动删除最旧的归档文件,但如果磁盘容量本身较小,仍可能出现空间不足。
可以通过修改Doris日志参数调整归档文件最大值和保留数目,减小归档文件总大小。同时将日志级别调整为INFO或WARN,减少非必要的日志输出。定期将历史日志归档到外部存储(如OBS)以长期保存。
- 修改日志级别后未生效
修改Doris日志级别后需要重启Doris服务才能使新级别生效。仅保存配置而不重启服务,新级别不会在运行时环境中应用。
修改日志级别后,重启Doris服务,待服务重启完成后新日志级别即可生效。
相关文档
- 如需在Manager在线检索HDFS或者其他组件日志,请参考在线检索MRS集群日志。
- 了解如何下载MRS集群日志,请参考下载MRS集群日志。
- 如需查看组件各角色实例的日志内容并下载指定日志文件,请参考查看MRS组件角色实例日志。