| 
       
	文章目录 
	搭建ELK 
	Springboot使用ELK 
	Kibana查看 
	示例代码 
	快速搭建自己的日志收集,方便各个微服务的日志收集。 
	搭建ELK 
	采用docker-elk进行快速搭建ELK的环境 
	进行clone仓库git clone https://github.com/deviantony/docker-elk.git 
	开启docker-compose up -d (需要事先安装好docker-compose) 
	如图1.1 开启docker 
![]() 
	图1.1 
	访问如下地址进行快读访问 
	名称 地址 
	ES http://localhost:9300 
	Kibana http://localhost:5601 
	Springboot使用ELK 
	增加依赖 
	 <dependency> 
	            <groupId>net.logstash.logback</groupId> 
	            <artifactId>logstash-logback-encoder</artifactId> 
	            <version>5.1</version> 
	        </dependency> 
	编辑logback-spring.xml 
	注意:<destination></destination>标签内填写你的logstansh的地址和端口 
	<?xml version="1.0" encoding="UTF-8"?> 
	<!DOCTYPE configuration> 
	<configuration> 
	  <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> 
	    <destination>localhost:5500</destination> 
	    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" /> 
	  </appender> 
	  <include resource="org/springframework/boot/logging/logback/base.xml"/> 
	  <root level="INFO"> 
	    <appender-ref ref="LOGSTASH" /> 
	    <appender-ref ref="CONSOLE" /> 
	  </root> 
	</configuration> 
	编写测试 
	这里进行打印日志50次。运行项目后通过kinbana新增的index进行查看数据。 
	package com.elk.test 
	import org.slf4j.LoggerFactory 
	import org.springframework.boot.CommandLineRunner 
	import org.springframework.boot.autoconfigure.SpringBootApplication 
	import org.springframework.boot.runApplication 
	@SpringBootApplication 
	class TestApplication : CommandLineRunner { 
	    val log = LoggerFactory.getLogger(TestApplication::class.java) 
	    override fun run(vararg args: String?) { 
	        for (i in 0..50) { 
	            log.error("test error, id=$i ; name= Test$i") 
	        } 
	    } 
	} 
	fun main(args: Array<String>) { 
	    runApplication<TestApplication>(*args) 
	} 
	Kibana查看 
	新增Index索引…。 
![]() 
	索引建立完成后,即可进行查看已经有我们想要的结果了 
![]() 
	示例代码 
(责任编辑:IT)  | 
    



