logstash配合spring boot-logback项目实时传输日志

       在此博客“Ubuntu16 ELK+Filebeat日志管理平台搭建-笔记”基础上继续深入学习;

  1. 首先配置logstash-6.5.4中的logstash.conf文件
    input {
      tcp {
          port=> 8065
          codec => "json"
      }
    }
    
    output {
      elasticsearch {
        hosts => "129.0.0.1:9200"
        index => "%{[appname]}-%{+YYYY.MM.dd}"
      }
      stdout {
         codec => rubydebug { }
      }
    }
    

     

  2.  启动logstash

    #启动logstash    
    ./bin/logstash -f logstash.conf &

     

  3.  配置简单的spring-boot

    1.  

      在pom文件中添加依赖

       

      
      	net.logstash.logback
      	logstash-logback-encoder
      	4.11
      
      

       

    2. 配置logback-spring.xml   

               logstash配合spring boot-logback项目实时传输日志_第1张图片

              3. logback-spring.xml配置



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

	
	


	
		
			
			${LOG_HOME}/log/%d{yyyy-MM-dd}.log
			
			30
		
		
			%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} -
				%msg %n
			UTF-8 
		
	

	
		127.0.0.1:8065
		
		
			{"appname":"guilin"}
		
	

    
	
		
		
			
			
		
	

	
		
		
			
			
			
		
	

注意:

****配置该项,则可以在application.yml中配置线上与线下环境日志的输出;

dev本地运行,不传输日志到logstash;

prod线上环境,实时传输日志到logstash;

****配置{"appname":"test"},则会在logstash.conf中对数据json化,读取字段appname,在kibana界面的index pattern处会以该名称显示。则可以配置不同项目的appname,达到对多个项目的日志进行查找;

 4. application.yml配置如下启动项目

spring:
  profiles:
    active:
    - prod

5.  在kibana界面的management

logstash配合spring boot-logback项目实时传输日志_第2张图片

 

 

你可能感兴趣的:(linux)