SpringBoot+ELK 收集日志的两种方式
warning:
这篇文章距离上次修改已过252天,其中的内容可能已经有所变动。
Spring Boot 集成 ELK 主要涉及到 Logstash 和 Elasticsearch。Spring Boot 应用可以通过以下两种方式将日志发送到 ELK 堆栈:
- 直接在应用中将日志发送到 Logstash(通常通过 TCP 或者 UDP)。
- 应用仅将日志输出到控制台或文件,然后通过 Filebeat 监控日志文件的变化,并将其发送到 Logstash。
以下是两种方式的简要说明和示例代码:
方式一:直接在应用中将日志发送到 Logstash
- 在 Spring Boot 应用中引入 Logstash 依赖。
- 配置 Logback 或 Log4j 以将日志发送到 Logstash。
示例代码:
build.gradle 或 pom.xml 中添加 Logstash 依赖
logback-spring.xml 配置
方式二:通过 Filebeat 监控日志文件
- 在 Spring Boot 应用中配置日志输出至文件。
- 安装并配置 Filebeat 监控这些日志文件,然后将日志发送到 Logstash。
示例代码:
application.properties 或 application.yml 中配置日志输出至文件
Filebeat 配置
以上两种方式都需要 Logstash 监听相应的端口(例如 4560),并配置与应用相匹配的日志格式。Elasticsearch 随后将接收 Logstash 转发的日志数据,并通过 Kibana 提供可视化和搜索功能。
评论已关闭