热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

03篇ELK日志系统——升级版集群之ELK日志系统整合springboot项目

【前言:整个ELK日志系统已经搭建好了,接下来的流程就是:springboot项目中的logback日志配置通过tcp传输,把springboot项目中所有日志数据传到————》l

  前言:整个ELK日志系统已经搭建好了,接下来的流程就是:

    springboot项目中的logback日志配置通过tcp传输,把springboot项目中所有日志数据传到————》logstash,再由logstash把收集来的日志数据传到——————》elasticsearch集群————————》最后由kibana展示。

 

 

1、准备一个springboot项目,并配置logback日志

    1.1、springboot项目demo怎么创建就不写了,pom.xml要配置logback包依赖和logstash包依赖,如下:

    
        
            org.springframework.boot
            spring-boot-starter-logging
        

        
        
            net.logstash.logback
            logstash-logback-encoder
            4.11
        

 

 

  1.2、然后是logback与spring的整合配置文件logback-spring.xml,内容如下:(里面有logback向logstash传输的配置)

"1.0" encoding="UTF-8"?>







"true" scanPeriod="60 seconds" debug="false">
    
    "log_dir" value="/logs/jz-project" />
    
    "maxHistory" value="30"/>




    
    "STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        
        
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n
        
    


    
    
    "ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            ERROR
            ACCEPT
            DENY
        
        
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            
            ${log_dir}/%d{yyyy-MM-dd}/error-log.log
            
            ${maxHistory}
        

        
        

        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    



    
    "WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            WARN
            ACCEPT
            DENY
        
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            
            ${log_dir}/%d{yyyy-MM-dd}/warn-log.log
            
            
            ${maxHistory}
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    




    
    "INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            INFO
            ACCEPT
            DENY
        
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            
            ${log_dir}/%d{yyyy-MM-dd}/info-log.log
            
            
            ${maxHistory}
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    




    
    "DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            DEBUG
            ACCEPT
            DENY
        
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            
            ${log_dir}/%d{yyyy-MM-dd}/debug-log.log
            
            
            ${maxHistory}
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    




    
    "TRACE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            TRACE
            ACCEPT
            DENY
        
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            
            ${log_dir}/%d{yyyy-MM-dd}/trace-log.log
            
            
            ${maxHistory}
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    



    "LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        192.168.26.233:9601     
        "UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
            
            {"appname":"zj_test"}
        

    




    
    "com.jzproject.mapper" level="DEBUG" />


    
    "info">
        
        ref ref="STDOUT" />
        
        ref ref="ERROR" />
        ref ref="INFO" />
        ref ref="WARN" />
        ref ref="DEBUG" />
        ref ref="TRACE" />
        ref ref="LOGSTASH" />
    

 

 

 下面来看整合效果:

    开启3台服务器es集群服务、开启logstash服务,开启kibana服务。

    只是为了演示日志数据传入服务器ELK系统的效果,springboot项目就不上传服务器启动了,只在本地启动,本地启动时会立刻就会有日志生成,并通过刚才的logback与logstash的配置传输日志到服务器上的ELK日志系统里。

 

    

    1、在idea上启动项目:

 

  

     3、到浏览器上打开kibana,效果如下:也显示出了刚才启动项目生成的日志数据,不过要创建一下日志索引具体使用就要去学kibana的使用了

 

 

 

 

 

到此为止整个ELK日志系统与springboot项目整合算是完成了,这只是一个初步的日志系统,用户量一大,日志数据将会是爆发式增涨,下一步将考虑如何把kafka整合进来

 

 

 

放牛去。。。

 


推荐阅读
author-avatar
梦想不被束缚
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有