SpringBoot继承LogStash实现日志收集的方法示例
一、环境准备
安装Elasticsearch、kibana、logstash,教程链接 安装教程
二、配置SpringBoot 依赖
在springBoot 项目下pom文件增加logStash 依赖包
<!--logStash--> <dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>5.3</version> </dependency>
在springboot资源文件夹下增加log日志数据配置文件 logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/base.xml" /> <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!--配置logStash 服务地址--> <destination>192.168.92.50:4560</destination> <!-- 日志输出编码 --> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder"> <providers> <timestamp> <timeZone>UTC</timeZone> </timestamp> <pattern> <pattern> { "logLevel": "%level", "serviceName": "${springAppName:-}", "pid": "${PID:-}", "thread": "%thread", "class": "%logger{40}", "rest": "%message" } </pattern> </pattern> </providers> </encoder> </appender> <root level="INFO"> <appender-ref ref="LOGSTASH" /> <appender-ref ref="CONSOLE" /> </root> </configuration>
三、配置logstash 日志收集配置
在logstash 配置文件logstash.conf 增加日志收集配置信息
# Sample Logstash configuration for creating a simple # Beats -> Logstash -> Elasticsearch pipeline. input { tcp { mode => "server" host => "192.168.92.50" port => 4560 codec => json_lines } } output { elasticsearch { hosts => "192.168.92.50:9200" index => "springboot-logstash-%{+YYYY.MM.dd}" } }
注意上述配置的host地址和es地址信息,利用此次配置文件启动logstash服务。
四、kibana日志过滤配置和展示
启动springboot服务, 在kibana配置日志拦截器
输入我们logstash日志配置的名称
继续下一步,选择带时间戳过滤器
点击左侧Discover菜单,已经发现数据已经展现
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
赞 (0)