
# Flink日志介绍
#### 操作场景
在Flink作业运行和问题排查过程中，日志是定位问题的重要依据。Flink涉及多种日志类型（运行日志、服务日志、审计日志、HA日志等），且日志存储路径、归档规则、级别配置各不相同。本章节介绍Flink各类日志的存储路径、归档规则、级别和格式，帮助您快速找到所需日志。
#### 日志描述
**日志存储路径：**
- Flink作业运行日志："${BIGDATA_DATA_HOME}/hadoop/data${i}/nm/containerlogs/application_${appid}/container_{$contid}"。
  ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
  运行中的任务日志存储在以上路径中，运行结束后会基于Yarn的配置确定是否汇聚到HDFS目录中。
  
- FlinkResource运行日志："/var/log/Bigdata/flink/flinkResource"。
- FlinkServer HA脚本相关运行日志（MRS 3.2.0及以后版本）："/var/log/Bigdata/audit/flink/flinkserver/ha"
 
**日志归档规则：**
1. FlinkResource运行日志：
   - 服务日志默认20MB滚动存储一次，最多保留20个文件，不压缩。
   
   - 日志大小和压缩文件保留个数可以在Manager界面中配置或者修改客户端"*客户端安装目录*/Flink/flink/conf/"中的log4j-cli.properties、log4j.properties、log4j-session.properties中对应的配置项。
   
   
   表1FlinkResource日志列表 
   | **日志类型**                                               | **日志文件名**        | **描述**        |
   |:---|:---|:---|
   | FlinkResource运行日志  | checkService.log | 健康检查日志。       |
   | FlinkResource运行日志  | kinit.log        | 初始化日志。        |
   | FlinkResource运行日志  | postinstall.log  | 服务安装日志。       |
   | FlinkResource运行日志  | prestart.log     | prestart脚本日志。 |
   | FlinkResource运行日志  | start.log        | 启动日志。         |
      
   
2. FlinkServer服务日志、审计日志和HA相关日志。
   - FlinkServer服务日志、审计日志和HA相关日志默认100MB滚动存储一次，服务日志最多保留30天，审计日志最多保留90天。
   
   - 日志大小和压缩文件保留个数可以在Manager界面中配置或者修改客户端"*客户端安装目录*/Flink/flink/conf/"中的log4j-cli.properties、log4j.properties、log4j-session.properties中对应的配置项。
   
   
   表2FlinkServer日志列表 
   | **日志类型**                                                                   | **日志文件名**                                    | **描述**                                                    |
   |:---|:---|:---|
   | FlinkServer运行日志                                                            | checkService.log                             | 健康检查日志。                                                   |
   | FlinkServer运行日志                                                            | checkFlinkServer.log                         | FlinkServer健康检查日志。                                        |
   | FlinkServer运行日志                                                            | localhost_access_log..*yyyy-mm-dd*.txt       | FlinkServer访问URL日志。                                       |
   | FlinkServer运行日志                                                            | start_thrift_server.out                      | thrift server启动日志。  |
   | FlinkServer运行日志                                                            | thrift_server_thriftServer_*xx* *x*.log.last | thrift server启动日志。  |
   | FlinkServer运行日志                                                            | cleanup.log                                  | 安装卸载实例时的清理日志。                                             |
   | FlinkServer运行日志                                                            | flink-omm-client-*IP*.log                    | 作业启动日志。                                                   |
   | FlinkServer运行日志                                                            | flinkserver_*yyyymmdd* *-x*.log.gz           | 业务归档日志。                                                   |
   | FlinkServer运行日志                                                            | flinkserver.log                              | 业务日志。                                                     |
   | FlinkServer运行日志                                                            | flinkserver---*pidxxxx* -gc.log.*x*.current  | GC日志。                                                     |
   | FlinkServer运行日志                                                            | kinit.log                                    | 初始化日志。                                                    |
   | FlinkServer运行日志                                                            | postinstall.log                              | 服务安装日志。                                                   |
   | FlinkServer运行日志                                                            | prestart.log                                 | prestart脚本日志。                                             |
   | FlinkServer运行日志                                                            | start.log                                    | 启动日志。                                                     |
   | FlinkServer运行日志                                                            | stop.log                                     | 停止日志。                                                     |
   | FlinkServer运行日志                                                            | catalina.*yyyy-mm-dd*.log                    | tomcat运行日志。                                               |
   | FlinkServer运行日志                                                            | catalina.out                                 | tomcat运行日志。                                               |
   | FlinkServer运行日志                                                            | host-manager.*yyyy-mm-dd*.log                | tomcat运行日志。                                               |
   | FlinkServer运行日志                                                            | localhost.*yyyy-mm-dd*.log                   | tomcat运行日志。                                               |
   | FlinkServer运行日志                                                            | manager.*yyyy-mm-dd*.log                     | tomcat运行日志。                                               |
   | FlinkServer HA脚本相关运行日志（MRS 3.2.0及以后版本）  | ha.log                                       | HA运行日志。                                                   |
   | FlinkServer HA脚本相关运行日志（MRS 3.2.0及以后版本）  | ha_monitor.log                               | HA进程监控日志。                                                 |
   | FlinkServer HA脚本相关运行日志（MRS 3.2.0及以后版本）  | floatip_ha.log                               | FloatIP资源脚本日志。                                            |
   | FlinkServer HA脚本相关运行日志（MRS 3.2.0及以后版本）  | rcommflinkserver.log                         | FlinkServer资源脚本日志。                                        |
   | FlinkServer HA脚本相关运行日志（MRS 3.2.0及以后版本）  | checkHaStatus.log                            | HA进程日志。                                                   |
   | FlinkServer HA脚本相关运行日志（MRS 3.2.0及以后版本）  | checknode.log                                | HA健康状态日志。                                                 |
   | FlinkServer HA脚本相关运行日志（MRS 3.2.0及以后版本）  | rs-sendAlarm.log                             | HA告警发送日志。                                                 |
   | FlinkServer HA脚本相关运行日志（MRS 3.2.0及以后版本）  | flink_roll.log                               | FlinkServer主备倒换日志（需执行主备倒换操作）。                             |
   | FlinkServer审计日志                                                            | flinkserver_audit_*yyyymmdd* *-x*.log.gz     | 审计归档日志。                                                   |
   | FlinkServer审计日志                                                            | flinkserver_audit.log                        | 审计日志。                                                     |
   | 堆栈信息日志（MRS 3.2.0及以后版本）                                                     | threadDump-\<*DATE*\>.log                    | 实例重启或实例停止时会打印。                                            |
      
   
 
