SpringBoot2 集成 ELK 实现日志收集

目录

一 简介

二 ELK 各组件作用

三 ELK 各组件安装

四 Spring Boot2 集成 logstash 


一 简介


ELK 即 Elasticsearch、Logstash、Kibana 组合起来可以搭建线上日志系统,本文主要讲解使用ELK 来收集 SpringBoot2 应用产生的日志。

二 ELK 各组件作用


Elasticsearch:用于存储收集到的日志信息;
Logstash:用于收集日志,SpringBoot应用整合了Logstash以后会把日志发送给Logstash,Logstash 再把日志转发给 Elasticsearch;
Kibana:通过Web端的可视化界面来查看日志。


三 ELK 各组件安装


3.1 Elasticsearch 和 Kibana 安装请见:CentOS 搭建ElasticSearch

3.2 Logstash 安装

(1)下载 Logstash:Download Logstash Free | Get Started Now | Elastic

          注意:Logstash 版本建议跟 Elasticsearch 一致。

(2)上传安装包至指定目录、并解压

(3)进入 bin 目录创建 logstash-cloud-project.conf 配置文件,输入如下内容:

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4560
    codec => json_lines
  }
}
output {
  elasticsearch {
    # es 连接地址
    hosts => ["http://172.16.20.101:9200"]
    # 索引名称
    index => "cloud-project-logstash-%{+YYYY.MM.dd}"
  }
}

(4)进去 bin 目录,启动 logstash 

./logstash -f logstash-cloud-project.conf 

四 Spring Boot2 集成 logstash 

4.1 pom.xml 添加依赖

		
		
			net.logstash.logback
			logstash-logback-encoder
			5.3
		

4.2 配置日志文件logback.xml让logback的日志输出到logstash



    
    
    
    
 
    
    
    ${app_name}
 
    
	
    
	
 
	
	
		
            %black %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger) - %cyan(%msg%n)
        
	
 
	
	
	    ${log.path}/info.log
        
		
            
			${log.path}/info.%d{yyyy-MM-dd}.log
			
			60
		
		
			${log.pattern}
		
		
            
            INFO
            
            ACCEPT
            
            DENY
        
	
 
	
	    ${log.path}/error.log
        
        
            
            ${log.path}/error.%d{yyyy-MM-dd}.log
			
			30
        
        
            ${log.pattern}
        
        
            
            ERROR
			
            ACCEPT
			
            DENY
        
    
 
    
    
        
        172.16.20.101:4560
        
    
 
    
        
    
 
	
    
        
        
        
    

一般我们不需要自定义控制台输出,可以采用默认配置,具体配置参考console-appender.xml




应用名称

    
    
    ${app_name}

输出到logstash的appender

    
    
        
        172.16.16.9:4560
        
    

4.3 启动程序,在 kibana 中查看日志信息

SpringBoot2 集成 ELK 实现日志收集_第1张图片

SpringBoot2 集成 ELK 实现日志收集_第2张图片 

SpringBoot2 集成 ELK 实现日志收集_第3张图片

 

你可能感兴趣的:(Java进阶学习,elk,elasticsearch,java)