spring boot 集成logstash 日志

Posted BIM开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 集成logstash 日志相关的知识,希望对你有一定的参考价值。

1、logstash 插件配置

logstash下config文件夹下添加 test.conf 文件内容:

input{
        tcp {
                mode => "server"
                host => "0.0.0.0"
                port => 4567
                codec => json_lines
        }
}
output{
        elasticsearch{
                hosts=>["127.0.0.1:9200"]
                index => "user-%{+YYYY.MM.dd}"
                }
        stdout{codec => rubydebug}
}

启动logstash: ./logstash -f  ../config/test.conf        暴露出端口4567接受日志  

2、spring boot 配置一些文件发送日志即可  

1)maven 依赖:

<dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.1</version>
 </dependency>

2)resources下添加logback-spring.xml   只需把下面ip地址修改一下即可

<?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">
        <destination>172.31.226.157:4567</destination> //logstash ip和暴露的端口,我目前理解就是通过这个地址把日志发送过去 
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>

    <root level="INFO">
        <appender-ref ref="LOGSTASH" />
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>

3)yml 配置

logging:
  config: classpath:logback-spring.xml

大功告成,这样启动logstash 再启动springBoot ,springboot的日志就能发送过去了,之后elasticsearch收集,kibana图形界面展示出来不赘述了

 

以上是关于spring boot 集成logstash 日志的主要内容,如果未能解决你的问题,请参考以下文章

浅尝 Elastic Stack Logstash + Beats 读取 Spring Boot 日志

浅尝 Elastic Stack Logstash + Beats 读取 Spring Boot 日志

Spring Boot教程整合elk

Spring Boot 使用 Log4j2 & Logback 输出日志到 EKL

ELK 处理 Spring Boot 日志

Spring Boot 集成 logback日志