文章目录
搭建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) |