# 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个压缩文件，压缩文件保留个数和压缩文件阈值可以配置。
表1Doris日志列表 
| 日志类型  | 日志文件名                                              | 描述                                    |
|:---|:---|:---|
| 运行日志 | /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，程序会打印高于或等于所设置级别的日志，设置的日志等级越高，打印出来的日志就越少。
 表2日志级别 
| **级别** | **描述**                  |
|:---|:---|
| FATAL                    | FATAL通常表示程序断言错误。                        |
| ERROR | ERROR表示系统运行的错误信息。        |
| WARN  | WARN表示当前事件处理存在异常信息。     |
| INFO  | INFO表示记录系统及各事件正常运行状态信息。 |
   
如果您需要修改日志级别，请执行如下操作：
1. 登录FusionInsight Manager界面，选择"集群 \> 服务 \> Doris \> 配置 \> 全部配置"，进入Doris服务的全部配置页面。
2. 左边菜单栏中选择所需修改的角色所对应的日志菜单。
3. 选择所需修改的日志级别并保存。
4. 单击"概览"，选择"更多 \> 重启服务"，输入当前用户密码重启Doris服务。
**验证操作：**
修改日志级别后，通过客户端执行查询语句触发日志记录，检查对应日志文件中的日志输出级别是否与设置一致（如设置为WARN后日志中不再出现INFO级别信息），则表示日志级别修改生效。
#### 日志格式
Doris的运行日志和审计日志使用统一的日志格式规范，便于日志采集系统解析和检索。不同角色的日志格式略有差异。
表3日志格式 
| 日志类型    | 格式                                                                                                                                                                                                                                                                                                                                                        | 示例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|
| 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= |
   
#### 常见问题
- **日志文件数量过多占用磁盘空间**
  当业务负载较高或日志级别设置为DEBUG时（仅FE/BE支持），日志文件增长速度加快，归档文件数量可能达到20个的上限。虽然系统会自动删除最旧的归档文件，但如果磁盘容量本身较小，仍可能出现空间不足。
  可以通过修改Doris日志参数调整归档文件最大值和保留数目，减小归档文件总大小。同时将日志级别调整为INFO或WARN，减少非必要的日志输出。定期将历史日志归档到外部存储（如OBS）以长期保存。
  
- **修改日志级别后未生效**
  修改Doris日志级别后需要重启Doris服务才能使新级别生效。仅保存配置而不重启服务，新级别不会在运行时环境中应用。
  修改日志级别后，重启Doris服务，待服务重启完成后新日志级别即可生效。
  
 
#### 相关文档
- 如需在Manager在线检索HDFS或者其他组件日志，请参考[在线检索MRS集群日志](https://support.huaweicloud.com/usermanual-mrs/admin_guide_000074.html)。
- 了解如何下载MRS集群日志，请参考[下载MRS集群日志](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0267.html)。
- 如需查看组件各角色实例的日志内容并下载指定日志文件，请参考[查看MRS组件角色实例日志](https://support.huaweicloud.com/usermanual-mrs/mrs_01_300080.html)。
 
