SpringBoot 继承 LogStash 实现日志收集的方法示例
本文主要介绍了 SpringBoot 继承 LogStash 实现日志收集的方法示例,旨在帮助开发者快速了解 LogStash 的配置和使用方法。
一、环境准备
在开始之前,需要安装 Elasticsearch、Kibana 和 LogStash,这三个组件是实现日志收集的基础架构。Elasticsearch 是一个搜索引擎,Kibana 是一个数据可视化工具,而 LogStash 是一个日志收集器。
二、配置 SpringBoot 依赖
在 SpringBoot 项目中增加 LogStash 依赖包,添加以下依赖项到 pom.xml 文件中:
```xml
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.3</version>
</dependency>
```
三、配置 Logback Appender
在 SpringBoot 项目的资源文件夹下增加 logback-spring.xml 文件,用于配置 Logback 的 Appender。
```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 中增加日志收集配置信息:
```bash
# 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}"
}
}
```
五、Kibana 配置和展示
启动 SpringBoot 服务,在 Kibana 配置日志拦截器输入 LogStash 日志配置的名称,选择带时间戳过滤器,点击左侧 Discover 菜单,已经发现数据已经展现。
本文主要介绍了 SpringBoot 继承 LogStash 实现日志收集的方法示例,旨在帮助开发者快速了解 LogStash 的配置和使用方法。