#### 日志级别
Flink中提供了如[表3]所示的日志级别。日志级别优先级从高到低分别是ERROR、WARN、INFO、DEBUG。程序会打印高于或等于所设置级别的日志，设置的日志等级越高，打印出来的日志就越少。
 表3日志级别 
| **级别** | **描述**                  |
|:---|:---|
| ERROR  | ERROR表示当前时间处理存在错误信息。    |
| WARN   | WARN表示当前事件处理存在异常信息。     |
| INFO   | INFO表示记录系统及各事件正常运行状态信息。 |
| DEBUG  | DEBUG表示记录系统及系统的调试信息。    |
   
如果您需要修改日志级别，请执行如下操作：
1. 请参考[修改集群服务配置参数](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_2125.html)，进入Flink的"全部配置"页面。
2. 左边菜单栏中选择所需修改的角色所对应的日志菜单。
3. 选择所需修改的日志级别。
4. 保存配置，在弹出窗口中单击"确定"使配置生效。
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
- 配置完成后不需要重启服务，重新下载客户端使配置生效。
- 也可以直接修改客户端"*客户端安装目录*/Flink/flink/conf/"中log4j-cli.properties、log4j.properties、log4j-session.properties文件中对应的日志级别配置项。
- 通过客户端提交作业时会在客户端log文件夹中生成相应日志文件，由于系统默认umask值是0022，所以日志默认权限为644；如果需要修改文件权限，需要修改umask值；例如修改omm用户umask值：
  - 在"/home/omm/.baskrc"文件末尾添加"umask 0026"；
  
  - 执行命令**source /home/omm/.baskrc**使文件权限生效。
   
 
#### 日志格式
表4日志格式 
| **日志类型** | **格式**                                                                                      | **示例**                                                                                                                                                                                                                                |
|:---|:---|:---|
| 运行日志     | \<yyyy-MM-dd HH:mm:ss,SSS\>\|\<Log Level\>\|\<产生该日志的线程名字\>\|\<log中的message\>\|\<日志事件的发生位置\> | 2019-06-27 21:30:31,778 \| INFO \| \[flink-akka.actor.default-dispatcher-3\] \| TaskManager container_e10_1498290698388_0004_02_000007 has started. \| org.apache.flink.yarn.YarnFlinkResourceManager (FlinkResourceManager.java:368) |
   
