(七) elasticsearch手把手搭建生产环境ELK之logstash监控logback所有日志.

我们已经有了kafka记录请求和响应以及异常日志...但是对于项目中的一些打印日志我们想全部获取,可以利用logback输出到logstash中去.

首先项目中集成logback的依赖

	
		
		
			net.logstash.logback
			logstash-logback-encoder
			5.2
		

然后配置logback的xml中加入logstash相关的日志输出.




	
	

	
		
			[%d{yyyy-MM-dd HH:mm:ss.SSS}][%-5level][%X{traceid}][%thread][%logger{50}] - %msg%n
		
	
	
		${LOG_PATH}/${APP_NAME}.log
		
			${LOG_PATH}/${APP_NAME}.%d{yyyy-MM-dd}.log
			15
			3GB
		
		
			[%d{yyyy-MM-dd HH:mm:ss.SSS}][%-5level][%X{traceid}][%thread][%logger{50}] - %msg%n
		
	

	
	
		 ip:9601
		
			
		
		5 minutes
	
	
		
		
		
	

	
		
		
		
	

然后logstash的服务器配置文件中要写明input和output

input{

  tcp {
        port => 9600
        codec =>  json_lines
        mode => "server"
        type => "allLogbackLog"
    }


}


output {
    stdout { codec => rubydebug }
    #stdout { codec => json_lines }

    if[type] == "allLogbackLog"{
       elasticsearch {
         hosts => ["http://ip:9200"]
         action => "index"
         index => "alllogback-%{+YYYY.MM.dd}"
       }
    }
}

然后最终要的是要放通9600端口...并重启logstash

便可以看到输出了.

 

你可能感兴趣的:(分布式日志收集)