Flink(1.12.1)日志配置Logback实现日志切分和kafka发送

文档主要内容

产线环境上的Flink应用是长时运行的应用,日志量较大,需要将flink应用的日志发送到外部系统,方便进行日志检索。

最近,在开发环境上遇到了,Flink连接kafka报错刷出大量错误日志,把磁盘打满的问题。Flink从1.11开始已经实现了日志滚动,于是决定将Flink版本升级到最新的1.12.1并配置logback的rollingFileAppender和kafkaAppender实现日志切分和kafka发送。

集群环境

  • CDH-5.16.2

  • Flink-1.12.1

  • flink on yarn per job模式

Flink日志配置Logback实现日志切分和kafka发送

kafka发送部分的实现请参考之前的文章:如何将Flink应用的日志发送到kafka。其中,logback的jar包添加与该文一致。

Flink日志配置官网参考:https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/deployment/advanced/logging.html

logback appenders配置参考:http://logback.qos.ch/manual/appenders.html

logback详细配置

  • 其中AppNameLayOut是为了在日志中打上每个Flink应用独立的业务名称


    

    
        ${log.file}
        
            ${log.file}.%i
            1
            10
        
        
            10KB
        
        
            
                %d{yyyy-MM-dd HH:mm:ss.SSS} %app [%thread] %-5level %logger{60} %X{sourceThread} - %msg%n
                
            
            UTF-8
        
    

    

        
            
                ${LOG_PATTERN}
            
            UTF-8
        
        flink-app-logs
        
        
        bootstrap.servers=broker1:9092,broker2:9092,broker3:9092
        retries=3
        acks=1
        batch-size=16384
        buffer-memory=33554432
        
        linger.ms=1000
        
        max.block.ms=0
    

    
    
        
        
    

    
    
    
    

    
    
        
        
    
    
        
        
    
    
        
        
    
    
        
        
    

    
    
        
        
    

Flink日志切分和日志搜集测试

  • 编写一个简单的Flink应用,在apply方法中打个日志

Flink(1.12.1)日志配置Logback实现日志切分和kafka发送_第1张图片

  • 编译打包,运行flink run将任务提交到集群,采用flink on yarn per job模式

  • 将flink集群日志文件配置为10kb滚动一个文件,测试日志滚动的效果

flink run -m yarn-cluster -yd -ytm 2g -ys 4 -yjm 2g -ynm flink-demo测试 \
-c com.eights.carbond.streaming.sensor.AverageSensorReadings \
./flink-demo-1.0-SNAPSHOT.jar
  • 业务独立名称打在日志中

Flink(1.12.1)日志配置Logback实现日志切分和kafka发送_第2张图片

  • 日志文件滚动正常

Flink(1.12.1)日志配置Logback实现日志切分和kafka发送_第3张图片

  • ES检查是否有Flink日志进入

Flink(1.12.1)日志配置Logback实现日志切分和kafka发送_第4张图片

整个日志搜集正常,Flink1.12日志配置logback日志切分和kafka搜集完成

扫码二维码

查看历史文章

Eights

Flink(1.12.1)日志配置Logback实现日志切分和kafka发送_第5张图片

点个在看吧~

Flink(1.12.1)日志配置Logback实现日志切分和kafka发送_第6张图片

你可能感兴趣的:(kafka,zookeeper,logback,log4j,nginx)