这篇文章给大家分享的是springboot集成LogStash的步骤。小编觉得挺实用的,因此分享给大家学习。如下资料是关于springboot集成LogStash的内容。

日志在系统中至关重要,尤其是生产环境,一旦出现问题,首先是日志中的错误信息触发预警系统,然后通过邮件、短信甚至电话通知的方式报警给系统负责人。在排查修复问题阶段,开发测试人员通常也要查看系统日志,分析故障原因。


ELK是常用的日志处理系统,Spring集成LogStash非常方便,配置LogBack将日志发送给LogStash。


代码文件

功能要点

SpringBoot集成LogStash

pom.xml

引入LogStash依赖:spring-boot-starter-logging

logback.xml

配置LogStash日志格式

application.yml

引用logback.xml配置

启动LogStash

安装包bin目录

配置logstash.conf,启动logstash -f logstash.conf


l代码

Github下载:https://github.com/jextop/StarterApi/

lSpringBoot集成LogStash

1.在pom.xml中添加LogStash依赖

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

2.在resouces目录下添加logback.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">
<destination>127.0.0.1:9600</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>

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

3.在application.yml中引用logback.xml配置:

logging:
config: classpath:logback.xml


l启动LogStash

1.下载LogStash:https://www.elastic.co/downloads/logstash

官网慢时可用网盘:https://pan.baidu.com/s/1b-czkB8z5aL6rdxZtBmNEw提取码: arfb

2.在bin目录下添加logstash.conf:

input.tcp.host可设置本机ip

input.tcp.port设置端口

output.elasticsearch.hosts设置输出地址

input{
tcp {
mode => "server"
host => "0.0.0.0"
port => 9600
codec => json_lines
}
}
output{
stdout{
codec => rubydebug
}
elasticsearch {
hosts => ["elasticsearch:9200"]
}
}

3.启动:logstash -f logstash.conf,看到端口信息提示,运行成功

l运行Spring项目,LogStash将收到日志信息

关于springboot集成LogStash的步骤就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果喜欢这篇文章,不如把它分享出去让更多的人看到。